[step:Build a binary tree of non-empty closed subsets of $K$ with diameters shrinking along every branch]Let $\{0,1\}^* := \bigcup_{n=0}^\infty \{0,1\}^n$ denote the set of finite binary strings, including the empty string $\varnothing \in \{0,1\}^0$. For $s \in \{0,1\}^n$, write $|s| := n$, and for $i \in \{0,1\}$, write $si \in \{0,1\}^{n+1}$ for the concatenation. For $\varepsilon \in \Delta$ and $n \ge 0$, write $\varepsilon|_n := (\varepsilon_1, \ldots, \varepsilon_n) \in \{0,1\}^n$ for the truncation; for $n = 0$, $\varepsilon|_0 = \varnothing$.
We construct, by induction on $n$, a family $(A_s)_{s \in \{0,1\}^*}$ of non-empty closed subsets of $K$ satisfying:
(P1) $A_\varnothing = K$.
(P2) $A_s = A_{s0} \cup A_{s1}$ for every $s \in \{0,1\}^*$ (so $A_{si} \subseteq A_s$ for $i \in \{0,1\}$).
(P3) For every $\varepsilon \in \Delta$, $\operatorname{diam}(A_{\varepsilon|_n}) \to 0$ as $n \to \infty$.
The construction proceeds in **blocks**. We define a strictly increasing sequence of "block depths" $0 = n_0 < n_1 < n_2 < \cdots$ along each branch, such that at each block depth $n_k$ a fresh application of total boundedness is performed and the resulting cover is distributed across a finite-depth binary subtree. Between block depths, the tree merely encodes which leaf of the current padding subtree we are heading toward.
*Notation for the construction.* Since $K$ is a compact metric space, by the [Equivalence of Compactness and Total Boundedness with Completeness in Metric Spaces](/theorems/???), $K$ is totally bounded; subsets of totally bounded spaces are totally bounded; hence every non-empty closed (and so compact) subset $A \subseteq K$ admits, for every $r > 0$, a finite cover $A \subseteq \bigcup_{j=1}^N \overline{B}(y_j, r)$ with $y_j \in A$.
*Block construction.* Suppose, by recursion on $k \ge 0$, that we have defined $A_t$ for all $t \in \{0,1\}^{n_k}$ as non-empty closed subsets of $K$, with $\operatorname{diam}(A_t) \le 2^{-n_k}$ for every $t \in \{0,1\}^{n_k}$ (with the convention that the bound $2^{-0} = 1$ at $k = 0$ is vacuous). For the base $k = 0$: set $n_0 := 0$ and $A_\varnothing := K$. (No diameter bound is required.)
Fix $t \in \{0,1\}^{n_k}$. Apply total boundedness to $A_t$ at radius $r := 2^{-(n_k + 2)}$: there exist $y_1^{(t)}, \ldots, y_{N_t}^{(t)} \in A_t$ with
\begin{align*}
A_t = \bigcup_{j=1}^{N_t} D_j^{(t)}, \qquad D_j^{(t)} := A_t \cap \overline{B}(y_j^{(t)}, 2^{-(n_k + 2)}).
\end{align*}
Each $D_j^{(t)}$ is closed in $K$ (intersection of closed sets); each is non-empty since $y_j^{(t)} \in D_j^{(t)}$; the union covers $A_t$ since the open balls $B(y_j^{(t)}, 2^{-(n_k + 2)})$ cover $A_t$ and $B(y_j^{(t)}, r) \subseteq \overline{B}(y_j^{(t)}, r)$. Each piece has
\begin{align*}
\operatorname{diam}(D_j^{(t)}) \le \operatorname{diam}(\overline{B}(y_j^{(t)}, 2^{-(n_k + 2)})) \le 2 \cdot 2^{-(n_k + 2)} = 2^{-(n_k + 1)}.
\end{align*}
Now choose any integer $\kappa_t \ge 1$ with $2^{\kappa_t} \ge N_t$ (concretely, $\kappa_t := \max(1, \lceil \log_2 N_t \rceil)$; the lower bound $\kappa_t \ge 1$ ensures strict block-depth increase even when $N_t = 1$). Pad the cover to length $2^{\kappa_t}$ by repetition: for $1 \le j \le N_t$, set $\tilde{D}_j^{(t)} := D_j^{(t)}$, and for $N_t < j \le 2^{\kappa_t}$, set $\tilde{D}_j^{(t)} := D_1^{(t)}$. Then $A_t = \bigcup_{j=1}^{2^{\kappa_t}} \tilde{D}_j^{(t)}$ still holds, each $\tilde{D}_j^{(t)}$ is non-empty closed with $\operatorname{diam}(\tilde{D}_j^{(t)}) \le 2^{-(n_k + 1)}$.
Index the $2^{\kappa_t}$ leaves of a depth-$\kappa_t$ binary subtree rooted at $t$ by $\{0,1\}^{\kappa_t}$. For each $u = (u_1, \ldots, u_{\kappa_t}) \in \{0,1\}^{\kappa_t}$, set
\begin{align*}
A_{tu} := \tilde{D}_{1 + \mathrm{bin}(u)}^{(t)},
\end{align*}
where $\mathrm{bin}(u) := \sum_{i=1}^{\kappa_t} u_i\, 2^{\kappa_t - i} \in \{0, 1, \ldots, 2^{\kappa_t} - 1\}$ is the integer encoded in binary by $u$ (most significant bit first).
For internal nodes of the subtree, that is, for $u \in \{0,1\}^\ell$ with $0 < \ell < \kappa_t$, define
\begin{align*}
A_{tu} := A_{tu0} \cup A_{tu1}.
\end{align*}
By induction on $\ell$ from $\ell = \kappa_t - 1$ down to $\ell = 1$, each $A_{tu}$ is a non-empty finite union of closed sets, hence non-empty and closed. Moreover, by induction
\begin{align*}
A_{tu} = \bigcup_{v \in \{0,1\}^{\kappa_t - \ell}} A_{tuv} = \bigcup_{v \in \{0,1\}^{\kappa_t - \ell}} \tilde{D}_{1 + \mathrm{bin}(uv)}^{(t)}.
\end{align*}
At $\ell = 0$ this gives $A_t = \bigcup_{j=1}^{2^{\kappa_t}} \tilde{D}_j^{(t)}$, consistent with the cover we started from. The decomposition (P2) holds at every node of the padding subtree by construction.
Define the next block depth $n_{k+1} := n_k + \kappa_t$. (Note: $\kappa_t$ depends on $t$, hence so does $n_{k+1}$; the block depths form a sequence indexed by branches, not a single sequence. We address this below.) The leaves $A_{tu}$ for $u \in \{0,1\}^{\kappa_t}$ have diameter $\le 2^{-(n_k + 1)} \le 2^{-n_{k+1}}$ (since $\kappa_t \ge 1$). This completes the construction of the block of depth $\kappa_t$ rooted at $t$, and the inductive hypothesis is preserved at each leaf of this subtree.
*Branch-dependent block depths.* For each $\varepsilon \in \Delta$, the block depths $0 = n_0(\varepsilon) < n_1(\varepsilon) < n_2(\varepsilon) < \cdots$ are determined by the construction: $n_{k+1}(\varepsilon) = n_k(\varepsilon) + \kappa_{\varepsilon|_{n_k(\varepsilon)}}$. Since each $\kappa_t \ge 1$, this is a strictly increasing sequence of non-negative integers, hence $n_k(\varepsilon) \to \infty$ as $k \to \infty$ (every strictly increasing sequence of integers is unbounded).
This completes the recursive construction of $(A_s)_{s \in \{0,1\}^*}$. Properties (P1) and (P2) are immediate from the construction. We verify (P3) as a separate claim.
[claim:Diameters shrink along every infinite branch]
For every $\varepsilon \in \Delta$, $\operatorname{diam}(A_{\varepsilon|_n}) \to 0$ as $n \to \infty$.
[/claim]
[proof]
Fix $\varepsilon \in \Delta$. Let $0 = n_0 < n_1 < n_2 < \cdots$ be the block depths along $\varepsilon$ (so $n_k = n_k(\varepsilon)$). For each $k \ge 0$, $A_{\varepsilon|_{n_{k+1}}}$ is a leaf of the padding subtree rooted at $\varepsilon|_{n_k}$, and we showed
\begin{align*}
\operatorname{diam}(A_{\varepsilon|_{n_{k+1}}}) \le 2^{-(n_k + 1)}.
\end{align*}
By (P2), $A_{\varepsilon|_{n+1}} \subseteq A_{\varepsilon|_n}$ for every $n \ge 0$, so $\operatorname{diam}(A_{\varepsilon|_n})$ is non-increasing in $n$. Given $\delta > 0$, choose $K$ with $2^{-(n_K + 1)} < \delta$ (possible since $n_K \to \infty$). For all $n \ge n_{K+1}$, monotonicity gives
\begin{align*}
\operatorname{diam}(A_{\varepsilon|_n}) \le \operatorname{diam}(A_{\varepsilon|_{n_{K+1}}}) \le 2^{-(n_K + 1)} < \delta.
\end{align*}
Hence $\operatorname{diam}(A_{\varepsilon|_n}) \to 0$.
[/proof]
For each $s \in \{0,1\}^*$, choose a point $x_s \in A_s$. The index set $\{0,1\}^*$ is countable and each $A_s$ is non-empty, so this selection exists by the [Axiom of Countable Choice](/theorems/???); the choices are independent across the countable index set, so dependent choice is not needed.[/step]