Tensor product of acyclic complexes of free abelian groups

I am trying to find a relatively elementary proof of the following result: If $(K,d^K)$ and $(L,d^L)$ are acyclic chain complexes of free abelian groups, then their tensor product $(K \otimes L,d^{K \otimes L})$ is acyclic. I am familiar with the usual proof of this result in terms of the Kunneth tensor product formula, but since that result is considerably more general than this one, I was wondering if there is a simpler proof that works in this case. Anyone have ideas?

-
A naive comment: is it true that acyclic complexes of free abelian groups are contractible? If so, the tensor product ought to respect homotopy equivalences... –  Qiaochu Yuan Jun 1 '12 at 3:45
Solving the problem via homotopy equivalences was actually my first idea for a solution, but I could not figure out an obvious equivalence. –  Joshua Jun 1 '12 at 4:03
@Joshua: You should not forget to upvote useful answers to your questions. You haven't upvoted any answer so far. –  Marc Palm Jun 1 '12 at 12:46

It suffices to suppose that one of your complexes, say $K$, is an acyclic complex of free abelian groups. Then, if $L$ is any complex of abelian groups, $K \otimes L$ is acyclic.

This can be easily seen as follows: Assume for the moment we know that $K$ is contractible, i.e. there is a chain equivalence $f: K \to 0$. Then $f \otimes id_L:K \otimes L \to 0 \otimes L=0$ is a also a chain equivalence (see MacLane, Homotopy, Cor. V.9.2). Hence $H_\ast(K \otimes L) \cong H_\ast(0)=0$ shows that $K \otimes L$ is acyclic.

The fact that acyclic complexes of free abelian groups are contractible is Lemma VI.3.2 of Brown: Cohomology of Groups. But the proof is simple enough to be posted here. First note that the short exact sequence $$0 \to \operatorname{im} d_{i+1} \to K_i \to \operatorname{im} d_i \to 0$$ splits since as a subgroup of the free abelian group $K_{i-1}$, $\operatorname{im} d_i$ is a free abelian group and hence a projective $\mathbb Z$-module. Write $$K_i = \operatorname{im} d_{i+1} \oplus A_i$$ such that $d_i$ maps $A_i$ isomorphicaly onto $\operatorname{im} d_i$. Let $e_i: \operatorname{im} d_i \to A_i$ be the inverse map. Now define $h_i:K_i \to K_{i+1}$ by $$h_i|\operatorname{im} d_{i+1} := e_{i+1},\;\;\;h_i|A_i := 0$$ Let $x=d+a \in K_i$ with $d \in \operatorname{im} d_{i+1}, a \in A_i$. Since $d_i(x)=d_i(a)$ we obtain
$$(h_{i-1}d_i + d_{i+1}h_i)(x) = e_i(d_i(a)) + d_{i+1}(e_i(d))= a + d=x.$$ Hence $h: id_K \simeq 0$ is the searched homotopy.

Added: The argument holds verbatim for complexes over a PID.

-

The homotopy approach works if one of your chain complexes, say $K$, is bounded below (assuming homological indexing). In this case $K$ is chain homotopy equivalent to the $0$ complex (see Munkres, Elements of Algebraic Topology, Theorem 46.2) In fact, let $f: 0\to K$ and $g:K\to 0$ be the unique maps, which must then be the homotopy inverses. In particular then, there must be a degree 1 $D:K\to K$ such that $\text{id}_K=\text{id}_K-gf=\partial D+D\partial$ (so $D$ is the chain contraction). Now consider $\bar D=D\otimes \text{id}_L:K\otimes L\to K\otimes L$. Then for any $x\otimes y\in K\otimes L$, we have \begin{align*} (\partial\bar D+\bar D \partial)(x\otimes y) & =\partial (Dx\otimes y)+\bar D(\partial x\otimes y+(-1)^{|x|}x\otimes \partial y)\newline & =\partial Dx\otimes y+(-1)^{|x|+1}Dx\otimes\partial y+D\partial x\otimes y+(-1)^{|x|}Dx\otimes \partial y\newline & =\partial Dx\otimes y+D\partial x\otimes y\newline & =((\partial D+D\partial)(x))\otimes y\newline & =\text{id}_K(x)\otimes y=x\otimes y \end{align*} So in other words $\bar D$ is a chain contraction of $K\otimes L$

Sorry - I don't know how to do aligned equations on here. I'm sure someone will come spruce that up (please?).

-
@Greg Friedman: The align environment works - the only trick is to replace \\ with \newline. Probably eqnarray works too (but I didn't try that yet). –  Mark Grant Jun 1 '12 at 5:48
Why do you require one of the complexes to be bounded below ? –  Ralph Jun 1 '12 at 8:48
@Mark. Thanks - that explains why it looked like it was almost working. @Ralph - the boundedness is usually needed because the homotopy operators are (in the most hands-on proofs) constructed inductively and you need some place to start the induction. Have a look at the proof of the theorem in Munkres that I cited. Conceivably this is a simple enough case that there's some way around this, but I'll have to think about it/hunt around. –  Greg Friedman Jun 1 '12 at 18:32
Oops, I should have read Ralph's answer first before writing the last comment! I guess boundedness isn't necessary here :-) –  Greg Friedman Jun 1 '12 at 18:34