nLab salamander lemma



Diagram chasing lemmas

Homological algebra

homological algebra

(also nonabelian homological algebra)



Basic definitions

Stable homotopy theory notions



diagram chasing

Schanuel's lemma

Homology theories




The salamander lemma is a fundamental lemma in homological algebra providing information on the relation between homology groups at different positions in a double complex.

By a simple consequence illustrated in remark below, all the standard diagram chasing lemmas of homological algebra are direct and transparent consequences of the salamander lemma, such as the 3x3 lemma, the four lemma, hence the five lemma, the snake lemma, and also the long exact sequence in cohomology corresponding to a short exact sequence.

These lemmas are all classical, but their traditional proofs are, while elementary, not very illuminating. The Salamander lemma serves to make the mechanism behind these lemmas more transparent and also to make evident a host of further lemmas of this kind not traditionally considered, such as an nxn lemma for all nn \in \mathbb{N}.

The Salamander lemma

The Salamander lemma, prop. below, is a statement about the exactness of a sequence naturally associated with any morphism in a double complex. In the Preliminaries we first introduce this sequence itself.



(general assumption/convention)

As always in homological algebra, when we consider elements of objects in the ambient abelian category 𝒜\mathcal{A} it is either assumed that 𝒜\mathcal{A} is of the form RRMod for some ring RR, or that one of the embedding theorems has been used to embed it into such, by a faithful and exact functor, so that these elements are actual elements of the sets underlying these modules.

In the following, many of the proofs are spelled out in terms of elements this way, and we will not always repeat this assumption. This should help to amplify how utterly elementary the salamander lemma is. But explicitly element-free/general abstract proofs can of course be given without much more effort, too, see Wise.


Let A A_{\bullet \bullet} be a double complex in some abelian category 𝒜\mathcal{A}, hence a chain complex of chain complexes A ,Ch (Ch (𝒜))A_{\bullet, \bullet} \in Ch_\bullet(Ch_\bullet(\mathcal{A})), hence a diagram of the form

vert vert A n,m hor A n1,m vert vert A n,m1 hor A n1,m1 vert vert \array{ && \vdots && \vdots \\ & & \downarrow^{\mathrlap{\partial^{vert}}} && \downarrow^{\mathrlap{\partial^{vert}}} \\ \cdots &\to & A_{n,m} &\stackrel{\partial^{hor}}{\to}& A_{n-1,m} & \to & \cdots \\ & & \downarrow^{\mathrlap{\partial^{vert}}} && \downarrow^{\mathrlap{\partial^{vert}}} \\ \cdots &\to & A_{n,m-1} &\stackrel{\partial^{hor}}{\to}& A_{n-1,m-1} & \to & \cdots \\ & & \downarrow^{\mathrlap{\partial^{vert}}} && \downarrow^{\mathrlap{\partial^{vert}}} \\ && \vdots && \vdots }

where hor hor=0\partial^{hor} \circ \partial^{hor} = 0, where vert vert=0\partial^{vert} \circ \partial^{vert} = 0 and where all squares commute, hor vert= vert hor\partial^{hor} \circ \partial^{vert} = \partial^{vert} \circ \partial^{hor}.

Let AA klA \coloneqq A_{k l} be any object in the double complex at any position (k,l)(k,l). This is the source and target of horizontal, vertical and diagonal (unique composite of a horizontal and a vertical) morphisms to be denoted as follows:

in diag in vert in hor A out hor out vert out diag. \array{ ^\mathllap{\partial_{in}^{diag}} \searrow & \downarrow^{\mathrlap{\partial_{in}^{vert}}} \\ \stackrel{\partial_{in}^{hor}}{\to} & A & \stackrel{\partial_{out}^{hor}}{\to} \\ & ^\mathllap{\partial_{out}^{vert}} \downarrow & \searrow^{\mathrlap{\partial_{out}^{diag}}} } \,.


  • A horker( out hor)/im( in hor)𝒜A^{hor} \coloneqq ker (\partial^{hor}_{out}) / im (\partial^{hor}_{in}) \in \mathcal{A} – the horizontal chain homology at XX;

  • A vertker( out vert)/im( in vert)𝒜A^{vert} \coloneqq ker (\partial^{vert}_{out}) / im (\partial^{vert}_{in}) \in \mathcal{A} – the vertical chain homology at XX;

  • Aker( out hor)ker( out vert)im( in diag)𝒜{}^{\Box}A \coloneqq \frac{ker (\partial^{hor}_{out}) \cap ker(\partial^{vert}_{out})}{im(\partial^{diag}_{in})} \in \mathcal{A} – the “receptor” at AA;

  • A ker( out diag)im( in hor)+im( in vert)A_{\Box}\coloneqq \frac{ker (\partial^{diag}_{out}) }{ im(\partial^{hor}_{in}) + im(\partial^{vert}_{in})} – the “donor” at AA;


  • ker()ker(-) denotes the kernel of a map,

  • im()im(-) the image of a map,

  • N 1N 2\frac{N_1}{N_2} the quotient module of the module N 1N_1 by a submodule N 2N 1N_2 \hookrightarrow N_1,

  • N 1+N 2N_1 + N_2 the sum of two submodules (i.e., their join in the lattice of submodules under inclusion).


