Showing ${\frak c}:=|\Bbb{R}|=2^{\aleph_0}$ using only the axioms of the reals

I do not know whether this meets your requirements, but:

The Cantor function $f:[0,1]\to[0,1]$ is surjective, continuous, and non-decreasing. This function $f$ has the property that the restriction $f\upharpoonright C$ of $f$ to the Cantor set $C$ is also surjective. I have included a graph showing what the function looks like, which should also make its definition clear. (Image found here.)

enter image description here

For a good survey of the Cantor function and its properties, see

O. Dovgoshey, O. Martio, V. Ryazanov, and M. Vuorinen. The Cantor function, Expo. Math. 24 (1), (2006), 1–37. MR2195181 (2006k:26005).

We can define an injection $g:(0,1)\to C$ by letting $g(x)$ be the first $t\in C$ with $f(t)=x$ (using that $C$ is closed). Since $|C|=2^{\aleph_0}$, we have a proof that $\mathfrak c\le 2^{\aleph_0}$, at least if we accept that $\mathbb R$ and $(0,1)$ have the same size. If we need to argue about this, there are even continuous bijections (such as some appropriate translation/dilation of arc-tangent).


When I first thought of this problem, it seemed that there would not be a solution, since the supremum axiom only seems to prescribe the existence of new elements, without restricting the set from having extra elements ("nonstandard" reals). But it turns out that it does, and in fact the surreal numbers ($\sf No$) are a prime example of this — the surreals do not satisfy the supremum axiom, even though $\Bbb{R}\subseteq\sf No$. Recalling the supremum axiom (taken from the link in the original post):

$$A\subseteq\Bbb{R}\wedge A\ne\emptyset\wedge\exists x\in\Bbb{R}\,\operatorname{ub}_A(x)\to\exists x\in\Bbb{R}\,\left(\operatorname{ub}_A(x)\wedge\forall y<x \ \neg\operatorname{ub}_A(y)\right),$$

where $\operatorname{ub}_A(x)$ abbreviates $\forall z\in A\,x\ge z$. In english, this says that if a nonempty set $A$ of reals has an upper bound, then the set of all upper bounds has a minimum (a least upper bound), also in $\Bbb{R}$.

The place where the surreals go wrong in the set $A=\{2^{-n}\mid n\in\Bbb{N}\}$ (looking at the infimum now for convenience) is that although $0$ is a surreal number, it is no longer the greatest lower bound of $A$ because a whole bunch of new numbers were stuffed between the positive reals and $0$, and now the situation looks more like $$0<\epsilon<2\epsilon<\cdots<\frac18<\frac14<\frac12<1$$ and so there is no greatest lower bound at all. (In fact, the surreals don't have least upper bounds for any sets at all except ones with a maximum element.)


Returning to the proof: We will show that to each $x\in\Bbb{R}$ we can find a distinct sequence of rational numbers that converges to it, thus showing that $|\Bbb{R}|\le|\Bbb{Q^N}|=2^{\aleph_0}$. We will need the following lemma:

Lemma A (the Archimedean property): For any $x\in\Bbb{R}$, there is an $n\in\Bbb{N}$ such that $n>x$. Proof: (Note that this is another property that the surreal numbers don't have.) If there was an $x\in\Bbb{R}$ such that $\forall n\in\Bbb{N},x\ge n$, then $x$ would be an upper bound on $\Bbb{N}$, so there must exist a least upper bound $y$. Then $y-1$ would not be an upper bound, so there is an $n\in\Bbb{N}$ with $n>y-1\to n+1>y$, a contradiction.

Define a sequence $(x_n)_{n\in\Bbb{N}^*}$ such that $x_n=\lceil nx-1\rceil/n$ is the greatest rational number with denominator $n$ that is strictly less than $x$. This is well-defined by lemma A. Then $a_1+1$ is an upper bound for $\{x_n|n\in\Bbb{N}^*\}$, so there is a least upper bound $y$. If $y<x$, then there is some $n\in\Bbb{N}$ such that $\frac1n<x-y$ by lemma A, so $x_n+\frac1n\le y+\frac1n<x$, a contradiction. If $y>x$, then since $y$ is l.u.b., $x$ is not an upper bound, so there is some $x_n>x$, a contradiction. Thus $y=x$ and so the least upper bound of $(x_n)_{n\in\Bbb{N}^*}$ is $x$. This is important because if $(x_n)_{n\in\Bbb{N}^*}=(y_n)_{n\in\Bbb{N}^*}$, then they must have the same least upper bound, so $x=y$ and thus the function $f:\Bbb{R}\to\Bbb{Q^{N^*}}$ defined by $f(x)=(x_n)_{n\in\Bbb{N}^*}$ is injective and ${\frak c}\le2^{\aleph_0}$. (The other inequality is argued in the original question.)

Edit: I don't like accepting my own answer, but this is the method I used in my formal proof, and it worked out pretty well. You can browse the result on Metamath. (The proof of ${\frak c}\ge 2^{\aleph_0}$ turned out to be the harder one, mainly because of all the algebra and convergence results needed to prove the map was well-defined and injective.)