[proofplan]
We show that the inclusion $\iota: C_\bullet^{\mathcal{U}}(X) \hookrightarrow C_\bullet(X)$ induces an isomorphism on homology by constructing chain maps in the opposite direction using iterated barycentric subdivision. By the [Properties of Barycentric Subdivision](/theorems/2256), the subdivision operator $\rho$ is a chain map that is chain homotopic to the identity, and iterated subdivision shrinks simplex diameters by a factor of $(n/(n+1))^k$. The Lebesgue number lemma guarantees that after sufficiently many iterations, every simplex in a cycle becomes $\mathcal{U}$-small. We construct a chain map $\rho^\infty: C_\bullet(X) \to C_\bullet^{\mathcal{U}}(X)$ by subdividing enough times and show it is a two-sided inverse to $\iota_*$ on homology.
[/proofplan]
[step:Recall the properties of barycentric subdivision]
By the [Properties of Barycentric Subdivision](/theorems/2256), there exist operators $\rho_n: C_n(X) \to C_n(X)$ satisfying:
1. $\rho$ is a natural chain map: $d_n \circ \rho_n = \rho_{n-1} \circ d_n$ and $f_\# \circ \rho_n = \rho_n \circ f_\#$ for any continuous map $f$.
2. $\rho$ is chain homotopic to the identity: there exist homomorphisms $T_n: C_n(X) \to C_{n+1}(X)$ satisfying $d_{n+1} \circ T_n + T_{n-1} \circ d_n = \rho_n - \operatorname{id}_{C_n(X)}$.
3. Diameter control: each simplex appearing in $\rho^k(\sigma)$ (the $k$-fold iterate of $\rho$ applied to an $n$-simplex $\sigma$) has diameter at most $(n/(n+1))^k \cdot \operatorname{diam}(\sigma(\Delta^n))$.
By iterating the chain homotopy, $\rho^k$ is also chain homotopic to the identity for every $k \geq 1$: the chain homotopy between $\rho^k$ and $\operatorname{id}$ is $T^{(k)} = T + T \circ \rho + T \circ \rho^2 + \cdots + T \circ \rho^{k-1}$, which satisfies $d \circ T^{(k)} + T^{(k)} \circ d = \rho^k - \operatorname{id}$.
[/step]
[step:Show that sufficiently many subdivisions make any chain $\mathcal{U}$-small]
Let $\mathcal{U} = \{U_\lambda\}_{\lambda \in \Lambda}$ be an open cover of $X$. For any singular $n$-simplex $\sigma: \Delta^n \to X$, the collection $\{\sigma^{-1}(U_\lambda)\}_{\lambda \in \Lambda}$ is an open cover of the compact metric space $\Delta^n$. By the Lebesgue number lemma, there exists $\delta_\sigma > 0$ such that every subset of $\Delta^n$ of diameter less than $\delta_\sigma$ is contained in $\sigma^{-1}(U_\lambda)$ for some $\lambda$.
By property (3), after $k$ iterations of barycentric subdivision, each simplex in $\rho^k(\sigma)$ is the image of an affine simplex in $\Delta^n$ of diameter at most $(n/(n+1))^k \cdot \operatorname{diam}(\Delta^n)$. Since $(n/(n+1))^k \to 0$ as $k \to \infty$, there exists $k_\sigma \in \mathbb{N}$ such that $(n/(n+1))^{k_\sigma} \cdot \operatorname{diam}(\Delta^n) < \delta_\sigma$. For this $k_\sigma$, every simplex in $\rho^{k_\sigma}(\sigma)$ has image contained in some $U_\lambda$, i.e., $\rho^{k_\sigma}(\sigma) \in C_n^{\mathcal{U}}(X)$.
[guided]
The Lebesgue number lemma is the bridge between the topological open cover condition and the metric diameter condition. It states that for any open cover of a compact metric space, there is a positive number $\delta$ (the Lebesgue number) such that every subset of diameter less than $\delta$ is contained in some member of the cover.
Why do we need compactness? Without it, the Lebesgue number might not exist (think of the cover $\{(-n, n)\}_{n \geq 1}$ of $\mathbb{R}$ — any finite subset has a Lebesgue number, but there is no uniform one). But $\Delta^n$ is compact, so the Lebesgue number exists.
The number of subdivisions needed, $k_\sigma$, depends on the simplex $\sigma$. Different simplices may require different numbers of subdivisions. This is why we cannot simply apply $\rho^k$ for a fixed $k$ to make an entire chain $\mathcal{U}$-small — we need different $k$ values for different simplices in the chain.
[/guided]
[/step]
[step:Construct the subdivision map on cycles and verify it descends to homology]
We now show that $\iota_*: H_n^{\mathcal{U}}(X) \to H_n(X)$ is surjective. Let $[c] \in H_n(X)$ with $c = \sum_{j=1}^m a_j \sigma_j$ a cycle ($d_n(c) = 0$). For each simplex $\sigma_j$, choose $k_j$ as above so that $\rho^{k_j}(\sigma_j) \in C_n^{\mathcal{U}}(X)$. Let $K = \max(k_1, \ldots, k_m)$. Since $\rho$ preserves $\mathcal{U}$-smallness (further subdivision of a $\mathcal{U}$-small simplex remains $\mathcal{U}$-small, by naturality and the fact that faces of simplices in $U_\lambda$ stay in $U_\lambda$), we have $\rho^K(\sigma_j) \in C_n^{\mathcal{U}}(X)$ for all $j$. By linearity, $\rho^K(c) \in C_n^{\mathcal{U}}(X)$.
Since $\rho^K$ is a chain map, $d_n(\rho^K(c)) = \rho^K(d_n(c)) = 0$, so $\rho^K(c)$ is a cycle in $C_n^{\mathcal{U}}(X)$. Since $\rho^K$ is chain homotopic to the identity (via $T^{(K)}$), we have $\rho^K(c) - c = d_{n+1}(T^{(K)}_n(c))$ (using $d_n(c) = 0$). Therefore $[\rho^K(c)] = [c]$ in $H_n(X)$, and $[c] = \iota_*([\rho^K(c)])$. This proves surjectivity of $\iota_*$.
[guided]
The key subtlety is that we take $K = \max(k_1, \ldots, k_m)$ to ensure *all* simplices in $c$ become $\mathcal{U}$-small simultaneously. This works because the chain $c$ is a *finite* linear combination of simplices (singular chains are finite by definition), so the maximum exists.
Why does further subdivision preserve $\mathcal{U}$-smallness? If $\sigma(\Delta^n) \subset U_\lambda$, then every simplex in $\rho(\sigma)$ also has image in $U_\lambda$: the barycentric subdivision only introduces new vertices that are barycenters of faces of $\sigma$, which all lie in $\sigma(\Delta^n) \subset U_\lambda$.
The chain homotopy identity gives $\rho^K(c) - c = d(T^{(K)}(c)) + T^{(K)}(d(c)) = d(T^{(K)}(c))$ since $c$ is a cycle. So $\rho^K(c)$ and $c$ represent the same homology class in $H_n(X)$, but $\rho^K(c)$ lies in the subcomplex $C_n^{\mathcal{U}}(X)$.
[/guided]
[/step]
[step:Prove injectivity of $\iota_*$]
Suppose $c \in C_n^{\mathcal{U}}(X)$ is a cycle with $\iota_*([ c]) = 0$ in $H_n(X)$, meaning $c = d_{n+1}(b)$ for some $b \in C_{n+1}(X)$. We must show $c$ is a boundary in $C_\bullet^{\mathcal{U}}(X)$.
Choose $K$ large enough so that $\rho^K(b) \in C_{n+1}^{\mathcal{U}}(X)$ (possible by the same Lebesgue number argument applied to the finitely many simplices of $b$). Since $\rho^K$ is a chain map:
\begin{align*}
d_{n+1}(\rho^K(b)) = \rho^K(d_{n+1}(b)) = \rho^K(c).
\end{align*}
So $\rho^K(c)$ is a boundary in $C_\bullet^{\mathcal{U}}(X)$. We need to show $c$ itself is a boundary in $C_\bullet^{\mathcal{U}}(X)$.
The chain homotopy gives $\rho^K(c) - c = d_{n+1}(T^{(K)}_n(c)) + T^{(K)}_{n-1}(d_n(c))$. Since $c$ is a cycle, $d_n(c) = 0$, so $\rho^K(c) - c = d_{n+1}(T^{(K)}_n(c))$.
We must verify that $T^{(K)}_n(c) \in C_{n+1}^{\mathcal{U}}(X)$. The chain homotopy $T^{(K)} = T + T \circ \rho + \cdots + T \circ \rho^{K-1}$ applied to a $\mathcal{U}$-small chain $c$ yields a $\mathcal{U}$-small chain: since $c \in C_n^{\mathcal{U}}(X)$, each $\rho^j(c) \in C_n^{\mathcal{U}}(X)$ (subdivision preserves $\mathcal{U}$-smallness), and the chain homotopy $T$ applied to a simplex in $U_\lambda$ produces simplices in $U_\lambda$ (the cone construction used to build $T$ stays within the convex set $U_\lambda$ when applied on the level of model simplices, and naturality transports this to $X$). Therefore $T^{(K)}_n(c) \in C_{n+1}^{\mathcal{U}}(X)$.
Hence $c = \rho^K(c) - d_{n+1}(T^{(K)}_n(c)) = d_{n+1}(\rho^K(b)) - d_{n+1}(T^{(K)}_n(c)) = d_{n+1}(\rho^K(b) - T^{(K)}_n(c))$, and $\rho^K(b) - T^{(K)}_n(c) \in C_{n+1}^{\mathcal{U}}(X)$. So $c$ is a boundary in $C_\bullet^{\mathcal{U}}(X)$, proving injectivity of $\iota_*$.
[guided]
Injectivity requires more care than surjectivity. The challenge is: if $c$ is a $\mathcal{U}$-small cycle that becomes a boundary in the larger complex $C_\bullet(X)$, we need to find a $\mathcal{U}$-small chain bounding it.
The strategy is:
1. The bounding chain $b$ (with $d(b) = c$) may not be $\mathcal{U}$-small. Subdivide it: $\rho^K(b)$ is $\mathcal{U}$-small for large $K$.
2. But $d(\rho^K(b)) = \rho^K(c)$, not $c$. So $\rho^K(b)$ bounds $\rho^K(c)$, not $c$.
3. The difference $\rho^K(c) - c$ is also a boundary: $\rho^K(c) - c = d(T^{(K)}(c))$ since $c$ is a cycle.
4. We need $T^{(K)}(c)$ to be $\mathcal{U}$-small. This is where we use that $c$ *starts out* $\mathcal{U}$-small: the chain homotopy $T$ preserves $\mathcal{U}$-smallness when applied to $\mathcal{U}$-small chains, and $\rho$ also preserves $\mathcal{U}$-smallness.
Combining: $c = d(\rho^K(b) - T^{(K)}(c))$, and both $\rho^K(b)$ and $T^{(K)}(c)$ are $\mathcal{U}$-small. So $c$ is a boundary in $C_\bullet^{\mathcal{U}}(X)$.
[/guided]
[/step]