The identity on representatives in AA induces a commuting diagram of homomorphisms from the donor of AA to the receptor of AA, def. , via the horizontal and vertical homology groups at AA:

A A vert A hor A . \array{ && {}^\Box A \\ & \swarrow && \searrow \\ A^{vert} &&&& A^{hor} \\ & \searrow && \swarrow \\ && A_\Box \,. }

These morphisms are to be called the intramural maps of AA.

This is immediate, here is one way to make it fully explicit:


The statement that the top two morphisms exist and are given by the identity on representatives is that if [a] A[a] \in {}^\Box A is represented by aAa \in A, then aa also represents an element in A horA^{hor} and A vertA^{vert}. But this is the very definition of A{}^\Box A: being a quotient module of ker( out vert)ker( out hor)ker(\partial^{vert}_{out}) \cap ker(\partial^{hor}_{out}) means that its elements are represented by elements of AA that are annihiliated by both out vert\partial^{vert}_{out} and out hor\partial^{hor}_{out}. Moreover if [a] A[a] \in {}^\Box A is 0 then aa also represents the 0-element in A horA^{hor} and in A vertA^{vert}, because by definition of A{}^\Box A it is then in the image of hor vert= vert hor\partial^{hor} \circ \partial^{vert} = \partial^{vert} \circ \partial^{hor}. Moreover it is clear that everything respects addition of module elements and the action by the ring RR, hence the top morphisms are well defined module homomorphisms.

Similarily the bottom two morphisms exist and are given by the identity on representatives by the very definition of A A_{\Box}: this being a quotient of the kernel of vert hor= hor vert\partial^{vert} \partial^{hor} = \partial^{hor} \partial^{vert} it contains in particular the elements that are represented in AA by elements in the kernel of hor\partial^{hor} and in the kernel of of vert\partial^{vert} separately. And if [a][a] is the 0-element in A horA^{hor} or A vertA^{vert} then aa is in the image of hor\partial^{hor} or of vert\partial^{vert}, respectively, and since these two images are quotiented out to obtain A A_{\Box}, such aa also represent the 0-element there.


In lemma “intramural” is meant to allude to the fact that these morphisms go between objects that all come from AA and hence remain “in the context of AA”. The “extramural” maps to follow in lemma below instead go from objects associated to some AA to objects associated to some BB, so they go “out of the context of AA”.


Any vertical or horizontal morphism :AB\partial : A \to B in the double complex induces a homomorphism

A B A_\Box \to {}^\Box B

from the donor of AA to the receptor of BB, def. , called the extramural map associated with \partial.

Again this is immediate, here is one way to make it explicit:


We discuss the case that = hor\partial = \partial^{hor} is a horizontal differential. The other case works verbatim the same way, only with the roles of hor\partial^{hor} and vert\partial^{vert} interchanged.

By definition , an [a]A [a] \in A_{\Box} is represented by an aAa \in A for which vert hora=0\partial^{vert}\partial^{hor} a = 0. The claim is that hora\partial^{hor} a then represents an element in B{}^{\Box}B such that this is a module homomorphism.

  • We have vert( hora)=0\partial^{vert} (\partial^{hor} a) = 0 by assumption on aa and hor( hora)=0\partial^{hor} (\partial^{hor} a) = 0 by the chain complex property. Hence hora\partial^{hor} a represents an element in B{}^{\Box} B.

  • If [a]=0[a] = 0 then there is cc such that a= horca = \partial^{hor} c or dd such that a= vertda = \partial^{vert} d. In the first case the chain complex property gives that hora= hor horc=0\partial^{hor}a = \partial^{hor}\partial^{hor}c = 0 and hence [ hora]=0[\partial^{hor} a] = 0 in B{}^\Box B, in the second hora= hor vertd\partial^{hor}a = \partial^{hor}\partial^{vert} d which is also 0 in B{}^\Box B since this is the quotient by im( hor vert)im(\partial^{hor} \partial^{vert}).


(central idea on diagram chasing)

It is useful in computations, such as those shown below in Implications - The diagram chasing lemmas, to draw the extramural morphisms of lemma as follows.

  1. For a horizontal hor:AB\partial^{hor} \colon A \to B we draw the induced extramural map as

    A B . \array{ &&& \Box \\ A && \nearrow & & B \\ & \Box } \,.
  2. For a vertical vert:AB\partial^{vert} \colon A \to B we draw the induced extramural map as

    A B \array{ & A \\ && \Box \\ & \swarrow \\ \Box \\ & B }

