UPD: I'm not sure why i'm not getting any comments or votes, so I'm expanding a little bit below to make it easier to understand my question and make it more self-contained.
For reference I'm using the old edition of Lang's "Algebra", the one with homologies in their own chapter, but I'm sure it's there in the 2002 edition, too.
My question is about construction of the morphism that is the subject of the zig-zag lemma. Let $A$ be a ring, and consider three chain complexes of $A$-modules (E', d), $(E, d)$ and (E'', d) forming a short exact sequence 0 \to E' \ \xrightarrow{f} \ E \ \xrightarrow{g} \ E'' \to 0. From now on, following Lang, I will be dropping indices and parentheses where possible to make notation lighter. I will also denote submodules of cycles with a letter $Z$ and boundaries with the letter $B$ as usual. The homologies will be considered as graded modules given by $H_i(E) = Z_i / B_i$ and so on.
The problem is to prove that the formula z'' \mapsto f^{-1} d g^{-1} z'' defines a morphism \delta: H(E'') \to H(E'), \qquad \delta_i: Z''_i / B''_i \to Z'_{i+1} / B'_{i+1}.
Below is my completion of Lang's half page sketch of the explicit construction together with the proof of its correctness. The actual question is in the end.
Let z'' \in Z''_i. Then the set f^{-1} d g^{-1} z'' \subset E'_{i+1} is not empty. Indeed, components of $g$ are surjective, so there is a $z \in E_i$ such that gz = z''. Since 0 = dz'' = dgz = gdz, we have $dz \in \ker g = \operatorname{im} f \subset E_{i+1}$, therefore there is a z' \in E'_{i+1} such that fz' = dz, and thus f^{-1} d g^{-1} z'' \subset E'_{i+1} is not empty. Moreover, f^{-1} d g^{-1} z'' \subset Z'_{i+1}. Indeed, for all $z \in E_i$ such that gz = z'' and z' \in E'_{i+1} such that fz' = dz we have fdz' = dfz' = d^2z = 0.
Next, we prove that for all z'_1, z'_2 \in f^{-1} d g^{-1} z'' we have z'_1 - z'_2 \in B'_{i+1}, or in other words that there is some t \in E'_i such that dt = z'_1 - z'_2. We pick $z_1, z_2$ just like before, and observe that f(z'_1 - z'_2) = d(z_1 - z_2). Since g(z_1 - z_2) = z'' - z'' = 0, then there is t \in E'_i such that $ft = z_1 - z_2$, and we have fdt = dft = d(z_1 - z_2) = f(z'_1 - z'_2). But every component of $f$ is injective, so we indeed have dt = z'_1 - z'_2.
Thus we have a mapping \gamma_i: Z''_i \to Z'_{i+1} / B'_{i+1}, z'' \mapsto f^{-1} d g^{-1} z'' + B'_{i+1}. We need to prove that it is a homomorphism. Let's prove that \gamma_i(z''_1 + z''_2) = \gamma_i(z''_1) + \gamma_i(z''_2). Indeed, let's pick $z_1, z_2 \in E_i$ such that gz_1 = z''_1, gz_2 = z''_2. Then g(z_1 + z_2) = z''_1 + z''_2, and $d(z_1 + z_2) = d(z_1) + d(z_2)$. Let's pick z'_1, z'_2 \in Z'_{i+1} such that fz'_1 = dz_1, fz'_2 = dz_2. Then f(z'_1 + z'_2) = d(z_1 + z_2), thus if z'_1 \in f^{-1} d g^{-1} z''_1 and z'_2 \in f^{-1} d g^{-1} z''_2, then z'_1 + z'_2 \in f^{-1} d g^{-1} (z''_1 + z''_2). But the classes of z'_1, z'_2, z'_1 + z'_2 modulo B'_{i+1} is independent of the choice of $z_1, z_2$, and obviously z'_1 + z'_2 + B'_{i+1} = (z'_1 + B'_{i+1}) + (z'_2 + B'_{i+1}), and thus indeed \gamma_i(z''_1 + z''_2) = \gamma_i(z''_1) + \gamma_i(z''_2). In the same way we prove that \gamma_i(\alpha z') = \alpha \gamma_i(z') (I haven't actually done this, but it seems like it go the same way). Thus $\gamma_i$ is indeed a homomorphism.
Now all that's left to prove is that B''_i \subset \ker \gamma_i. Indeed, consider a z'' \in B''_i. Then there is a w'' \in E''_{i-1} such that dw'' = z'', and a $w \in E_{i-1}$ such that gw = w''. Thus z'' = dgw = gdw. Thus there is a $z \in B_i$ such that $z = dw$ and gz = z''. Obviously, $dz = 0$, and because every component of $f$ is an injection, there is only one z'_0 \in Z'_{i+1} such that fz'_0 = dz = 0, and it is z'_0 = 0. But then for all z' \in f^{-1} d g^{-1} z'' we have z' - z'_0 = z' \in B'_{i+1}, and thus f^{-1} d g^{-1} z'' \subset B'_{i+1}, as was to be proved.
Now by the homomorphism theorem $\gamma_i$ uniquely factors through some \delta_i: Z''_i / B''_i \to Z'_{i+1} / B'_{i+1}, and this is what we needed to construct.
My two questions are:
- Is this proof correct and complete?
- Was there a shortcut that I missed?
UPD: I understand that this is not a delightful question to attempt to answer. So God giveth, God taketh: I'll award the bounty to the most serious flaw found, or to Dylan if none are found.