Nivel 3 · Lógica y deducción natural
Completitud: el argumento de Kalmár
La recíproca de la solidez es el resultado más profundo de este nivel y el que se formaliza en Lean: el sistema es lo bastante expresivo para demostrar todas las verdades semánticas. Esta propiedad es la completitud , y el argumento que la demuestra, debido a Kalmár (Kalmár, 1935) , tiene la virtud de ser completamente explícito.
Si (con ), entonces . En resumen: si , entonces .
La prueba completa está en la sección 1.4.4 de (Huth y Ryan, 2004) y sigue el argumento clásico de Kalmár (Kalmár, 1935) . Consta de tres pasos.
- Paso 1: reducir la consecuencia a una tautología. De se sigue que es una tautología (), pues el único modo de falsarla sería con todas las verdaderas y falsa, lo que prohíbe.
- Paso 2 (lema de Kalmár): toda tautología es un teorema. Es el núcleo: si
entonces . La derivación se construye a partir de la tabla de
verdad de :
- por inducción sobre la estructura de se demuestra un enunciado bilateral: para cada fila (valuación ), los literales de la fila derivan si y derivan si (si la fila es , y , se prueba ). La forma bilateral es imprescindible: en los casos de la negación y de la implicación, la hipótesis de inducción debe cubrir también a las subfórmulas que resultan falsas en la fila;
- como es tautología, en toda fila ocurre el primer caso, y esto da una derivación de por cada una de las filas, donde es el número de átomos distintos de ;
- las derivaciones se ensamblan en una sola prueba de descargando los átomos uno a uno mediante la ley del medio excluido y la eliminación de la disyunción.
- Paso 3: reconstruir la derivación. A partir de y las premisas originales, aplicaciones de modus ponens producen .
El lema de Kalmár es constructivo: no solo afirma que la derivación existe, sino que la produce a partir de la tabla de verdad de . Leída así, la completitud es un programa que toma una tautología y devuelve su prueba, una perspectiva que la formalización en Lean (nivel 7, próximamente) lleva al extremo realizando este argumento sobre el fragmento , con la reducción al absurdo en lugar de la disyunción para descargar los átomos. El caso del teorema (toda tautología es derivable a partir del contexto vacío) es exactamente el enunciado que allí se demuestra y verifica por máquina.
La solidez y la completitud establecen conjuntamente es decir, la demostrabilidad sintáctica captura exactamente la consecuencia semántica.
Ejecuta el algoritmo
El argumento anterior no es solo un esquema: es un programa. El siguiente componente lo ejecuta de verdad sobre la tautología que elijas (fragmento , hasta dos átomos): construye la tabla, la derivación bilateral de cada fila y el árbol de descarga, y un verificador independiente comprueba que cada paso es una instancia correcta de su regla.
El algoritmo de Kalmár, ejecutable
De la tabla de verdad a la derivación: el contenido constructivo del teorema de completitud.
Etapa 1 · La tabla de verdad
| derivación de la fila | ||
|---|---|---|
| T | T | |
| F | T |
Etapa 2 · El lema de Kalmár en la fila 1
El contexto de literales de la fila deriva la fórmula (bilateral: derivaría su negación si la fila la falsara). Cada paso lleva su regla.
Etapa 3 · Descarga de los átomos
El análisis por casos clásico (byCases, vía RAA) funde las 2 ramas en una derivación sin hipótesis. (Se muestran los últimos niveles; las hojas son las derivaciones de la Etapa 2.)
✓ Verificador independiente: las 3 derivaciones construidas son instancias correctas de las reglas.
El lema de Kalmár en acción
Para ver el lema de Kalmár en acción, y no solo enunciado, se aplica a la tautología más simple, , en el fragmento . Tiene un solo átomo, así que su tabla de verdad consta de dos filas, y en ambas es verdadera:
Paso 1: una derivación por fila. Para cada fila se deriva a partir de los literales de esa fila (el literal de es si y si ). Como es verdadera en ambas filas, en los dos casos la meta es :
(En la fila el literal queda disponible como hipótesis, pero no hace falta usarlo.)
Paso 2: descargar el átomo. Quedan dos derivaciones, y
, que difieren solo en el literal de . El análisis por
casos clásico las ensambla en una sola prueba sin hipótesis,
con el razonamiento «si vale , uso la primera; si vale , uso la segunda; y como
es un teorema, se sigue en cualquier caso». En el fragmento
, sin disyunción, este ensamblaje se realiza mediante la reducción al
absurdo; se formaliza como la regla derivada byCases en el nivel 7 (próximamente).
Lo esencial: partiendo únicamente de la tabla de verdad, el procedimiento fabrica el árbol de derivación de . Esto es la «completitud como programa» de forma literal; en el nivel 7 este mismo cómputo lo ejecuta Lean sobre y devuelve el término de prueba resultante.
El medio excluido aparece dos veces en este nivel: como regla que hace clásico al cálculo (Nota 9.5) y ahora como la pieza que ensambla las derivaciones del lema de Kalmár. La página siguiente examina qué ocurre cuando se renuncia a él: la perspectiva constructiva.