Math 2.0

Mathematical logic and foundations Proof

Proof of Cantor's theorem

Proof

Cantor's argument is elegant and remarkably simple. The complete proof is presented below, with detailed explanations to follow.

By definition of cardinality, we have card⁡(X)<card⁡(Y)\operatorname{card}(X) < \operatorname{card}(Y) for any two sets XX and YY if and only if there is an injective function but no bijective function from XX to YY. It suffices to show that there is no surjection from XX to YY. This is the heart of Cantor's theorem: there is no surjective function from any set AA to its power set. To establish this, it is enough to show that no function ff (that maps elements in AA to subsets of AA) can reach every possible subset, i.e., we just need to demonstrate the existence of a subset of AA that is not equal to f(x)f(x) for any x∈Ax \in A. Recalling that each f(x)f(x) is a subset of AA, such a subset is given by the following construction, sometimes called the Cantor diagonal set of ff:

B={x∈A∣x∉f(x)}.B=\{x\in A \mid x\not\in f(x)\}.

This means, by definition, that for all x∈Ax\in A, x∈Bx\in B if and only if x∉f(x)x\notin f(x). For all xx the sets BB and f(x)f(x) cannot be equal because BB was constructed from elements of AA whose images under ff did not include themselves. For all x∈Ax\in A either x∈f(x)x\in f(x) or x∉f(x)x\notin f(x). If x∈f(x)x\in f(x) then f(x)f(x) cannot equal BB because x∈f(x)x\in f(x) by assumption and x∉Bx\notin B by definition. If x∉f(x)x\notin f(x) then f(x)f(x) cannot equal BB because x∉f(x)x\notin f(x) by assumption and x∈Bx\in B by the definition of BB.

Equivalently, and slightly more formally, we have just proved that the existence of ξ∈A\xi \in A such that f(ξ)=Bf(\xi )=B implies the following contradiction:

ξ∈B  ⟺  ξ∉f(ξ)(by definition of B);ξ∈B  ⟺  ξ∈f(ξ)(by assumption that f(ξ)=B).\begin{aligned} \xi\in B &\iff \xi\notin f(\xi) && \text{(by definition of }B\text{)}; \\ \xi \in B &\iff \xi \in f(\xi) && \text{(by assumption that }f(\xi)=B\text{)}. \\ \end{aligned}

Therefore, by reductio ad absurdum, the assumption must be false. Thus there is no ξ∈A\xi \in A such that f(ξ)=Bf(\xi )=B ; in other words, BB is not in the image of ff and ff does not map onto every element of the power set of AA, i.e., ff is not surjective.

Finally, to complete the proof, we need to exhibit an injective function from AA to its power set. Finding such a function is trivial: just map xx to the singleton set {x}\{x\}. The argument is now complete, and we have established the strict inequality for any set AA that card⁡(A)<card⁡(𝒫(A))\operatorname{card}(A) < \operatorname{card}(\mathcal{P}(A)).

Another way to think of the proof is that BB, empty or non-empty, is always in the power set of AA. For ff to be onto, some element of AA must map to BB. But that leads to a contradiction: no element of BB can map to BB because that would contradict the criterion of membership in BB, thus the element mapping to BB must not be an element of BB meaning that it satisfies the criterion for membership in BB, another contradiction. So the assumption that an element of AA maps to BB must be false; and ff cannot be onto.

Because of the double occurrence of xx in the expression "x∈f(x)x\in f(x)", this is a diagonal argument. For a countable (or finite) set, the argument of the proof given above can be illustrated by constructing a table in which

  1. each row is labelled by a unique xx from A={x1,x2,…}A=\{x_1 ,x_2 , \ldots \}, in this order. AA is assumed to admit a linear order so that such table can be constructed.
  2. each column of the table is labelled by a unique yy from the power set of AA; the columns are ordered by the argument to ff, i.e. the column labels are f(x1),f(x2)f(x_1),f(x_2), ..., in this order.
  3. the intersection of each row xx and column yy records a true/false bit whether x∈yx\in y.

Given the order chosen for the row and column labels, the main diagonal DD of this table thus records whether x∈f(x)x\in f(x) for each x∈Ax\in A. One such table will be the following:

f(x1)f(x2)f(x3)f(x4)⋯x1TTFT⋯x2TFFF⋯x3FFTT⋯x4FTTT⋯⋮⋮⋮⋮⋮⋱\begin{array}{cccccc} & f(x_1) & f(x_2) & f(x_3) & f(x_4) & \cdots \\ \hline x_1 & {\color{red} T} & T & F & T & \cdots \\ x_2 & T & {\color{red} F} & F & F & \cdots \\ x_3 & F & F & {\color{red} T} & T & \cdots \\ x_4 & F & T & T & {\color{red} T} & \cdots \\ \vdots & \vdots & \vdots & \vdots & \vdots & \ddots \end{array}

The set BB constructed in the previous paragraphs coincides with the row labels for the subset of entries on this main diagonal DD (which in above example, coloured red) where the table records that x∈f(x)x\in f(x) is false. Each row records the values of the indicator function of the set corresponding to the column. The indicator function of BB coincides with the logically negated (swap "true" and "false") entries of the main diagonal. Thus the indicator function of BB does not agree with any column in at least one entry. Consequently, no column represents BB.

Despite the simplicity of the above proof, it is rather difficult for an automated theorem prover to produce it. The main difficulty lies in an automated discovery of the Cantor diagonal set. Lawrence Paulson noted in 1992 that Otter could not do it, whereas Isabelle could, albeit with a certain amount of direction in terms of tactics that might perhaps be considered cheating.

Where this leads

3 pages build on this one.

Further reading

  1. Wikipedia, page 341442, revision 1356713544, Cantor's theorem, section Proof. adopted
About this page
Tag2WPGB3N4A7
URIm2://2WPGB3N4A7
Kindproof
WritingW0 stub
MSC03E10
ProvesCantor's theorem
Changed4 November 2026

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • edge uses out: each node that the argument needs (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.