IT lexicon › Programming › Gödel's incompleteness theorems

Gödel's incompleteness theorems

Programming På svenska → Updated: 2026-08-06

The 1931 proof that any sufficiently powerful formal system holds truths it cannot prove — and cannot even certify its own consistency.

Kurt Gödel was 25 and working in Vienna when he published the paper with the unwelcoming title Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme. First theorem: any consistent, mechanically enumerable axiom system strong enough for arithmetic contains statements that can be neither proved nor disproved within it. Second theorem: no such system can prove its own consistency. Hilbert's programme, meant to put mathematics on a final footing, was not merely hard but impossible.

The technique is the inheritance. Gödel numbered formulas: every statement got a number, every proof step became an arithmetic relation between numbers, and the system could therefore talk about itself without leaving arithmetic. He then built a statement that, under that encoding, asserts "I am not provable". If it can be proved it is false, and the system proves falsehoods. If it cannot be proved it is true — and unprovable.

The same diagonal argument reappears five years later in the halting problem, in Rice's theorem, in quines, and in every result about what static analysis will never settle. Gödel encoded formulas as numbers; a von Neumann machine stores programs as data in the same memory. It is one trick, used once as a proof and once as a way to build things.

← Back to the lexicon