Be warned: these next Sideband posts are about Mathematics! Worse, they’re about the *Theory* of Mathematics!! But consider sticking around, at least for this one. It fulfills a promise I made in the Infinity is Funny post about how Georg Cantor proved there are (at least) two kinds of infinity: *countable* and *uncountable*. It also connects with the Smooth or Bumpy post, which considered differences between the discrete and the continuous.

This first one is pretty easy. The actual math involved is trivial, and I think it’s fascinating how the Yin/Yang of separate units versus a smooth continuum seems a fundamental aspect of reality. We can look around to see many places characterized by “bumpy” or “smooth” (including *Star Trek*). (The division lies at the heart of the conflict between Einstein’s Relativity and quantum physics.)

So, let’s consider Cantor.

To understand why Cantor’s proof is interesting, we need to know a little bit about Set Theory. And I do mean a *little* bit; specifically, just *three* things:

Firstly, a **set** is nothing more than a collection of things. What things are collected in a set is defined by a *membership function* that determines whether any given object is a *member* (or not) of that set. Here are some examples of membership functions:

- What’s in your pockets or purse right now
- Mountains above 14,000 feet
- The 26 letters of the English alphabet
- Everyone you’ve ever dated
- All white swans
- All whole numbers greater than zero

Secondly, a set has a *size* or *cardinality*, which describes how many members are in the set. An important distinction is between *finite* sets and *infinite* sets. The first four examples above are finite sets; there is a specific answer to the question, “How many members are in this set?”

But the last two examples are infinite sets. The number of white swans *up to now* is a finite list, but new swans come along (we’ll assume) forever. (In reality, it’s more likely that white swans will someday become extinct, and then the white swans set becomes a (very large) finite one.)

The last example *is* infinite. It’s the set of all positive integers, the natural numbers. An important distinction: the set of white swans — as noted — *seems* infinite, but in reality has an unknown (yet finite) size. The natural numbers set really *is* infinite (due to the definition of the natural numbers).

Thirdly, we compare sets based on their size. Keep in mind that, by *size*, we mean only the *count* of items in the set. A set of 11 pennies has a bigger size than a set of 10 elephants. More importantly, a set of 10 pennies *is equal* (in size) to a set of 10 elephants.

Which brings us to a rule: Two sets are equal if they have the same size.

For finite sets, there is nothing surprising (or particularly interesting) about this other than how you can sort sets according to their size. (At least in terms of bigger and smaller. We have no rule at the moment to sort same-sized sets.)

Infinite sets make things much more interesting. I wrote before about how all *countable* infinite sets are the same size (of infinity). Any infinite thing that you can actually *enumerate* (count off) has the same infinity. This is the infinity we all have some sense of: the infinity that goes on forever.

This leads to some weird (but true) things, such as that you can take an infinite list, split it in two by moving every other item into a new list, and both new lists will be infinite. And both will be — not only the same size as each other, but — *the same size as the original list!*

The key is that, given any two infinite lists, you can pair off (*map*) all items one-to-one. It would take an infinite amount of time to pair off the infinite number of items, but (at least in principle, and that’s what matters) *all items can be paired*.

Which is where Cantor comes in.

The idea is that, *if the set of natural numbers can be paired up with the set of real numbers*, then those two things are the same size. It would mean that “infinity is just infinity” and the only distinction is between finite and infinite. Cantor showed that such a mapping was

*not*possible; no list of real numbers is possible.

Cantor’s proof starts by assuming it *is* possible to pair off the natural and real numbers and then showing how the assumption results in a contradiction.

We know a list of natural numbers is possible: just start with “1, 2, 3” and keep going. *If* we can list the real numbers, then those lists can be paired off and they have to be the same size.

The question is how to do “1, 2, 3” with the real numbers. We can start with “1”, but there’s no way to name the next number in sequence.

With the natural numbers, the next number in sequence is the current number plus one. With the real numbers we seem to need an “*infinitely tiny amount*” to add to get to the next number. Intuitively, we need a number with an infinite number of zeros followed by a one. But no actual such number exists; the infinite zeros make it impossible to construct. Which means there is no way to figure out the next real number after any given real number.