This notation makes it manifest that in every double complex X ,X_{\bullet, \bullet} the extramural maps form long diagonal zigzags between donors and receptors

X k,l+1 X k+1,l X k,l X k+1,l1 . \array{ && &&&&&&&& \udots \\ && &&&&& X_{k, l+1} && \nearrow \\ && &&&&&& \Box \\ && &&&&& \swarrow \\ && &&&& \Box \\ && &X_{k+1,l} && \nearrow & & X_{k,l} \\ && && \Box \\ && &\swarrow \\ && \Box \\ & \nearrow & & X_{k+1, l-1} \\ \udots } \,.

But moreover, the intramural maps relate the donors and receptors in particular at the far end of these zigzags back to the actual homology groups of interest:

B X k,l+1 B hor X k+1,l X k,l A hor X k+1,l1 A . \array{ && && && &&&&&&&& & \Box \\ && && && &&&&& && & \udots && B \\ && && && &&&&& X_{k, l+1} && \nearrow & && & \searrow \\ && && && &&&&& & \Box && && & & B^{hor} \\ && & & && &&&&& \swarrow \\ && & & && &&&& \Box \\ && & & && &X_{k+1,l} && \nearrow & & X_{k,l} \\ && & & && && \Box \\ && & & && &\swarrow \\ A^{hor} && & & && \Box \\ &\searrow & & & & \nearrow & & X_{k+1, l-1} \\ && A & & \udots \\ && & \Box } \,.

This means that in order to get “far diagonal identifications” of homology groups in a double complex, all one needs is sufficient conditions that all the intramural and extramural maps in a “long salamander” like this are isomorphisms.

These turn out to be certain exactness conditions to be checked/imposed locally at each of the positions involved in a long salamander like this discussed in Intramural and extramural isomorphism below. All the long diagonal identifications of the standard diagram chasing lemmas follows by piecing together such long salamanders. This is discussed in the Implications below.


Moreover, it is useful to combine the extramural notation of remark with the evident diagonal notation for the intramural maps, lemma , which allow extramural maps to “enter at the receptor” and “exit at the donor” of a given entry in the double complex. Together these two notations yield for every piece of a double complex of the form

C vert A hor B vert D \array{ C \\ \downarrow^{\mathrlap{\partial^{vert}}} \\ A &\stackrel{\partial^{hor}}{\to}& B \\ && \downarrow^{\mathrlap{\partial^{vert}}} \\ && D }

the salamander-shaped diagrams of mural maps

C A B D. \array{ & C \\ && \Box \\ & \swarrow \\ \Box &&& & \Box \\ & A && \nearrow & & B \\ && \Box & && & \Box \\ &&&&& \swarrow \\ &&&& \Box \\ &&&&& D } \,.

These give the salamander lemma, prop. below, its name.


For hor:AB\partial^{hor} : A \to B any horizontal morphism in the double complex, the canonically induced morphism A vertB vertA^{vert} \to B^{vert} on vertical homology is the composite of the above intramural and extramural maps:

A vertA BB vert. A^{vert} \to A_{\Box} \to {}^\Box B \to B^{vert} \,.

By the above, on representatives the first map is the identity, the second is hor\partial^{hor} and the third again the identity. Hence the total map is given on representative by hor\partial^{hor}.



(Salamander lemma)

If a diagram

C vert A hor B vert D \array{ C \\ \downarrow^{\mathrlap{\partial^{vert}}} \\ A &\stackrel{\partial^{hor}}{\to}& B \\ && \downarrow^{\mathrlap{\partial^{vert}}} \\ && D }

is part of a double complex in an abelian category, then there is a 6-term long exact sequence running horizontally in

A C A hor A B B hor D B , \array{ && {}^\Box A \\ & \nearrow && \searrow \\ C_\Box &&\to&& A^{hor} &\to& A_{\Box} &\to& {}^{\Box} B &\to& B^{hor} &&\to&& {}^{\Box}D \\ && && && && && & \searrow && \nearrow \\ && && && && && && B_{\Box} } \,,

where all the elementary morphisms are the unique intramural maps from lemma and the extramural maps from lemma – they are the morphisms of the salamander diagram of remark .

Similarly, if a diagram

C hor A vert B hor D \array{ C &\stackrel{\partial^{hor}}{\to}& A \\ && \downarrow^{\mathrlap{\partial^{vert}}} \\ && B &\stackrel{\partial^{hor}}{\to}& D }

is part of a double complex, then there is a 6-term long exact sequence running horizontally in

A C A vert A B B vert D B \array{ && {}^\Box A \\ & \nearrow & & \searrow \\ C_\Box &&\to&& A^{vert} &\to& A_{\Box} &\to& {}^\Box B &\to& B^{vert} &&\to&& {}^\Box D \\ && && && && && & \searrow && \nearrow \\ && && && && && && B_\Box } \,

This is Bergman, lemma 1.7.


