Gödel’s Incompleteness
In 1900, David Hilbert challenged the world to find a complete and consistent set of axioms for all of mathematics. He wanted a “Master Algorithm” that could prove or disprove any statement. In 1931, Kurt Gödel proved this dream was impossible.
1. The First Theorem: Truth vs. Provability
Gödel showed that in any system capable of arithmetic, there are statements that are True but Unprovable.
He did this by creating a “Gödel Sentence” (), which states:
“This statement cannot be proved within this axiomatic system.”
Let’s look at the logical trap:
- If the system can prove , then is false (because says it can’t be proved). This means the system proves something false—it is Inconsistent.
- If the system cannot prove , then is true (because it correctly says it can’t be proved). This means there is a truth the system can’t reach—it is Incomplete.
We prefer Consistency over Completeness. Thus, math is incomplete.
2. A Coding Analogy: The Halting Problem
The Halting Problem in computer science is the direct descendant of Gödel’s work. It proves that you cannot write a program will_halt(code) that correctly predicts if any given piece of code will eventually stop or run forever.
3. The Second Theorem: Trusting the Foundation
Gödel’s second theorem is even more startling: A system cannot prove its own consistency.
If you use a system (like ZFC) to prove that ZFC has no contradictions, you are essentially “grading your own homework.” To prove ZFC is consistent, you need a stronger system with more axioms. But that stronger system then needs an even stronger one to prove its consistency, and so on, forever.
4. Summary of the Course
We have climbed the ladder of abstraction:
- Propositional Logic: Computing with Bits.
- Predicate Logic: Quantifying the World.
- Boolean Algebra: Designing Circuits.
- Axioms: The Rules of the Game.
- Incompleteness: The limits of the Game.