If we do try to count real numbers “1, 2, 3” there is an infinite number of real numbers skipped between each digit. Even if we count in teeny, tiny fractions, there is still an infinite number of real numbers *between* each fraction we named (no matter how small we made the fractions).

Cantor gets around this problem by assuming there is a magical function, let’s call it ** Foo(x)**, that given any natural number

**returns a**

`x`

*unique*“matching” real number. We can use

**to build a list of real numbers:**

`Foo(x)`

Foo(1) = 0.777758723531... Foo(2) = 0.248967627814... Foo(3) = 0.789527538337... Foo(4) = 0.553848958888... Foo(5) = 0.482339975102......etc...

The assumption is that, given every possible `x`

(the infinite list of natural numbers), `Foo(x)`

gives us every possible *real* number. We thus assume we can create a list of all real numbers that maps to the list of natural numbers.

Note that the list itself is infinitely long, because the list of natural numbers is infinitely long. But *each* real number on our list *also* goes on forever. (All real numbers do.) The list is an infinite list of infinite objects!

And that’s the crux of the matter. The list of natural numbers is infinite, but each natural number in the list is a finite object. No matter how big a number you name, *if you can name it*, it’s a finite number.

But Cantor assumes our `Foo(x)`

list — although infinite — *does* include every real number. Then he shows how to create a new number that *cannot* be on the list, which proves the assumption false!

The idea is charmingly simple. Create a new number by taking a diagonal path through the list of numbers. A diagonal takes one digit from each number on the list. For example, work from upper left to lower right, taking the first digit from the first number, the second from the second, the third from the third, and so on. Because the list is infinite downwards and rightwards, the diagonal is infinitely long also.

The new diagonal number we create (the “copied” number in the image above) is presumably somewhere on the list (because we assume the list contains every number). But here’s the trick: we *alter* every digit in the new number.

For instance, we can add one (wrapping back to zero after nine). We treat our copied number like a giant odometer and advance *every* digit one click. Any “4” becomes a “5”, for example, and a “9” becomes a “0”.

Now we have a new (new!) number, and this number *cannot* be on the list!

The reason is that we made this new number *different* from every number on the list when we altered the digits. It doesn’t match the first number, because the first digit no longer matches the first digit of the first number. Same with all the other numbers we took digits from. The new number doesn’t match any of those, because we *changed* the digits.

This new number proves that our assumption about the list *is false*. The list does *not* contain all the real numbers.

There are many ways to alter the new diagonal number. We can add two to each number instead of one (the new!! number above). We can add *any* single digit (the new!!! number above adds nine). These can be combined in infinite ways (e.g. “+1,+2,+1,+3,…”); there are an infinite number of patterns we can use.

And even if we add all these new numbers to the list, we can *still* generate an infinite number of new numbers using the same process. We can *always* generate new numbers no matter how “complete” we think the list is!

There are also infinitely many diagonal paths we can take; the only requirement is to take one digit from each number on the list. (Actually, there is also a requirement that you take each digit from a unique position. You can’t just take, say, the fourth digit of every number.)

The bottom line: Our initial assumption was wrong! It is *not possible* to create a list of all real numbers, and therefore the theory that “infinity is infinity” is false.

There is more than one type of infinity.

There are at least two: *countable* and *uncountable*.

June 24th, 2014 at 5:12 pm

My word! Now that’s 1 for the books!

Diana xo

June 24th, 2014 at 5:18 pm

I thought it was 1 for the money (2 for the show, 3 to get ready)… 😛

June 24th, 2014 at 6:48 pm

And 4 to go!

June 24th, 2014 at 7:50 pm

By, George, I do believe she’s got it! 🙂

January 25th, 2023 at 1:58 pm

[…] 11/10/2014: The diagonal argument is discussed in detail in the Sideband #54: Cantor’s Diagonal […]

January 25th, 2023 at 2:07 pm

[…] As Cantor showed, there is no process that can list (enumerate) all the real numbers. That’s because there is no way to name the next number. There also isn’t a protocol (as with the rational numbers) that doesn’t name the “next” but does (eventually) name them all. […]

January 26th, 2023 at 7:47 am

[…] property is due to plain old countable infinity, not the uncountable infinity of the continuum (see Cantor’s Diagonal for […]