[proofplan]
We prove that $n$ is an isomorphism by two diagram chases: first we show $n$ is injective (assuming $\ell$ is surjective and $m$ is injective), then we show $n$ is surjective (assuming $p$ is surjective and $q$ is injective). Each chase follows elements through the commutative diagram, using exactness at every node to lift, project, or annihilate elements as needed.
[/proofplan]
[step:Prove injectivity of $n$]
Suppose $n(c) = 0$ for some $c \in C$. We must show $c = 0$.
Since $n(c) = 0$ and $t \circ n = p \circ h$ (commutativity of the third square), we have $p(h(c)) = t(n(c)) = t(0) = 0$. Since $p$ is an isomorphism (hence injective), $h(c) = 0$.
By exactness of the top row at $C$, $\ker(h) = \operatorname{im}(g)$, so there exists $b \in B$ with $g(b) = c$.
Consider $s(m(b)) \in C'$. By commutativity of the second square, $s(m(b)) = n(g(b)) = n(c) = 0$. By exactness of the bottom row at $B'$, $\ker(s) = \operatorname{im}(r)$, so there exists $a' \in A'$ with $r(a') = m(b)$.
Since $\ell$ is surjective, there exists $a \in A$ with $\ell(a) = a'$. By commutativity of the first square, $m(f(a)) = r(\ell(a)) = r(a') = m(b)$. Since $m$ is an isomorphism (hence injective), $f(a) = b$.
Therefore $c = g(b) = g(f(a))$. By exactness of the top row at $B$, $\operatorname{im}(f) = \ker(g)$, so $g(f(a)) = 0$. Hence $c = 0$.
[guided]
The chase proceeds "leftward" through the diagram. We want to show $c = 0$ given $n(c) = 0$.
First, push $c$ to the right: $h(c) \in D$. By commutativity, $p(h(c)) = t(n(c)) = 0$. Since $p$ is injective (it is an isomorphism), $h(c) = 0$. This places $c \in \ker(h) = \operatorname{im}(g)$, so we can "lift" $c$ to some $b \in B$ with $g(b) = c$.
Now push $b$ downward: $m(b) \in B'$. We compute $s(m(b)) = n(g(b)) = n(c) = 0$, so $m(b) \in \ker(s) = \operatorname{im}(r)$. Lift again: there exists $a' \in A'$ with $r(a') = m(b)$.
Since $\ell$ is surjective, lift $a'$ to $a \in A$ with $\ell(a) = a'$. Then $m(f(a)) = r(\ell(a)) = r(a') = m(b)$. Since $m$ is injective, $f(a) = b$.
Finally, $c = g(b) = g(f(a)) = 0$ by exactness at $B$ (since $f(a) \in \operatorname{im}(f) = \ker(g)$). This completes the injectivity argument.
Notice which hypotheses we used: injectivity of $m$ (used once), injectivity of $p$ (used once), and surjectivity of $\ell$ (used once). We did not need $q$ at all for injectivity.
[/guided]
[/step]
[step:Prove surjectivity of $n$]
Let $c' \in C'$. We must find $c \in C$ with $n(c) = c'$.
Compute $t(c') \in D'$. Since $p$ is an isomorphism (hence surjective), there exists $d \in D$ with $p(d) = t(c')$.
Consider $u(p(d)) = u(t(c'))$. By exactness of the bottom row at $D'$, $\operatorname{im}(t) \subset \ker(u)$, so $u(t(c')) = 0$. By commutativity of the fourth square, $q(j(d)) = u(p(d)) = u(t(c')) = 0$. Since $q$ is injective, $j(d) = 0$.
By exactness of the top row at $D$, $\ker(j) = \operatorname{im}(h)$, so there exists $c \in C$ with $h(c) = d$.
Now consider the element $n(c) - c' \in C'$. We compute $t(n(c) - c') = t(n(c)) - t(c') = p(h(c)) - t(c') = p(d) - t(c') = 0$ (by commutativity and the choice of $d$). By exactness of the bottom row at $C'$, $\ker(t) = \operatorname{im}(s)$, so there exists $b' \in B'$ with $s(b') = n(c) - c'$.
Since $m$ is an isomorphism (hence surjective), there exists $b \in B$ with $m(b) = b'$. By commutativity of the second square, $n(g(b)) = s(m(b)) = s(b') = n(c) - c'$. Therefore $n(c - g(b)) = n(c) - n(g(b)) = n(c) - (n(c) - c') = c'$.
Setting $\tilde{c} = c - g(b)$, we have $n(\tilde{c}) = c'$, proving surjectivity.
[guided]
The chase for surjectivity proceeds by first constructing an approximate preimage and then correcting the error.
Given $c' \in C'$, push it right to $t(c') \in D'$. Since $p$ is surjective, lift to $d \in D$ with $p(d) = t(c')$. We need to check that $d$ comes from the top row. Compute: $q(j(d)) = u(p(d)) = u(t(c')) = 0$, where the last equality is exactness at $D'$ (since $c'$ was hit by $t$, we have $t(c') \in \operatorname{im}(t) = \ker(u)$... actually we need $u(t(c')) = 0$, which follows from exactness: $\operatorname{im}(t) \subset \ker(u)$). Since $q$ is injective, $j(d) = 0$, so $d \in \ker(j) = \operatorname{im}(h)$. Lift: there exists $c \in C$ with $h(c) = d$.
Now $n(c)$ is our candidate preimage, but it may not equal $c'$. How far off is it? Compute $t(n(c) - c') = p(h(c)) - t(c') = p(d) - t(c') = 0$. So the error $n(c) - c'$ lies in $\ker(t) = \operatorname{im}(s)$. Lift: there exists $b' \in B'$ with $s(b') = n(c) - c'$.
Since $m$ is surjective, lift $b'$ to $b \in B$. Then $n(g(b)) = s(m(b)) = s(b') = n(c) - c'$, so $n(c - g(b)) = c'$. The element $\tilde{c} = c - g(b)$ is the desired preimage.
Notice which hypotheses we used: surjectivity of $m$ and $p$ (to lift elements), injectivity of $q$ (to deduce $j(d) = 0$), and exactness at every node.
[/guided]
[/step]
[step:Conclude that $n$ is an isomorphism]
Having established that $n: C \to C'$ is both injective and surjective, we conclude that $n$ is an isomorphism.
[/step]