[proofplan]
We verify the three properties of barycentric subdivision separately. For the chain map property (1), we use the definition of $\rho^X$ via the cone construction and verify naturality by checking that $f_\# \circ \rho^X = \rho^Y \circ f_\#$ on generators and that $\rho^X$ commutes with the boundary. For the chain homotopy to the identity (2), we construct an explicit chain homotopy $T_n: C_n(X) \to C_{n+1}(X)$ using iterated coning and verify the chain homotopy relation $d \circ T + T \circ d = \operatorname{id} - \rho^X$. For the diameter bound (3), we prove by induction on the number of subdivisions that the maximum diameter of simplices in $(\rho^{\Delta^n})^k(\iota_n)$ is at most $\left(\frac{n}{n+1}\right)^k \operatorname{diam}(\Delta^n)$.
[/proofplan]
[step:Verify that $\rho^X$ commutes with the boundary operator]
Recall the definition of the barycentric subdivision operator. For a singular $n$-simplex $\sigma: \Delta^n \to X$, the subdivision $\rho^X_n(\sigma)$ is defined inductively: $\rho^X_0 = \operatorname{id}$ on $0$-chains, and for $n \geq 1$,
\begin{align*}
\rho^X_n(\sigma) = \sigma_\#\bigl(\rho^{\Delta^n}_n(\iota_n)\bigr),
\end{align*}
where $\iota_n: \Delta^n \to \Delta^n$ is the identity simplex and $\rho^{\Delta^n}_n(\iota_n)$ is defined by the cone formula
\begin{align*}
\rho^{\Delta^n}_n(\iota_n) = b_n * \rho^{\Delta^n}_{n-1}(d_n(\iota_n)),
\end{align*}
with $b_n$ the barycentre of $\Delta^n$ and $*$ denoting the cone operator.
We verify $d_n \circ \rho^X_n = \rho^X_{n-1} \circ d_n$ by induction on $n$. The base case $n = 0$ is immediate since both sides act as the identity on $0$-chains.
For the inductive step, we work on the model simplex $\Delta^n$ with the identity $\iota_n$. The cone formula and the relation $d(b * c) = c - b * d(c)$ (valid for any chain $c$ with $\varepsilon(c) = 0$, where $\varepsilon$ is the augmentation) give
\begin{align*}
d_n\bigl(\rho^{\Delta^n}_n(\iota_n)\bigr) &= d_n\bigl(b_n * \rho^{\Delta^n}_{n-1}(d_n(\iota_n))\bigr) \\
&= \rho^{\Delta^n}_{n-1}(d_n(\iota_n)) - b_n * d_{n-1}\bigl(\rho^{\Delta^n}_{n-1}(d_n(\iota_n))\bigr).
\end{align*}
By the inductive hypothesis, $d_{n-1} \circ \rho^{\Delta^n}_{n-1} = \rho^{\Delta^n}_{n-2} \circ d_{n-1}$, so
\begin{align*}
d_n\bigl(\rho^{\Delta^n}_n(\iota_n)\bigr) = \rho^{\Delta^n}_{n-1}(d_n(\iota_n)) - b_n * \rho^{\Delta^n}_{n-2}(d_{n-1}(d_n(\iota_n))).
\end{align*}
Since $d_{n-1} \circ d_n = 0$ by the [Boundary Squared is Zero](/theorems/2232) theorem, the second term vanishes, and we obtain
\begin{align*}
d_n\bigl(\rho^{\Delta^n}_n(\iota_n)\bigr) = \rho^{\Delta^n}_{n-1}(d_n(\iota_n)).
\end{align*}
For a general singular simplex $\sigma: \Delta^n \to X$, we apply $\sigma_\#$ to both sides and use the naturality $\sigma_\# \circ d = d \circ \sigma_\#$, concluding $d_n(\rho^X_n(\sigma)) = \rho^X_{n-1}(d_n(\sigma))$.
[guided]
The chain map property says that subdividing and then taking the boundary is the same as taking the boundary and then subdividing. The proof uses the inductive definition of $\rho$ via coning.
The cone formula states that for a point $b$ and an $(n-1)$-chain $c$ with $\varepsilon(c) = 0$ (where $\varepsilon: C_0 \to \mathbb{Z}$ is the augmentation), the cone satisfies $d(b * c) = c - b * d(c)$. Why does this hold? The cone $b * c$ is the chain obtained by "filling in" from $b$ to $c$. Its boundary consists of $c$ itself (the "base" of the cone) minus the cone over the boundary of $c$ (the "sides" of the cone). The condition $\varepsilon(c) = 0$ ensures the formula works correctly in degree $0$.
Starting from $\rho^{\Delta^n}_n(\iota_n) = b_n * \rho^{\Delta^n}_{n-1}(d_n(\iota_n))$, we apply $d_n$:
\begin{align*}
d_n\bigl(b_n * \rho^{\Delta^n}_{n-1}(d_n(\iota_n))\bigr) = \rho^{\Delta^n}_{n-1}(d_n(\iota_n)) - b_n * d_{n-1}\bigl(\rho^{\Delta^n}_{n-1}(d_n(\iota_n))\bigr).
\end{align*}
The augmentation condition $\varepsilon(\rho^{\Delta^n}_{n-1}(d_n(\iota_n))) = 0$ is satisfied because $\rho$ preserves augmentation and $\varepsilon(d_n(\iota_n)) = 0$ (the alternating sum of the $n+1$ vertices of $\Delta^n$ has augmentation zero for $n \geq 1$).
By the inductive hypothesis, $d_{n-1} \circ \rho_{n-1} = \rho_{n-2} \circ d_{n-1}$, so the second term becomes $b_n * \rho_{n-2}(d_{n-1}(d_n(\iota_n)))$. Since $d_{n-1} \circ d_n = 0$, this vanishes entirely. The result is $d_n(\rho_n(\iota_n)) = \rho_{n-1}(d_n(\iota_n))$.
To pass from the model simplex to a general $\sigma: \Delta^n \to X$, observe that $\rho^X_n(\sigma) = \sigma_\#(\rho^{\Delta^n}_n(\iota_n))$, and the pushforward $\sigma_\#$ commutes with $d$ by functoriality:
\begin{align*}
d(\rho^X(\sigma)) = d(\sigma_\#(\rho(\iota_n))) = \sigma_\#(d(\rho(\iota_n))) = \sigma_\#(\rho(d(\iota_n))) = \rho^X(d(\sigma)).
\end{align*}
[/guided]
[/step]
[step:Verify naturality: $f_\# \circ \rho^X = \rho^Y \circ f_\#$ for any continuous $f: X \to Y$]
For any singular $n$-simplex $\sigma: \Delta^n \to X$, we compute both sides on $\sigma$. On the left:
\begin{align*}
f_\#(\rho^X_n(\sigma)) = f_\#(\sigma_\#(\rho^{\Delta^n}_n(\iota_n))) = (f \circ \sigma)_\#(\rho^{\Delta^n}_n(\iota_n)),
\end{align*}
using the functoriality $(f \circ \sigma)_\# = f_\# \circ \sigma_\#$. On the right:
\begin{align*}
\rho^Y_n(f_\#(\sigma)) = \rho^Y_n(f \circ \sigma) = (f \circ \sigma)_\#(\rho^{\Delta^n}_n(\iota_n)),
\end{align*}
by the definition of $\rho^Y$ applied to the singular simplex $f \circ \sigma: \Delta^n \to Y$. The two expressions are identical, so $f_\# \circ \rho^X = \rho^Y \circ f_\#$.
[/step]
[step:Construct a chain homotopy $T$ between $\rho^X$ and $\operatorname{id}_{C_\bullet(X)}$]
We construct homomorphisms $T_n: C_n(X) \to C_{n+1}(X)$ satisfying
\begin{align*}
d_{n+1} \circ T_n + T_{n-1} \circ d_n = \operatorname{id}_{C_n(X)} - \rho^X_n.
\end{align*}
Define $T_n$ on a singular simplex $\sigma: \Delta^n \to X$ by
\begin{align*}
T_n(\sigma) = \sigma_\#(T_n^{\Delta^n}(\iota_n)),
\end{align*}
where $T_n^{\Delta^n}(\iota_n)$ is defined inductively: $T_0 = 0$ on $0$-chains, and for $n \geq 1$,
\begin{align*}
T_n^{\Delta^n}(\iota_n) = b_n * \bigl(\iota_n - \rho^{\Delta^n}_n(\iota_n) - T_{n-1}^{\Delta^n}(d_n(\iota_n))\bigr).
\end{align*}
This is the "acyclic models" construction: on the model simplex $\Delta^n$, which is contractible and hence acyclic, the chain $\iota_n - \rho_n(\iota_n) - T_{n-1}(d_n(\iota_n))$ is a cycle (by induction), and the cone from $b_n$ provides a filling.
We verify the chain homotopy relation. On the model simplex:
\begin{align*}
d(T_n(\iota_n)) &= d\Bigl(b_n * \bigl(\iota_n - \rho_n(\iota_n) - T_{n-1}(d_n(\iota_n))\bigr)\Bigr) \\
&= \iota_n - \rho_n(\iota_n) - T_{n-1}(d_n(\iota_n)) - b_n * d\bigl(\iota_n - \rho_n(\iota_n) - T_{n-1}(d_n(\iota_n))\bigr).
\end{align*}
By the inductive hypothesis, $d \circ T_{n-1} + T_{n-2} \circ d = \operatorname{id} - \rho_{n-1}$ on $(n-1)$-chains, and using the chain map property $d \circ \rho_n = \rho_{n-1} \circ d$, the argument of the cone in the second term vanishes. Therefore
\begin{align*}
d(T_n(\iota_n)) + T_{n-1}(d_n(\iota_n)) = \iota_n - \rho_n(\iota_n).
\end{align*}
For a general $\sigma$, we apply $\sigma_\#$ and use its commutativity with $d$ and the naturality of $T$ (which follows from the same argument as naturality of $\rho$).
[guided]
The chain homotopy $T$ is constructed by the method of acyclic models. The idea is that on the model simplex $\Delta^n$, which is contractible, every cycle is a boundary. We define $T$ on $\Delta^n$ by solving the chain homotopy equation using the cone operator, then extend to arbitrary spaces via pushforward.
Why does the inductive construction work? At each stage, we need $\iota_n - \rho_n(\iota_n) - T_{n-1}(d(\iota_n))$ to be a cycle so that we can fill it. Computing its boundary using the inductive hypothesis $d \circ T_{n-1} + T_{n-2} \circ d = \operatorname{id} - \rho_{n-1}$:
\begin{align*}
d(\iota_n - \rho_n(\iota_n) - T_{n-1}(d(\iota_n))) &= d(\iota_n) - d(\rho_n(\iota_n)) - d(T_{n-1}(d(\iota_n))) \\
&= d(\iota_n) - \rho_{n-1}(d(\iota_n)) - \bigl[d(\iota_n) - \rho_{n-1}(d(\iota_n)) - T_{n-2}(d(d(\iota_n)))\bigr] \\
&= T_{n-2}(d_{n-1}(d_n(\iota_n))) = 0,
\end{align*}
where the last equality uses $d \circ d = 0$. So the chain we need to fill is indeed a cycle, and the cone from $b_n$ provides the required $(n+1)$-chain.
Once $T$ is defined on model simplices, the extension to general simplices $\sigma: \Delta^n \to X$ via $T_n(\sigma) = \sigma_\#(T_n(\iota_n))$ is natural by the same functoriality argument used for $\rho$. The chain homotopy relation on $X$ follows from the relation on $\Delta^n$ by pushing forward.
[/guided]
[/step]
[step:Prove the diameter bound $\left(\frac{n}{n+1}\right)^k \operatorname{diam}(\Delta^n)$ for iterated subdivision]
We first establish the base case $k = 1$: each simplex appearing in $\rho^{\Delta^n}(\iota_n)$ has diameter at most $\frac{n}{n+1} \operatorname{diam}(\Delta^n)$.
[claim:Each simplex in the barycentric subdivision has diameter at most $\frac{n}{n+1}$ times the original]
Let $\tau$ be an $n$-simplex in the barycentric subdivision of $\Delta^n$. The vertices of $\tau$ are barycentres $b_{F_0}, b_{F_1}, \ldots, b_{F_n}$ of a chain of faces $F_0 \subset F_1 \subset \cdots \subset F_n$ of $\Delta^n$, where $\dim(F_i) = i$. The diameter of $\tau$ is
\begin{align*}
\operatorname{diam}(\tau) = \max_{0 \le i < j \le n} |b_{F_j} - b_{F_i}|.
\end{align*}
Since $F_i \subset F_j$ and $b_{F_i} \in F_i \subset F_j$, we have $|b_{F_j} - b_{F_i}| \le \operatorname{diam}(F_j) \le \operatorname{diam}(\Delta^n)$. We sharpen this: the barycentre $b_{F_j}$ of a face $F_j$ with vertices $v_0, \ldots, v_j$ is $b_{F_j} = \frac{1}{j+1}(v_0 + \cdots + v_j)$. For any vertex $v_\ell$ of $F_j$,
\begin{align*}
|b_{F_j} - v_\ell| = \left|\frac{1}{j+1} \sum_{m=0}^{j} (v_m - v_\ell)\right| \le \frac{1}{j+1} \sum_{m \neq \ell} |v_m - v_\ell| \le \frac{j}{j+1} \operatorname{diam}(F_j).
\end{align*}
Since $b_{F_i}$ is a convex combination of vertices of $F_j$ (as $F_i \subset F_j$), and the distance from a barycentre to any point in a simplex is at most the maximum distance from the barycentre to a vertex, we obtain $|b_{F_j} - b_{F_i}| \le \frac{j}{j+1} \operatorname{diam}(F_j) \le \frac{n}{n+1} \operatorname{diam}(\Delta^n)$.
[/claim]
[proof]
We prove the sharper bound that for any two points $p, q$ in a simplex $\sigma$ of dimension $n$, if $q$ is the barycentre of a face $F$ of $\sigma$ containing the point $p$, then $|p - q| \le \frac{n}{n+1} \operatorname{diam}(\sigma)$.
Let $F$ have vertices $w_0, \ldots, w_m$ with $m \le n$, and write $p = \sum_{i=0}^{m} \alpha_i w_i$ with $\alpha_i \ge 0$ and $\sum \alpha_i = 1$. The barycentre is $q = \frac{1}{m+1} \sum_{i=0}^{m} w_i$. Then
\begin{align*}
|p - q| = \left|\sum_{i=0}^{m} \left(\alpha_i - \frac{1}{m+1}\right) w_i\right|.
\end{align*}
Writing $w_i = w_0 + (w_i - w_0)$ and noting that $\sum (\alpha_i - \frac{1}{m+1}) = 0$, we get
\begin{align*}
|p - q| = \left|\sum_{i=1}^{m} \left(\alpha_i - \frac{1}{m+1}\right)(w_i - w_0)\right| \le \sum_{i=1}^{m} \left|\alpha_i - \frac{1}{m+1}\right| \cdot |w_i - w_0|.
\end{align*}
Since $|w_i - w_0| \le \operatorname{diam}(F) \le \operatorname{diam}(\sigma)$ and $\sum_{i=1}^{m} |\alpha_i - \frac{1}{m+1}| \le \frac{m}{m+1} \le \frac{n}{n+1}$ (the maximum of the total variation $\sum |\alpha_i - \frac{1}{m+1}|$ over the simplex is achieved at a vertex, where it equals $\frac{m}{m+1}$), we conclude $|p - q| \le \frac{n}{n+1} \operatorname{diam}(\sigma)$.
In the barycentric subdivision, any simplex $\tau$ has vertices $b_{F_0}, \ldots, b_{F_n}$ with $F_0 \subset \cdots \subset F_n$. Each pair $(b_{F_i}, b_{F_j})$ with $i < j$ satisfies $b_{F_i} \in F_i \subset F_j$ and $b_{F_j}$ is the barycentre of $F_j$, so $|b_{F_i} - b_{F_j}| \le \frac{n}{n+1} \operatorname{diam}(\Delta^n)$ by the bound above.
[/proof]
The general case follows by induction on $k$. After one application of $\rho$, every simplex in $\rho(\iota_n)$ has diameter at most $\frac{n}{n+1} \operatorname{diam}(\Delta^n)$. After $k$ applications, each simplex in $\rho^k(\iota_n)$ is obtained by subdividing a simplex from $\rho^{k-1}(\iota_n)$, and the subdivision ratio $\frac{n}{n+1}$ applies to each step. Therefore the maximum diameter is at most
\begin{align*}
\left(\frac{n}{n+1}\right)^k \operatorname{diam}(\Delta^n).
\end{align*}
Since $\frac{n}{n+1} < 1$, this tends to $0$ as $k \to \infty$, which is the crucial property used in the proof of excision.
[/step]
[step:Assemble the three conclusions]
Combining the three steps:
1. The operators $\rho^X_n$ commute with $d_n$ and with pushforward $f_\#$, so $\rho^X_\bullet: C_\bullet(X) \to C_\bullet(X)$ is a natural chain map.
2. The chain homotopy $T$ satisfies $d \circ T + T \circ d = \operatorname{id} - \rho^X$, so $\rho^X$ is chain homotopic to the identity. By the theorem that [Chain Homotopic Maps Induce Equal Maps on Homology](/theorems/1923), $\rho^X$ induces the identity on homology: $(\rho^X)_* = \operatorname{id}_{H_n(X)}$ for all $n$.
3. The diameter of each simplex in $(\rho^{\Delta^n})^k(\iota_n)$ is bounded by $\left(\frac{n}{n+1}\right)^k \operatorname{diam}(\Delta^n)$, which tends to $0$ as $k \to \infty$.
[/step]