free chain complex is acyclic iff contracting homotopy explanation I am aware of this post. The following is a slight generalization,

A free chain complex $(A_*, \partial)$ is acyclic iff it has a contracting homotopy.

In that we dont' require $A_n=0$ for $n<0$. Rotman gives a proof as follows.

$\partial_n : A_n \rightarrow A_{n-1}$ has image $B_{n-1}(A_*) = Z_{n-1}(A_*)$. This induces $s_{n-1}:Z_{n-1}(A_*) \rightarrow A_n$ s.t. $\partial_n s_{n-1}=1$ as $A_n$ is free.
Now $1-s_{n-1} \partial_n :A_n \rightarrow A_n$ has image in $Z_n(A_*)$. Define $t_n:A_n \rightarrow A_{n+1}$ as the composite,
$$t_n = s_n(1 - s_{n-1} \partial_n) \quad (*)$$
Then $\partial_{n+1}t_n+t_{n-1}\partial_n = 1$.

Induction doesn't really work in this case(?) I would like to hear how one thinks of the formula $(*)$.
I know $s_n, \partial_n$ satisfies the retracting property, but its just not obvious.
 A: I do not think one has to use induction: Note that neither the $s_n$, nor the $t_n$ are defined inductively, and the validity of the homotopy property is checked as thus: Obviously $\partial_{n+1}t_n = 1 - s_{n-1} \partial_n$, and moreover $t_{n-1} \partial_n = s_{n-1} \partial_n$ because $\partial_{n-1} \partial_n = 0$.
An alternative proof may be the following: Given a chain complex $C_.$, we may consider the truncated chain complex as follows: Let $n \in \mathbb Z$ be a whole number, then consider the chain complex
$$
c_{n+2} \to C_{n+1} \to C_n \to \operatorname{coker} (\delta_{n+1}) \to 0.
$$
This is obviously exact, so we may apply the classical construction to get a chain contraction. But now we can do this for all $n$, and the only thing we have to show is that the definitions coincide to give a chain contraction of the whole complex. (This is probably more complicated than Rotman's proof.)
A: This is a rephrasing of the formula, but maybe it can help. Consider a general free $\mathbb Z$ chain complex $A$. Here is a construction you can do. The surjective maps $\partial: A_n \to B_{n-1}(A)$ have splittings $s: B_{n-1}(A) \to A_n$ by freeness, this allows you to break up the chain complex using a map $f: A \to \Sigma B_*(A) \bigoplus Z_*(A)$ given by $a \mapsto (\partial a, a - s\partial a)$. (The chain complex $\Sigma B_*(A) \bigoplus Z_*(A)$ has differential given by the inclusion $B_{n-1}(A) \to Z_{n-1}(A)$.) It is easy to check that $f$ is a chain map, and an isomorphism because ignoring differentials it is just a splitting of the exact sequences $0 \to Z_n(A) \to A_n \to B_{n-1}(A)\to 0$. 
Assuming that $A_*$ is acyclic now. The contracting homotopy on $\Sigma B_*(A) \bigoplus Z_*(A)$ is more obvious, it's just given by $h: B_{n-1}(A) \bigoplus Z_n(A) \to B_n(A) \bigoplus Z_{n+1}(A)$ where $(b,z) \mapsto (z,0)$ using the identification $Z_n(A) = B_n(A)$. 
