Yo, como muchas personas, soy un usuario entusiasta de software matemático como Mathematica y Maple. Sin embargo, me siento cada vez más frustrado por los muchos casos en que dicho software simplemente le da la respuesta incorrecta sin previo aviso. Esto puede ocurrir al realizar todo tipo de operaciones, desde sumas simples hasta la optimización, entre muchos otros ejemplos.
Me he estado preguntando qué se podría hacer con este grave problema. Lo que se necesita es alguna forma de permitir que el usuario verifique la exactitud de una respuesta que se le da para que tenga cierta confianza en lo que se le dice. Si tuviera que obtener una solución de un colega de matemáticas, él / ella podría simplemente sentarse y mostrarle su trabajo. Sin embargo, esto no es factible para una computadora en la mayoría de los casos. ¿Podría la computadora darle un testigo simple y fácilmente comprobable de la exactitud de su respuesta? Es posible que la verificación tenga que hacerse por computadora, pero es de esperar que verificar el algoritmo de verificación sea mucho más fácil que verificar el algoritmo para producir el testigo en primer lugar. ¿Cuándo sería factible y cómo podría formalizarse exactamente?
En resumen, mi pregunta es la siguiente.
¿Podría ser posible, al menos en teoría, que el software matemático proporcione una prueba comprobable breve junto con la respuesta que ha solicitado?
Un caso trivial en el que podemos hacer esto de inmediato es la factorización de enteros, por supuesto, o muchos de los problemas clásicos de NP completo (por ejemplo, circuito hamiltoniano, etc.).