Mathieu alude a una interesante “aplicación”. Trataré de dilucidar más.
El teorema de incompletitud de Goedel puede explicarse de manera sucinta al comprender lo que hace una computadora. En particular, es equivalente al problema de detención, que dice que no existe un algoritmo general que pueda tomar algún programa como entrada y salida si la máquina se detendrá después de un tiempo finito o si continuará funcionando indefinidamente. Ese algoritmo, si existiera, correspondería a una prueba de que los axiomas de algún sistema formal son consistentes, pero debido a Godel (o Turing) sabemos que eso no es cierto. (Puede visitar cualquiera de los muchos enlaces en la barra lateral de preguntas relacionadas para obtener más información al respecto).
Hay algunas maneras diferentes en que esto puede surgir en la práctica. Mi ejemplo favorito: de vez en cuando alguien comenzará a preguntarse por qué necesitamos programadores, al menos para encontrar errores en un programa (probablemente aproximadamente el 90% de la “codificación” se gasta en tratar de encontrar errores), por lo que intentan crear un sistema automatizado corrector de errores para detectar todos los errores que hayan existido. Pero algunos errores causarán bucles infinitos, y es imposible atraparlos en un lenguaje de programación [Turing completo]. Es bueno saber que, como ingeniero de software, el futuro de su profesión está garantizado por un teorema matemático.
- ¿Cuándo terminará el proceso de revisión por pares para la prueba propuesta por el Prof. Cheng de la hipótesis de Riemann?
- ¿Cuál fue el 'resultado' matemático más inexacto (quizás ridículamente) que se 'probó'?
- ¿Cuáles son algunos trucos de acceso directo para las matemáticas? ¿Cómo puedo hacer cálculos muy, muy rápido? Editar: gracias chicos por tan buenas respuestas, aunque las conocía todas.
- ¿Existe una relación entre el arco de un arco iris y la circunferencia de la Tierra?
- Si x + y + z = xyz y x> y> z> 0, ¿cuáles son los valores de x, y y z?
Pero seamos serios. Cual es la leccion? No es necesariamente que no deba intentar escribir un buen programa de verificación de errores, solo que no debe esforzarse demasiado para hacerlo completamente general porque eso es imposible.