Distinguir este punto es un problema central en matemáticas a la hora de aceptar demostraciones computacionales de un problema.
Exagerando, supongamos que logro demostrar la hipótesis de Riemann usando el Matlab o el Maple para hacer determinados pasos de la demostración (podrían ser integrales incalculables a mano, sumar series, o incluso manipular expresiones simbólicas).
Para muchos, esta demostración no sería válida: estos programas no son gratuitos ni open source, con lo cual no estaría a disposición de cualquiera chequear que no haya errores en la parte computacional de la demostración.
La parte más difícil de verificar es la que se debe al código del programa: ¿qué algoritmos usa para resolver lo que le pedimos? Si bien suelen estar documentados ('emplea un runge-kutta blablabla...'), no sabemos cómo están implementados, cómo funcionan internamente. ¿Cómo saber que no hay errores, que un algoritmo no tiene alguna falla?
Este es el principal argumento contra la demostración de la conjetura de Kepler que va a salir en el Annals del que hablábamos en el post de las
El solo cálculo de π o de √2 involucra -en esta clase de programas- el uso de cajas negras, que tiran una lista de cifras en las cuales tenemos que 'creer'. Por ese motivo, T.Hales está trabajando en una nueva demostración en el Flyspeck Project, y le calculan unos veinte años... Uno puede unirse al grupo, si está interesado.
In Mathematica, it is also possible to write a procedure whose input is n and whose output is a rational number x such that abs(pi-x) < 10^-n. However, the Mathematica procedure ApproxPi[n_]:=Rationalize[N[Pi,n+1],10^-n] relies on algorithms that are unknown origin and unknown reliability. What does N[Pi,n+1] do behind the scenes? How reliable is it? Can you prove this line of code always does what you wanted? Or do you detect a subtle bug?