Snake lemma
Construction of the maps

The maps between the kernels and the maps between the cokernels are induced in a natural manner by the given (horizontal) maps because of the diagram's commutativity. The exactness of the two induced sequences follows in a straightforward way from the exactness of the rows of the original diagram. The important statement of the lemma is that a connecting homomorphism d exists which completes the exact sequence.

In the case of abelian groups or modules over some ring, the map d can be constructed as follows:

Pick an element x in ker c and view it as an element of C; since g is surjective, there exists y in B with g (y) = x. Because of the commutativity of the diagram, we have g' (b (y)) = c (g (y)) = c (x) = 0 (since x is in the kernel of c), and therefore b (y) is in the kernel of g'. Since the bottom row is exact, we find an element z in A' with f '(z) = b (y). z is unique by injectivity of f '. We then define d (x) = z + im (a). Now one has to check that d is well-defined (i.e., d (x) only depends on x and not on the choice of y), that it is a homomorphism, and that the resulting long sequence is indeed exact. One may routinely verify the exactness by diagram chasing (see the proof of Lemma 9.1 in).

Once that is done, the theorem is proven for abelian groups or modules over a ring. For the general case, the argument may be rephrased in terms of properties of arrows and cancellation instead of elements. Alternatively, one may invoke Mitchell's embedding theorem.
startend:end_checker, keywords:frequency