Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I thought I understood Gödel's Incompleteness Theorem to say:

  • Starting from ZF, there only a countable number of proofs you can write

  • The number of possible conjectures is uncountable.

  • Thus, there is a conjecture S such that you can't write down a proof of S, but you also can't write down a proof of -S.

However, I later realized the number of conjectures you can write down is also countable.

What am I missing?

share|cite|improve this question
Nope. There are countably many statements in mathematics, and countably many proofs. Goedel's result has nothing to do with countability. – Thomas Andrews Aug 9 '12 at 16:32
What Goedel found was a way to encode a statement about number theory proofs in number theory that essentially says, "This statement has no proof in this axiom system." – Thomas Andrews Aug 9 '12 at 16:35
What are you missing? Perhaps a reading of Godel's paper. Or a good modern treatment. The "popular" discussion is not going to give you understanding of this. For example, Godel's paper does not mention ZF. – GEdgar Aug 9 '12 at 17:21

There is nothing about countability or uncountability in Gödel's proof. All the sets of statements and proofs are assumed to be countable.

There is a logical relationship between what Gödel did and how Cantor showed some sets were "uncountable" - they are both what we call "diagonal arguments." Diagonal arguments crop up in lots of logic, especially when we are talking about the limits of what we can do with formal systems.

The grandfather of the diagonal argument is Russell's paradox. It essentially forces us to realize that we cannot talk about "the collection of everything" in a naive way and not get a paradox. It has a strong relation to the statement, "This statement is false," which clearly cannot be assigned a truth value.

Gödel was able to show that if a (finitely describable) system of axioms was complicated enough to contain arithmetic, then it was complicated enough to talk about proofs in itself, and, in particular, to write a statement that says, "This statement has no proof in the X axiom system." If this statement had a proof, then we'd be able to disprove it, as well. If the statement has no proof, then it is true.

One way to think of it is in terms of something called "computability." The set of provable statements in an axiom system is "recursively enumerable." But if all theorems are decidable by proofs, then the set of provable statements and the set of disprovable statements comprise all statements, and, if the theory is consistent, they are disjoint. A recursively enumerable set whose complement is also r.e. is necessarily "recursive." Gödel essentially proved that this cannot be.

(Note that in computability theory, the distinction between "recursive" and "not recursive" is much like the set theory distinction between "countable" and "uncountable.")

share|cite|improve this answer
You describe Russell's paradox as the "grandfather" of the diagonal argument, but it seems to me that this designation should go to Cantor. After all, Cantor published his diagonal argument in 1891, and Russell's paradox came in 1901, surely with knowledge of Cantor's method. – JDH Aug 10 '12 at 2:02

While I agree with the other posters that the direct connection you're looking for doesn't exist, there's another proof of Gödel's theorem that probably has much the flavor you're after; in essence, some statements are unprovable because they're too complicated! In particular, consider the statement '$x$ is the smallest number that cannot be computed by a (particular universal turing machine) program of length less than $N$' (where $N$ is a number we'll give specifically later). Since there are only $2^N$ programs of length less than $N$, such an $x$ must exist, whatever we take $N$ to be.

But the description of this statement takes $k_1\log N+k_2$ bits for some constants $k_1$ and $k_2$ (since $N$ can be written in binary); and the axioms of the formal logic system, along with a procedure to enumerate all consequences of those axioms, takes only a finite number $k_3$ of additional bits. So if the statement '$x$ is the smallest number that cannot be computed by a program of length less than $N$' were provable, then its proof — as enumerated by the Turing machine — provides a program of length $k_1\log N+k_2+k_3$ bits for computing $x$. But there's surely an $N$ such that $N\gt k_1\log N+k_2+k_3$, whatever we take $k_1$, $k_2$ and $k_3$ to be, so if this statement were provable then we'd have a contradiction - a description for $x$ of length less than $N$!

This means that for large enough $N$ the statement must be unprovable for all $x$, but it's surely true (as noted initially) for some $x$. In essence, the axioms of the formal system only hold a finite amount of information in them, and so statements much more complicated than that finite amount of information are inherently unprovable. (This interpretation of the argument — which is essentially a formalized version of the Berry paradox — is due, AFAIK, to Gregory Chaitin, and you can check his writings for quite a bit more information on it, pun intended.)

share|cite|improve this answer

Gödel's first incompleteness theorem states that, if we have some first-order theory that extends Peano Arithmetic (we don't really need all the strength of PA, but that is beside the point) and is consistent and recursively enumerable (which, intuitively, means that you have a concrete procedure to write out all the axioms), then there is a statement in the language of the theory which is independent from it.

(This theorem also applies to theories that can interpret Peano arithmetic, such as ZF.)

The proof of that is by diagonal argument (as are pretty much all the proofs of statements of this sort), but it does not rely on anything being uncountable. Indeed, all objects considered are countable. The key concept is not countability, but recursive enumerability.

Perhaps more interestingly, Gödel's second incompleteness theorem says that for any such theory $T$, $T\cup \{\varphi\}$ is consistent as well, where $\varphi$ is a statement which, if interpreted as a statement about natural numbers, means roughly "$T$ is inconsistent", or, more accurately, "$T$ proves that $0=1$", while if $T$ is satisfied by natural numbers themselves, then $T\cup \{\neg\varphi\}$ is also consistent, so in that case there's a "concrete" example of statement which cannot be decided by $T$.

Fully understanding these theorems would require some familiarity with proof theory and model theory, I think.

share|cite|improve this answer

Gödels theorem is about arithmetic, and systems like ZF that extend it, but mostly about arithmetic.

There is a problem involving countability that is kind of relevant to Gödel's theorem, but the number of conjectures doesn't have anything to do with it. The set of sets of numbers is uncountable, while any practical formal system defines only countably many sets. This means that if we formalize the notion of set in the induction principle (equivalently, if we turn the induction principle into a schema and avoid talking about sets directly) a tiny minority of sets actually play a role in any formal proof. This leave open the possibility of formally undefinable counterexamples to induction. But don't think that this is all there is to Gödel's proof, though. He had to show why in this particular case it matters that few sets are definable.

share|cite|improve this answer

The proof can be "understood" like that :

Let say that all conjectures are provable (in a positive or negative way). So for each conjecture, there is a finite proof.

Let's do a program $P$ that takes a formula (a conjecture), a find the proof, by just trying all proofs until it find the right one (A very long process). If the proof is positive (the formula is true), then $P(F)=1$ else $P(F)=0$

But a program is some kind of formula. So I can make a conjecture $C$, saying "$P(C)=0$" (this is the main point). But if it's true $P(C)=1$ and if it's false $P(C)=0$. It's just impossible !

So there is no such program $P$, and some formula have no proof (positive or negative).

share|cite|improve this answer
I really like this answer, but is it really that simple? You can construct the statement "this statement is false" in any axiom system with arithmetic? Seems too easy? – barrycarter Aug 9 '12 at 18:52
Russell's paradox is 'easy' but in a sense it's the idea behind any inconsistency proof. – Kris Aug 9 '12 at 19:02
Arithmetic is so powerful that it makes so many strange conjectures we still don't know what to think about. This one is not so hard to build. – Xoff Aug 9 '12 at 19:05

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.