Snake lemma

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The snake lemma is a tool used in mathematics, particularly homological algebra, to construct long exact sequences. The snake lemma is valid in every abelian category and is a crucial tool in homological algebra and its applications, for instance in algebraic topology. Homomorphisms constructed with its help are generally called connecting homomorphisms.

Statement

[edit | edit source]

In an abelian category (such as the category of abelian groups or the category of vector spaces over a given field), consider a commutative diagram:

where the rows are exact sequences and 0 is the zero object.

Then there is an exact sequence relating the kernels and cokernels of a, b, and c:[1]0ker(f)kerakerbkercdcokeracokerbcokerccokerg0where d is a homomorphism, known as the connecting homomorphism.

Furthermore, if the morphism f is a monomorphism, then so is the morphism kerakerb, and if g' is an epimorphism, then so is cokerbcokerc.

The cokernels here are: cokera=A/ima, cokerb=B/imb, cokerc=C/imc.

Explanation of the name

[edit | edit source]

To see where the snake lemma gets its name, expand the diagram above as follows:

and then the exact sequence that is the conclusion of the lemma can be drawn on this expanded diagram in the reversed "S" shape of a slithering snake.

Construction of the maps

[edit | edit source]
An animation of the diagram chase to construct the map d by finding d(x) given some x in ker c
An animation of the construction of the map d

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 kerc and view it as an element of C. Since g is surjective, there exists y in B with g(y)=x. By 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). By injectivity of f, z is unique. 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 [2]).

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.

Naturality

[edit | edit source]

In the applications, one often needs to show that long exact sequences are "natural" (in the sense of natural transformations). This follows from the naturality of the sequence produced by the snake lemma.

If

commutative diagram with exact rows

is a commutative diagram with exact rows, then the snake lemma can be applied twice, to the "front" and to the "back", yielding two long exact sequences; these are related by a commutative diagram of the form

commutative diagram with exact rows

Example

[edit | edit source]

Let k be field, V be a k-vector space. V is k[t]-module by t:VV being a k-linear transformation, so we can tensor V and k over k[t].

Vk[t]k=Vk[t](k[t]/(t))=V/tV=coker(t).

Given a short exact sequence of k-vector spaces 0MNP0, we can induce an exact sequence Mk[t]kNk[t]kPk[t]k0 by right exactness of tensor product. But the sequence 0Mk[t]kNk[t]kPk[t]k0 is not exact in general. Hence, a natural question arises. Why is this sequence not exact?

According to the diagram above, we can induce an exact sequence ker(tM)ker(tN)ker(tP)Mk[t]kNk[t]kPk[t]k0 by applying the snake lemma. Thus, the snake lemma reflects the tensor product's failure to be exact.

In the category of groups

[edit | edit source]

Whether the snake lemma holds in the category of groups depends on the definition of cokernel. If f:AB is a homomorphism of groups, the universal property of the cokernel is satisfied by the natural map BB/N(imf), where N(imf) is the normalization of the image of f. The snake lemma fails with this definition of cokernel: The connecting homomorphism can still be defined, and one can write down a sequence as in the statement of the snake lemma. This will always be a chain complex, but it may fail to be exact.

If one simply replaces the cokernels in the statement of the snake lemma with the (right) cosets A/ima,B/imb,C/imc, the lemma is still valid. The quotients however are not groups, but pointed sets (a short sequence (X,x)(Y,y)(Z,z) of pointed sets with maps f:XY and g:YZ is called exact if f(X)=g1(z)).

Counterexample to snake lemma with categorical cokernel

[edit | edit source]

Consider the alternating group A5: this contains a subgroup isomorphic to the symmetric group S3, which in turn can be written as a semidirect product of cyclic groups: S3C3C2.[3] This gives rise to the following diagram with exact rows:

1C3C3111S3A5

Note that the middle column is not exact: C2 is not a normal subgroup in the semidirect product.

Since A5 is simple, the right vertical arrow has trivial cokernel. Meanwhile the quotient group S3/C3 is isomorphic to C2. The sequence in the statement of the snake lemma is therefore

1111C21,

which indeed fails to be exact.

[edit | edit source]

The proof of the snake lemma is taught by Jill Clayburgh's character at the very beginning of the 1980 film It's My Turn.[4]

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lang 2002, p. 159
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]