# Refuting the Anti-Cantor Cranks

I occasionally have the opportunity to argue with anti-Cantor cranks, people who for some reason or the other attack the validity of Cantor’s diagonalization proof of the uncountability of the real numbers, arguably one of the most beautiful ideas in mathematics. They usually make the same sorts of arguments, so years ago I wrote up this FAQ to deal with them. Unfortunately, it’s still hard to get anywhere with these people; the discussion frequently turns into something of this form:

ME: Suppose there is an ordered list containing all the real numbers. Then we can read off the diagonal entries and construct a real number that differs in the Nth decimal place from the Nth real number on the list. This real number obviously cannot be in the list. So the list doesn’t contain all the real numbers.

THEM: Of course your proposed number is not on the list; it’s not a well-defined real number.

ME: What do you mean? I gave you the exact procedure for constructing it. You take the Nth real number on the list, and you make it differ from that number in the Nth decimal place.

THEM: But if we really have a list of all the real numbers, then your proposed number has to be somewhere in the list, right?

ME: Yes, of course, so let’s say it’s in the 57th place. Then it would have to differ from itself in the 57th place, which is impossible!

THEM: Exactly, it’s impossible! Your definition requires that it differs in some place from itself, which is impossible, so your definition is bad.

ME: But you’re only saying that it’s impossible on the basis of the assumption that there’s a complete list of real numbers, and the whole point is to disprove that assumption.

THEM: But we’re doing this proof under that assumption, so how can we make a definition that runs contrary to that assumption?

ME: But that definition is a good one regardless of whether there are countably or uncountably many reals. It is a complete, algorithmic, unambiguous specification of the real number. What else could you want?

ME: Forget about the purported complete lists of real numbers for a moment. Don’t you agree that for any list of real numbers, complete or incomplete, it’s possible to construct a real number that differs in the Nth place from the Nth number on the list?

THEM: No, it’s only possible to construct such a real number if that real number isn’t on the list, otherwise it’s a contradictory definition.

ME: Don’t you see that the contradiction is not the fault of my perfectly good definition, but rather the fault of your assumption that there are countably many real numbers?

THEM: No, I don’t.

ME: But what if we took our putative complete list of real numbers, and fed it in line by line into a computer with an algorithm that spits out, digit by digit, a real number that differs in the Nth digit from the Nth number on the list? Would such a computer program work?

THEM: No it wouldn’t, the computer program would hit the place on the list where the number being constructed would reside, and then it would get crash, because it can’t choose a digit for the number that differs in the nth place from itself.

ME: Argh!

So how do I stop going in circles and convince them that they’re wrong?

Any help would be greatly appreciated.

The formulation “If $f:\mathbf{N} \to \mathbf{R}$ is an arbitrary mapping, then $f$ is not surjective” clearly fixes the original list of real numbers and sets aside the potentially combatitive issue of whether or not the list is all of $\mathbf{R}$.
Significantly, the argument is no longer by contradiction, but by direct implication: The diagonal procedure constructs a real number not in the image of $f$. Perhaps this may help circumvent the sense of double-talk presumably conveyed in first positing the existence of an enumeration of $\mathbf{R}$, then arguing that some infinite decimal is not on said list.