We spell out the proof of the first case. That of the second case is verbatim the same, only with the roles of hor\partial^{hor} and vert\partial^{vert} interchanged.

By lemmas and , all the maps are given on representatives either by identities or by the differentials of the double complex themselves. Using this we may check exactness at each position explicitly:

  1. exactness at C A horA C_\Box \to A^{hor} \to A_\Box.

    An element [a]A hor[a] \in A^{hor} is in the kernel of A horA A^{hor} \to A_{\Box} if there is cc and dd such that a= vertc+ horda = \partial^{vert}c + \partial^{hor} d. The cc that satisfy this equation hence satisfy hor vertc=0\partial^{hor}\partial^{vert} c = 0, hence represent elements in C C_\Box and so the map hor:C A hor\partial^{hor} : C_\Box \to A^{hor} hits all of the kernel of A horA A^{hor}\to A_\Box. Also it clearly hits at most this kernel.

  2. exactness at A horA BA^{hor} \to A_\Box \to {}^\Box B.

    Suppose [a]A [a] \in A_\Box is in the kernel of A BA_\Box \to {}^\Box B. This means that there is cc such that hora= hor vertc\partial^{hor}a = \partial^{hor} \partial^{vert}c, hence that hor(a vertc)=0\partial^{hor} (a-\partial^{vert} c) = 0. But [a]=[a vertc]A [a] = [a - \partial^{vert}c] \in A_{\Box} and so this says that [a][a] is the image under A horA A^{hor} \to A_{\Box} of the element represented there by a vertca - \partial^{vert} c. Conversely, clearly everything in that image is in the kernel of A BA_\Box \to {}^\Box B.

  3. exactness at A BB horA_\Box \to {}^\Box B \to B^{hor}

    An element [b] B[b] \in {}^\Box B is in the kernel of BB hor{}^\Box B \to B^{hor} if there is aa such that hora=b\partial^{hor} a = b. But since the representative bb of [b] B[b] \in {}^\Box B has to satisfy in particular vertb=0\partial^{vert} b = 0 it follows that hor verta=0\partial^{hor} \partial^{vert}a = 0 and hence that aa represents an element in A A_{\Box}, hence that [b][b] is in the image of A BA_{\Box} \to {}^{\Box }B. Conversely, clearly every element in that image is in the kernel of BB hor{}^\Box B \to B^{hor}.

  4. exactness at BB hor D{}^\Box B \to B^{hor} \to {}^\Box D

    An element [b]B hor[b] \in B^{hor} is in the kernel of B hor DB^{hor} \to {}^\Box D if there is aa with vertb= vert hora\partial^{vert} b = \partial^{vert} \partial^{hor} a, hence vert(b hora)=0\partial^{vert}(b - \partial^{hor}a) = 0 Since in addition hor(b hora)=0\partial^{hor}(b - \partial^{hor}a) = 0 by assumption on bb and the chain complex property, this says that [b]=[b hora][b] = [b - \partial^{hor} a] is in the image of BB hor{}^\Box B \to B^{hor}. Moreover, clearly everything in this image is in the kernel of B hor DB^{hor} \to {}^\Box D.

Intramural and extramural isomorphisms

The following two statements are direct consequences (special cases) of the salamander lemma, prop. . They give sufficient conditions for the intramural and the extramural maps, lemma and lemma , to be isomorphisms. All of the standard diagram chasing lemmas in homological algebra follow in a natural way from combining these intramural isomorphisms with long zigzags of these extramural isomorphisms. This is discussed below in The basic diagram chasing lemmas.


(extramural isomorphisms)

If the rows of a double complex are exact at the domain and codomain of a horizontal morphism hor:AB\partial^{hor} : A \to B, i.e. if A hor=0A^{hor} = 0 and B hor=0B^{hor} = 0, then the extramural map of lemma

A B A_{\Box} \to {}^\Box B

is an isomorphism.

Similarly if for a vertical morphism :AB\partial : A \to B we have A vert=0A^{vert} = 0 and B vert=0B^{vert} = 0, the induced extramural map

A B \array{ A_\Box \\ \downarrow \\ {}^\Box B }

is an isomorphism.

This appears as Bergman, cor. 2.1.

It is straightforward to check this directly on elements:


It is sufficient to show that under the given assumptions both the kernel and the cokernel of the given map are trivial. We discuss the horizontal case. The proof of the vertical case is verbatim the same, only with the roles of vert\partial^{vert} and hor\partial^{hor} exchanged.

Suppose an element [a]A [a] \in A_{\Box} is in the kernel of hor:A B\partial^{hor} : A_{\Box} \to {}^\Box B. By definition of B{}^\Box B this means that there is cc such that hor vertc= hora\partial^{hor} \partial^{vert} c = \partial^{hor} a, hence such that hor(a vertc)=0\partial^{hor}(a- \partial^{vert} c) = 0. By assumption that A hor=0A^{hor} = 0 this means that there is dd such that a vertc= horda - \partial^{vert} c = \partial^{hor} d. But this means that aim( hor)+im( vert)a \in im(\partial^{hor}) + im(\partial^{vert}) and hence [a]=0[a] = 0 in A A_\Box.

