En lógica matemática , el teorema de interpolación de Craig es un resultado sobre la relación entre diferentes teorías lógicas . En términos generales, el teorema dice que si una fórmula φ implica una fórmula ψ, y las dos tienen al menos un símbolo de variable atómica en común, entonces existe una fórmula ρ, llamada interpolante, tal que cada símbolo no lógico en ρ ocurre. tanto en φ como en ψ, φ implica ρ y ρ implica ψ. El teorema fue demostrado por primera vez para la lógica de primer orden por William Craig en 1957. Las variantes del teorema son válidas para otras lógicas, como la lógica proposicional . Roger Lyndon demostró en 1959 una forma más sólida del teorema de interpolación de Craig para la lógica de primer orden; [1] [2] el resultado general a veces se denomina teorema de Craig-Lyndon .
En lógica proposicional , dejemos
Entonces implica tautológicamente . Esto se puede verificar escribiendo en forma normal conjuntiva :
Por lo tanto, si se cumple, entonces se cumple. A su vez, tautológicamente implica . Debido a que las dos variables proposicionales que ocurren en ocurren en ambos y , esto significa que es un interpolante para la implicación .
Supongamos que S y T son dos teorías de primer orden. Como notación, sea S ∪ T la teoría más pequeña que incluye tanto S como T ; la firma de S ∪ T es la más pequeña que contiene las firmas de S y T . Sea también S ∩ T la intersección de los lenguajes de las dos teorías; la firma de S ∩ T es la intersección de las firmas de los dos idiomas.
El teorema de Lyndon dice que si S ∪ T es insatisfactorio, entonces hay una oración de interpolación ρ en el lenguaje de S ∩ T que es verdadera en todos los modelos de S y falsa en todos los modelos de T. Además, ρ tiene la propiedad más fuerte de que cada símbolo de relación que tiene una ocurrencia positiva en ρ tiene una ocurrencia positiva en alguna fórmula de S y una ocurrencia negativa en alguna fórmula de T , y cada símbolo de relación con una ocurrencia negativa en ρ tiene una ocurrencia negativa. ocurrencia en alguna fórmula de S y una ocurrencia positiva en alguna fórmula de T .
Presentamos aquí una prueba constructiva del teorema de interpolación de Craig para lógica proposicional . [3]
Teorema : si ⊨φ → ψ, entonces hay un ρ (el interpolante ) tal que ⊨φ → ρ y ⊨ρ → ψ, donde átomos (ρ) ⊆ átomos (φ) ∩ átomos (ψ). Aquí átomos (φ) es el conjunto de variables proposicionales que ocurren en φ, y ⊨ es la relación de vinculación semántica para la lógica proposicional.
Supongamos ⊨φ → ψ. La prueba procede por inducción sobre el número de variables proposicionales que ocurren en φ y que no ocurren en ψ, denotadas | átomos (φ) − átomos (ψ)|.
Caso base | átomos (φ) − átomos (ψ)| = 0: Desde | átomos (φ) − átomos (ψ)| = 0, tenemos que átomos (φ) ⊆ átomos (φ) ∩ átomos (ψ). Además tenemos que ⊨φ → φ y ⊨φ → ψ. Esto basta para demostrar que φ es un interpolante adecuado en este caso.
Supongamos para el paso inductivo que el resultado se ha mostrado para todo χ donde | átomos (χ) − átomos (ψ)| = norte . Ahora supongamos que | átomos (φ) − átomos (ψ)| = norte +1. Elija q ∈ átomos (φ) pero q ∉ átomos (ψ). Ahora define:
φ' := φ[⊤/ q ] ∨ φ[⊥/ q ]
Aquí φ[⊤/ q ] es lo mismo que φ con cada aparición de q reemplazada por ⊤ y φ[⊥/ q ] reemplaza de manera similar q con ⊥. Podemos observar tres cosas de esta definición:
De ( 1 ), ( 2 ) y el paso inductivo tenemos que existe un interpolante ρ tal que:
Pero de ( 3 ) y ( 4 ) sabemos que
Por tanto, ρ es un interpolante adecuado para φ y ψ.
Dado que la prueba anterior es constructiva , se puede extraer un algoritmo para calcular interpolantes. Usando este algoritmo, si n = | átomos (φ') − átomos (ψ)|, entonces el interpolante ρ tiene O (exp( n )) más conectivos lógicos que φ (consulte Notación O grande para obtener detalles sobre esta afirmación). Se pueden proporcionar pruebas constructivas similares para la lógica modal básica K, la lógica intuicionista y el cálculo μ , con medidas de complejidad similares.
La interpolación de Craig también puede demostrarse mediante otros métodos. Sin embargo, estas pruebas generalmente no son constructivas :
La interpolación de Craig tiene muchas aplicaciones, entre ellas pruebas de consistencia , verificación de modelos , [4] pruebas en especificaciones modulares , ontologías modulares .