Este no llega a ninguna parte en math.stackexchange.com, así que lo pongo aquí.
El teorema de completitud de Gödel dice que para cada afirmación en el cálculo de predicados de primer orden con igualdad, hay una prueba de que se cumple en todas las estructuras, o un contraejemplo --- una estructura en la que no se cumple. Lo que parece que no se enfatiza lo suficiente es la conexión con la computabilidad: hay un algoritmo eficiente de comprobación de pruebas. Sin eso, la conclusión tendría mucho menos interés del que tiene. (Sobre todo porque se podría declarar que toda fórmula universalmente válida es una prueba de sí misma. Entonces uno no tendría absolutamente ninguna manera de saber qué es una prueba válida y qué no lo es, pero la conclusión del teorema seguiría siendo cierta).
Otro teorema descubierto en los años 30 es que, aunque hay un algoritmo de comprobación de pruebas para esta situación, sólo hay la mitad de un algoritmo de búsqueda de pruebas:
- Uno puede buscar sistemáticamente una prueba de tal manera que si existe, la encontrará.
- Pero después de un trillón de años de búsqueda sin éxito, no hay manera de saber que no aparecerá diez minutos después, ni que lo hará.
Ambos de las viñetas fueron probadas en los años 30. (¿Es el "teorema de Church" el nombre convencional para la conjunción de los dos puntos con viñetas, o sólo el segundo, o qué? Ahora mismo no estoy seguro).
Creo que hay una amplia literatura sobre la eficiencia computacional (¿o la falta de eficiencia?) de estas búsquedas de pruebas. ¿Existe bibliografía sobre la búsqueda sistemática de contraejemplos por fuerza bruta? Estos contraejemplos serían estructuras en las que una sentencia de primer orden propuesta es falsa.