Conversely, consider [b] B[b] \in {}^\Box B. This means that vertb=0\partial^{vert}b = 0 and horb=0\partial^{hor} b = 0. By B hor=0B^{hor} = 0 the second condition means that there is aa such that b= horab = \partial^{hor} a. Moreover, this aa satisfies vert hora= vertb=0\partial^{vert}\partial^{hor} a = \partial^{vert} b = 0 by the first condition. Therefore [a]A [a] \in A_{\Box} and [b][b] is its image.

Alternatively, this statement is a direct consequence of the salamander lemma already proven above:


Under the given assumptions the exact sequence of prop. involves the exact sequence

0A B0. 0 \to A_{\Box} \to {}^\Box B \to 0 \,.

This being exact says that the map in the middle has vanishing kernel and cokernel and is hence an isomorphism.


(intramural isomorphisms)

In each of the situations in a double complex shown below, if the direction perpendicular to :AB\partial : A \to B or :BA\partial : B \to A is exact at BB as indicated in the following, then the two intramural maps from lemma , shown in each case on the right, are isomorphisms:

  1. 0 A 0 B ker=0 A A hor A vert A \array{ && \vdots && \vdots \\ && \downarrow && \downarrow \\ 0 &\to& A &\to& &\to& \cdots \\ && \downarrow^{\mathrlap{\partial}} && \downarrow \\ 0 &\to& B &\stackrel{ker = 0}{\to}& &\to& \cdots \\ && \downarrow && \downarrow \\ && \vdots && \vdots } \;\;\;\;\;\;\;\;\;\;\;\; \Rightarrow \;\;\;\;\;\;\;\;\;\;\;\; \array{ {}^\Box A &\stackrel{\simeq}{\to}& A^{hor} \\ A^{vert} & \stackrel{\simeq}{\to}& A_{\Box} }
  2. 0 0 A B ker=0 A A vert A hor A \array{ && 0 && 0 \\ && \downarrow && \downarrow \\ \cdots &\to& A &\stackrel{\partial}{\to}& B &\to& \cdots \\ && \downarrow && \downarrow^{\mathrlap{ker = 0}} \\ \cdots &\to& &\to& &\to& \cdots \\ && \vdots && \vdots } \;\;\;\;\;\;\;\;\;\;\;\; \Rightarrow \;\;\;\;\;\;\;\;\;\;\;\; \array{ {}^\Box A &\stackrel{\simeq}{\to}& A^{vert} \\ A^{hor} & \stackrel{\simeq}{\to}& A_{\Box} }
  3. im=B B 0 A 0 A hor A A A vert \array{ && \vdots && \vdots \\ && \downarrow && \downarrow \\ \cdots &\to& &\stackrel{im = B}{\to}& B &\to& 0 \\ && \downarrow && \downarrow^{\mathrlap{\partial}} \\ \cdots &\to& &\to& A &\to& 0 \\ && \downarrow && \downarrow \\ && \vdots && \vdots } \;\;\;\;\;\;\;\;\;\;\;\; \Rightarrow \;\;\;\;\;\;\;\;\;\;\;\; \array{ A^{hor} &\stackrel{\simeq}{\to}& A_{\Box} \\ {}^\Box A &\stackrel{\simeq}{\to}& A^{vert} }
  4. im=B B A 0 0A vert A A A hor \array{ && \vdots && \vdots \\ \cdots &\to& &\to& &\to& \cdots \\ && \downarrow^{\mathrlap{im = B}} && \downarrow \\ \cdots &\to& B &\stackrel{\partial}{\to}& A &\to& \cdots \\ && \downarrow && \downarrow \\ && 0 && 0 } \;\;\;\;\;\;\;\;\;\;\;\; \Rightarrow \;\;\;\;\;\;\;\;\;\;\;\; \array{ A^{vert} &\stackrel{\simeq}{\to}& A_{\Box} \\ {}^\Box A &\stackrel{\simeq}{\to}& A^{hor} }

This appears as Bergman, cor. 2.2.


We spell out the proof of the first item. The others work analogously.

Applying cor. to 0B0 \to B yields B0 =0{}^\Box B \simeq 0_\Box = 0. Therefore the exact sequence of the Salamander lemma corresponding to

0 A B \array{ \bullet \\ \downarrow \\ 0 &\to& A \\ && \downarrow \\ && B }

ends with

0 AA hor0, \cdots \to 0 \to {}^\Box A\to A^{hor} \to 0 \,,

which implies the first isomorphism. Analogously, the salamander exact sequence associated with

0 A B \array{ 0 &\to& A \\ && \downarrow \\ && B &\to& \bullet }

