Craig interpolation


In mathematical logic, Craig's interpolation theorem is a result about the relationship between different logical theories. Roughly stated, the theorem says that if a formula φ implies a formula ψ, and the two have at least one atomic variable symbol in common, then there is a formula ρ, called an interpolant, such that every nonlogical symbol in ρ occurs both in φ and ψ, φ implies ρ, and ρ implies ψ. The theorem was first proved for first-order logic by William Craig in 1957. Variants of the theorem hold for other logics, such as propositional logic. A stronger form of Craig's interpolation theorem for first-order logic was proved by Roger Lyndon in 1959; the overall result is sometimes called the Craig-Lyndon theorem.

Example

In propositional logic, let
Then tautologically implies. This can be verified by writing in conjunctive normal form:
Thus, if holds, then holds. In turn, tautologically implies. Because the two propositional variables occurring in occur in both and, this means that is an interpolant for the implication.

Lyndon's interpolation theorem

Suppose that S and T are two first-order theories. As notation, let ST denote the smallest theory including both S and T; the signature of ST is the smallest one containing the signatures of S and T. Also let ST be the intersection of the languages of the two theories; the signature of ST is the intersection of the signatures of the two languages.
Lyndon's theorem says that if ST is unsatisfiable, then there is an interpolating sentence ρ in the language of ST that is true in all models of S and false in all models of T. Moreover, ρ has the stronger property that every relation symbol that has a positive occurrence in ρ has a positive occurrence in some formula of S and a negative occurrence in some formula of T, and every relation symbol with a negative occurrence in ρ has a negative occurrence in some formula of S and a positive occurrence in some formula of T.

Proof of Craig's interpolation theorem

We present here a constructive proof of the Craig interpolation theorem for propositional logic. Formally, the theorem states:
If ⊨φ → ψ then there is a ρ such that ⊨φ → ρ and ⊨ρ → ψ, where atoms ⊆ atoms ∩ atoms. Here atoms is the set of propositional variables occurring in φ, and ⊨ is the semantic entailment relation for propositional logic.
Proof.
Assume ⊨φ → ψ. The proof proceeds by induction on the number of propositional variables occurring in φ that do not occur in ψ, denoted |atomsatoms|.
Base case |atomsatoms| = 0: Since |atomsatoms| = 0, we have that atomsatomsatoms. Moreover we have that ⊨φ → φ and ⊨φ → ψ. This suffices to show that φ is a suitable interpolant in this case.
Let’s assume for the inductive step that the result has been shown for all χ where |atomsatoms| = n. Now assume that |atomsatoms| = n+1. Pick a qatoms but qatoms. Now define:
φ' := φ ∨ φ
Here φ is the same as φ with every occurrence of q replaced by ⊤ and φ similarly replaces q with ⊥. We may observe three things from this definition:
From, and the inductive step we have that there is an interpolant ρ such that:
But from and we know that
Hence, ρ is a suitable interpolant for φ and ψ.
QED
Since the above proof is constructive, one may extract an algorithm for computing interpolants. Using this algorithm, if n = |atomsatoms|, then the interpolant ρ has O more logical connectives than φ. Similar constructive proofs may be provided for the basic modal logic K, intuitionistic logic and μ-calculus, with similar complexity measures.
Craig interpolation can be proved by other methods as well. However, these proofs are generally non-constructive:
Craig interpolation has many applications, among them consistency proofs, model checking, proofs in modular specifications, modular ontologies.