Gödel's Completeness Theorem
Statement
Gödel's Completeness Theorem (1930): for any first-order theory and sentence ,
Syntactic provability () and semantic truth in all models () coincide. Every tautology has a formal proof.
Visualization
Consider the tautology .
Proof tree (natural deduction):
[∀x P(x)]
|
(∀-elim, any term a)
P(a)
|
(∃-intro, witness a)
∃x P(x)
─────────────────────
∀x P(x) → ∃x P(x) QED
The proof uses only 3 rules:
∀-elim: from ∀x φ(x), derive φ(t) for any term t
∃-intro: from φ(t), derive ∃x φ(x)
→-intro: from a derivation of ψ assuming φ, derive φ → ψ
Completeness guarantees: if a sentence holds in every structure (like ), then there is always a finite proof tree witnessing it.
Proof Sketch
The key is to show: if , then (i.e., there is a model of where is false).
- Assume is consistent (no proof of contradiction).
- By the Lindenbaum–Tarski construction, extend to a maximal consistent theory .
- Build the term model (Henkin construction): the domain consists of equivalence classes of terms under -provable equality. Interpret each predicate by whether proves it.
- The term model satisfies exactly the sentences in . In particular it satisfies and , so .
Connections
Completeness and CompactnessCompactness Theorem (FOL)A first-order theory has a model if and only if every finite subset has a model.Read more → are the two pillars of classical model theory — together they show that first-order logic is "perfectly calibrated." Gödel's Incompleteness theorems (a separate result) show that sufficiently strong theories cannot prove their own consistency, but this does not contradict completeness: every true semantic consequence still has a syntactic proof.
Compare Löwenheim–Skolem TheoremLöwenheim–Skolem TheoremA first-order theory with an infinite model has models of every infinite cardinality.Read more →, another consequence of the Henkin-style model construction.
Lean4 Proof
import Mathlib.ModelTheory.Satisfiability
open FirstOrder Language
/-- The complete theory of any nonempty structure is complete:
every sentence or its negation is provable.
This is the Mathlib formulation closest to Gödel's Completeness Theorem —
the complete theory of M satisfies every semantic consequence.
Mathlib: `FirstOrder.Language.completeTheory.isComplete`. -/
theorem complete_theory_is_complete
{L : Language} (M : Type*) [L.Structure M] [Nonempty M] :
(L.completeTheory M).IsComplete :=
completeTheory.isComplete L MReferenced by
- Gödel's Incompleteness TheoremsSet Theory and Logic
- Compactness Theorem (FOL)Set Theory and Logic
- Löwenheim–Skolem TheoremSet Theory and Logic
- Halting Problem UndecidableSet Theory and Logic