$f_*$ induces an isomorphism in homology iff the mapping cone of $f_*$ is contractible.

It's probably far easier (and instructive) to prove the fact directly. (Moreover it's possible for a chain complex to have vanishing homology but not be contractible, consider the chain complex $$\dots \to 0 \to \mathbb{Z} \xrightarrow{2 \cdot} \mathbb{Z} \to \mathbb{Z}/2\mathbb{Z} \to 0$$ but the correct statement is indeed that $f_*$ is an isomorphism in homology iff the mapping cone has vanishing homology groups).

Recall that the mapping cone $Z_*$ is given by $Z_n = D_n \oplus C_{n-1}$ and $$d_Z(y,x) = (d_D(y) + f(x), -d_C(x)).$$


$(\implies)$ Suppose that $f_*$ is an isomorphism in homology. Let $[z] \in H_n(Z)$ be some homology class, represented by a cycle $z \in Z_n$. We want to show that $[z] = 0$, i.e. that $z$ is a boundary.

Write $z = (y,x) \in D_n \oplus X_{n-1}$. We know that $z$ is a cycle, i.e. $$d_Z(z) = 0 = (d(y) + f(x), -d(x)) \implies d(x) = 0 \text{ and } f(x) = d(-y).$$ Thus $x \in X_{n-1}$ is a cycle, and so we can consider $[x] \in H_{n-1}(C)$. But $f(x) = d(-y)$ means that $f(x)$ is a boundary, i.e. $f_*[x] = 0$. Since $f_*$ is an isomorphism, hence injective, and $[x] = 0$ too. So $x = d(x')$ is a boundary for some $x' \in C_n$ (Fact 1).

But now $0 = d(y) + f(x) = d(y) + f(d(x')) = d(y + f(x'))$, and so $y + f(x') \in D_n$ is a cycle, $[y + f(x')] \in H_n(D)$. But $f_*$ is an isomorphism, hence surjective, and thus $[y+f(x')] = f_*[x'']$ for some cycle $x'' \in C_n$, hence $y = f(x''-x')$ (Fact 2).

Combining the two facts, we get: $$d(0,x''-x') = (f(x''-x'), -d(x''-x') = (y,x) = z$$ as we wanted.


$(\impliedby)$ Now suppose that all the homology groups of the mapping cone vanish, i.e. $H_*(Z) = 0$. We want to show that $f_*$ is an isomorphism in homology.

  • $f_*$ is injective: Let $[x] \in H_n(C)$ be such that $f_*[x] = 0$, i.e. $dx = 0$ and $f(x) = dy$ for some $y \in D_{n+1}$. We want to show $[x] = 0$. But then $(y,-x) \in Z_{n+1}$ is a cycle: $d(y,-x) = (dy - f(x), -dx) = 0$. Since $H_{n+1}(Z) = 0$, it follows that $(y,-x)$ is a boundary, $(y,-x) = d(y',x') = (dy' + f(x'), -dx')$. In particular $x = dx'$ is a boundary, hence $[x] = 0$ as we wanted.

  • $f_*$ is surjective: let $[y] \in H_n(D)$ be represented by a cycle $y \in D_n$ ($dy = 0$). Then $(y,0) \in Z_n$ is a cycle, so it's a boundary (because $H_n(Z) = 0$): $(y,0) = d(y',x') = (d(y') + f(x'), -dx')$. So $x' \in C_n$ is a cycle, and $[y] = [d(y') + f(x')] = [f(x')] = f_*[x']$ is in the image of $f_* as we wanted.


I know it looks like a lot of words, but the underlying reasoning is not very complex. It's a simple diagram chase, and it mostly boils down to keeping track of all the definitions and hypotheses correctly. There's only one thing to do at each step, and so we do it (and the mapping cone is designed precisely so that everything works out).