Estoy leyendo el libro The Annotated Turing, de Charles Petzold, el cual explica el trabajo de Alan Turing titulado «On Computable Numbers, with an Application to the Entscheidungsproblem», famoso por crear las bases del ordenador moderno mediante lo que ahora se llama «máquina de Turing» (y él llamó computing machine) para resolver el problema de lógica matemática de la decidibilidad.
El primer capítulo del libro de Petzold, Foundations, está dedicado a explicar cierta base matemática previa y la situación en la que se encontraba el intento de formalizar las matemáticas a principios del siglo XX, el cual había motivado el trabajo de Turing. Para tener claros los conceptos de la parte lógica explicada en ese primer capítulo y poderlos consultar a medida que avanzo por el libro, creé una nota con esta base previa. La comparto aquí, con algunos detalles añadidos, por si resultara también útil a alguien.
A principios del siglo pasado, el matemático alemán David Hilbert buscaba la rigurosa axiomatización de todas las matemáticas. En la concepción de Hilbert, un sistema matemático formal se empieza construyendo con definiciones, axiomas y reglas para construir teoremas a partir de los axiomas. Según Hilbert, idealmente, el sistema resultante debería exhibir estas cuatro cualidades interrelacionadas:
- Independencia: No hay axiomas superfluos, i.e., no existe axioma que pueda ser derivado de los demás. Básicamente, es elegancia.
- Consistencia: No es capaz de demostrar una fórmula y su negación simultáneamente (bajo el mismo conjunto de normas y reglas). Es decir, no puede derivar una contradicción del tipo (A∧¬A). A mi entender, es la característica más importante.
- Completitud: El sistema debe tener el poder suficiente para decidir sobre cualquier fórmula bien formada (FBF) del sistema. Es decir, empleando sus axiomas y reglas, el sistema debe ser capaz de demostrar la fórmula o, en su defecto, demostrar su negación. Expresado con un lenguaje algo más formal:
Para cualquier FBF ϕ del sistema, el sistema debe ser capaz de demostrar ϕ (es decir, ⊢ϕ) o, en su defecto, demostrar su negación ¬ϕ (es decir, ⊢¬ϕ).
Si existe una fórmula ϕ para la cual el sistema no puede demostrar ni ϕ ni ¬ϕ, esa fórmula se llama indecidible dentro del sistema, y el sistema se considera incompleto.
- Decidibilidad (Entscheidungsproblem o problema de la decisión): Un método general para determinar la demostrabilidad de toda FBF.
La incompletitud del sistema no implica su indecidibilidad. Dado un sistema decidible e incompleto, por su incompletitud sabemos que existe al menos una FBF (llamémosla ϕ) para la que los axiomas no pueden demostrar ϕ, ni tampoco pueden demostrar ¬ϕ. Por su decidibilidad, tenemos un algoritmo capaz de discernir en tiempo finito si cualquier FBF del sistema es o no demostrable. Si le pasamos ϕ, el algoritmo devuelve que no es demostrable. Si le pasamos ¬ϕ, también devuelve que no es demostrable.
En mi opinión, la decidibilidad está «fuera», siendo la consistencia y completitud las propiedades matemáticas internas. La independencia también la veo fuera, porque tener axiomas redundantes no «estropea» el sistema. De hecho, en áreas como la demostración automática de teoremas mediante software, a menudo se añaden reglas o lemas redundantes deliberadamente porque reducen drásticamente el tiempo de cálculo.
Para quienes buscaban el formalismo matemático, la principal utilidad de la lógica de predicados era proporcionar una base sólida para los números y la aritmética (por ej. el trabajo previo de Peano).
Estos son los cuatro escenarios posibles que un sistema matemático puede afrontar ante una FBF cualquiera ϕ:
- Demuestra ϕ, pero no demuestra ¬ϕ. (Todo correcto. La fórmula es un teorema verdadero del sistema).
- Demuestra ¬ϕ, pero no demuestra ϕ. (Todo correcto. La fórmula es falsa en el sistema y su negación es el teorema).
- Demuestra ϕ y demuestra ¬ϕ. (Demuestra ambas).
- No demuestra ϕ y no demuestra ¬ϕ. (No demuestra ninguna).
Si se juzga el sistema sólo para esa ϕ y se producen los escenarios 1 o 2, de momento el sistema es consistente y completo. Si se produce el escenario 3, es inconsistente. Si se produce el 4, es incompleto.
En su tesis doctoral, Gödel demostró que la lógica de predicados tenía completitud: los axiomas y mecanismos de demostración son adecuados para derivar todas las afirmaciones válidas. Esto era lo esperado y no causó revuelo; lo importante estaba por llegar.
Un año después de su tesis, Gödel demostró una causa y efecto entre los escenarios 3 y 4 en los sistemas con lógica de predicados a los que se les añaden axiomas para la numeración y la aritmética: Si tal sistema es consistente, sólo puede ser incompleto para al menos una fórmula. Si no es incompleto, sólo puede ser inconsistente (lo cual es aún más grave).
Demostrabilidad y verdad son conceptos diferentes
La demostrabilidad se refiere puramente a la manipulación de símbolos: Que un sistema pueda demostrar una fórmula ϕ, sólo significa que existe un camino mecánico válido desde los axiomas iniciales hasta la fórmula ϕ, aplicando reglas estrictas paso a paso. Para representarla, se emplea el símbolo del torniquete ⊢, que generalmente se lee como «permite deducir» o «se desprende de ello».
La verdad trata acerca de la semántica (significado); que una FBF sea cierta o verdadera significa que la afirmación que hace corresponde con la realidad del universo que se está estudiando, por ejemplo el de los números naturales (una vez más, ver los axiomas de Peano). Para indicarla, se utiliza el símbolo doble torniquete ⊨.
El trabajo de Gödel destruyó la esperanza generalizada de que ambos conceptos fueran equivalentes. Aunque en un sistema matemático consistente todo lo demostrable sea verdadero, demostró que no todo lo verdadero es demostrable. Esto implica que en un sistema puede haber una o más FBF que son verdaderas a las que ningún humano ni máquina ejecutando un algoritmo jamás podrá llegar mediante las reglas (pasos «mecánicos») del sistema.














