[proofplan]
We prove the contrapositive obstruction to countability by applying Cantor's diagonal argument to the interval $(0,1)$. Assuming $(0,1)$ has an enumeration, we choose one decimal expansion for each listed [real number](/page/Real%20Numbers) and then build a new real number whose $n$-th decimal digit disagrees with the $n$-th digit of the $n$-th listed number. The construction uses only the digits $1$ and $2$, which prevents decimal-expansion ambiguity and lets the digit disagreement imply genuine numerical inequality. This produces an element of $(0,1)$ missing from the proposed enumeration, contradicting countability.
[/proofplan]
[step:Reduce uncountability of $\mathbb{R}$ to uncountability of $(0,1)$]
Suppose, toward a contradiction, that $\mathbb{R}$ is countable. Since $(0,1) \subseteq \mathbb{R}$, the inclusion [map](/page/Function)
\begin{align*}
\iota: (0,1) &\to \mathbb{R} \\
x &\mapsto x
\end{align*}
is injective. Therefore $(0,1)$ would be countable by the standard result that every subset of a [countable set](/page/Countable%20Set) is countable, equivalently by the [Subsets of Natural Numbers are Countable](/theorems/752) argument after composing with an enumeration of $\mathbb{R}$. It is enough to contradict this conclusion. Hence assume that there is a surjective map
\begin{align*}
a: \mathbb{N} &\to (0,1) \\
n &\mapsto r_n.
\end{align*}
[guided]
We begin by reducing the theorem to the interval $(0,1)$. Suppose, toward a contradiction, that $\mathbb{R}$ is countable. The inclusion
\begin{align*}
\iota: (0,1) &\to \mathbb{R} \\
x &\mapsto x
\end{align*}
is an injective map because distinct real numbers in $(0,1)$ remain distinct as real numbers. A subset of a countable set is countable; in Androma this is the same counting principle used in [Subsets of Natural Numbers are Countable](/theorems/752), applied after identifying a countable set with the image of an enumeration. Therefore, if $\mathbb{R}$ were countable, then its subset $(0,1)$ would also be countable.
Thus it suffices to prove that $(0,1)$ is not countable. We assume the opposite: there exists a surjective map
\begin{align*}
a: \mathbb{N} &\to (0,1) \\
n &\mapsto r_n.
\end{align*}
Surjectivity means that every real number in $(0,1)$ appears somewhere in the list $r_1,r_2,r_3,\dots$. The rest of the proof constructs an element of $(0,1)$ that is not equal to any $r_n$, contradicting this surjectivity.
[/guided]
[/step]
[step:Assign decimal digits to every listed real number]
For each $n \in \mathbb{N}$, choose a decimal expansion of $r_n$. Equivalently, define a digit function
\begin{align*}
d: \mathbb{N} \times \mathbb{N} &\to \{0,1,2,3,4,5,6,7,8,9\} \\
(n,k) &\mapsto d_{nk}
\end{align*}
such that, for every $n \in \mathbb{N}$,
\begin{align*}
r_n = \sum_{k=1}^{\infty} d_{nk}10^{-k}.
\end{align*}
In decimal notation, this says $r_n = 0.d_{n1}d_{n2}d_{n3}\cdots$.
[/step]
[step:Build a real number by changing the diagonal digits]
Define the anti-diagonal digit function
\begin{align*}
e: \mathbb{N} &\to \{1,2\} \\
n &\mapsto
\begin{cases}
1, & \text{if } d_{nn} \ne 1, \\
2, & \text{if } d_{nn} = 1.
\end{cases}
\end{align*}
Now define
\begin{align*}
r := \sum_{n=1}^{\infty} e_n10^{-n}.
\end{align*}
Since $1 \le e_n \le 2$ for every $n \in \mathbb{N}$, comparison with the [geometric series](/page/Series) gives
\begin{align*}
0 < r \le \sum_{n=1}^{\infty} 2 \cdot 10^{-n}
= 2\sum_{n=1}^{\infty}10^{-n}
= 2 \cdot \frac{1/10}{1-1/10}
= \frac{2}{9}
< 1.
\end{align*}
Thus $r \in (0,1)$. Also, by construction, $e_n \ne d_{nn}$ for every $n \in \mathbb{N}$.
[guided]
The goal is to manufacture a number whose decimal expansion disagrees with the list in a controlled way. We define the anti-diagonal digit function
\begin{align*}
e: \mathbb{N} &\to \{1,2\} \\
n &\mapsto
\begin{cases}
1, & \text{if } d_{nn} \ne 1, \\
2, & \text{if } d_{nn} = 1.
\end{cases}
\end{align*}
This definition compares only with the diagonal digit $d_{nn}$, the $n$-th digit of the $n$-th listed number. In both cases, the new digit differs from the diagonal digit: if $d_{nn} \ne 1$, then $e_n = 1 \ne d_{nn}$; if $d_{nn}=1$, then $e_n = 2 \ne d_{nn}$.
Now define the real number
\begin{align*}
r := \sum_{n=1}^{\infty} e_n10^{-n}.
\end{align*}
This is a convergent series because $0 \le e_n10^{-n} \le 2\cdot 10^{-n}$ and the geometric series $\sum_{n=1}^{\infty}10^{-n}$ converges. Moreover,
\begin{align*}
0 < r \le \sum_{n=1}^{\infty} 2 \cdot 10^{-n}
= 2\sum_{n=1}^{\infty}10^{-n}
= 2 \cdot \frac{1/10}{1-1/10}
= \frac{2}{9}
< 1.
\end{align*}
Therefore $r \in (0,1)$. The choice of digits $1$ and $2$ is important: it ensures that the decimal expansion of $r$ is not eventually all $0$ and not eventually all $9$, so the usual decimal ambiguity cannot make $r$ equal to a listed number despite a diagonal digit disagreement.
[/guided]
[/step]
[step:Show the anti-diagonal number differs from every listed number]
Fix $k \in \mathbb{N}$. The number $r_k$ has the chosen decimal expansion
\begin{align*}
r_k = \sum_{n=1}^{\infty} d_{kn}10^{-n},
\end{align*}
while $r$ has the decimal expansion
\begin{align*}
r = \sum_{n=1}^{\infty} e_n10^{-n}.
\end{align*}
At the $k$-th digit, the two expansions disagree because $e_k \ne d_{kk}$. Since the expansion of $r$ uses only the digits $1$ and $2$, it is not eventually all $0$ and not eventually all $9$; hence decimal-expansion ambiguity cannot identify it with a different expansion of the same real number. Therefore $r \ne r_k$. Since $k \in \mathbb{N}$ was arbitrary, $r \ne r_k$ for every $k \in \mathbb{N}$.
[guided]
Fix $k \in \mathbb{N}$. We compare $r$ with the $k$-th number in the alleged enumeration. The chosen decimal expansion of $r_k$ is
\begin{align*}
r_k = \sum_{n=1}^{\infty} d_{kn}10^{-n}.
\end{align*}
The decimal expansion of the constructed number is
\begin{align*}
r = \sum_{n=1}^{\infty} e_n10^{-n}.
\end{align*}
The decisive comparison is at the $k$-th digit. By the definition of $e_k$, we have $e_k \ne d_{kk}$. Thus the $k$-th digit of $r$ differs from the $k$-th digit of $r_k$ in the chosen expansion of $r_k$.
There is one standard issue to address: decimal expansions are not always unique, because a terminating decimal can also be written with an infinite tail of $9$s. Our construction avoids this ambiguity for $r$. Every digit $e_n$ is either $1$ or $2$, so the decimal expansion of $r$ is neither eventually all $0$ nor eventually all $9$. Therefore it is the non-ambiguous decimal expansion of $r$. If $r$ were equal to $r_k$, then a decimal expansion of $r_k$ could represent $r$ only through the standard decimal ambiguity; but that ambiguity requires one of the two expansions to be eventually all $0$ and the other eventually all $9$. The expansion of $r$ has neither behaviour. Hence the digit disagreement at position $k$ forces $r \ne r_k$.
Since the index $k$ was arbitrary, the same argument proves
\begin{align*}
r \ne r_k
\end{align*}
for every $k \in \mathbb{N}$.
[/guided]
[/step]
[step:Contradict the enumeration and conclude $\mathbb{R}$ is uncountable]
We have constructed $r \in (0,1)$ such that $r \ne r_k$ for every $k \in \mathbb{N}$. This contradicts the surjectivity of
\begin{align*}
a: \mathbb{N} &\to (0,1) \\
k &\mapsto r_k.
\end{align*}
Therefore $(0,1)$ is uncountable. If $\mathbb{R}$ were countable, then its subset $(0,1)$ would be countable, contrary to what we have just proved. Hence the [set](/page/Set) $\mathbb{R}$ is uncountable.
[/step]