Prove the 5lemma. Suppose the following rows are exact:
 Show that if \(f_2, f_4\) are monic and \(f_1\) is an epi, then \(f_3\) is monic.
 Show that if \(f_2, f_4\) are epi and \(f_5\) is monic, then \(f_3\) is an epi.
 Conclude that if \(f_1, f_2, f_4, f_5\) are isomorphisms then \(f_4\) is an isomorphism.
Appealing to the FreydMitchell Embedding Theorem, we proceed by chasing elements. For this part of the result, only the following portion of the diagram is relevant, where monics have been labeled with “\(\hookrightarrow\)” and the epis with “\(\twoheadrightarrow\)”:
It suffices to show that \(f_3\) is an injection, and since these can be thought of as \(R{\hbox{}}\)module morphisms, it further suffices to show that \(\ker f_3 = 0\), so \(f_3(x) = 0 \implies x = 0\). The following outlines the steps of the diagram chase, with references to specific square and element names in a diagram that follows:
 Suppose \(x\in A_3\) and \(f(x) = 0\in B_3\).
 Then under \(A_3 \to B_3 \to B_4\), \(x\) maps to zero.
 Letting \(y_1\) be the image of \(x\) under \(A_3 \to A_4\), commutativity of square 1 and injectivity of \(f_4\) forces \(y_1 = 0\).
 Exactness of the top row allows pulling this back to some \(y_2 \in A_2\).
 Under \(A_2 \to B_2\), \(y_2\) maps to some unique \(y_3\in B_2\), using injectivity of \(f_2\).
 Commutativity of square 2 forces \(y_3 \to 0\) under \(B_2 \to B_3\).
 Exactness of the bottom row allows pulling this back to some \(y_3\in B_1\)
 Surjectivity of \(f_1\) allows pulling this back to some \(y_5 \in A_1\).
 Commutativity of square 3 yields \(y_5\mapsto y_2\) under \(A_1\to A_2\) and \(y_5 \mapsto x\) under \(A_1 \to A_2 \to A_3\).
 But exactness in the top row forces \(y_5 \mapsto 0\) under \(A_1 \to A_2 \to A_3\), so \(x=0\).
Similarly, it suffices to consider the following portion of the diagram:
We’ll proceed by starting with an element in \(B_3\) and constructing an element in \(A_3\) that maps to it. We’ll complete this in two steps: first by tracing around the RHS rectangle with corners \(B_3, B_5, A_5, A_3\) to produce an “approximation” of a preimage, and second by tracing around the LHS square to produce a “correction term”. Various names and relationships between elements are summarized in a diagram following this argument.
Step 1 (the righthand side approximation):
 Let \({\color{red}y}\in B_3\) and \(y_1\) be its image under \(B_3\to B_4\).
 By exactness of the bottom row, under \(B_4 \to B_5\), \(y_1\mapsto 0\).
 By surjectivity of \(f_4\), pull \(y_1\) back to an element \(y_2 \in A_4\).
 By commutativity of square 1, \(y_2\mapsto 0\) under \(A_4\to A_5 \to B_5\).
 By injectivity of \(f_5\), the preimage of zero must be zero and thus \(y_2\mapsto 0\) under \(A_4\to A_5\).
 Using exactness of the top row, pull \(y_2\) back to obtain some \({\color{blue}y_3} \in A_3\)
Step 2 (the lefthand correction term):
 Let \(z\) be the image of \(\color{blue}y_3\) under \(A_3\to B_3\), noting that \(z\neq y\) in general.
 By commutativity of square 2, \(z\mapsto y_1\) under \(B_3\to B_4\)
 Thus \(zy\mapsto y_1  y_1 = 0\) under \(B_3\to B_4\), using that \(d(zy) = d(z)  d(y)\) since these are \(R{\hbox{}}\)module morphisms.
 By exactness of the bottom row, pull \(zy\) back to some \(\zeta_1\in B_2\).
 By surjectivity of \(f_2\), pull this back to \(\zeta_2 \in A_2\). Note that by construction, \(\zeta_2 \mapsto zy\) under \(A_2\to B_2\to B_3\).
 Let \(\zeta_3\) be the image of \(\zeta_2\) under \(A_2\to A_3\).
 By commutativity of square 3, \(\zeta_4 \mapsto zy\) under \(A_3\to B_3\).
 But then \({\color{blue}y_3}  \zeta_3 \mapsto z  (zy) = {\color{red}y}\) under \(A_3\to B_3\) as desired.
