[proofplan]
We prove the first assertion by applying the [Snake Lemma](/theorems/???) to the diagram formed by the top and middle rows. Since the three columns are short exact, the vertical morphisms from the top row to the middle row have zero kernels and have cokernels canonically identified with $A''$, $B''$, and $C''$. The exact sequence supplied by the [Snake Lemma](/theorems/1930) is therefore exactly the bottom row. The dual assertion follows by applying the first assertion in the opposite abelian category.
[/proofplan]
[step:Apply the Snake Lemma to the top two rows]
Consider the commutative diagram
\begin{align*}
\begin{array}{ccccccccc}
0 & \to & A' & \xrightarrow{f'} & B' & \xrightarrow{g'} & C' & \to & 0 \\
& & \downarrow^{\alpha'} & & \downarrow^{\beta'} & & \downarrow^{\gamma'} & & \\
0 & \to & A & \xrightarrow{f} & B & \xrightarrow{g} & C & \to & 0 .
\end{array}
\end{align*}
By hypothesis, both displayed rows are short exact sequences, and the squares commute:
\begin{align*}
\beta' f' = f \alpha',
\qquad
\gamma' g' = g \beta'.
\end{align*}
Thus the hypotheses of the [Snake Lemma](/theorems/???) are satisfied: the two rows are short exact and the two squares commute. Applying it to the vertical morphisms $\alpha'$, $\beta'$, and $\gamma'$ gives an exact sequence
\begin{align*}
0 \to \ker(\alpha') \to \ker(\beta') \to \ker(\gamma')
\to \operatorname{coker}(\alpha') \to \operatorname{coker}(\beta') \to \operatorname{coker}(\gamma') \to 0.
\end{align*}
[guided]
We use the Snake Lemma on the upper two rows because those are the rows assumed to be short exact. The relevant diagram is
\begin{align*}
\begin{array}{ccccccccc}
0 & \to & A' & \xrightarrow{f'} & B' & \xrightarrow{g'} & C' & \to & 0 \\
& & \downarrow^{\alpha'} & & \downarrow^{\beta'} & & \downarrow^{\gamma'} & & \\
0 & \to & A & \xrightarrow{f} & B & \xrightarrow{g} & C & \to & 0 .
\end{array}
\end{align*}
The [Snake Lemma](/theorems/???) requires two short exact rows and a commutative diagram between them. The short exactness of the two rows is one of the hypotheses in the first part of the theorem. Commutativity is also part of the given diagram, so the two identities
\begin{align*}
\beta' f' = f \alpha',
\qquad
\gamma' g' = g \beta'
\end{align*}
hold. Therefore the Snake Lemma applies to the vertical morphisms $\alpha': A' \to A$, $\beta': B' \to B$, and $\gamma': C' \to C$.
The Snake Lemma produces the exact sequence
\begin{align*}
0 \to \ker(\alpha') \to \ker(\beta') \to \ker(\gamma')
\to \operatorname{coker}(\alpha') \to \operatorname{coker}(\beta') \to \operatorname{coker}(\gamma') \to 0.
\end{align*}
This is the bridge between the known exactness of the top and middle rows and the desired exactness of the bottom row: the bottom objects will appear as the cokernels of the vertical maps.
[/guided]
[/step]
[step:Identify the cokernel part of the Snake Lemma sequence with the bottom row]
Since the first column
\begin{align*}
0 \to A' \xrightarrow{\alpha'} A \xrightarrow{\alpha} A'' \to 0
\end{align*}
is short exact, $\alpha'$ is a kernel of $\alpha$ and $\alpha$ is a cokernel of $\alpha'$. Hence $\ker(\alpha') = 0$ and $\operatorname{coker}(\alpha') \cong A''$. Similarly,
\begin{align*}
\ker(\beta') = 0,\qquad \operatorname{coker}(\beta') \cong B'',
\end{align*}
and
\begin{align*}
\ker(\gamma') = 0,\qquad \operatorname{coker}(\gamma') \cong C''.
\end{align*}
Under these cokernel identifications, the morphism
\begin{align*}
\operatorname{coker}(\alpha') \to \operatorname{coker}(\beta')
\end{align*}
induced by $f$ is precisely $f'': A'' \to B''$, because commutativity gives
\begin{align*}
\beta f = f'' \alpha.
\end{align*}
Likewise, the morphism
\begin{align*}
\operatorname{coker}(\beta') \to \operatorname{coker}(\gamma')
\end{align*}
induced by $g$ is precisely $g'': B'' \to C''$, because commutativity gives
\begin{align*}
\gamma g = g'' \beta.
\end{align*}
Therefore the Snake Lemma exact sequence reduces to
\begin{align*}
0 \to A'' \xrightarrow{f''} B'' \xrightarrow{g''} C'' \to 0.
\end{align*}
Thus the bottom row is short exact.
[guided]
The columns tell us exactly what the kernels and cokernels in the Snake Lemma sequence are. From the first column
\begin{align*}
0 \to A' \xrightarrow{\alpha'} A \xrightarrow{\alpha} A'' \to 0
\end{align*}
being short exact, the morphism $\alpha'$ is monic, so $\ker(\alpha') = 0$. Also, $\alpha$ is a cokernel of $\alpha'$, so $\operatorname{coker}(\alpha') \cong A''$. Applying the same reasoning to the other two columns gives
\begin{align*}
\ker(\beta') = 0,\qquad \operatorname{coker}(\beta') \cong B'',
\end{align*}
and
\begin{align*}
\ker(\gamma') = 0,\qquad \operatorname{coker}(\gamma') \cong C''.
\end{align*}
It remains to check that the maps between these cokernels are the bottom-row maps, not merely some abstract maps. The map $\operatorname{coker}(\alpha') \to \operatorname{coker}(\beta')$ in the Snake Lemma sequence is induced by $f: A \to B$. Since the lower-left square commutes,
\begin{align*}
\beta f = f'' \alpha.
\end{align*}
This identity is exactly the universal-property statement saying that the map induced by $f$ on cokernels is $f'': A'' \to B''$. Similarly, the map $\operatorname{coker}(\beta') \to \operatorname{coker}(\gamma')$ is induced by $g: B \to C$, and the lower-right square commutes:
\begin{align*}
\gamma g = g'' \beta.
\end{align*}
Thus the induced cokernel map is $g'': B'' \to C''$.
After substituting these identifications into the exact sequence supplied by the Snake Lemma, the three zero kernels disappear and the cokernel part becomes
\begin{align*}
0 \to A'' \xrightarrow{f''} B'' \xrightarrow{g''} C'' \to 0.
\end{align*}
Exactness of this sequence means precisely that $f''$ is monic, $g''$ is epic, and $\operatorname{im}(f'') = \ker(g'')$. Hence the bottom row is short exact.
[/guided]
[/step]
[step:Deduce the dual assertion in the opposite abelian category]
The opposite category $\mathcal{A}^{\operatorname{op}}$ is again abelian. In $\mathcal{A}^{\operatorname{op}}$, every short exact sequence in $\mathcal{A}$ is read with all arrows reversed and remains short exact. Therefore the original bottom and middle rows become the top and middle short exact rows of the reversed diagram, and the three original columns remain short exact after reversal. Applying the first assertion in $\mathcal{A}^{\operatorname{op}}$ gives short exactness of the remaining row in the reversed diagram, which is exactly the original top row in $\mathcal{A}$. This proves the dual statement and completes the proof.
[guided]
The dual statement is obtained by reversing arrows. Let $\mathcal{A}^{\operatorname{op}}$ denote the opposite category of the given abelian category $\mathcal{A}$. The opposite category is again abelian, and a sequence is short exact in $\mathcal{A}$ exactly when the reversed sequence is short exact in $\mathcal{A}^{\operatorname{op}}$, because kernels in $\mathcal{A}$ become cokernels in $\mathcal{A}^{\operatorname{op}}$ and cokernels in $\mathcal{A}$ become kernels in $\mathcal{A}^{\operatorname{op}}$.
Assume now that the bottom two rows of the original diagram are short exact. After passing to $\mathcal{A}^{\operatorname{op}}$, the original bottom row is read as the top row of the reversed diagram and the original middle row is read as the middle row of the reversed diagram. These two rows are short exact in $\mathcal{A}^{\operatorname{op}}$. The original columns were short exact in $\mathcal{A}$, so their reversals are short exact columns in $\mathcal{A}^{\operatorname{op}}$. The commutativity of the original diagram is preserved under reversing arrows, since equality of morphism composites remains equality of the reversed composites.
Thus all hypotheses of the first assertion, already proved above, hold in $\mathcal{A}^{\operatorname{op}}$. The first assertion gives that the remaining row of the reversed diagram is short exact in $\mathcal{A}^{\operatorname{op}}$. Reversing back to $\mathcal{A}$, that remaining row is precisely the original top row. Hence, if the bottom two rows are short exact, then the top row is short exact.
[/guided]
[/step]