begins as

0A vertA 0. 0 \to A^{vert} \to A_{\Box} \to 0 \to \cdots \,.

which gives the second isomorphism.

Implications: The basic diagram-chasing lemmas

We derive the basic diagram chasing lemmas from the salamander lemma, or in fact just from repeated application of the intramural/extramural isomorphisms.

The 3×33 \times 3 lemma

We derive the sharp 3x3 lemma from the salamander lemma.


If in a diagram of the form

0 0 0 0 A B C 0 A B C 0 A B C \array{ && 0 && 0 && 0 \\ && \downarrow && \downarrow && \downarrow \\ 0 &\to& A' &\to& B' &\to& C' \\ && \downarrow && \downarrow && \downarrow \\ 0 &\to& A &\to& B &\to& C \\ && \downarrow && \downarrow && \downarrow \\ 0 &\to& A'' &\to& B'' &\to& C'' }

all columns and the second and third row are exact, then also the first row is exact.

The following proof is that given in Bergman, lemma 2.3.


First of all one notices that the diagram is a double complex: by column-exactness the first row includes as subobjects into the second, so the horizontal maps of the first row are restrictions of the differentials of the second and so at least the first row is a chain complex.

We need to show that A hor0{A'}^{hor}\simeq 0 and B hor0{B'}^{hor} \simeq 0.

First consider exactness at AA'. The intramural iso, cor. item 1, of

A A ker=0 B \array{ A' \\ \downarrow^{\mathrlap{\partial}} \\ A &\stackrel{ker = 0}{\to}& B }

is AA hor{}^\Box A' \simeq {A'}^{hor}, and the one of

A B ker=0 B \array{ A' &\stackrel{\partial}{\to}& B' \\ && \downarrow^{\mathrlap{ker = 0}} \\ && B }

according to cor. item 2 is AA vert{}^\Box A' \simeq {A'}^{vert}. Together this gives the desired exactness from the assumption that A vert=0{A'}^{vert} = 0 (since all the columns are exact by assumption):

A horA A vert=0. {A'}^{hor} \simeq A'_\Box \simeq {A'}^{vert} = 0 \,.

To apply an analogous argument for B hor{B'}^{hor}, we combine this kind of identification with the zigzag of extramural maps along the diagonal

B A B , \array{ &&&& B' \\ &&&&& \Box \\ &&&& \swarrow \\ &&& \Box \\ A && \nearrow && B \\ & \Box } \,,

which are isos by cor . These appear now in the middle of the following chain of isomorphisms

B hor(B BA )(A vert0), {B'}^{hor} \simeq \left({B'}_{\Box}\simeq {}^{\Box}B \simeq A_{\Box}\right) \simeq \left(A^{vert} \simeq 0\right)\,,

where the first and the last are intramural isos obtained from cor. .


From this argument it is clear that by directly analogous reasoning we obtain “n×nn \times n-lemmas” for arbitrary nn, see prop. below.

In particular we have the following sharp 3x3 lemma.


If in a diagram of the form

0 0 0 0 A B C 0 0 A B C 0 0 A B C 0 \array{ && 0 && 0 && 0 \\ && \downarrow && \downarrow && \downarrow \\ 0 &\to& A' &\to& B' &\to& C' &\to& 0 \\ && \downarrow && \downarrow && \downarrow \\ 0 &\to& A &\to& B &\to& C &\to& 0 \\ && \downarrow && \downarrow && \downarrow \\ 0 &\to& A'' &\to& B'' &\to& C'' \\ && \downarrow \\ && 0 }

all columns and the second and third row are exact, then also the first row is exact.


We can extend the middle and right columns by adding the cokernel of BBB \to B'' below BB'', and C0C'' \to 0 below C’’. It’s straightforward to check that the resulting diagram is still a complex, and we now have vertical exactness at BB''. Note that we may not have vertical exactness at CC'', nor exactness in the bottom row containing the cokernel, but we don’t need those.

Exactness in AA' and BB' is as in prop. . For exactness in CC' we now use the long zigzag of extramural isomorphisms, cor .

C B C A B , \array{ &&&&&&&& C' \\ &&&&&&&& & \Box \\ &&&&&&&& \swarrow \\ &&&&&&& \Box \\ &&&& B && \nearrow && C \\ &&&&& \Box \\ &&&& \swarrow \\ &&& \Box \\ A'' && \nearrow && B'' \\ & \Box } \,,

So C horC {C'}^{hor} \simeq C_{\Box} by the intramural iso, then A \dots \simeq A''_\Box by this zigzag of extramural isos (this is where we need vertical exactness at BB''), and finally A hor0\cdots \simeq {A''}^{hor} \simeq 0 by another intramural iso and by assumption.

The n×nn \times n lemma

The proofs of the 3×33 \times 3-lemmas above via long diagonal zigzags of extramural isomorphism clearly generalize from double complexes of size 3×33 \times 3 to those of arbitrary finite size.


If in a diagram of the form

0 0 0 0 0 X n,n X n1,n X n2,n X n3,n 0 X n,n1 X n1,n1 X n2,n1 X n3,n1 0 X n,n2 X n1,n2 X n2,n2 X n3,n2 0 X n,n3 X n1,n3 X n2,n3 X n3,n3 \array{ && 0 && 0 && 0 && 0 && \\ && \downarrow && \downarrow && \downarrow && \downarrow \\ 0 &\to& X_{n,n} &\to& X_{n-1,n} &\to& X_{n-2,n} &\to& X_{n-3,n} &\to& \cdots \\ && \downarrow && \downarrow && \downarrow && \downarrow \\ 0 &\to& X_{n,n-1} &\to& X_{n-1,n-1} &\to& X_{n-2,n-1} &\to& X_{n-3,n-1} &\to& \cdots \\ && \downarrow && \downarrow && \downarrow && \downarrow \\ 0 &\to& X_{n,n-2} &\to& X_{n-1,n-2} &\to& X_{n-2,n-2} &\to& X_{n-3,n-2} &\to& \cdots \\ && \downarrow && \downarrow && \downarrow && \downarrow \\ 0 &\to& X_{n,n-3} &\to& X_{n-1,n-3} &\to& X_{n-2,n-3} &\to& X_{n-3,n-3} &\to& \cdots \\ && \downarrow && \downarrow && \downarrow && \downarrow }

all rows except possibly the first X ,nX_{\bullet, n} as well as all columns except possibly the first X n,X_{n,\bullet} are exact, then the homology groups of the first row equal those of the first column in that

k:X k,n horX n,k vert. \forall k : X_{k,n}^{hor} \simeq X_{n,k}^{vert} \,.

This appears as Bergman, lemma 2.6.


The proof proceeds in direct generalization of the proofs of the 3x3 lemma above: the isomorphism for each kk is given by the composite of two extramural isomorphisms that identify the given homology group with a donor or receptor group, respectively, with a long zigzag of extramural isomorphisms.

The four lemma

We prove the strong four lemma from the salamander lemma.


Consider a commuting diagram in 𝒜\mathcal{A} of the form

A B ξ C D τ f g ν A B η C D \array{ A &\to& B &\stackrel{\xi}{\to}& C &\to& D \\ \downarrow^{\mathrlap{\tau}} && \downarrow^{\mathrlap{f}} && \downarrow^{\mathrlap{g}} && \downarrow^{\mathrlap{\nu}} \\ A' &\to& B' &\stackrel{\eta}{\to}& C' &\to& D' }


  1. the rows are exact sequences,

  2. τ\tau is an epimorphism,

  3. ν\nu is a monomorphism.


  1. ξ(ker(f))=ker(g)\xi(ker(f)) = ker(g)

  2. im(f)=η 1(im(g))im(f) = \eta^{-1}(im(g))

and so in particular

  1. if ff is a monomorphism then so is gg;

  2. if gg is an epimorphism then so is ff.


By assumption on τ\tau and ν\nu we can complete the diagram to a double complex of the form

0 0 ker(f) ξ| ker(f) ker(g) 0 A B ξ C D τ f g ν A B η C D 0 B/im(f) C/im(g) 0 0 \array{ && 0 && 0 \\ && \downarrow && \downarrow \\ && ker(f) &\stackrel{\xi|_{ker(f)}}{\to}& ker(g) &\to& 0 \\ && \downarrow && \downarrow && \downarrow \\ A &\to& B &\stackrel{\xi}{\to}& C &\to& D \\ \downarrow^{\mathrlap{\tau}} && \downarrow^{\mathrlap{f}} && \downarrow^{\mathrlap{g}} && \downarrow^{\mathrlap{\nu}} \\ A' &\to& B' &\stackrel{\eta}{\to}& C' &\to& D' \\ \downarrow && \downarrow && \downarrow \\ 0 &\to& B'/im(f) &\to& C'/im(g) \\ && \downarrow && \downarrow \\ && 0 && 0 }

such that

  1. all columns are exact;

  2. the middle two rows are exact.

For the first statement it is now sufficient to show that ker(g) hor0ker(g)^{hor} \simeq 0, for that is immediately equivalent to ξ(ker(f))=ker(g)\xi(ker(f)) = ker(g).

To see this we use the intramural isomorphism, cor. item 2, to deduce that

ker(g) horker(g) . ker(g)^{hor} \simeq ker(g)_{\Box} \,.

Then the long zigzag of extramural isomorphisms, cor. , shows that this is isomorphic to the 00{}^\Box 0 \simeq 0 in the bottom left corner of the diagram.

The second statement follows dually: it is implied by (B/im(f)) hor0(B'/im(f))^{hor} \simeq 0 for that directly implies that η 1(im(g))im(f)\eta^{-1}(im(g))\simeq im(f).

Here the intramural ismorphism to use is

(B/im(f)) hor (B/im(f)) (B'/im(f))^{hor} \simeq {}^{\Box}(B'/im(f))

and then the long sequence of zigzags of extramural isomorphisms identifies this with the 0 00_\Box \simeq 0 in the top right corner.


The four lemma, in turn, directly implies what is known as the five lemma.

The snake lemma

We discuss a proof of the snake lemma from the salamander lemma.


If in a commuting diagram of the form

X 1 X 2 X 3 0 f g h 0 Y 1 Y 2 Y 3 \array{ && X_1 &\to& X_2 &\to& X_3 &\to& 0 \\ && \downarrow^{\mathrlap{f}} && \downarrow^{\mathrlap{g}} && \downarrow^{\mathrlap{h}} \\ 0 &\to& Y_1 &\to& Y_2 &\to& Y_3 }

both rows are exact, then there is a long exact sequence

ker(f)ker(g)ker(h)δcoker(f)coker(g)coker(h) ker(f) \to ker(g) \to ker(h) \stackrel{\delta}{\to} coker(f) \to coker(g) \to coker(h)

starting with the kernels of the three vertical maps and ending with their cokernels (with the middle morphism δ\delta called the “connecting homomorphism”).


Consider the completion of the given diagram to a double complex:

ker(f) ker(g) ker(h) 0 ker(l) X 1 l X 2 X 3 0 f g h 0 Y 1 Y 2 r Y 3 coker(r) 0 coker(f) coker(g) coker(h) . \array{ && ker(f) &\to& ker(g) &\to& ker(h) &\to& 0 \\ && \downarrow && \downarrow && \downarrow && \downarrow \\ ker(l) &\to& X_1 &\stackrel{l}{\to}& X_2 &\to& X_3 &\to& 0 \\ \downarrow && \downarrow^{\mathrlap{f}} && \downarrow^{\mathrlap{g}} && \downarrow^{\mathrlap{h}} && \downarrow \\ 0 &\to& Y_1 &\to& Y_2 &\stackrel{r}{\to}& Y_3 &\to& coker(r) \\ \downarrow && \downarrow && \downarrow && \downarrow \\ 0 &\to& coker(f) &\to& coker(g) &\to& coker(h) && } \,.

By assumption and construction, here all columns are exact and the rows are exact at the X iX_i and at the Y iY_i, and the squares involving ker(l)ker(l) and coker(r)coker(r) commute.

Now horizontal exactness at ker(g)ker(g) follows from the intramural isomorphism ker(g) horker(g) ker(g)^{hor} \simeq ker(g)_{\Box}, cor. , combined with the zigzag of extramural isomorphisms, cor. ,

ker(g) X 1 X 2 Y 1 \array{ &&&&&&& ker(g) \\ &&&&&&&& \Box \\ &&&&&&& \swarrow \\ & &&&&& \Box \\ & X_1 &&&& \nearrow & & X_2 \\ && \Box \\ & \swarrow \\ \Box \\ & Y_1 }

which give Y 1\cdots \simeq {}^\Box Y_1, and then the extramural isomorphism 0 =0\cdots \simeq 0_{\Box} = 0.

Exactness at coker(g)coker(g) is shown analogously.

Finally, building the connecting homomorphism ker(h)coker(f)ker(h) \to coker(f) is the same as giving an isomorphism from coker(ker(g)ker(h))ker(h) horcoker(ker(g) \to ker(h)) \simeq ker(h)^{hor} to ker(coker(f)coker(g))=coker(f) horker(coker(f) \to coker(g)) = coker(f)^{hor}. This is in turn given by the intramural isomorphisms ker(h) horker(h) ker(h)^{hor} \simeq ker(h)_{\Box} and coker(f)coker(f) hor{}^\Box coker(f) \simeq coker(f)^{hor}, cor. connected by the zigzag of extramural isomorphisms, cor.

ker(h) X 2 X 3 Y 1 Y 2 coker(f). \array{ &&&&&&&&& ker(h) \\ &&&&&&&&&& \Box \\ &&&&&&&&& \swarrow \\ &&&&& && & \Box \\ &&&&& X_2 && \nearrow && X_3 \\ &&&&&& \Box \\ &&&&& \swarrow \\ &&&& \Box \\ & Y_1 && \nearrow & & Y_2 \\ && \Box \\ & \swarrow \\ \Box \\ & coker(f) } \,.

From the snake lemma one obtains in turn the connecting homomorphism between homology groups that leads to the long exact sequence of homology; see there for details.


The salamander lemma is due to

based on an earlier unpublished preprint which was circulated since 2007 (pdf).


An alternative proof (also of the snake lemma) “without elements”, using only universal properties:

Last revised on January 13, 2024 at 05:05:51. See the history of this page for a list of all contributions to it.