Given the previous two result, if the outer maps are isomorphisms then \(f_3\) is both monic and epi. Using a technical fact that monic epis are isomorphisms in a category \(\mathcal{C}\) if and only if \(\mathcal{C}\) is balanced and that all abelian categories are balanced, \(f_3\) is isomorphism.
Let \(C\) be a chain complex. Show that \(C\) is split if and only if there are \(R{\hbox{}}\)module decompositions \begin{align*} C_n & \cong Z_n \oplus B_n' \\ Z_n &= B_n \oplus H_n' .\end{align*} Show that \(C\) is split exact if and only if \(H_n' = 0\).
For this problem, we’ll use the fact that if \(d\) is an epimorphism, it satisfies the rightcancellation property: if \(f\circ d = g\circ d\), then \(f=g\). In particular, if \(d_n = d_ns_{n1}d_n\) with \(d_n: C_n\to C_{n1}\) surjective and \(s_{n1}: C_{n1}\to C_n\), we can conclude \(\one_{C_n} = d_ns_{n1}\). We’ll also use the fact that if we have a SES in any abelian category \(\mathcal{A}\), then the following are equivalent:
 The sequence is split on the left.
 The sequence is split on the right.
 The middle term is isomorphic to the direct sum of the outer terms.
Fixing notation, we’ll write \(C \coloneqq(\cdots \to C_{n+1} \xrightarrow{{{\partial}}_{n+1}} C_n \xrightarrow{{{\partial}}_n} \cdots)\), and we’ll use concatenation \(fg\) to denote function composition \(f \circ g\).
\(\implies\):
Suppose \(C\) is split, so we have maps \(\left\{{s_n}\right\}\) such that \({{\partial}}_n = {{\partial}}_n s_{n1} {{\partial}}_n\).
The short exact sequence \begin{align*} 0 \to Z_n \xrightarrow{\iota} C_n \xrightarrow{{{\partial}}_n} B_{n1} \to 0 \end{align*} admits a rightsplitting \(f: B_{n1}\to C_n\), and thus there is an isomorphism \begin{align*} C_n \cong Z_n \oplus B_n' \coloneqq Z_n \oplus B_{n1} .\end{align*}
That this sequence is exact follows from the fact that it can be written as \begin{align*} 0 \to \ker {{\partial}}_n \hookrightarrow C_n \overset{{{\partial}}_n}\twoheadrightarrow\operatorname{im}{{\partial}}_n \to 0 .\end{align*}
We proceed by constructing the splitting \(f\). Noting that \(s_{n1}: C_{n1} \to C_n\) and \(B_{n1} \leq C_{n1}\), the claim is that its restriction \(f\coloneqq{ \left.{{s_{n1}}} \right_{{B_{n1}}} }\) works. It suffices to show that \((C_n \xrightarrow{{{\partial}}_n} B_{n1} \xrightarrow{f} C_n)\) composes to the identity map \(\one_{C_n}\). This follows from the splitting assumption, along with rightcancellability since \({{\partial}}_n\) is surjective onto its image:
\begin{align*} {{\partial}}_n = {{\partial}}_n s_{n1} {{\partial}}_n \overset{\text{rightcancel ${{\partial}}_n$}}{\implies} \one_{C_n} = {{\partial}}_n s_{n1} \coloneqq{{\partial}}_n f .\end{align*}
The SES \begin{align*} 0 \to B_n \overset{\iota_{BZ}}\hookrightarrow Z_n \overset{\pi}{\twoheadrightarrow} \frac{Z_n}{B_n} \to 0 \end{align*} admits a leftsplitting \(f: Z_n\to B_n\), and thus there is an isomorphism \begin{align*} Z_n \cong B_n \oplus H_n' \coloneqq B_n \oplus H_n(C) \coloneqq B_n \oplus {Z_n \over B_n} .\end{align*}
We proceed by again constructing the splitting \(f:Z_n\to B_n\). The situation is summarized in the following diagram:
So a natural candidate for the map \(f\) is the composition \begin{align*} Z_n \xrightarrow{\iota_Z} C_n \xrightarrow{s_{n}} C_{n+1} \xrightarrow{{{\partial}}_{n+1}} B_n ,\end{align*} so \(f \coloneqq{{\partial}}_{n+1} s_{n} \iota_Z\). We can simplify this slightly by regarding \(Z_n \leq C_n\) as a submodule to suppress \(\iota_Z\), and identify \(s_{n}\) with its restriction to \(Z_n\) to write \(f \coloneqq{{\partial}}_{n+1} s_{n}\). The claim is then that \(f\iota_{BZ} = \one_{B_n}\). Anticipating using the fact that \({{\partial}}_{n+1} = {{\partial}}_{n+1} s_n {{\partial}}_{n+1}\), we postcompose with \({{\partial}}_{n+1}\) and compute: \begin{align*} f \iota_{BZ} {{\partial}}_{n+1} &= (C_{n+1} \xrightarrow{{{\partial}}_{n+1}} B_n \xrightarrow{\iota_{BZ}} Z_n \xrightarrow{\iota_Z} C_n \xrightarrow{s_n} C_{n+1} \xrightarrow{{{\partial}}_{n+1}} C_n ) \\ &= (C_{n+1} \xrightarrow{{{\partial}}_{n+1}} B_n \xrightarrow{{ \left.{{s_n}} \right_{{B_n}} } } C_{n+1} \xrightarrow{{{\partial}}_{n+1}} ) \\ &= {{\partial}}_{n+1} s_n {{\partial}}_{n+1} \\ &= {{\partial}}_{n+1} ,\end{align*} where in the last step we’ve used the splitting hypothesis and the fact that it remains true when everything is restricted to the submodule \(B_n \leq C_n\). Using surjectivity of \({{\partial}}_{n+1}\) onto \(B_n\), we can now conclude as before: \begin{align*} f \iota_{BZ} {{\partial}}_{n+1} = {{\partial}}_{n+1} \overset{\text{rightcancel ${{\partial}}_n$}}{\implies} f\iota_{BZ} = \one_{B_n} .\end{align*}
Show that \(C\) is a split exact chain complex if and only if \(\one_C\) is nullhomotopic.
\(\impliedby\):
\(C\) is split: Suppose \(\one_{C}\) is nullhomotopic, so that there exist maps \begin{align*} s_n: C_n \to C_{n+1} && \one_{C_n} = {{\partial}}_{n+1} s_n + s_{n1} {{\partial}}_n .\end{align*} We then have the following situation:
Here the nullhomotopy is outlined in red, and the map relevant to the splitting in green. Note that \(s_n: C_n \to C_{n+1}\) is a candidate for a splitting, we just need to show that \({{\partial}}_{n+1} = {{\partial}}_{n+1} s_n {{\partial}}_{n+1}\). We can proceed by postcomposing the LHS with the identity \(\one_C\), which allows us to substitute in the nullhomotopy: \begin{align*} {{\partial}}_{n+1} &= \one_{C_n} {{\partial}}_{n+1} \\ &= \qty{ {{\partial}}_{n+1} s_n + s_{n1} {{\partial}}_n } {{\partial}}_{n+1} \\ &= {{\partial}}_{n+1} s_n {{\partial}}_{n+1} + s_{n1} {{\partial}}_n {{\partial}}_{n+1} \\ &= {{\partial}}_{n+1} s_n {{\partial}}_{n+1} + s_{n1} {\color{red} 0} && \text{since } {{\partial}}^2 = 0\\ &= {{\partial}}_{n+1} s_n {{\partial}}_{n+1} .\end{align*}
\(C\) is exact: This follows from the fact that since \(\one_C = {{\partial}}s + s{{\partial}}\) are equal as maps of chain complexes, the images \(D_1 \coloneqq\one_C(C)\) and \(D_2 \coloneqq({{\partial}}s + s {{\partial}})(C)\) are equal as chain complexes and have equal homology. Evidently \(D_1 = C\), and on the other hand, each graded piece \((D_2)_n\) only consists of boundaries coming from various pieces of \(C\), since \({{\partial}}s + s{{\partial}}\) necessarily lands in the images of the maps \({{\partial}}_n\). Thus \(C_n(D_2) \subseteq B_n(D_2) = \emptyset\), i.e. there are no chains (or cycles) in \(D_2\) which are not boundaries, and thus \(H_n(D_2) \coloneqq Z_n(D_2)/ B_n(D_2) = 0\) for all \(n\). We can thus conclude that \(C = D_2 \implies H(C) = H(D_2) = 0\), so \(C\) must be exact.
\(\implies\): Suppose \(C\) is split. Then by exercise 1.4.2, we have \(R{\hbox{}}\)module decompositions \begin{align*} C_n &\cong Z_n \oplus B_{n1} \\ Z_n &\cong B_n \oplus H_n \\ \\ \implies C_n &\cong B_n \oplus B_{n1} \oplus H_n .\end{align*}
Supposing further that \(C\) is exact, we have \(H_n = 0\), and thus \(C_n \cong B_n \oplus B_{n1}\). We first note that in this case, we can explicitly write the differential \({{\partial}}_n\). Letting \(\one_n\) denote the identity on \(C_n\), where by abuse of notation we also write this for its restriction to any submodules, we have:
We can thus write \({{\partial}}_n\) as the matrix \begin{align*} {{\partial}}_n = \begin{bmatrix} 0 & \one_n \\ 0 & 0 \end{bmatrix} .\end{align*}
Similarly using this decomposition, we can construct a map \(s_n: C_{n} \to C_{n+1}\):
We can write this as the following matrix: \begin{align*} s_n = \begin{bmatrix} 0 & 0 \\ \one_n & 0 \end{bmatrix} .\end{align*}
We can now verify that \(s_n\) is a nullhomotopy from a direct computation: \begin{align*} {{\partial}}_{n+1} s_n + s_{n1} {{\partial}}_n &= \begin{bmatrix} 0 & \one_{n+1} \\ 0 & 0 \end{bmatrix} \begin{bmatrix} 0 & 0 \\ \one_n & 0 \end{bmatrix} + \begin{bmatrix} 0 & 0 \\ \one_{n1} & 0 \end{bmatrix} \begin{bmatrix} 0 & \one_{n} \\ 0 & 0 \end{bmatrix} \\ &= \begin{bmatrix} \one_n & 0 \\ 0 & 0 \end{bmatrix} + \begin{bmatrix} 0 & 0 \\ 0 & \one_{n1} \end{bmatrix} \\ &= \begin{bmatrix} \one_{B_n} & 0 \\ 0 & \one_{B_{n1}} \end{bmatrix} \\ &= \one_{C_n} ,\end{align*} expressed as a map \(B_n \oplus B_{n1} \to B_n \oplus B_{n1}\).
Show that chain homotopy classes of maps form a quotient category \(K\) of \(\mathsf{Ch}( {}_{R}{\mathsf{Mod}} )\) and that the functors \(H_n\) factor through the quotient functor \(\mathsf{Ch}( {}_{R}{\mathsf{Mod}} ) \to K\) using the following steps:

Show that chain homotopy equivalence is an equivalence relation on \(\left\{{f:C\to D {~\mathrel{\Big\vert}~}f\text{ is a chain map}}\right\}\). Define \(\mathop{\mathrm{Hom}}_K(C, D)\) to be the equivalence classes of such maps and show that it is an abelian group.

Let \(f \simeq g: C\to D\) be two chain homotopic maps. If \(u: B\to C, v:D\to E\) are chain maps, show that \(vfu, vgu\) are chain homotopic. Deduce that \(K\) is a category when the objects are defined as chain complexes and the morphisms are defined as in (1).

Let \(f_0, f_1, g_0, g_1: C\to D\) all be chain maps such that each pair \(f_i \simeq g_i\) are chain homotopic. Show that \(f_0 + f_1\) is chain homotopic to \(g_0 + g_1\). Deduce that \(K\) is an additive category and \(\mathsf{Ch}( {}_{R}{\mathsf{Mod}} )\to K\) is an additive functor.

Is \(K\) an abelian category? Explain.
Try at least two parts.
\envlist
Chain homotopy equivalence defines an equivalence relation on \(\mathop{\mathrm{Hom}}_{\mathsf{Ch}(\mathcal{A})}(A, B)\).
We recall that for morphisms \(f,g \in \mathop{\mathrm{Hom}}_{\mathsf{Ch}(\mathcal{A} )}(A, B)\), we have \(f \simeq g \iff fg \simeq 0 \iff \exists s: A \to B[1]\) such that \({{\partial}}^B s + s{{\partial}}^A = fg\).

Reflexive: We want to show that \(f \simeq f\), i.e. \(ff = 0 \simeq 0\). Producing the map \(s = 0\) works, since \({{\partial}}s + s{{\partial}}= {{\partial}}0 + 0{{\partial}}= 0\).

Symmetric: Suppose \(f\simeq g\), so there exists an \(s\) such that \({{\partial}}s + s {{\partial}}= fg\). Then taking \(s' \coloneqqs\) produces a chain homotopy \(gf\simeq 0\), since we can write \begin{align*} {{\partial}}s' + s' {{\partial}} &= {{\partial}}(s) + (s) {{\partial}}\\ &= {{\partial}}s  s{{\partial}}\\ &= ( {{\partial}}s + s {{\partial}}) \\ &= (fg) \\ &= gf .\end{align*}

Transitive: Suppose \(f\simeq g\) and \(g\simeq h\), we want to show \(f\simeq h\). By assumption we have maps \(s, s'\) such that \({{\partial}}s + s{{\partial}}= fg\) and \({{\partial}}s' + s'{{\partial}}= gh\), so set \(s'' \coloneqq s + s'\). We can then check that this is a chain homotopy from \(f\) to \(h\): \begin{align*} {{\partial}}s'' + s'' {{\partial}} &= {{\partial}}(s+ s') + (s + s'){{\partial}}\\ &= ({{\partial}}s + s{{\partial}}) + ({{\partial}}s' + s' {{\partial}}) \\ &= (fg) + (gh) \\ &= fh ,\end{align*} where we’ve used that abelian categories are enriched over abelian groups, so we have a commutative and associative addition on homs.
\(( \mathop{\mathrm{Hom}}_K(A, B), \oplus) \in {\mathsf{Ab}}\), where we define an addition on equivalence classes by \begin{align*} [f] \oplus [g] \coloneqq[f + g] .\end{align*}
We check the group axioms directly:

Closure under operation: We can check that \([f] \oplus [g] \coloneqq[f+g] \coloneqq[g']\) makes sense, since \(g' \coloneqq f+g \in \mathop{\mathrm{Hom}}_{\mathsf{Ch}(\mathcal{A})}(A, B)\), making \([g']\) a welldefined equivalence class of maps in \(\mathop{\mathrm{Hom}}_K(A, B)\).

Twosided Identities: The equivalence class \([0] \coloneqq\left\{{f\in \mathop{\mathrm{Hom}}_{\mathsf{Ch}(\mathcal{A} )}(A, B) {~\mathrel{\Big\vert}~}f\simeq 0}\right\}\) serves as an identity, where we take the zero map as a representative. This follows from the fact that \begin{align*} [0] \oplus [f] \coloneqq[0 + f] = [f] = [f] \oplus [0] .\end{align*}

Associativity: This again follows from the abelian group structure on the original hom: \begin{align*} [f] \oplus \qty{ [g] \oplus [h] } = [f + (g+h)] = [(f+g) + h] = \qty{ [f] \oplus [g] } \oplus [h] .\end{align*}

Twosided inverses: Let \(\ominus[f] \coloneqq[f]\) be a candidate for the inverse with respect to \(\oplus\). To see that this works, we have \begin{align*} [f] \oplus ( \ominus [f] ) \coloneqq[f] \oplus [f] = [ff] = [0] ,\end{align*} and a similar calculation goes through to show it’s also a leftsided inverse.

Welldefinedness: We need to show that if \([f] = [f']\) and \([g] = [g']\), the sums agree, so \([f] \oplus [g] = [f'] \oplus [g']\). We’ll use the fact that \([f] = [f'] \iff ff' \simeq 0\) (and similarly for \(g\)), so we can compute: \begin{align*} \qty{ [f] \oplus [g] } \ominus \qty{ [f'] \oplus [g'] } &\coloneqq[f + g] \ominus [f'  g'] \\ &\coloneqq[(f+g)  (f'g') ] \\ &= [(ff') + (gg')] \\ &= [ff'] \oplus [gg'] \\ &= [0] \oplus [0] && \text{using } f\simeq f',~ g\simeq g'\\ &\coloneqq[0] .\end{align*}
We have the following situation, where the doublearrows denote chain homotopies:
We want to show that \(vgu \simeq vfu\), or equivalently that \(vgu  vfu \simeq 0\). This is immediate: \begin{align*} vgu  vfu = v(gu  fu) = v(f  g)u \simeq v0u = 0 .\end{align*}
Alternatively, as an explicit computation, if we assume \(f\simeq g\) then there is a nullhomotopy \(s\) for \(fg\), in which case the map \(s' \coloneqq vsu\) works as a nullhomotopy for \(vfu  vgu\): \begin{align*} vfu  vgu &= v(fg)u = v({{\partial}}s + s {{\partial}}) u \\ &= {\color{red} v{{\partial}}} s u + vs {\color{red} {{\partial}}u } \\ &= {\color{blue} {{\partial}}v} su + v s {\color{blue} u {{\partial}}} && \text{since $u, v$ are chain maps} \\ &\coloneqq{{\partial}}s' + s'{{\partial}} .\end{align*}
We can now define a composition map on \(\mathsf{K}\): \begin{align*} \circ: \mathop{\mathrm{Hom}}_K(A_1, A_2) \times\mathop{\mathrm{Hom}}_K(A_2, A_3) &\to \mathop{\mathrm{Hom}}_K(A_1, A_3) \\ ([f], [g]) &\mapsto [f\circ g] .\end{align*}
The previous argument then precisely says:

If \(u:B\to C\) and \(f,g C\to D\) with \([f] = [g]\), the composition \([u] \circ [f] = [u] \circ [g]: B\to D\) is welldefined, and

If \(v:D\to E\) and \(f,g: C\to D\) with \([f] = [g]\), the composition \([f] \circ [v] = [g] \circ [v]\) is welldefined.
So this composition on \(\mathsf{K}\) is welldefined. Moreover,

There is an identity morphism \([\one_A] \in \mathop{\mathrm{Hom}}_K(A, A)\) coming from the class of \(\one_C \in \mathop{\mathrm{Hom}}_{\mathsf{Ch}( \mathcal{A} ) }(A, A)\),

It is associative, since \([h] \circ [gf] \coloneqq[hgf] \coloneqq[hg] \circ [f]\), and

It is unital, in the sense that \([\one_B] \circ [f] \coloneqq[\one_A \circ f] = [f] = [f \circ \one_A] \coloneqq[f] \circ [\one_B]\) for any \(f:A\to B\).
So this data satisfies all of the axioms of a category (Weibel A.1.1).
To see that \(f_0 + f_1 \simeq g_0 + g_1\), we have \begin{align*} (f_0 + f_1)  (g_0 + g_1) &= (f_0  g_0) + ( f_1  g_1) \\ &\simeq 0 + 0 = 0 .\end{align*} To be explicit, if \(s_i\) are chain homotopies for \(f_i, g_i\), we can take \(s\coloneqq s_0 + s_1\): \begin{align*} (f_0 + f_1)  (g_0 + g_1) &= (f_0  g_0) + ( f_1  g_1) \\ &= ({{\partial}}s_0 + s_0 {{\partial}}) + ({{\partial}}s_1 + s_1 {{\partial}}) \\ &= ({{\partial}}s_0 + {{\partial}}s_1) + (s_0 {{\partial}}+ s_1 {{\partial}}) \\ &= {{\partial}}(s_0 + s_1) + (s_0 + s_1){{\partial}}\\ &\coloneqq{{\partial}}s + s {{\partial}} .\end{align*}
That \(K\) forms an additive category is a consequence of the following facts:

\(K\) has products, since \(\mathcal{A}\) had products and \({\operatorname{Ob}}(K) \coloneqq{\operatorname{Ob}}( \mathcal{A})\).

\(K\) has a zero object, for the same reason.

Composition distributes over addition, i.e. \begin{align*} [f] \qty{ [g] \oplus [h] } \\ &\coloneqq [f] [g +h] \\ &\coloneqq [f(g + h) ] \\ &\coloneqq [fg + fh] \\ &= [fg] \oplus [fh] .\end{align*}
Moreover, the quotient functor \(\mathsf{Ch}( {}_{R}{\mathsf{Mod}} ) \to K\) is an additive functor, since the maps \(Q: \mathop{\mathrm{Hom}}_{\mathsf{Ch}( \mathcal{A} )}(A, B) \to \mathop{\mathrm{Hom}}_{\mathsf{Ch}( \mathcal{A} )}(A, B)/ \sim\) are morphisms of abelian groups, using the fact that \(Q\) commutes with both additions: \begin{align*} Q(f + g) = [f + g] \coloneqq[f] \oplus [g] = Q(f) + Q(g) .\end{align*} Alternatively, we can note that the set of all \(f\in \mathop{\mathrm{Hom}}_{ \mathsf{Ch}( \mathcal{A} }(A, B)\) which are nullhomotopic form a subgroup \(H\), and since everything is abelian we can form the quotient \(\mathop{\mathrm{Hom}}_{ \mathsf{Ch}(\mathcal{A}) } (A, B) / H\) observe that this is isomorphic as a group to \(\mathop{\mathrm{Hom}}_K(A, B)\).
We can first note that \(K\) is an additive category, since we still have a zero object and products inherited from \(\mathsf{Ch}( \mathcal{A})\).
Note: I don’t see a great way to prove that any particular category is abelian or not! Checking the axioms listed in Appendix A.4 seems quite difficult.
Let \(\operatorname{cone}(C) \coloneqq\operatorname{cone}(\one_C)\), so \begin{align*} \operatorname{cone}(C)_n = C_{n1} \oplus C_n .\end{align*} Show that \(\operatorname{cone}(C)\) is split exact, with splitting map given by \(s(b, c) \coloneqq(c, 0)\).
Fixing notation, let

\({{\partial}}_n\) be the \(n\)th differential on \(C\),

\(\one_C\) be the identity chain map on \(C\),

\(\one_n: C_n\to C_n\) be the \(n\)th graded component of \(\one_C\),

\(\widehat{C} \coloneqq\operatorname{cone}(C) \coloneqq\operatorname{cone}(\one_C)\),

\(\widehat{{{\partial}}}_n\) be the \(n\)th differential on \(\widehat{C}\), and

\(\widehat{\one}\) be the identity on \(\widehat{C}\),

\(\widehat{\one}_n: \widehat{C}_n \to \widehat{C}_n\) be the \(n\)th component of \(\widehat{\one}\).
From exercise 1.4.2, it suffices to show that \(\widehat{\one}\) is nullhomotopic. Since we have a direct sum decomposition \(\operatorname{cone}(C)_n \coloneqq C_{n1} \oplus C_n\), we can write \(\widehat{\one}\) as a block matrix \begin{align*} \begin{bmatrix} \one_{n1} & 0 \\ 0 & \one_n \end{bmatrix} .\end{align*}
We can similarly write down the differential on \(\operatorname{cone}(C)\) in block form:
This yields \begin{align*} \widehat{{{\partial}}}_n \coloneqq \begin{bmatrix} {{\partial}}_{n1} & 0 \\ \one_{n1} & {{\partial}}_n \end{bmatrix} .\end{align*}
Similarly, the map \(s_n(b, c) = (c, 0)\) can be written as ` \begin{align*} s_n
\begin{bmatrix} 0 & \one_n \ 0 & 0 \end{bmatrix} .\end{align*} `{=html}
We can thus proceed by a direct computation: \begin{align*} {{\partial}}_{n+1} s_n + s_{n1} {{\partial}}_n &= \begin{bmatrix} {{\partial}}_n & 0 \\ \one_n & {{\partial}}_{n+1} \end{bmatrix} \begin{bmatrix} 0 & \one_n \\ 0 & 0 \end{bmatrix} + \begin{bmatrix} 0 & \one_{n1} \\ 0 & 0 \end{bmatrix} \begin{bmatrix} {{\partial}}_{n1} & 0 \\ \one_{n1} & {{\partial}}_n \end{bmatrix} \\ \\ &= \begin{bmatrix} 0 & {{\partial}}_n \one_n \\ 0 & \one_n \one_n \end{bmatrix} + \begin{bmatrix} \one_{n1}\one_{n1} & \one_{n1}{{\partial}}_n \\ 0 & 0 \end{bmatrix} \\ \\ &= \begin{bmatrix} \one_{n1} \one_{n1} & {{\partial}}_n \one_n  \one_{n1} {{\partial}}_n \\ 0 & \one_n \one_n \end{bmatrix} \\ \\ &= \begin{bmatrix} \one_{n1} \one_{n1} & 0 \\ 0 & \one_n \one_n \end{bmatrix} \\ &= \widehat{\one}_n .\end{align*}
Let \(f:C\to D \in \mathop{\mathrm{Mor}}(\mathsf{Ch}(\mathcal{A}))\) and show that \(f\) is nullhomotopic if and only if \(f\) lifts to a map \begin{align*} (s, f): \operatorname{cone}(C) \to D .\end{align*}
\envlist
As a notational convention for this problem, I’ll take vectors \(v\) to be column vectors, and \(v^t\) will denote a row vector. I’ve also written \(f \simeq 0\) to denote that \(f\) is nullhomotopic.
\(\implies\): Suppose that \(f \simeq 0\), so there are maps \(s_n\) such that the following diagrams commute for every \(n\):
Write \(\widehat{C} \coloneqq\operatorname{cone}(C) \coloneqq\operatorname{cone}(\one_{C}) \coloneqq C[1] \oplus C\), we then want to construct a lift \(\widehat{f}\) of \(f\) such that the following diagram commutes:
where \(\iota_{\widehat{C}}\) is the following inclusion of \(C\) into its cone:
We define the map \(\widehat{f}\) in the following way:
That this is a lift follows from computing the composition, which can be done in block matrices:
` \begin{align*} \widehat{f}n \circ \iota{\widehat{C}, n} &= \begin{bmatrix} s_{n1}
\ f_n
\end{bmatrix} ^t \begin{bmatrix} 0 \ \one_{C_n} \end{bmatrix}
[ f_n \one_{C_n} ] = f_n ,\end{align*} {=html} where the first matrix acts as a row vector. It only remains to check that $\widehat{f}$ defines a chain map, which follows from the following computation:
\begin{align*} {{\partial}}_n^D \widehat{f}n  \widehat{f}{n1} \widehat{{{\partial}}}_n &= [{{\partial}}n^D] \begin{bmatrix} s{n1} \ f_n
\end{bmatrix} ^t
\begin{bmatrix} s_{n2} \ f_{n1} \end{bmatrix} \begin{bmatrix} {{\partial}}n^C & 0 \ \one{C_n} & {{\partial}}{n+1}^C \end{bmatrix} \ \ &= \begin{bmatrix} {{\partial}}n^D (s{n1})  s{n2}{{\partial}}n^C + f{n1} \one_{C_n} \ {{\partial}}n^D f_n  f{n1} {{\partial}}n^C \end{bmatrix} ^t \ \ &= \begin{bmatrix} f{n1} ( {{\partial}}n^D s{n1} + s_{n2}{{\partial}}_n^C) \ 0 \end{bmatrix} ^t && \text{since \(f\) a chain map \(\implies {{\partial}}f=f {{\partial}}\)} \ \ &= \begin{bmatrix} 0 \ 0 \end{bmatrix} && \text{since \(f \simeq 0 \implies {{\partial}}s + s{{\partial}}= f\)} \ &=0 .\end{align*} `{=html}
\(\impliedby\): Suppose we have a lift \(\widehat{f}: \widehat{C} \to D\); then define the following maps as the proposed splittings: \begin{align*} s_n: C_{n1} &\to D_n \\ c &\mapsto \widehat{f}_n(c, 0) .\end{align*}
There are two relevant facts to observe:
 We have \(f = \tilde f \iota_{\widehat{C}}\) where \(\iota_{\widehat{C}}(c) \coloneqq(0, c) \in \widehat{C}\) is inclusion into the second direct summand, and in particular \begin{align*} f_n(c) = \widehat{f}_n \iota_{\widehat{C}, n}(c) = \widehat{f}_n(0, c) .\end{align*}
 Since \(\widehat{f}\) is a chain map, we have for each \(n\) \begin{align*} {{\partial}}_n^D \widehat{f}_n(x, y) = \widehat{f}_{n+1} \widehat{{{\partial}}}_n(x, y) && \text{as maps } \widehat{C}_n \to D_n .\end{align*}
We now proceed to compute at the level of elements that \(s\) defines a splitting: ` \begin{align*} {{\partial}}{n+1}^D s_n(c) + s{n1} {{\partial}}n^D(c) &\coloneqq {{\partial}}{n+1}^D \widehat{f}_{n+1}(c, 0) + \widehat{f}n {{\partial}}n^C (c, 0) \ \ &= {{\partial}}{n+1}^D \widehat{f}{n+1}(c, 0) + {\color{red} \widehat{f}_n ({{\partial}}n^C(c), 0) } \ \ &= {\color{red} \widehat{f_n} \widehat{{{\partial}}}{n+1} } (c, 0) + \widehat{f}n ({{\partial}}n^C(c), 0) && \text{by (2)} \ \ &= \widehat{f}n \qty{ \begin{bmatrix} {{\partial}}{n}^C & 0 \ \one{n}^C & {{\partial}}{n+1}^C \end{bmatrix} \begin{bmatrix} c
\ 0
\end{bmatrix} }

\widehat{f}_n ({{\partial}}_n^C(c), 0) \ \ &= \widehat{f}_n \qty{ \begin{bmatrix} {{\partial}}_n^C(c)
\ c \end{bmatrix} }  \widehat{f}_n ({{\partial}}_n^C(c), 0) \ \ &= \widehat{f}_n ( {{\partial}}_n^C(c), c) + \widehat{f}_n( {{\partial}}_n^C(c), 0) \ &= \widehat{f}_n ( {{\partial}}_n^C(c) + {{\partial}}n^C(c), c) && \text{since \(f_n\) is an $ {}{R}{\mathsf{Mod}} $ morphism} \ &= \widehat{f}_n(0, c) \ &= f_n(c) && \text{by (1)} .\end{align*} `{=html}
\envlist

Show that free implies projective.

Show that \(\mathop{\mathrm{Hom}}_R(M, {})\) is leftexact.
 Show that \(P\) is projective if and only if \(\mathop{\mathrm{Hom}}_R(P, {})\) is exact.
\envlist
Suppose \(M\) is free, so we have a set \(S\) and an injection \(S \hookrightarrow M\) such that every map in \(\hom_{{\mathsf{Set}}}(S, Y)\) for $Y\in {}_{R}{\mathsf{Mod}} $ lifts to a unique map in \(\hom_{ {}_{R}{\mathsf{Mod}} }(M, Y)\). Suppose further that we have the following situation; we seek to construct a lift \(\tilde h: M\to A\):
This lift exists by first considering \(s_i \in S\) and noting that since \(\beta_i \coloneqq\iota g(s_i) \in B\) and \(f\) is surjective, there exist some elements \(\alpha_i\) in \(A\) such that \(f(\alpha_i) = \beta_i\) for each \(i\). So define the map \begin{align*} h:S &\to A \\ s_i &\mapsto \alpha_i .\end{align*}
By the universal property of free modules, this lifts to a map \(\tilde h: M \to A\), so \(M\) is projective.
Suppose we have a SES \begin{align*} 0 \to A \xrightarrow{f} B \xrightarrow{g} C \to 0 .\end{align*} The claim is that \(\mathop{\mathrm{Hom}}_R(M, {})\) yields an exact sequence \begin{align*} 0 \to \mathop{\mathrm{Hom}}_R(M, A) \xrightarrow{f_*} \mathop{\mathrm{Hom}}_R(M, B) \xrightarrow{g_*} \mathop{\mathrm{Hom}}_R(M, C) \to \cdots ,\end{align*} where \(f_*(\alpha) = f \circ \alpha\) for \(\alpha:M\to A\) and similarly \(g_*(\beta) = g \circ \beta\) for \(\beta:M\to B\). To show that this is exact, it suffices to show three things:

\(\ker f_* = 0\),

\(\operatorname{im}f_* \subseteq \ker g_*\), and

\(\ker g_* \subseteq \operatorname{im}f_*\).
Proceeding with each part:

By definition, if \(\beta: M\to B\) satisfies \(\beta \in \ker f_*\), and thus \(f\beta = 0\). Since the original sequence was exact, \(f\) is injective, thus a monomorphism, thus satisfies the leftcancellation property. So we can immediately conclude that \(\beta = 0\).

Let \(\beta: M\to B\) be in \(\operatorname{im}f_*\), so there exists some \(\alpha: M\to A\) with \(\beta = f \alpha\). We want to show that \(\beta\in \ker g_*\), so we can apply \(g_*\) to obtain \(g_*(\beta) = g_*(f \alpha) \coloneqq g f \alpha\). But by exactness of the first sequence, \(gf = 0\), so \(gfa = 0\).

Let \(\beta' \in \ker g_*\), so \(g \beta' = 0\). In order to show \(\beta' \in \operatorname{im}f_*\), we want to construct some \(\alpha: M\to A\) such that \(\beta' = f_*( \alpha) \coloneqq f \alpha\). Considering \(m\in M\), we know \(g \beta'(m) =0\) and thus \(\beta'(m) \in \ker g = \operatorname{im}f\) by exactness of the first sequence. So there exists some \(a_m\in A\) with \(f(a_m) = \beta'(m)\), and we can define a map \begin{align*} \alpha: M\to A \\ m & \mapsto a_m .\end{align*} By construction, we then have \(f \alpha(m) = f(a_m) \coloneqq\beta'(m)\) for every \(m\in M\), so \(f \alpha = \beta'\).
Assume the same setup as (b).
\(\implies\): Suppose \(P\) is projective, so it satisfies the following universal property:
Using the results of (b), it suffices to check exactness at \(\mathop{\mathrm{Hom}}_R(P, C)\) in the following sequence: \begin{align*} 0 \xrightarrow{} \mathop{\mathrm{Hom}}_R(P, A) \xrightarrow{f_*} \mathop{\mathrm{Hom}}_R(P, B) \xrightarrow{g_*} \mathop{\mathrm{Hom}}_R(P, C) \to 0 ,\end{align*} or equivalently that \(g_*\) is surjective. Using that \(B \xrightarrow{g} C\to 0\) is exact if and only if \(g\) is surjective, the universal property above means that every \(\gamma \in \mathop{\mathrm{Hom}}_R(P, C)\) lifts to a map \(\tilde \gamma \in \mathop{\mathrm{Hom}}_R(P, B)\) where \(g\tilde \gamma = \gamma\). Since \(g_*(\tilde \gamma) \coloneqq g \tilde \gamma\), this precisely means that \(\gamma \in \operatorname{im}g_*\).
\(\impliedby\): Reversing the above argument, if \(\mathop{\mathrm{Hom}}_R(P, {})\) is exact, then every \(P \xrightarrow{\gamma} C\) has a preimage under \(g_*\), which is precisely a lift \(P \xrightarrow{\tilde \gamma} B\). So \(P\) satisfies the universal property of projective modules.