[proofplan]
We chain three isometric embeddings: first, the dual-ball construction shows that any normed space $X$ embeds isometrically into $C(K)$ where $K = (B_{X^*}, w^*)$, with the embedding $x \mapsto \hat{x}|_{B_{X^*}}$. When $X$ is separable, $K$ is metrizable and compact, so by the Cantor-set theorem there is a continuous surjection $\varphi : \Delta \to K$. Pulling back along $\varphi$ gives an isometric embedding $\varphi^* : C(K) \to C(\Delta)$ (the dual of a continuous surjection of compact Hausdorff spaces). Finally, the Cantor set $\Delta \subseteq [0,1]$ admits an isometric extension $C(\Delta) \to C([0,1])$ via piecewise-linear interpolation on the gaps. Composing the three embeddings produces the desired isometric embedding $X \hookrightarrow C([0,1])$.
[/proofplan]
[step:Embed $X$ isometrically into $C(K)$ for $K = (B_{X^*}, w^*)$]
Let $X$ be a separable normed space and set $K := (B_{X^*}, w^*)$. By the **Banach-Alaoglu Theorem**, $K$ is compact in the weak* topology. The space $K$ is Hausdorff: $w^*$ is the initial topology generated by the family $\{\hat{x} : x \in X\}$, where $\hat{x}(f) = f(x)$, and this family separates points of $X^*$ (if $f \neq g$ in $X^*$ then $f - g \neq 0$ has positive dual norm $\sup_{\|x\| \leq 1} |(f-g)(x)| > 0$, so some $x \in X$ gives $\hat{x}(f) \neq \hat{x}(g)$). Hence $K$ is a compact Hausdorff space.
For each $x \in X$, define
\begin{align*}
J(x) : K &\to \mathbb{R} \text{ (or } \mathbb{C}\text{)}, \\
f &\mapsto f(x).
\end{align*}
This is the restriction $\hat{x}|_{B_{X^*}}$. Since $\hat{x}$ is $w^*$-continuous on $X^*$ (it is one of the generating functionals of $w^*$), $J(x)$ is continuous on $K$, so $J(x) \in C(K)$. Define
\begin{align*}
J : X &\to C(K), \\
x &\mapsto J(x).
\end{align*}
*Linearity:* for $x_1, x_2 \in X$, $\alpha_1, \alpha_2 \in \mathbb{C}$, and $f \in K$, $J(\alpha_1 x_1 + \alpha_2 x_2)(f) = f(\alpha_1 x_1 + \alpha_2 x_2) = \alpha_1 f(x_1) + \alpha_2 f(x_2) = (\alpha_1 J(x_1) + \alpha_2 J(x_2))(f)$.
*Isometry:* $\|J(x)\|_\infty = \sup_{f \in B_{X^*}} |f(x)| = \|x\|_X$ by the [Hahn-Banach (Normed Space Version)](/theorems/2629), which states the dual norm formula $\|x\| = \sup_{\|f\| \leq 1} |f(x)|$.
So $J$ is an isometric linear embedding $X \hookrightarrow C(K)$.
[/step]
[step:Establish that $K$ is a non-empty compact metric space]
By Step 1, $K$ is compact Hausdorff. We show $K$ is non-empty and metrizable.
*Non-empty:* if $X = \{0\}$, the conclusion of the theorem is vacuous (the zero map is an isometric embedding into any space). Otherwise pick $x_0 \in X$ with $x_0 \neq 0$; by [Hahn-Banach (Normed Space Version)](/theorems/2629) (existence of norming functionals), there is $f \in X^*$ with $\|f\| = 1$ and $f(x_0) = \|x_0\|$, so $f \in B_{X^*} = K$, and $K \neq \varnothing$.
*Metrizable:* By the [Separability and Metrizability of Unit Balls](/theorems/2656) part (i), $X$ separable iff $(B_{X^*}, w^*)$ is metrizable. Hypotheses: $X$ is a normed space (given) and separable (given). Conclusion: $(B_{X^*}, w^*) = K$ is metrizable.
So $K$ is a non-empty compact metric space.
[/step]
[step:Pull back along a Cantor surjection to embed $C(K) \hookrightarrow C(\Delta)$]
Let $\Delta := \{0,1\}^{\mathbb{N}}$ with the product topology. By the **Cantor surjection theorem** (Compact Metric Spaces as Images of the Cantor Set) applied to the non-empty compact metric space $K$ from Step 2, there exists a continuous surjection
\begin{align*}
\varphi : \Delta \to K.
\end{align*}
Define the pullback map
\begin{align*}
\varphi^* : C(K) &\to C(\Delta), \\
g &\mapsto g \circ \varphi.
\end{align*}
*Well-defined:* $g \circ \varphi : \Delta \to \mathbb{C}$ is continuous as the composition of continuous maps.
*Linear:* for $g_1, g_2 \in C(K)$, $\alpha_1, \alpha_2 \in \mathbb{C}$, $\varphi^*(\alpha_1 g_1 + \alpha_2 g_2) = (\alpha_1 g_1 + \alpha_2 g_2) \circ \varphi = \alpha_1 (g_1 \circ \varphi) + \alpha_2 (g_2 \circ \varphi) = \alpha_1 \varphi^*(g_1) + \alpha_2 \varphi^*(g_2)$.
*Isometric:*
\begin{align*}
\|\varphi^*(g)\|_\infty = \sup_{\delta \in \Delta} |g(\varphi(\delta))| = \sup_{k \in \varphi(\Delta)} |g(k)| = \sup_{k \in K} |g(k)| = \|g\|_\infty,
\end{align*}
where the third equality uses surjectivity $\varphi(\Delta) = K$.
So $\varphi^*$ is an isometric linear embedding $C(K) \hookrightarrow C(\Delta)$.
[/step]
[step:Embed $C(\Delta) \hookrightarrow C([0,1])$ by piecewise-linear interpolation]
Identify the Cantor set $\Delta = \{0,1\}^{\mathbb{N}}$ with the standard middle-thirds Cantor set $\Delta_3 \subseteq [0,1]$ via the map
\begin{align*}
\iota : \Delta &\to [0,1], \\
(\varepsilon_n)_{n=1}^\infty &\mapsto \sum_{n=1}^\infty \frac{2 \varepsilon_n}{3^n}.
\end{align*}
This map is well-defined (the series converges since $|2\varepsilon_n/3^n| \leq 2/3^n$ is summable, with sum at most $\sum_n 2/3^n = 1$), continuous (it is the uniform limit of the continuous partial sums on the compact $\Delta$ since the tail $\sum_{n > N} 2 \varepsilon_n/3^n \leq 2 \cdot 3^{-N}/(1 - 1/3)$ is uniform in $\varepsilon$), injective (a different binary sequence gives a different ternary expansion in $\{0, 2\}^{\mathbb{N}}$, and ternary expansions in $\{0, 2\}$ are unique), and its image is the standard Cantor set $\Delta_3$. By the **compact-Hausdorff homeomorphism principle** (a continuous injection from a compact space to a Hausdorff space is a closed embedding), $\iota$ is a homeomorphism onto $\Delta_3$.
We henceforth identify $\Delta$ with $\Delta_3 \subseteq [0,1]$. The complement $[0,1] \setminus \Delta_3$ is a countable disjoint union of open intervals: $[0,1] \setminus \Delta_3 = \bigsqcup_{n=1}^\infty (a_n, b_n)$, where each $(a_n, b_n)$ has endpoints $a_n, b_n \in \Delta_3$ (the standard structure of the Cantor set's complement: at the $k$-th stage of the middle-thirds construction, $2^{k-1}$ open middle-third intervals are removed).
Define the extension map
\begin{align*}
E : C(\Delta_3) &\to C([0,1]), \\
g &\mapsto Eg,
\end{align*}
where $Eg : [0,1] \to \mathbb{C}$ is given by
\begin{align*}
(Eg)(t) := \begin{cases} g(t) & \text{if } t \in \Delta_3, \\ \dfrac{b_n - t}{b_n - a_n} g(a_n) + \dfrac{t - a_n}{b_n - a_n} g(b_n) & \text{if } t \in (a_n, b_n) \text{ for some } n. \end{cases}
\end{align*}
*Continuity of $Eg$:* on each open interval $(a_n, b_n)$, $Eg$ is a linear function, hence continuous. At each endpoint $a_n$ (or $b_n$), $\lim_{t \to a_n^+} (Eg)(t) = g(a_n) = (Eg)(a_n)$, so $Eg$ is right-continuous at $a_n$. Left-continuity at $a_n$: either $a_n$ is the left endpoint of $[0,1]$ (then no left-continuity to check), or $a_n$ is a limit of $\Delta_3$ from the left (since $\Delta_3$ has empty interior, every point of $\Delta_3$ is a limit of $\Delta_3$ — except possibly the endpoints $0, 1$). In the second case, given $\delta > 0$, by continuity of $g$ at $a_n$ there is a $\Delta_3$-neighbourhood $V \subseteq \Delta_3$ of $a_n$ with $|g(s) - g(a_n)| < \delta/2$ for $s \in V$. Pick $\eta > 0$ small enough that $(a_n - \eta, a_n] \cap \Delta_3 \subseteq V$ and $\eta$ is smaller than the lengths of all open intervals $(a_m, b_m)$ adjacent to $a_n$ from the left. (Adjacency is finite at any given scale: only finitely many open intervals of the Cantor complement have length $\geq \eta$, by total length $\sum_n (b_n - a_n) = 1 - \mathcal{L}^1(\Delta_3) = 1$.) For $t \in (a_n - \eta, a_n)$: either $t \in \Delta_3$, so $|(Eg)(t) - (Eg)(a_n)| = |g(t) - g(a_n)| < \delta/2 < \delta$; or $t \in (a_m, b_m)$ for some $m$, in which case $a_m, b_m \in (a_n - \eta, a_n] \cap \Delta_3 \subseteq V$, and $|(Eg)(t) - (Eg)(a_n)| \leq |g(a_m) - g(a_n)| + |g(b_m) - g(a_n)| < \delta$ by linear interpolation $|Eg(t)| \leq \max(|g(a_m)|, |g(b_m)|)$ from each endpoint's value. So $Eg$ is left-continuous at $a_n$.
In summary $Eg \in C([0,1])$.
*Linearity:* $E(\alpha_1 g_1 + \alpha_2 g_2) = \alpha_1 E g_1 + \alpha_2 E g_2$ from the linear formulas in both pieces of the definition.
*Isometric:* on $\Delta_3$, $|(Eg)(t)| = |g(t)| \leq \|g\|_\infty$. On each open interval $(a_n, b_n)$, $|(Eg)(t)|$ is a convex combination of $|g(a_n)|$ and $|g(b_n)|$, both $\leq \|g\|_\infty$, so $|(Eg)(t)| \leq \|g\|_\infty$. Hence $\|Eg\|_\infty \leq \|g\|_\infty$. Conversely, $\|Eg\|_\infty \geq \sup_{t \in \Delta_3} |(Eg)(t)| = \sup_{t \in \Delta_3} |g(t)| = \|g\|_\infty$. So $\|Eg\|_\infty = \|g\|_\infty$.
Therefore $E : C(\Delta_3) \to C([0,1])$ is an isometric linear embedding.
[guided]
The strategy: extend a continuous function on the Cantor set to all of $[0,1]$ by linearly interpolating across the gaps. Each gap is an open interval with both endpoints in $\Delta_3$, where $g$ is defined; linear interpolation between these two values gives a continuous extension across the gap.
The two main verifications are continuity of $Eg$ (especially at the gap endpoints) and the isometry property.
*Continuity at gap endpoints.* At a gap endpoint $a_n$, we need to verify that $Eg$ is continuous, where $Eg$ uses the gap formula on the right and (typically) the function value $g$ on the left, with possibly more gap formulas embedded as we move further left.
The point is that when $t$ is close to $a_n$ on the Cantor side, $t$ is itself close to $a_n$ in $\Delta_3$, so $g(t)$ is close to $g(a_n)$ by continuity of $g$. When $t$ is close to $a_n$ on the gap side (i.e.\ $t \in (a_m, b_m)$ for some left-neighbour gap), $b_m$ is close to $a_n$ (in $\Delta_3$), so $g(b_m)$ is close to $g(a_n)$, and the linear interpolation $(Eg)(t)$ between $g(a_m)$ and $g(b_m)$ is close to $g(a_n)$ — provided $a_m$ is also close to $a_n$.
The geometry of the Cantor set helps: any neighbourhood of $a_n$ in $[0,1]$ contains only finitely many gaps of any fixed positive length, since the total length of gaps is finite ($\mathcal{L}^1(\Delta_3) = 0$ implies $\sum_n (b_n - a_n) = 1$). So for any $\delta > 0$, near $a_n$ all gaps have length less than $\delta$, and hence both endpoints of any nearby gap lie within $\delta$ of $a_n$.
*Isometry.* This is forced by the structure: linear interpolation can only reduce the maximum (by the triangle inequality in pointwise absolute value), so $\|Eg\|_\infty \leq \|g\|_\infty$. The reverse holds because $Eg$ agrees with $g$ on $\Delta_3$, so $\|Eg\|_\infty \geq \|g\|_\infty$.
[/guided]
[/step]
[step:Compose the three isometric embeddings]
Combining Steps 1, 3, 4, we obtain the chain
\begin{align*}
X \xrightarrow{J} C(K) \xrightarrow{\varphi^*} C(\Delta) \xrightarrow{E} C([0,1]).
\end{align*}
The composition $E \circ \varphi^* \circ J : X \to C([0,1])$ is:
- linear (composition of linear maps);
- isometric (composition of isometries: $\|E(\varphi^*(J(x)))\|_\infty = \|\varphi^*(J(x))\|_\infty = \|J(x)\|_\infty = \|x\|_X$).
Hence $E \circ \varphi^* \circ J$ is an isometric linear embedding of $X$ into $C([0,1])$.
[/step]
[step:Conclude]
Steps 1-5 produce an isometric linear embedding of any separable normed space $X$ into $C([0,1])$.
[/step]