The snake lemma says: suppose we have two exact sequences of $R$-modules
$M_1 \xrightarrow{f_M} M_2 \xrightarrow{g_M} M_3 \rightarrow 0$
$0\rightarrow N_1 \xrightarrow{f_N} N_2 \xrightarrow{g_N} N_3$
with homomorphisms $\alpha_i : M_i \rightarrow N_i$ for $1\leq i \leq 3$. Then there exists a connecting homomorphism $\delta : \ker \alpha_3 \rightarrow \operatorname{coker} \alpha_1$ such that the induced sequence
$\ker \alpha_1 \rightarrow \ker\alpha_2\rightarrow\ker\alpha_3 \xrightarrow{\delta}\operatorname{coker}\alpha_1\rightarrow\operatorname{coker}\alpha_2\rightarrow \operatorname{coker}\alpha_3$
is exact.
I've included my proof so far, but I'm having problems showing $\delta$ is well-defined. The map is constructed as follows: take $x\in\ker\alpha_3$. By exactness of the first sequence $g_M$ is an epimorphism so there exists $y\in M_2$ with $g_M (y)=x$, and since the diagram (which I've unfortunately not been able to draw but it is on the Wikipedia page) commutes we have $g_N (\alpha_2 (y)) = \alpha_3 (g_M (y)) = \alpha_3 (x) = 0$. Therefore $\alpha_2 (y)\in\ker g_N=\operatorname{im} f_N$ and by exactness of the second sequence $f_N$ is a monomorphism, so there exists a unique $z\in N_1$ with $f_N (z) = \alpha_2 (y)$. We define $\delta: \ker \alpha_3 \rightarrow \operatorname{coker} \alpha_1$ by $x\mapsto z+\operatorname{im}\alpha_1$.
To show $\delta$ is well-defined, suppose $x_1=x_2\in\ker\alpha_3$. Then we have $y_i\in M_2, z_i\in N_1$ ($i=1,2$) by the above construction. Now $y_1 - y_2$ also satisfies $\alpha_2 (y_1 - y_2)\in\ker g_N$ so it there exists $z^*\in N_1$ with $f_N (z^*) = \alpha(y_1-y_2) = f_N (z_1 - z_2)$; by injectivity of $f_N$ we have $z_1 = z_2 + z^*$. So to show $\delta$ is well-defined we need to show $z^*\in\operatorname{im}\alpha_1$.
Could anyone give me any pointers on how to do this? Thanks very much!