Cardinality of $\mathbb N^{\mathbb N}$ is equal to $\mathbb R$

cardinalselementary-set-theory

Claim 1: $|\mathbb R| = |(x,y)|$ for all real $x < y$.
By bijection $\arctan$.
Claim 2: There is an injection from $\mathbb N^{\mathbb N}$ to $[0,1)$.
Let $f\colon \mathbb N\to\mathbb N$ and $f_y(x)$ be the $y$-th smallest digit of $f(x)$ where $y\in\mathbb N$.
$f\mapsto \sum_{i=0}\sum_{j=0}^{i}0.1^{(i+1)i/2+j+1}f_j(i)$ is such injection. (Diagnal construction of a decimal by writing a sequence of natural number from least significant digits line by line)
Claim 3: $|[0,1)| = |\mathbb R|$.
$|\mathbb R|=|(0,0.5)|\leq|[0,1)|\leq|(0,2)|=|\mathbb R|$.
Claim 4: There is an injection from $(0,1)$ to $\{0,\ldots,9\}^{\mathbb N}$ and hence to $\mathbb N^{\mathbb N}$.
$r\mapsto (x\mapsto \text{integer part of } 10^x\times r)$ is such injection.
By Claim 1 to 4 and Cantor–Schröder–Bernstein theorem,
$|\mathbb N^{\mathbb N}|=|\mathbb R|$

Does this proof sketch make sense if we define $\mathbb R$ by Dedekind cut?
Are those injections injective?
How do I deal with multiple representations of the same real number by decimals
which I believe there are at most two?
I believe I used something like the axiom of choice in Claim 4 to pick one such representation such as $0.1=0.0999\ldots$?
Please pick bugs in the reasoning process above and give references (links) to other
neat proofs of the equation if you have seen or known any. I believe this is a trivial question that appears in many elementary set theory textbooks.

Best Answer

Once you showed that $\mathbb R$ is complete, then the precise definition (through Dedekind cuts, Cauchy sequences or others) does not really matter. You can define $\arctan$, do some calculus and prove claim 1; you can prove that the series in claim $2$ converges; etc. So the proof makes sense regardless of your construction/definition of $\mathbb R$.

In claim $4$ you are not using the axiom of choice. You are defining $f: [0,1)\to \{0,1\ldots, 9\}^{\mathbb N}$ by : $$\forall x\in [0,1)\forall n\in \mathbb N, f(x)(n) = \left\lfloor 10^n x\right\rfloor$$ This formula defines $f$ without any caveat, and you have: $$f(0.0999\ldots) = f(0.1) = (1,0,0,0,\ldots)$$