Godel’s theorem (or at least one of Godel’s theorems) says that no matter what axioms you adopt, there will always be true statements in arithmetic that can’t be proven. In Chapter 10 of The Big Questions I give an explicit example of such a statement, involving Hercules’s ability to win a certain game against a very persistent hydra.
There are many popularizations of Godel’s original argument, of which at least one (by Nagel and Newman) is superb. They do a marvelous job of boiling the argument itself and the surrounding issues down to a little over a hundred sparse pages. But I can boil it down further, into a single blog post. I can do this via the magic of one of my favorite expository techniques, a technique I call “lying”. I will lie to you throughout this post, by sweeping important technical details under the rug and (slightly) corrupting some important ideas to make them easier to grasp—but without, I think, sacrificing the flavor and the gist of the argument. At the end, once we’re clear on the big picture, I’ll ‘fess up to some of those lies.
Here, then, is (more or less) how Godel proved that arithmetic contains true but unprovable statements:
Step One: Start by dividing all numbers into two categories. We’ll call a number “good” if it can be written as the difference of two primes and “bad” if it can’t. (Here a “number” means a positive integer.)
Step Two: Next make a list of all possible statements about arithmetic. Something like this:
1. 3 is a prime number.
2. 2 plus 3 equals 7.
3. Every number is the sum of at most four squares.
4. x is a prime number.
5. 2 plus 3 equals x.
Some of these statements, (like numbers 1 and 3) are true. Others (like number 2) are false. Still others (like numbers 4 and 5) contain variables and hence are neither true nor false unless the value of the variable is specified.
Step Three: When we make our list, let’s be sure to follow this rule:
Rule A: Every provable statement should go next to a good number and every non-provable statement should go next to a bad number.
The list above violates this rule. After all, 2 is the difference of two primes (it’s 7 minus 5), so 2 is a good number, so statement number 2 should be provable. Since we’re pretty confident that “2 plus 3 equals 7” isn’t provable, we should move it someplace else on the list, say to line 7. Revise the list as needed so Rule A is always obeyed.
Step Four: After we’ve rearranged our list in accordance with Rule A, let’s peruse it a bit. Suppose—just suppose—that we happen to find a line like this:
24537. 24537 is a bad number.
That is, statement number 24537 just happens to mention the number 24537, and declares that it is a bad number.
Given this, we can figure out whether 24537 is good or bad. Suppose first that it’s good. Then (because of Rule A), statement #24537 must be provable, and hence true. But statement #24537 says that 24537 is a bad number. So if 24537 is a good number, then it’s a bad number. That makes no sense, and we conclude that it can’t be good.
Okay, then, 24537 is bad. So the statement “24537 is a bad number” is true. But that very statement is written next to a bad number, which according to Rule A, means it’s unprovable. Conclusion: “24537 is a bad number” is both true and unprovable. Our quest for a true but unprovable statement is complete.
Step Five: Of course it would be just as good to find a line like
198764. 198764 is a bad number.
or
2381212. 2381212 is a bad number.
or
37999999. 3799999 is a bad number.
Any one of these lines would be enough to demonstrate that there is a true statement in arithmetic that is not provable. But of course, maybe there simply are no such lines.
Step Six: Let’s revise our list again. In addition to following Rule A, we’ll follow one more Rule:
Rule B: If a statement contains a variable, and if that variable is replaced by the statement’s own number, the number on the resulting statement should be the square of the number on the original statement.
To understand what that mouthful means, suppose that statement 6 just happens to be:
6. x is prime.
Then Rule B requires that statement 36 must be
36. 6 is prime.
Likewise if statement 7 happens to be:
7. 2 plus 3 equals x
then Rule B requires that statement 49 is:
49. 2 plus 3 equals 7.
Step 7:Once we’ve revised our list according to Rule B, let’s scan up and down the list for the following statement:
x2 is a bad number
This statement has to be somewhere on our list, because every statement about arithmetic is somewhere on our list. Let’s just suppose it happens to be statement number 13:
13. x2 is a bad number.
Then Rule B tells us what’s on line 169 (169 is the square of 13):
169. 132 is a bad number.
Or in other words:
169. 169 is a bad number,
So we have found exactly the kind of entry that we agreed in Steps Four and Five provides us with a true but non-provable statement, namely:
169 is a bad number
or, eliminating our value-laden terminology:
169 is not the difference of two primes.
The existence of this true but unprovable statement is a necessary consequence of our ability to make a list that obeys Rules A and B.
Step Seven: Are we done? Not quite. How do you know we can make a list that obeys both Rule A and Rule B? We needed to revise our list so it follows Rule A, and then revised it again so it follows Rule B. But when you revise your list to implement Rule B, you might screw up Rule A. When you re-revise to make sure you’re following Rule A, you might screw up Rule B.
Here’s what Godel did: He gave an explicit recipe for building a list that obeys both Rule A and Rule B. Once you’ve got that list you’re done.
Confession: Actually, that’s a lie. In order to make things work, Godel needed a considerably more complicated definition of “good” and “bad” numbers; our definition in terms of differences of primes doesn’t quite work. And in Rule B, instead of squaring, he needed a more complicated rule to give the number of the new statement that results when you plug a statement’s number into itself. But this more complicated rule still has a purely arithmetical description, which is all we need to make the argument work.
(In fact, Godel went much further. His recipe constructs a list where every grammatical relationship between statements is reflected by an arithmetical relationship between their corresponding numbers. Rule B—or something like Rule B—is one very special case of that phenomenon.)
The Bottom Line. Our true but unprovable statement turned out to be 169 is not the difference of two primes. This is a bogus example, because our Rules A and B are simplifications of the rules Godel actually implemented. But the real example has exactly the same flavor; it says that a particular number fails to have a particular (purely arithmetical) property. The number itself, and the description of the property, are too gigantic to squeeze into this post, but are no less significant for being large.