Solution (source code)

= Solution

Use the <order completeness> of $\mathbb R$ to define
$$
\boxed{\widetilde\varphi(x)=\sup\{\varphi(d):d\in D, d<x\}.}
$$
The set in this <supremum> is nonempty and bounded above: choose $d_0,d_1\in D$ with $d_0<x<d_1$, using that $D$ is an <order-dense subset>. For $x\in D$, all its displayed values lie below $\varphi(x)$. If $y<\varphi(x)$, choose $e\in D$ with $y<e<\varphi(x)$; then $d=\varphi^{-1}(e)<x$. Thus the <supremum> equals $\varphi(x)$.

The extension is strictly increasing. If $x<y$, choose $d,e\in D$ with $x<d<e<y$; then
$$
\widetilde\varphi(x)\leq\varphi(d)<\varphi(e)\leq\widetilde\varphi(y).
$$
Apply the same construction to $\varphi^{-1}$, obtaining $\psi$. For $d<x$, choose $e\in D$ with $d<e<x$; this gives $\varphi(d)<\widetilde\varphi(x)$. For $d>x$, a point of $D$ between $x$ and $d$ similarly gives $\varphi(d)>\widetilde\varphi(x)$. Hence
$$
\{e\in D:e<\widetilde\varphi(x)\}
=\{\varphi(d):d\in D, d<x\}.
$$
Taking inverse images and a <supremum> shows $\psi(\widetilde\varphi(x))=x$. The symmetric argument gives $\widetilde\varphi(\psi(y))=y$, so the extension is an <order automorphism>.

For uniqueness, any increasing extension $h$ has the same strict lower cut in $D$ at its value $h(x)$. Two distinct real numbers have different cuts in an <order-dense subset>, so $h(x)=\widetilde\varphi(x)$. \b[The extension exists and is unique.]