Every proof of contradiction carries a secret. In 1957, logician William Craig noticed that whenever two formulas and together are unsatisfiable — meaning no assignment of truth values can satisfy both at once — there is always a third formula that:
- is implied by (every model of is also a model of ),
- is inconsistent with ( is unsatisfiable),
- only mentions symbols that appear in both and .
That formula is the interpolant. It speaks only the shared language of and , yet it fully explains the contradiction between them. Craig proved such an always exists for classical propositional and first-order logic.
For half a century the theorem lived quietly in logic textbooks. Then, in 2003, Kenneth McMillan discovered that SAT solvers could compute interpolants from resolution proofs — and suddenly the theorem became the engine behind modern program verification.
Comments
Loading comments...