logic · 2 min read

Gödel's Incompleteness Theorems: What They Really Say

A precise walkthrough of the two incompleteness theorems — dispelling common misconceptions and presenting the actual mathematical content.

#godel#formal-systems#foundations#number-theory

Few theorems are more frequently misquoted than Gödel’s incompleteness theorems. Let me state them carefully.

Setup: Formal Systems

Let TT be a consistent formal system that:

  1. Is recursively axiomatizable (there’s an algorithm that lists the axioms), and
  2. Is strong enough to prove basic facts about arithmetic — formally, TT interprets Robinson arithmetic QQ.

First Incompleteness Theorem

Theorem (Gödel 1931). If TT is consistent, then TT is incomplete: there exists a sentence ϕ\phi in the language of TT such that TϕT \nvdash \phi and T¬ϕT \nvdash \neg\phi.

The proof constructs a sentence GTG_T that essentially says:

GT    "GT is not provable in T"G_T \;\equiv\; \text{"$G_T$ is not provable in $T$"}

This is made precise via Gödel numbering — encoding syntax as arithmetic. If TGTT \vdash G_T, then GTG_T is false, contradicting consistency. So TGTT \nvdash G_T, which means GTG_T is true (in the standard model N\mathbb{N}), hence T¬GTT \nvdash \neg G_T.

Second Incompleteness Theorem

Theorem. If TT is consistent and satisfies the Hilbert-Bernays-Löb derivability conditions, then TCon(T)T \nvdash \mathrm{Con}(T).

Here Con(T)\mathrm{Con}(T) is the arithmetic sentence asserting TT‘s consistency. A system cannot prove its own consistency (unless it is inconsistent!).

What They Do NOT Say

A partial list of things the theorems do not imply:

  • They do not say mathematics is “broken” or that truth is unknowable.
  • They do not apply to all formal systems — only those strong enough to encode arithmetic.
  • They do not mean that every true statement is unprovable.
  • They do not undermine Hilbert’s program entirely — only the specific goal of finitary consistency proofs.

Löb’s Theorem

A strengthening: for any sentence ϕ\phi,

T(Tϕϕ)    TϕT \vdash (\Box_T \phi \Rightarrow \phi) \implies T \vdash \phi

where Tϕ\Box_T \phi means ”TT proves ϕ\phi”. This subsumes the second incompleteness theorem (take ϕ=\phi = \bot).

Further Reading

  • Gödel, K. (1931). “Über formal unentscheidbare Sätze…”
  • Boolos, G., Burgess, J., Jeffrey, R. (2007). Computability and Logic, 5th ed.
  • Smith, P. (2013). An Introduction to Gödel’s Theorems, 2nd ed.
Blog