I want to be very clear about what my critique is and what it's not. I don't, for example, believe that the diagonalization process itself is flawed. In fact, I believe it's a good construction that illustrates something meaningful about type theory.
You could say that my critique is in the conclusion of Cantor's proof, but this isn't exactly true either. It's the correct conclusion once you've accepted all the axioms of type theory, which clearly Cantor has.
So obviously my critique is some subtlety about the axioms of type theory. Then why to I direct my criticism at Cantor especially?
From my perspective, Cantor was the first to discover the self-contradiction in the definition of ℕ, which is the basis of his proof, yet he quietly accepted it, as did the entire mathematics community. This doesn't sit well with me.
So in this article, I'll be describing this apparent self-contradiction, how it leads to "countable infinities", why I think this conclusion should not be accepted, and what I think can be done about it.
If you're already familiar with Cantor's diagonalization, or if my explanation sucks, you may skip this section.
Cantor explores the limits of infinite sets using a technique called "diagonalization." I have some criticisms of specific details about how Cantor defines this process, but I've deliberately avoided these aspects of the original proof. I consider this a steelman - a faithful representation of the strongest elements presented by Cantor.
The process can be visualized as a diagonal line cutting through L:
R= 0.00100001...
Values of G:
19014410...
L= 0.1340840123471001... 0.9901300147591423... 0.0001247812849127... 0.0191037488294283... 0.7488423164738142... 0.4214143477742148... 0.1112311213413214... 0.4752882011043483... ...
It's easy to see from this visualization how R is different from all the numbers in L, regardless of how big/infinite L is.
Before I discuss what my exact criticisms are, I want to first clarify the elements I appreciate, and explicitly disavow many of the concerns raised by Cantor's contemporaries.
As I stated in the preface, I think diagonalization is a perfectly valid and useful technique. I don't reject Cantor's construction on any technical or ideological basis. I am not an intuitionist, an ultrafinitist, or a classic constructivist, nor does my critique appeal to any of these methodologies.
I could describe a procedure for preparing pizza and ask "would this pizza taste good?" Depending on the procedure, the answer might be obvious, impossible to discern, or anywhere in-between. Cantor's diagonalization is like a best-case scenario pizza recipe. The dough is prepared perfectly, the sauce is traditional, and the mozzarella cheese is authentic. I can't think of a reasonable argument that could be made to suggest the construction isn't palatable, except for the classic "it's not what grandma used to make" or "I'm lactose intolerant". You may not personally like pizza, but you can still know the pizza is good, and that's what matters.
Sure, you can't actually perform an infinite procedure. You can't have a computer do it either. But you don't need to. That's not the point of the proof. The point of the proof is to illustrate how iterating over an infinite list is problematic, even if you could.
The problem doesn't arise until we start making claims about precisely how problematic it is, and the impact it has on mathematics as a whole. Because the moment you claim New York style pizza is better than Chicago deep dish, you'd better be ready for a fight. A food fight.
The truth is, Cantor's diagonalization is a giant spotlight pointed directly at a fissure in the foundations of mathematics. It's a diagnostic, and it gave us an error code. But the code wasn't recognised and addressed; it was internalized and canonicalized. The error code was used as a calibration. The bug became a feature.
If Cantor had concluded "it's impossible to contain all the real numbers in any infinite list" and stopped there, this article would never have been written. But that's not where it stopped. Cantor took the implications too far. He concluded: the real numbers must be more numerous than the natural numbers. Or, his exact words: "...thus I have found the clear difference between a so‑called continuum and a collection like the totality of real algebraic numbers." [source]
But here's the question I've never heard anybody ask: Why can't diagonalization be performed on the digits to the left-hand side of the decimal place?
Let's perform diagonalization again, but modified. This time we'll perform the procedure on the natural numbers, not the reals.
R=
...10110110
Values of G:
...01441091
L= ...3408401234710011 ...0130014759142399 ...1247812849127000 ...0374882942831019 ...2316473814247488 ...3477742148442141 ...2134132141111231 ...1104348304752882 ...
This construction, unlike Cantor's, is technically invalid.
It's a categorical error.
And that's the basis of my critique. It goes deeper than Cantor: it's a fundamental disagreement in how we define types.
Suppose I have a collection of thumb drives. Each thumb drive has a capacity of B bits. If two thumb drives have bit-by-bit the exact same data stored on them, then they represent the same value, and so they are not considered unique values. The maximum number of unique values among thumb drives is:
So, we can conclude that if B is finite, then the maximum number of unique values would also be finite. And the only way the number of unique values could be infinite would be if B was infinite.
We would be lying if we said B was finite, but there are infinite possible unique values.
And yet, that's exactly how the natural numbers are defined.
The Axiom of Infinity defines ℕ (the natural numbers) as being an infinite set. Or, at least, that's how it's broadly understood. The axiom itself doesn't actually use the term "infinity" anywhere. It doesn't use any words at all, actually; it's a bunch of symbols. And it doesn't actually refer to ℕ - this is implied by its definition. But regardless of the peculiar definition, the Axiom of Infinity is the reason why mathematicians consider ℕ the canonical infinite set.
And at the same time, each element of ℕ is strictly finite. Although, the reason for this is even more obscure.
The naturals are defined primarily by the Peano Axioms. I won't insult your intelligence; if you've made it this far, you know what the Peano Axioms are. What you may not have noticed is: There is no mention of the words "finite" or "infinite" anywhere in the Peano Axioms. So, that's not why natural numbers are strictly finite.
And only the "standard model" of type theory interprets natural numbers as finite. There exist "non-standard models" of type theory that allow infinite natural numbers. Coinductive type theory and ZFℝ both allow infinite chains of successors.
In ZFC, the finiteness of natural numbers is made explicit by "minimal inductive type" language. This interpretation is most broadly shared and cited.
But whatever the reason, the canonical interpretation of ℕ is:
Which, from an information theory standpoint, is the equivalent of saying "I can fit an infinite amount of information into a thumb drive of finite capacity." It's a blatant contradiction. And since it's definitional, it can't be wrong. That's where Cantor's "countable infinity" actually comes from.
Even the name "countable infinity" betrays its own self-contradictory origins. Go ahead: try counting to infinity. Oh, don't worry, it's a "countable" infinity, not one of the uncountable kind - should be a piece of cake, right?
It's almost as if Cantor was trying to tell us something, but we just weren't listening closely enough.
Before you grab the torches and pitchforks, let me address the most common rebuttals.
No, it's not.
My argument is from an information theoretic perspective. An infinite collection of these hypothetical thumb drives can't possibly contain infinite distinct images because the capacity must be a finite number.
The connection to ℕ is direct. If we re-interpret B to represent the number of digits permitted on any given natural number, then the magnitude of any given natural number is:
And if B is explicitly defined as finite, then 10 ^ B is also finite. Unbounded, sure. "Subinfinite?" Why not?
But call it what it is.
Maybe, from an intuitive standpoint, a natural number with infinite digits just doesn't seem right. Maybe you think ℕ shouldn't allow infinite values, and calling it "infinite" really just means it's unbounded. So no singular "natural" number would be infinite, and perhaps, semantically, ℕ being an infinite list of finite numbers actually does make sense, and this whole argument is a personal preference, opinion, or even a simple misunderstanding on my part.
Or perhaps your rebuttal is even more dire:
We already have exactly what you're talking about. There's an entire separate hierarchy of p-adic numbers, parallel to the classic hierarchy, where "infinite digits on the left" truly belongs. The distinction between these two hierarchies is meaningful. Redefining ℕ would invalidate all the legitimate theories built upon that backbone. It's a pointless thing to even suggest.
This is actually a very good rebuttal. But let's call things what they are.
Aleph-null means nothing. It's not a fun name, it's not "branding", it's not precise. It's a name that implies "something technical and deeply meaningful." And "countable" versus "uncountable" is a blatant misnomer - no infinity is countable. The only difference between ℕ and ℝ is that ℝ permits infinite construction and ℕ doesn't.
ℕ is unbounded because there's no precise finite upper bound. Elements of ℕ are not infinitely distinguishable. So call it unbounded. Call it subinfinite.
So call it unbounded.
Call it "subinfinite".
But don't call it something that obfuscates the truth and misleads people.
There are some additional details I skipped over, because I wanted to focus on the core issue and not get sidetracked. These things are still worth saying, and they support my stance.
In Cantor's published proof, the diagonalization process involves keeping track of an index to facilitate the construction. This index is defined as a natural number.
But, Cantor assumes the diagonalization could be completed without error, assuming time was not a limitation. The practical impossibility of this isn't relevant; the question is whether this is even theoretically consistent. It's not, by its own admission: ℕ and ℝ are not surjective. ℕ is strictly smaller than ℝ - that's the whole point of the proof.
And this should be immediately obvious to anyone.
A set restricted to having values of finite size only, cannot be itself infinite without encountering duplicate values, and it doesn't matter how "unbounded" it is. Mapping ℕ to ℝ is the categorical error, not mapping ℕ to ℕ.