# CHAPTER I

Homological Algebra
Throughout this course, all rings have a 1 and all ring homomorphisms respect this.
Usually we consider right modules and we write module homomorphisms on the left. If
R is a ring and M, N are R-modules then an R-module homomorphism φ : M →N is a
homomorphism of the underlying additive groups such that for all m ∈ M and r ∈ R,
φ(mr) = (φm)r.
We mention this just to set the notation. The reader is assumed to be familiar with basic
concepts in the theory of rings and modules including the standard isomorphism theorems.
1. Chain complexes and Exact sequences
The following deﬁnition was introduced by Cartan and Eilenberg when they wrote
their book on homological algebra. It is absolutely fundamental: it is said that in the ﬁrst
drafts of their book and having the foresight of its signiﬁcance, they left a blank and only
later chose the word exact.
DEFINITION 1.1. A sequence A → B →C is said to be exact at B if and only if
Ker(B →C) = Im(A →B). A longer sequence, for example A →B →C →D →E is said
to be exact if and only if it is exact at each module where this makes sense; (B, C, and D
in the example). A short exact sequence is an exact ﬁve term sequence which begins and
ends with zero: 0 →A →B →C →0.
Exact was a brilliant choice of terminology. We like exact sequences: they help us to
calculate. Given modules and maps
A
θ
→B
φ
→C
exactness at B is a two part story. It says ﬁrst that
φθ = 0,
which is a simple formula expressing the inclusion Imθ ⊆Ker φ, and it says secondly that
Ker φ ⊆Imθ.
EXERCISE 1.2. Let φ : A →B be a map between modules. Show that
(i) 0 →A
φ
→B is exact if and only if φ is a monomorphism and that
(ii) A
φ
→B →0 is exact if and only if φ is an epimorhism.
The deﬁnition is applied to sequences of modules and homomorphisms over a ring,
although it makes sense in the context of any abelian category and this is very important in
many other situations. Exactness is used to keep track of homological data. A number of
crucial lemmas concerning the property are proved by chasing diagrams. The Five Lemma
and the Snake Lemma are two of the most important.
1
2 I. HOMOLOGICAL ALGEBRA
LEMMA 1.3 (Five). Given a commutative diagram
A

α
.
B

β
.
C

γ
.
D

δ
.
E
ε
.
A

B

C

D

E

with exact rows, then
(i) β, δ monomorphisms, α epimorphism =⇒γ monomorphism;
(ii) β, δ epimorphisms, ε monomorphism =⇒γ epimorphism;
(iii) β, δ isomorphisms, α epimorphism, ε monomorphism =⇒γ isomorphism.
We are doing the 5-lemma now as a warm-up exercise. We will not need it immedi-
ately.
PROOF. The proof is an exercise in diagram chasing. This is an activity you want
be proactive about. Get a piece of paper, copy the diagram and start chasing. For part (i),
imagine you have some element c ∈C which maps to zero in C

:
A B C
c
D E
A

B

C

0
D

E

¸

. . . . .
We want to prove that c = 0. Of course the image of 0 is 0:
A B C
c
D E
A

B

C

0
D

0
E

¸

. . . . .
By commutativity of the square marked we see the following when we write d for the
image of c:

A B C
c
D
d
E
A

B

C

0
D

0
E

¸

¸

¸

. . . . .
1. CHAIN COMPLEXES AND EXACT SEQUENCES 3
But we are given that the map D →D

is mono and therefore d = 0. By exactness at
C we now know that there exists b ∈ B such that b →c:
A B
b
C
c
D
d = 0
E
A

B

C

0
D

0
¸

E

¸

¸

¸

. . . . .
We write b

for the image of b under δ. By commutativity of the square marked
below we see the diagram below:

A B
b
C
c
D
d = 0
E
A

B

b

C

0
D

0
¸

E

¸

¸

¸

¸

. . . . .
Now exactness at B

guarantees that there is an a

∈ A

such that a

→b

:
A B
b
C
c
D
d = 0
E
A

a

B

b

C

0
D

0

¸

E

¸

¸

¸

¸

. . . . .
But we are given that the map A →A

is epi. Therefore there is an a ∈ A which map
to a

. Let a denote its image in B. Commutativity of the square marked guarantees that
a and a

have the same image in B

; that is a →b

.
4 I. HOMOLOGICAL ALGEBRA

A
a
B
b a
C
c
D
d = 0
E
A

a

B

b

C

0
D

0
¸

¸

_

¸

E

¸

¸

¸

¸

. . . . .
But lo!

The map from B to B

is given to be mono and the two elements a and b of B
have the same image b

in B

. Therefore a = b.
A
a
B
b a
C
c
D
d = 0
E
A

a

B

b

C

0
D

0
=
¸

¸

_

¸

E

¸

¸

¸

¸

. . . . .
It follows that c is in the image of the composite A →B →C; a →a = b →c. By
exactness at B this composite is zero and so c = 0. We are done.
For part (ii) a similar diagram chase must be used.
Part (iii) is a simple corollary of (i) and (ii): no further diagram chasing is required
here.
EXERCISE 1.4. Give examples over the ring Z to show that the hypotheses α is epi in
Lemma 1.3(i) and ε is mono in 1.3(ii) cannot be dropped.
The next result is immediately necessary and involves some diagram chasing in similar
vein. It is called the Snake Lemma and it depends on the fact that we have kernels and
cokernels in our category of modules. Given a map
X
ξ
→X

we always have a natural exact sequence
0 →Ker ξ →X
ξ
→X

→X

/Imξ →0.
involving the kernel and cokernel of ξ. We write Coker ξ for the cokernel: it is the
codomain of ξ modulo the image of ξ and it ﬁts into the diagram in the ‘dual’ position
to the kernel, hence its name.

I am plagiarising Mac Lane’s gorgeous introduction to his classic text Homology. If you haven’t, please
1. CHAIN COMPLEXES AND EXACT SEQUENCES 5
It is important to realize the both Ker and Coker are functorial. More precisely, sup-
pose we have a commutative diagram
X
θ

ξ
.
Y
η
.
X

θ

Y

.
Then we can insert kernels and cokernels to make a bigger diagram with exact columns:
Ker ξ
.
.
Ker η
.
.
X
θ

ξ
.
Y
η
.
X

θ

.
.
Y

.
.
Coker ξ Coker η.
Nowthere is exactly one way to deﬁne maps between the kernels and between the cokernels
so that the resulting diagram has two further commutative squares:
Ker ξ
.
.
θ

Ker η
.
.
X
θ

ξ
.
Y
η
.
X

θ

.
.
Y

.
.
Coker ξ
θ

Coker η.
This is an easy diagram chasing exercise. It plays a role throughout, in particular it plays a
role in Mr Snake’s Lemma.
LEMMA 1.5 (The Snake). Given a commutative diagram
A
α
.
θ

B
β
.
φ

C
γ
.

0
0

A

θ

B

φ

C

with exact rows, then there is a natural induced 6-term exact sequence
Ker α
θ

→Ker β
φ

→Ker γ

→Coker α
θ

→Coker β
φ

→Coker γ.
Moreover, if θ is mono and φ

is epi then this six term sequences begins with a mono and
ends with an epi.
6 I. HOMOLOGICAL ALGEBRA
PROOF. We take our diagram and insert kernels and cokernels of the three vertical
maps to obtains a bigger diagram with exact rows and exact columns:
Ker α
.
.
Ker β
.
.
Ker γ
.
.
A
α
.

B
β
.

C
γ
.

0
0

A

.
.

B

.
.

C

.
.
Coker α Coker β Coker γ
The remarks about Ker and Coker being functorial tell us that there is a unique deﬁnition
of four additional maps to make the commutative diagram
Ker α
.
.
θ

Ker β
.
.
φ

Ker γ
.
.
A
α
.

B
β
.

C
γ
.

0
0

A

.
.

B

.
.

C

.
.
Coker α
θ

Coker β
φ

Coker γ
The connecting map, sometimes called a “switch-back”, is deﬁned by choosing rep-
resentative elements back in B and then observing that their images in B

must arise from
elements of A

. Chasing the diagram (see Figure 1) enables one to establish the result.
The deﬁnition of ∂ is fairly straightforward once you know that it has domain Ker γ and
codomain Coker α: there really is only one thing to do. Let c ∈ Ker γ. This is an element
of C. Since the map B →C is epi there is an element b ∈B such that b →c. Now a diagram
chase shows that the image b

of b in B

maps to zero in C

. By exactness b

has a preimage
a

in A

which, by the way, is uniquely determined by b

because the map A

→B

is given
as mono. We deﬁne ∂c to be the image of a

in Coker α. There is apparently an ambiguity
in the deﬁnition because we will typically have more than one choice for the ﬁrst preimage
b, and we shall address this matter shortly.
The diagram in Figure 1 serves no useful purpose save to explain how the Snake
Lemma gets its name.

Figure 2 shows a possibly more useful diagram to describe the deﬁnition of the Snake
map. It shows the aftermath of the diagram chase to establish the choice of ∂c for c ∈Ker γ.
Further diagram chasing is required to show that ∂ is well-deﬁned. The question has
arisen why the choice of b does not affect the deﬁnition of ∂c. Suppose we have a second
lift b
1
of c with its consequent b

1
and a

1
. The situation is illustrated in Figure 3.
Now the difference b
1
−b maps to c−c =0 in C and therefore by exactness of the row
at B there exists a ∈ A such that a →b
1
−b. Let a be the image of a in A

. Commutativity

No, there wasn’t a Mr Snake after all.
1. CHAIN COMPLEXES AND EXACT SEQUENCES 7
0
0
Coker α
A

A
Ker α
Coker β
B

B
Ker β
Coker γ
C

C
Ker γ

.
.

.
.
.
.

.

.

.

.
.

.
.
.
.

FIGURE 1. How the Snake Lemma got its name.
0
0
Coker α
∂c
A

a

A
Ker α
Coker β
B

b

B
b
Ker β
Coker γ
C

0
C
c
Ker γ
c
¸

¸
¸

¸
¸

¸

.
.

.
.
.
.

.

.

.

.
.

.
.
.
.

FIGURE 2. The aftermath of the diagram chase to deﬁne the connecting
map ∂
of the square ABA

B

in Figure 3 now ensures that a

1
−a

and a both have the same image
b

1
−b

under the map A

→B

. But this map is injective and so a = a

1
−a

. Since a →0
in Coker α it follows that a

1
and a

have the same image there: that is ?= ∂c. This shows
that ∂ is well-deﬁned. It must be checked that ∂ is a module homomorphism and that it
is natural. We leave these checks as an exercise, the hardest part of which is the correct
formulation of what “natural” means in this context.
8 I. HOMOLOGICAL ALGEBRA
0
0
Coker α
∂c ?
A

a

a

1
A
Ker α
Coker β
B

b

b

1
B
b
b
1
Ker β
Coker γ
C

C
c
Ker γ
c
¸

¸
¸

¸

¸

¸

¸

¸

.
.

.
.
.
.

.

.

.

.
.

.
.
.
.

FIGURE 3. Checking that ∂ is well-deﬁned
With this much in place, there remains the matter of checking that the resulting se-
quence is exact. There are four places to check exactness in the basic form of the Lemma:
at Ker β, Ker γ, Coker α and Coker β. In each case the problem of exactness breaks into
two parts (Ker ⊆ Im and Im ⊆ Ker). Every mathematician should do this check once in a
lifetime. Here we’ll just do an
1
8
th: let’s check that
Ker(∂ : Ker γ →Coker α) ⊆Im(φ

: Ker β →Ker γ).
Suppose given c ∈ Ker γ with ∂c = 0. Let b be a preimage of c in B and let b

, a

be the
consequent elements on the way to deﬁning ∂. We have the picture shown in Figure 4.
Exactness of the ﬁrst column at A

tells us that there exists a ∈ A such that a →a

. Let
a denote its image in B. The picture is shown in Figure 5.
Commutativity of the square ABA

B

ensures that a and b both have the same image b

in B and therefore their difference x := b−a belongs to Ker β. When we look at images in
C, note that a →0 because a came from a. Hence x = b−a →c and c is in the image of φ

as required. The remaining
7
8
ths of exactness for the basic lemma are left as an exercise.
The embellished form is easy to check: if the map A →B is mono then clearly the induced
map Ker α →Ker β is mono, and similarly, if the map B

→C

is epi then so is the map
Coker β →Coker γ.
DEFINITION 1.6. A chain complex (C

, d) of R-modules consists of a family (C
n
|n ∈
Z) of R-modules together with maps d
n
: C
n
→C
n−1
for each n ∈Z such that the composite
of any two consecutive maps is zero:
d
n−1
d
n
= 0
for all n ∈ Z. Think of the chain complex as a long line a modules and maps extending ad
inﬁnitum both to the left and right:
· · · →C
n+2
d
n+2
→ C
n+1
d
n+1
→ C
n
d
n
→C
n−1
d
n−1
→ C
n−2
→. . . .
1. CHAIN COMPLEXES AND EXACT SEQUENCES 9
0
0
Coker α
0
A

a

A
Ker α
Coker β
B

b

B
b
Ker β
Coker γ
C

C
c
Ker γ
c
¸

¸
¸

¸

.
.

.
.
.
.

.

.

.

.
.

.
.
.
.

FIGURE 4. Checking exactness.
0
0
Coker α
0
A

a

A
a
Ker α
Coker β
B

b

B
b
a
Ker β
Coker γ
C

C
c
Ker γ
c
¸

¸
¸

¸

¸

¸

.
.

.
.
.
.

.

.

.

.
.

.
.
.
.

FIGURE 5. Checking exactness
Notice that the condition d
n−1
d
n
= 0 is one half of the conditions for exactness at C
n
. The
nth homology of such a chain complex (C

, d) is deﬁned to be Ker d
n
/Imd
n+1
. Notice that
the homology is a measure of the extent to which exactness fails. A chain complex is said
to be acyclic if and only if it is exact, or equivalently, if its homology H
n
is trivial in all
dimensions n.
A morphism or chain map φ : (C

, d) →(C

, d

) between two chain complexes consists of
10 I. HOMOLOGICAL ALGEBRA
a sequence of maps φ
n
: C
n
→C

n
such that the resulting ladder diagram commutes
. . .
C
n+2
d
n+2

φ
n+2
.
C
n+1
d
n+1

φ
n+1
.
C
n
d
n

φ
n
.
C
n−1
d
n−1

φ
n−1
.
C
n−2
d
n−2

φ
n−2
.
. . .
. . .
C

n+2
d

n+2

C

n+1
d

n+1

C

n
d

n

C

n−1
d

n−1

C

n−2
d

n−2
. . .
(i.e. for all n ∈ Z, d

n
φ
n
= φ
n−1
d
n
).
Such a morphism φ induces a map in homology φ

: H
n
(C

) →H
n
(C

) deﬁned by
φ

[z] = [φz] for z ∈ Ker(C
n
→C
n−1
). Here [z] denotes its image in homology: [z] is a coset
of the submodule Im(C
n+1
→C
n
) called a homology class. In this way C

−→H
n
(C

) is
functorial.
The elements of C
n
are called n-chains. It is standard to write Z
n
for Ker(C
n
→C
n−1
)
and B
n
for Im(C
n+1
→C
n
). The elements of Z
n
are called n-cycles (the notation Z comes
from the German Zykel). The elements of B
n
are called n-boundaries. The names cycle
and boundary derive from connections with topology as we shall see later in the course.
We need to know what it means for a chain map to be a monomorphism, an epimor-
phism and an isomorphism. There are two levels at which one can understand this. At a
sophisticated level, we have described a category of chain complexes and it can be shown
to be an abelian category in which the notions of monomorphism and epimorphism are
determined by their category theoretical deﬁnitions. Naively we can simply take it as a
deﬁnition that φ : (C

, d) →(C

, d

) is a monomorphism iff every φ
n
is a monomorphism
and an epimorphism iff every φ
n
is an epimorphism. Conveniently, it is the case that the
naive deﬁnition is in harmony with category theory. If you take the sophisticated standpoint
then the naive deﬁnition should be regarded as lemma which needs proof.
Kernels can cokernels of chain maps can be deﬁned in the same way. We shall be
content with the naive view. Thus a short exact sequence of chain complexes comprises
short exact sequences of modules for each dimension.
LEMMA 1.7. Let C

θ
C

φ
C

be a short exact sequence of chain complexes. Then
there is a natural way to deﬁne connecting homomorphisms ∂ : H
n
(C

) →H
n−1
(C

) such
that we get a long exact sequence in homology:
· · ·

→H
n
(C

)
θ

→H
n
(C

)
φ

→H
n
(C

)

→H
n−1
(C

)
θ

→H
n−1
(C

)
φ

→H
n−1
(C

)

→· · ·
The diagram in Figure 6 illustrates the short exact sequence of chain complexes in the
way you need for diagram chasing.
Extracting the nth and (n −1)st rows from the diagram (Figure 6) and inserting the
kernels and cokernels we obtain a the picture in Figureﬁg:Z.C.C.B/C to which the snake
lemma can be applied:
Notice that we can apply the extended form of snake lemma because we have the extra
two zeroes present at the left and right. The resulting exact sequence is illustrated in Figure
8. Here, n can be any integer.
We can extract the C/B row from the (n +1)st case of this diagram (the displayed
being the nth) and the Z row from the (n−1)st to obtain to partial exact sequences which
1. CHAIN COMPLEXES AND EXACT SEQUENCES 11
.
.
.
.
.
.
.
.
.
.
.
.
0

C

n+2
d

n+2
.

C
n+2
d
n+2
.

C

n+2
d

n+2
.

0
0

C

n+1
d

n+1
.

C
n+1
d
n+1
.

C

n+1
d

n+1
.

0
0

C

n
d

n
.

C
n
d
n
.

C

n
d

n
.

0
0

C

n−1
d

n−1
.

C
n−1
d
n−1
.

C

n−1
d

n−1
.

0
0

C

n−2
d

n−2
.

C
n−2
d
n−2
.

C

n−2
d

n−2
.

0
.
.
.
.
.
.
.
.
.
FIGURE 6. A short exact sequence of chain complexes
Z

n
.
.
Z
n
.
.
Z

n
.
.
0

C

n
.

C
n
.

C

n
.

0
0

C

n−1
.
.

C
n−1
.
.

C

n−1
.
.

0
C

n−1
/B

n−1
C
n−1
/B
n−1
C

n−1
B

n−1
FIGURE 7. Towards the construction of the long exact sequence of homology
ﬁt together thus:
C

n
/B

n
.

C
n
/B
n
.

C

n
B

n
.

0
0

Z

n−1

Z
n−1

Z

n−1
12 I. HOMOLOGICAL ALGEBRA
0
0
0
0
0
C

n−1
/B

n−1
C

n−1
C

n
Z

n
C
n−1
/B
n−1
C
n−1
C
n
Z
n
C

n−1
/B

n−1
C

n−1
C

n
Z

n
0

.
.

.
.
.
.

.

.

.

.
.

.
.

.
.

FIGURE 8. The Snake Lemma is used twice to establish the exact se-
quence of homology. Here we are looking at the ﬁrst of the two applications.
Adding kernels and cokernels we obtain:
H

n
.
.
H
n
.
.
H

n
.
.
C

n
/B

n
.

C
n
/B
n
.

C

n
B

n
.

0
0

Z

n−1
.
.

Z
n−1
.
.

Z

n−1
.
.
H

n−1
H
n−1
H

n−1
with exact rows and columns. Here we write H
n
, H

n
, H

n
as shorthand for the homology of
the chain complexes C,C

,C

. When the snake sweeps through this diagram as illustrated
in Figure 9 we somewhat miraculously obtain an exact sequence
H

n
θ

→H
n
φ

→H

n

→H

n−1
θ

→H
n−1
φ

→H

n−1
for each integer n. These can now be merged into a single long exact sequence.
Hom
R
(M, ) AND Hom
R
( , N) 13
0
0
H

n−1
Z

n−1
C

n
/B

n
H

n
H
n−1
Z
n−1
C
n
/B
n
H
n
H

n−1
Z

n−1
C

n
/B

n
H

n

.
.

.
.
.
.

.

.

.

.
.

.
.
.
.

FIGURE 9. A second application of the Snake Lemma yields the long
exact sequence for homology without the need for further diagram chasing.
EXERCISE 1.8. Suppose given a commutative diagram
A

.
.
A

.
.
A

.
.
B

.
.
B

.
.
B

.
.
C

C

C

in which the rows and columns are short exact sequences of chain complexes. We nowhave
two 2-step ways of getting from H
n+1
(C

) to H
n−1
(A

) using connecting homomorphisms
in long exact sequences. These are illustrated by the following diagram:
H
n+1
(C

)

C

.
H
n
(C

)

.
H
n
(A

)

A

H
n−1
(A

)
Show that this diagram is anticommutative:

C
+∂
A

= 0.
Construct an example over the ring R =Z to show that the diagram is not in general com-
mutative.
Hom
R
(M, ) and Hom
R
( , N)
We conclude this section by looking at two important functors: Hom
R
(M, ) and
Hom
R
( , N). These are functorial: given a map φ : A →B we get induced maps φ

:
14 I. HOMOLOGICAL ALGEBRA
Hom
R
(M, A) →Hom
R
(M, B) and φ

: Hom
R
(B, N) →Hom
R
(A, N) by composition.
Hom
R
(A, N)
¸
φ

Hom
R
(B, N)
M
θ
.
φ

(θ)=φθ

¸
¸
¸
¸
¸
¸
A
φ

B
A
φ

B N
.
θ

φ

(θ)=θφ
¸
¸
¸
¸
¸
¸
Hom
R
(M, A)
φ

Hom
R
(M, B)
Notice that the second functor reverses directions of arrows: it is called contravariant. The
ﬁrst functor is covariant.
It is an important observation that in the case M = R, the ﬁrst functor is naturally
isomorphic to the identity functor. Observe that for any module A the map
Hom
R
(R, A) →A
deﬁned by
f → f (1)
is an isomorphism and that this is natural: if φ : A →B is a map then the square
Hom
R
(R, A)
φ

.

=

A
φ
.
Hom
R
(R, B)

=

B,
in which the horizontal maps are “evaluation at 1”, commutes.
LEMMA 1.9.
(i) A sequence
0 →A
θ
→B
φ
→C
is exact if and only if the sequence
0 →Hom
R
(M, A)
θ

→Hom
R
(M, B)
φ

→Hom
R
(M,C)
is exact for all R-modules M.
(ii) A sequence
A
θ
→B
φ
→C →0
is exact if and only if the sequence
0 →Hom
R
(C, N)
φ

→Hom
R
(B, N)
θ

→Hom
R
(A, N)
is exact for all R-modules N.
PROOF. (i) Suppose that 0 →A
θ
→B
φ
→C is exact. Let M be any R-module. The
functoriality of Hom
R
(M, ) yields
φ

θ

= (φθ)

= 0,
THE SNAKE LEMMA FROM A DOUBLE COMPLEX SPECTRAL SEQUENCE 15
so
Imθ

⊆Ker φ

.
Also, since θ is mono it is easy to see that θ

is also mono. It remains to show that
Ker φ

⊆Imθ

.
Let α : M →B be an element of Ker φ

. Then Imα is contained in Ker φ = Imθ. Since θ
is mono, α factors through θ: in other words α is in the image of θ

.
Now suppose conversely that 0 →Hom
R
(M, A)
θ

→Hom
R
(M, B)
φ

→Hom
R
(M,C) is
exact for all choices of M. Taking M = R we recover the original sequence and we are
done.
(ii) Suppose that A
θ
→B
φ
→C →0 is exact. Fix a module N and apply the functor
Hom
R
( , N). Again it is easy to see that Imφ

⊆ Ker θ

and that φ

is mono. Therefore
we are left with proving that
Ker θ

⊆Imφ

.
Let α be an element of Ker θ

. This says that αθ is the zero map from A to N. Conse-
quently α restricts to zero on Imθ = Ker φ and therefore factors through B/Ker φ. Now
B/Ker φ embeds into C so we have a facorization of α through C: in other words α belongs
to Imφ

.
Conversely suppose that 0 →Hom
R
(C, N)
φ

→Hom
R
(B, N)
θ

→Hom
R
(A, N) is exact for
all choices of N. Taking N =C we ﬁnd that
0 = φ

θ

(id
C
) = id
C
θφ = θφ
and therefore
Imθ ⊆Ker φ.
Taking N =C/Imφ and let π : C →N be the quotient map. Then
φ

(π) = πφ = 0
and so π = 0 and φ is epi. It remains to prove that
Ker φ ⊆Imθ.
For this, take N = B/Imθ and let π : B →N be the quotient map. Then θ

(π) = 0 and so
exactness shows that π factorizes through C. Now for b ∈ Ker φ, its image under π must
be zero because its image in C is already zero. Hence
Ker φ ⊆Ker π = Imθ.
The Snake Lemma from a double complex spectral sequence
This concluding remark is included for readers already familiar with spectral sequence
methods. Go straight to §2 if you wish. Here is a beautiful observation which was shown
to me by John Moody.
We’ll work with the augmented version of the Snake Lemma. Turn the commutative
diagram for the snake lemma upside down.
0

A

θ

B

φ

C

0
0

A
α
¸
θ

B
β
¸
φ

C
γ
¸

0
16 I. HOMOLOGICAL ALGEBRA
Think of it as living in a sea of zeroes. Regard it as a double complex and therefore as
the E
0
-page of a ﬁrst quadrant spectral sequence. The columns are chain complexes and
the rows are chain complexes. The differentials on the E
0
-page are the vertical maps. On
passage to the E
1
we replace each module by the homology:
Coker α
θ

Coker β
φ

Coker γ
Ker α
θ

Ker β
φ

Ker γ
Passing to the E
2
-page we use the induced horizontal maps to compute homology.
The differentials on the E
2
-page have degree (2, −1) and there is only one that is relevant.
So we see a picture like this:
E
2
01
d
2
01

¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
E
2
11
E
2
21
E
2
00
E
2
10
E
2
20
Since there is only the one non-zero differential here the E
3
-page will look like this:
Ker d
2
01
E
2
11
E
2
21
E
2
00
E
2
10
Coker d
2
01
Now there are no non-zero differentials so we are looking at E

.
At this stage the modules present on the E
2
-page seem mysterious, but they are in fact
recording the potential failure of exactness of the six term sequence in the conclusion of
the Snake Lemma.
A double complex always gives rise to a second spectral sequence. Let’s examine the
convergence of this. For the new spectral sequence
´
E we should reﬂect the initial diagram
in the diagonal so we have
´
E
0
as follows
C

C

B

¸
B

¸
A

¸
A

¸
Again we have a ﬁrst quadrant spectral sequence. The differentials on the
´
E
0
-page are the
vertical maps. But the columns are short exact sequences by hypothesis and so now the
spectral sequence collapses. The
´
E
1
-page collapses to entirely zeroes.
Since the two spectral sequences both converge to the cohomology of the total com-
plex, it follows that the original spectral sequence must have converged to zero as well. So
FREE MODULES 17
now we know that
Ker d
2
01
= 0 E
2
11
= 0 E
2
21
= 0
E
2
00
= 0 E
2
10
= 0 Coker d
2
01
= 0
This says that we had exact sequences
Coker α
θ

Coker β
φ

Coker γ

0
0

Ker α
θ

Ker β
φ

Ker γ
and that d
2
01
is an isomorphism from the kernel of θ

to the cokernel of φ. In effect the
connecting map in the Snake Lemma is the inverse of this differential:
∂ = (d
2
01
)
−1
.
EXERCISE 1.10. The Five Lemma also drops out of a similar double complex spectral
sequence argument.
2. Cochain complexes
This will be a short section. A cochain complex C

consists of a family of modules C
n
and a family of maps d
n
: C
n
→C
n+1
such that the pair of families
ˇ
C
n
:=C
−n
and
ˇ
d
n
=d
−n
is a chain complex. The nth cohomology H
n
(C

) of a cochain complex C

is deﬁned to be
H
−n
(
ˇ
C

).
It is usual to write Z
n
:=Ker(C
n
→C
n+1
) for the n-cocycles and B
n
:=Im(C
n−1
→C
n
)
for the n-coboundaries. The nth cohomology H
n
is equal to Z
n
/B
n
.
All the theorems we have established for homology therefore work for cohomology
without requiring separate proofs. The reason why we do cohomology at all may therefore
seem somewhat elusive. That reason lies at a deeper level. Just accept for the moment that,
at least in the ﬁeld of algebra, cohomology is more commonly used than homology.
In particular, given a short exact sequence
C

ι
C

π
C

we have a long exact sequence in cohomology:
· · ·
δ
→H
n
(C

)
ι

→H
n
(C

)
π

→H
n
(C

)
δ
→H
n+1
(C

)
ι

→H
n+1
(C

)
π

→H
n+1
(C

)
δ
→. . .
in which we usually write δ for the connecting map instead of ∂.
3. Projective and injective modules
Free modules
Let R be a ring. Given a set X, the free R-module on X may be deﬁned to be the set FX
of functions from X to R with ﬁnite support, and with the obvious R-module structure. This
is a situation where it is convenient to write the functions to the right of their arguments:
for f ∈ FX and r ∈ R, f r is the function deﬁned by
x →(x f )r.
18 I. HOMOLOGICAL ALGEBRA
Associated to each x ∈ X is the function taking value 1 on x and 0 elsewhere: abusing
notation we write x for this function and regard X as a subset of FX. Then every element
of FX has a unique expression of the form ∑
x
xr
x
where (r
x
) is a family of elements of R
all but ﬁnitely many of which are zero.
Given an R-module M there is a unique way to extend any function f : X →M to
an R-module homomorphism from FX to M by deﬁning f (∑
x
xr
x
) to be ∑
x
( f x)r
x
. Free
modules are characterized by this universal property.
X

f
.
FX
M
¸
∃!

In particular, given a function f : X →Y between sets, the composite X →Y →FY induces
a map FX →FY and so we see that F is a functor from the category of sets to the category
of right R-modules:
X
f

.
Y
.
FX
¸ ¸ ¸
FY.
It is left adjoint to the forgetful functor.
We say that a module is free if it is free on some set. In homological algebra it is
natural to consider a wider class of modules; namely the projective modules.
Projective modules
Before introducing the notion of projective module it is useful to have some terminol-
ogy and a lemma about splittings.
DEFINITION 3.1.
(i) A split monomorphism is a monomorphism θ : A B for which there exists a
map φ : B →A such that φθ = id
A
.
(ii) A split epimorphism is an epimorphism θ : A B for which there is a map
φ : B →A such that θφ = id
B
.
(iii) A short exact sequence A
ι
B
π
C is called split if and only if either ι is split
mono or π is split epi.
LEMMA 3.2. If θ : A →B is split epi and φ : B →A is a splitting, i.e. φ is a map such
that θφ = id
B
, then
A = Ker θ ⊕Imφ.
PROOF. We have the following picture
B
φ

id
B

A
θ

B.
To prove the assertion we need to check two things. First, we show that
Ker θ ∩Imφ = 0.
PROJECTIVE MODULES 19
Suppose that a ∈ Ker θ ∩Imφ. Then a = φb for some b. Hence 0 = θa = θφb = b. Thus
b = 0 and so a = φb = 0.
Next we need to show that Ker θ +Imφ = A. Write any element of a as follows:
a = (a−φθa) +φθa.

EXERCISE 3.3. (i) State and prove an analogous lemma for a split mono.
(ii) Show that in a split short exact sequence A
ι
B
π
C both the maps ι and π are
split and that B is isomorphic to A⊕C.
EXAMPLE 3.4. For each n ≥2 there is the non-split short exact sequence
Z
n
Z Z/nZ.
DEFINITION 3.5. An R-module M is said to be projective if and only if the following
equivalent conditions hold:
(i) there is an R-module N such that M⊕N is free;
(ii) the functor Hom
R
(M, ) is exact;
(iii) given any epimorphism N N

then every map M →N

factors through N;
(iv) every epimorphism onto M is split.
This deﬁnition is really a Lemma, isn’t it? From a theoretical point of view (ii) is
the best deﬁnition. But the other formulations are often useful in practice and a proof is
needed.
PROOF.
(i)⇒(ii)
First recall that the functor Hom
R
(R, ) is naturally isomorphic to the identity functor and
so is exact. Now for any set X,
Hom
R
(FX, )

=

x∈X
Hom
R
(R, )
and so this functor is also exact. Finally if M is a direct summand of a module N for which
Hom
R
(N, ) is exact then Hom
R
(M, ) is also exact. Thus the ﬁrst implication holds.
(ii)⇒(iii)
We assume Hom
R
(M, ) is exact. In particular this functor takes epimorphisms to epimor-
phisms. Therefore we have an epimorphism
Hom
R
(M, N) Hom
R
(M, N

).
Thus any given map M →N

comes from a map M →N which gives the required factor-
ization.
(iii)⇒(iv)
Given an epimorphism L
θ
M we have that the identity map M →M factors through a
map M
φ
L. Now we have a pair of mutually inverse maps between L and M⊕Ker θ:
L →M⊕Ker θ
deﬁned by
→(θ, −φθ),
20 I. HOMOLOGICAL ALGEBRA
and
M⊕Ker θ →L
deﬁned by
(m, k) →φm+k.
(iv)⇒(i)
We can always choose an epimorphism F M for a suitably large free module F, and
then (i) follows when (iv) holds.
Schanuel’s Lemma
The following variation on Schanuel’s lemma can be proved by the standard pullback
argument. We also indicate a direct and explicit proof. I wish to thank Jon Alperin for
pointing out this formulation which cuts to the heart of the matter.
LEMMA 3.6 (A variation on Schanuel’s Lemma). Suppose given two short exact se-
quences K L
π
M and K

L

π

M of modules, and suppose there are maps φ

: L →L

and φ : L

→L such that πφ = π

and π

φ

= π. Then L

⊕K is isomorphic to L⊕K

.
Note that φ and φ

each supply a way of making a commutative square as illustrated
in the diagram
K

L
π

φ

¸
M
K

L

π

φ
¸
M.
PROOF. I’ll use this proof as a vehicle for discussing pullbacks. In addition, I want
to show that the isomorphism between L

⊕K and L ⊕K

in terms of φ and φ

. As an irrelevant aside I will show how the calculation leads to an
example of a ring for which there is an invertible upper triangular matrix whose inverse is
not upper triangular.
We form the pullback:
X
p

¸ ¸ ¸
p
.
¸
¸
¸
L

π

.
L
π

M
in which X is the submodule
{(,

); π = π

}
of L⊕L

and the new maps p : X →L and p

: X →L

are the restrictions of the projection
maps.
The pullback has a univeral property. Given any module Y and any maps θ : Y →L
and θ

: Y →L

making the diagram
Y

.
L

π

.
L
π

M
SCHANUEL’S LEMMA 21
then there is a unique map M →N so that the diagram
Y

¸
¸
¸
¸
X
p

p
.
L

π

.
L
π

M
commutes. The pullback square has the property that its rows have the same kernel and its
columns have the same kernel. So we can see the extended diagram:
K

.
K

.
K

X

.
L

.
K

L

M
Watch the following commutative diagram where X is the pullback:
L
id
L

φ

¸
¸
¸
¸
X
p

p
.
L

π

.
L
π

M
The maps id
L
: L →L and φ

: L →L

are compatible with the pullback square. Because of
the universal property of pullbacks there exists a map L →X, which is a splitting of p. We
thus have
X

= L⊕Ker p

= L⊕K

.
We can do the same thing with the roles of L, φ

and L

, φ reversed. Watch the com-
mutative diagram where X is the pullback:
L

φ

id
L

¸
¸
¸
¸
X
p

p
.
L

π

.
L
π

M
The maps id
L
: L

→L

and φ : L

→L are compatible with the pullback square. Because
of the universal property of pullbacks there exists a map L

→X, which is a splitting of p

.
We thus have
X

= L

⊕Ker p

= L

⊕K.
22 I. HOMOLOGICAL ALGEBRA
The lemma follows:
L

⊕K

= X

= L⊕K

.
Now let’s give an explicit proof. A little abuse of notation renders this transparent:
Regard K and K

as submodules of L and L

respectively, and write 1 for the inclusion in
both cases. The map φ

restricts to a map from K to K

which we also denote by φ

and
similarly, φ restricts to a map φ from K

to K. Regard the modules L

⊕K and L⊕K

as
consisting of column vectors, so that Hom
R
(L

⊕K, L ⊕K

) can be viewed as the set of
2×2 matrices:
_
Hom
R
(L

, L) Hom
R
(K, L)
Hom
R
(L

, K

) Hom
R
(K, K

)
_
.
In this way, the matrix
_
φ 1
1−φ

φ −φ

_
represents a map from L

⊕K to L⊕K

. Simi-
larly,
_
φ

1
1−φφ

−φ
_
represents a map from L⊕K

to L

⊕K. These maps are mutually
inverse:
_
φ 1
1−φ

φ −φ

__
φ

1
1−φφ

−φ
_
=
_
1 0
0 1
_
=
_
φ

1
1−φφ

−φ
__
φ

1
1−φφ −φ

_
,
and therefore isomorphisms.
An irrelevant remark: let S be any ring which contains a pair of elements s and t
such that ts = 1 but st = 1. Then the matrix calculation
_
s 1
0 −t
__
t 1
1−st −s
_
=
_
1 0
0 1
_
=
_
t 1
1−st −s
__
s 1
0 −t
_
,
which is obtained by substituting s, t for φ, φ

shows that there is an invertible upper trian-
gular matrix over S whose inverse is not upper triangular. Of course, in this context one
can ﬁnd more striking examples:
_
t 0
1−st s
__
s 1−st
0 t
_
=
_
1 0
0 1
_
=
_
s 1−st
0 t
__
t 0
1−st s
_
.
The following is the classical form of Schanuel’s Lemma, so named because Schanuel
made the observation while attending a lecture of Kaplansky’s as a graduate student. It
was and still is a great conceptual insight.
LEMMA 3.7 (Schanuel). Given any two short exact sequences
K P
π
M,
K

P

π

M
such that P and P

are projective, then P

⊕K is isomorphic to P⊕K

.
PROOF. Because P is projective and π

is an epimorphism, there exists a map φ

:
P →P

such that π

φ

= π. Similarly there is a map φ : P

→P with πφ = π

. So we
have the same situation as in Lemma 3.6: two ways of making a commutative square in
the diagram:
K

P
π

φ

¸
M
K

P

π

φ
¸
M.

SCHANUEL’S LEMMA 23
LEMMA 3.8. Let M

ι
M
π
M

be any short exact sequence of modules in which
π factors through a projective module Q. Then M is isomorphic to a direct summand of
Q⊕M

.
PROOF. Suppose that π is the composite M
φ
→Q
ψ
→M

. Clearly ψ must be epi. Thus
we have a short exact sequence Ker ψ Q
ψ
M

. Since Q is projective we may choose a
factorization φ

: Q →M of ψ through π. Now we have a diagram
M

M
π

φ
¸
M

Ker ψ

Q
ψ

φ

¸
M

.
of the right type for using Lemma 3.6 and therefore M⊕Ker ψ is isomorphic to Q⊕M

.

Here is one last application in similar spirit.
DEFINITION 3.9. A module M is said to be ﬁnitely presented if and only if there is a
short exact sequence
K P M
in which P is projective and both P and K are ﬁnitely generated.
LEMMA 3.10. Let M be a ﬁnitely presented module and let L N M be any short
exact sequence in which N is ﬁnitely generated. Then L is ﬁnitely generated.
PROOF. Choose a presentation K P M as in the above deﬁnition. Form the
pullback
K
.
K
.
L

X

.
P
.
L

N

M
Using the projectivity of P we can ﬁnd a map P →N to make the commutative square in
the diagram
K

P

φ
.
M
L

N

M.
We can use φ in the pullback diagram
P
id
P

φ

¸
¸
¸
¸
X

.
P
.
N

M
24 I. HOMOLOGICAL ALGEBRA
to construct a map P →X which splits the map X →P (their composite is the identity on
P. This shows that X

= P⊕L. But we also have the short exact sequence K X N in
which both K and N are ﬁnitely generated: this shows that X is ﬁnitely generated. Being a
direct summand of X, the module L is therefore also ﬁnitely generated.
I wish to thank Andy Baker for pointing out this argument. Notice that unlike our
other Schanuel type results, this one requires only one map φ between P and L rather than
two.
Injective modules
Dual to the notion of projective module, there is the notion of injective module.
DEFINITION 3.11. An R-module J is called injective if and only if Hom
R
( , J) is an
exact functor.
EXERCISE 3.12. Formulate a version of this deﬁnition which includes analogues of
(iii) and (iv) of Deﬁnition 3.5 and supply the proof.
Whereas the existence of an abundance of projective modules is assured because all
free modules are projective, the existence of an abundance of injective modules is more
subtle. (There is no analogue of Deﬁnition 3.5(i).) We need to start by working over the
ring Z and understanding the injective modules in this special case. Note that the notion of
Z-module is essentially the same as the notion of abelian group (written additively).
DEFINITION 3.13. Let A be a Z-module. We say that A is divisible iff for all a ∈A and
0 = n ∈ Z, there exists b ∈ A with nb = a. The simplest example of a divisible Z-module
is the additive group Q of rational numbers. It is a trivial observation that quotients of
divisible abelian groups are divisible, so Q/Z is also an example of a divisible abelian
group. Q/Z is a torsion group, meaning that every element has ﬁnite order. For each prime
p we write C
p
∞ for the p-primary component of Q/Z:
C
p
∞ = {x ∈ Q/Z; p
n
x = 0 for some n}.
Each of these groups is divisible and
Q/Z =

p prime
C
p
∞.
LEMMA 3.14. Let J be a Z-module. Then J is injective if and only if it is divisible.
PROOF. Suppose that J is injective. Let j ∈ J and 0 = n ∈ Z be given. Then we can
ﬁnd a map to complete the commutative triangle
0

Z
1→n

1→j
.
Z
¸

J
If j

denotes the image of 1 under the new map then nj

= j. Thus J is divisible.
Conversely suppose that J is divisible and consider a diagram
0

A
ι

φ
.
B
J
INJECTIVE MODULES 25
in which ι is mono. How can we extend φ from A to B? We may and do regard A as a
submodule of B. The trick is to use Zorn’s Lemma. Consider the set S of ordered pairs
(C, θ) where A ≤C ≤ B and θ is an extension of φ to C. We make S into a partially
ordered set by deﬁning (C, θ) (C

, θ

) if and only if C ≤C

and θ

extends θ. Zorn’s
Lemma can be used to choose a maximal member (C, θ) of S. We’ll show that in this
case, C = B and so we are done. If not, then choose b ∈ BC. Let C

=C+Zb. If there
is no n ∈ Z{0} with nb ∈C then Zb

=Z and C

=C⊕Z, in which case we can extend
θ to C

be making any choice for the image of b. This contradicts maximality, so we may
suppose that there is an n = 0 with nb ∈C and we’ll assume that we are working with the
least positive such n. Since J is divisible we can choose j ∈ J with n j = θ(nb). Now we
would like to extend θ to C

by
c +mb →θc +mj,
(c ∈C, m∈Z). Happily this works ﬁne: we just need to check that our map is well-deﬁned.
If
c +mb = c
1
+m
1
b
then (m
1
−m)b ∈C. Either this is because m
1
= m in which case we are not worrying, or
(m
1
−m) = m
2
n for some m
2
, because of the minimal choice of n. Now
(θc
1
+m
1
j) −(θc +mj) = θ(c
1
−c +m
2
nb) = 0,
and we have extended our map. This contradicts maximality and we must, after all, have
C = B.
We are coming close to our ﬁrst main result about injective modules over arbitrary
rings. But we need one more device. For an Z-module A we write
A

:= Hom(A, Q/Z).
There is a natural map
‡ : A →A
††
deﬁned by
a → evaluation at a,
and we have the following useful observation:
LEMMA 3.15. ‡ is mono.
PROOF. The key to this is the property of Q/Z that it has a cyclic subgroup
1
n
Z/Z of
every possible ﬁnite order n. Thus for a a non-zero element of A we can ﬁnd a non-zero
map Za →Q/Z. By injectivity of Q/Z we can extend this to a map φ : A →Q/Z and now
φ does not evaluate to zero at a: ‡a(φ) = φ(a) = 0, and ‡a = 0.
Now we come to the case of a general ring. We shall make use of the functor
Hom( , Q/Z) :
it is a contravariant functor from the category of abelian groups (Z-modules) to itself. But
it can be easily turned into a functor
Mod
R

R
Mod
from the category of right R-modules to the category of left R-modules. For a right R-
module M, we can make M

into a left R-module by
r · θ(m) := θ(mr).
26 I. HOMOLOGICAL ALGEBRA
It can also be viewed as a functor
R
Mod →Mod
R
from the category of left R-modules to the category of right R-modules. If N is a left
R-module we can make N

into a right R-module by
φ · r(n) := φ(rn).
LEMMA 3.16. If P is a projective left R-module then P

is an injective right R-module.
PROOF. First consider the case when P = R. Then there is natural isomorphism
Hom
R
(M, R

)

= Hom(M, Q/Z) = M

given by sending a map φ : M →R

to the map (m →φm(1)). Suppose now that P is a
free left R-module on a set X. Then we have the natural isomorphisms
Hom
R
( , P

)

= Hom
R
_
,

x∈X
R

_

=

x∈X
Hom( , Q/Z),
and the right hand functor is exact because Q/Z is an injective Z-module. (Q/Z is divisi-
ble, so it is injective by Lemma 3.14.) In general, there is a left module Q such that P⊕Q
is free (Deﬁnition 3.5) and so
Hom
R
( , (P⊕Q)

)
is exact. But we naturally have
Hom
R
( , (P⊕Q)

) = Hom
R
( , P

) ⊕Hom
R
( , Q

)
and the result follows.
LEMMA 3.17. Every R-module M can be embedded into an injective R-module.
PROOF. Fix a right R-module M. We get a left R-module M

. Choose a projective left
module P with an epimorphism π : P M

. We get induced maps
M

→M
††
π
→P

.
The ﬁrst map is mono by Lemma 3.15. The second map is mono by Lemma 1.9. Moreover,
P

is injective module by Lemma 3.16. We have embedded M into an injective module.
EXERCISE 3.18. Formulate and prove analogues of Lemmas 3.6, 3.7, 3.8 which are
dual and involve injective modules in place of projective modules. In the proofs you may
want to use the dual notion pushout in place of pullback. The pushout of a diagram
A
β

γ
.
B
C
is a diagram
A
β

γ
.
B
β

.
C
γ

X
INJECTIVE MODULES 27
in which X can be deﬁned to be the cokernel of the map A→B⊕C given by a →(βa, −γa)
and the maps β

and γ

are induced by the natural inclusions of B and C into B⊕C. The
pushout satisﬁes a universal property in the obvious way: given a commutative diagram
A
β

γ
.
B
.
C

Y
then there is a unique map X →Y making the diagram
A
β

γ
.
B
β

.

C
γ

X
∃!

¸
¸
¸
¸
Y
commute.
At a basic level, the concept of injective module is dual to the concept of projective
module. What we have in Lemma 3.17 is the dual of the much easier fact that every module
is an epimorphic image of a projective module. We already see that the theories develop
in quite different ways. The following lovely result for injective modules has no analogue
for projective modules except in very rare and special circumstances (for example when R
is Artinian).
DEFINITION 3.19. Let M ≤N be R-modules. We say that N is an essential extension
of M iff every non-trivial submodule of N has non-trivial intersection with M.
LEMMA 3.20. For every R-module M there is an embedding M →J into an injec-
tive module which is simultaneously an essential extension of M. Moreover any two such
injective essential extensions are isomorphic.
PROOF. Choose any embedding M →I with I injective, using Lemma 3.17. Using
Zorn’s Lemma, choose a submodule V of I which is maximal subject to being an essential
extension of M. Using Zorn’s Lemma again, choose a submodule U of I maximal subject
to U ∩V = 0. Then the composite
V

θ

I

I/U
is mono because U ∩V = 0 and I/U is an essential extension of Imθ because of the max-
imality of U. Using injectivity we can ﬁnd a map φ, necessarily mono, to complete the
commutative triangle
0

V
θ

.
I/U.
φ
¸

I
28 I. HOMOLOGICAL ALGEBRA
Then Imφ is an essential extension of V, and therefore also of M, so we have Imφ =V by
maximality of V. Thus φ provides an isomomorphism from I/U to V which is inverse to
θ. In this way we obtain a splitting
I

=V ⊕I/U
and hence V is injective. Thus V satisﬁes the required conclusion. We leave the proof that
any two such extensions of M are isomorphic as an exercise.
DEFINITION 3.21. The injective hull of an R-module M is deﬁned to be any choice
of essential injective extension of M. It is uniquely determined up to isomorphism by M
as we see from Lemma 3.20. Note that it is not determined up to unique isomorphism, in
the same spirit as the classical Galois theory of ﬁelds, the algebraic closure of a ﬁeld is
determined up to isomorphism but not uniquely because there is the whole Galois group of
possibilities.
Enough
We are working entirely with categories of modules over a ring. But the theory can
be developed in a more general setting, namely for abelian categories of which Mod
R
is
one instance. Other important instances include the category of sheaves over a topological
space and the category of O
X
-modules over the structure sheaf of a scheme X. In any case,
the deﬁnition of projective and injective can be stated in these contexts using the criterion
of exactness of the appropriate Homfunctor. It is always important to address the following
issue:
DEFINITION 3.22. Let C be an abelian category. We say that C has enough projectives
iff there is an epimorphism P →M with P projective, for every object M. We say that C
has enough injectives iff there is a monomorphism M →J with J injective, for every M.
What we have seen in the course of this section is ﬁrst the relatively easy fact
LEMMA 3.23. Mod
R
has enough projectives,
and then the rather more technical fact
LEMMA 3.24. Mod
R
has enough injectives.
In other situations, typically involving categories of sheaves, it turns out that one can often
ﬁnd enough injectives but rarely enough projectives. This is one of the reasons (not the
only reason!) why cohomology is more prevalent in algebra and geometry than homology.
4. Review of ordinary cohomology
Let R, S be rings. A cohomological functor U

from the category of right R-modules
to the category of right S-modules consists of a family (U
n
|n ∈Z) of functors U
n
: Mod
R

Mod
S
, together with natural connecting maps δ : U
n
(M

) →U
n+1
(M

) for each short exact
sequence M

M M

and each n ∈ Z, such that the following axiom holds:
AXIOM. (Long exact sequence)
For each short exact exact sequence M

ι
M
π
M

the following sequence is exact:
· · ·
δ
→U
n
(M

)
ι

→U
n
(M)
π

→U
n
(M

)
δ
→U
n+1
(M

)
ι

→U
n+1
(M)
π

→U
n+1
(M

)
δ
→· · · .
4. REVIEW OF ORDINARY COHOMOLOGY 29
It is extremely important to appreciate the signiﬁcance of the statement that δ is natu-
ral. Suppose given a commutative diagram
M

ι

φ

.
M
π

φ
.
M

φ

.
N

κ

N
ρ

N

where the rows are short exact sequences. Then the functoriality of each U
n
guarantees
that the diagram
U
n
(M

)
ι

φ

.
U
n
(M)
π

φ

.
U
n
(M

)
φ

.
U
n
(N

)
κ

U
n
(N)
ρ

U
n
(N

)
is commutative. But we also want the square
U
n
(M

)
δ

φ

.
U
n+1
(M

)
φ

.
U
n
(N

)
δ

U
n+1
(N

)
to commute for each n and this is what naturality of δ means. The effect is that our
commutative diagram of short exact sequences gives rise to a commutative ladder of long
exact sequences:
. . .
δ

U
n
(M

)
ι

φ

.
U
n
(M)
π

φ

.
U
n
(M

)
φ

.
δ

U
n+1
(M

)
φ

.
ι

. . .
. . .
δ

U
n
(N

)
κ

U
n
(N)
ρ

U
n
(N

)
δ

U
n+1
(N

)
κ

. . .
Given two cohomological functors U

and V

as above, a map U

→V

consists of a fam-
ily of natural maps ν
n
: U
n
→V
n
, which are also natural with respect to the connecting
maps.
We introduce also the following optional axiom:
AXIOM. (Coeffaceability)
U
n
is zero for all n < 0, and U
n
(J) is zero whenever J is an injective module and n > 0.
EXAMPLE 4.1. Given a chain complex P

of projective R-modules, and given an R-
module M, we obtain a cochain complex
C

= Hom
R
(P

, M).
One can watch cohomology groups of such a cochain complex:
H
n
(C

) = Ker(C
n
→C
n+1
)/Im(C
n−1
→C
n
).
From each module homomorphism φ : M →N we receive a cochain map Hom
R
(P

, M) →
Hom
R
(P

, N), which induces a map φ

in cohomology. From a short exact sequence M

M M

we obtain a short exact sequence of cochain complexes:
Hom
R
(P

, M

) Hom
R
(P

, M) Hom
R
(P

, M

).
30 I. HOMOLOGICAL ALGEBRA
Here we use the fact that Hom
R
(P
n
, ) is exact (P
n
is projective). This induces a long exact
sequence with the connecting maps (Lemma 1.7).
THEOREM 4.2. Suppose given two cohomological functors U

,V

: Mod
R
→Mod
S
,
such that U

is coeffaceable. Then any natural map ν
0
: U
0
→V
0
extends uniquely to a
natural map ν : U

→V

.
PROOF. We construct ν
n
and establish its properties by induction on n. Suppose
therefore that n ≥0 and that ν
i
has been constructed for all i ≤n. There are four steps.
Step 1. Deﬁnition of ν
n+1
.
Let M be an R-module. Using Lemma 3.17 choose a short exact sequence
M I X
in which I is injective. The rows of the following commutative diagram come from the
long exact sequences for U and V.
. . .
U
n
I

ν
n
.
U
n
X

ν
n
.
U
n+1
M

0
. . .
V
n
I

V
n
X

V
n+1
M
. . .
A diagram chase yields a well-deﬁned map
ν
n+1
: U
n+1
M →V
n+1
M
which completes a commutative square above. If ν
n+1
is to have the right properties then
this square must commute, and thus it is clear that ν
n+1
is determined by ν
n
: there is at
most one possible choice for ν
n+1
.
Step 2. Invariance of deﬁnition.
Let’s check that ν
n+1
is independent of the choice of short exact sequence M I X.
Suppose that
M J Y
is another short exact sequence with J injective. Applying the argument of step 1 with the
new sequence yields a new deﬁnition ´ ν
n+1
. We show now that ´ ν
n+1
= ν
n+1
. Since J is
injective we can build both our short exact sequences into a commutative diagram:
M

I

.
X
.
M

J

Y
U
n+1
M
ν
n+1

V
n+1
M
U
n
X
νn

δ
. .¸
¸
¸
¸
¸
¸
¸
¸
¸
.
V
n
X
δ

.
U
n
Y
νn

δ
¸ ¸

V
n
Y
δ

¸
¸
¸
¸
¸
¸
¸
¸
¸
U
n+1
M
´ ν
n+1

V
n+1
M
4. REVIEW OF ORDINARY COHOMOLOGY 31
This is really a cube which we have projected onto the plane. We want to check that
the large outer square commutes. Since the outer vertical maps are identity maps, being
induced by the identity id
M
: M →M, commutativity of this outer square will guarantee
that ´ ν
n+1
= ν
n+1
. Watch the diagram: it becomes clear that we will be done once we have
checked commutativity of the ﬁve other squares that make up the cube, because the top left
hand diagonal δ is surjective. Here are the explicit reasons for commutativity of each of
the squares:
Top. By deﬁnition of ν
n+1
.
Left. Naturality of δ in U

-cohomology.
Centre. Naturality of ν
n
.
Right. Naturality of δ in V

-cohomology.
Bottom. By deﬁnition of ´ ν
n+1
.
Step 3. Naturality of ν
n+1
.
Given a map φ : M→N choose short exact sequences MI X and N J Y. Using
the injectivity of J we can ﬁnd maps I →J and ψ : X →Y to make a commutative diagram
M

φ
.
I

.
X
ψ
.
N

J

Y
of short exact sequences we need to check that the outer large square of the following
induced diagram commutes.
U
n+1
M
ν
n+1

φ

.
V
n+1
M
φ

.
U
n
X
νn

δ
. .¸
¸
¸
¸
¸
¸
¸
¸
¸
ψ

.
V
n
X
δ

ψ

.
U
n
Y
νn

δ
¸ ¸

V
n
Y
δ

¸
¸
¸
¸
¸
¸
¸
¸
¸
U
n+1
N
ν
n+1

V
n+1
N
Just as in Step 2, watch the diagram and observe that we are done once the commutativity
of the other ﬁve squares is checked. Here is that check:
Top. By deﬁnition of ν
n+1
Left. Naturality of δ in U

-cohomology.
Centre. Naturality of ν
n
.
Right. Naturality of δ in V

-cohomology.
Bottom. By deﬁnition of ν
n+1
.
Step 4. Naturality of ν
n+1
with respect to connecting homomorphisms.
Let A B C be any short exact sequence of modules. We need to check that the square
U
n
C
δ

ν
n
.
U
n+1
A
ν
n+1
.
V
n
C
δ

V
n+1
A
32 I. HOMOLOGICAL ALGEBRA
commutes. To this end, choose a short exact sequence A I X with I injective. Then
we can use injectivity to construct a commutative diagram
A

B

.
C
ψ
.
A

I

X
and this in turn yields a further cube diagram on passage to cohomology.
U
n
C
δ

ν
n
.
U
n+1
A
ν
n+1
.
U
n
X
δ

ψ

¸
¸
¸
¸
¸
¸
¸
¸
¸
ν
n
.
U
n+1
A

ν
n+1
.
V
n
X
δ

¸
ψ

V
n+1
A
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
V
n
C
δ

V
n+1
A
As in Steps 2 and 3 we need to check commutativity of the outer square and watching the
diagram we see that it sufﬁces to check commutativity of the other ﬁve squares:
Top. Naturality of δ in U

-cohomology.
Left. Naturality of ν
n
.
Centre. By deﬁnition of ν
n+1
.
Right. There is nothing happening!
Bottom. Naturality of δ in V

-cohomology.
This completes the inductive step.
Application to construct the cohomological functor Ext

R
(M, )
For classical cohomology we ﬁx a module M and use a chain complex P

of projective
modules such that
H
n
(P

)

=
_
M n = 0
0 otherwise
and P
n
= 0 for n < 0. Usually we do this by setting P
n
= 0 for n < 0 and choosing a
projective resolution (P

M) of M to supply P
n
when n > 0. A projective resolution
P

M is an exact sequence
· · · →P
j
→· · · →P
2
→P
1
→P
0
M
in which the modules P
j
are projective for all j. One gets the cohomological functor
H

(Hom
R
(P

, )), which will be named Ext

R
(M, ). Every projective resolution P

M
delivers for all R-modules N the following exact sequence (c.f. Lemma 1.9):
0 →Hom
R
(M, N) →Hom
R
(P
0
, N) →Hom
R
(P
1
, N).
So Ext
0
R
(M, N) is naturally isomorphic to Hom
R
(M, N). It is easy to show, that Ext
n
R
(M, J)
vanishes for every injective R-module J and n >0, that means Ext

R
(M, ) is coeffaceable.
Therefore Ext

R
(M, ) does not depend on the choice of the projective resolution of M
(because of Theorem 4.2).
APPLICATION TO CONSTRUCT THE COHOMOLOGICAL FUNCTOR Ext

R
(M, ) 33
COROLLARY 4.3. Let M be an R-module and let N

N N

be a short exact
sequence of R-modules. Then we have a long exact sequence
· · ·
δ
→Ext
n
R
(M, N

) →Ext
n
R
(M, N) →Ext
n
R
(M, N

)
δ
→Ext
n+1
R
(M, N

) →Ext
n+1
R
(M, N) →. . .
EXERCISE 4.4. Use Theorem 4.2 to establish the following.
(i) Given a map φ : M→M

there is an induced map φ

: Ext

R
(M

, ) →Ext

R
(M, ),
(ii) and in this way, for any ﬁxed module N, and any integer n,
Ext
n
R
( , N)
is a contravariant functor from R-modules to abelian groups.
(iii) Extend composition of maps
Hom
R
(B,C) ×Hom
R
(A, B) →Hom
R
(A,C)
Ext
n
R
(B,C) ×Ext
m
R
(A, B) →Ext
m+n
R
(A,C).
[This is called the Yoneda product.]
EXERCISE 4.5. Let M

and M

be R-modules. An extension of M

by M

is deﬁned
to be a short exact sequence
M

M M

.
We say that two extensions M

M
1
M

and M

M
2
M

are equivalent if and
only if there is a commutative diagram
M

M
1

.
M

M

M
2

M

(i) Show that the map M
1
→M
2
arising in the above deﬁnition is necessarily an
isomorphism.
(ii) Fix a projective resolution P

→M

giving a concrete deﬁnition of Ext

R
(M

, )
and show that each extension M

M M

gives rise to a cohomology class
ξ ∈ Ext
1
R
(M

, M

) which is the class of the cocycle θ in any choice of commu-
tative diagram
. . .
P
3

P
2

P
1

θ
.
P
0

.
M

M

M

M

.
Show further that two extensions are equivalent if and only if they give rise to
the same class in Ext
1
R
(M

, M

) and that every class arises as the class corre-
sponding to some extension. [Hint: you can use the pushout
P
1

θ
.
P
0
.
¸
¸
¸
M
¸ ¸ ¸
in order to create an extension from a class ξ = [θ] ∈ Ext
1
R
(M

, M

).]
34 I. HOMOLOGICAL ALGEBRA
5. Cohomological Finiteness Conditions
DEFINITION 5.1. An R-module M is said to have ﬁnite projective dimension if there
exists a projective resolution P

M of ﬁnite length. If M has ﬁnite projective dimension
and M = 0 then proj. dim
R
M is the least natural number n ≥ 0 such that there exists a
projective resolution P

M of length n:
0 →P
n
→· · · →P
0
→M →0
DEFINITION 5.2. An R-module M is of type FP
n
(n ∈ N) if there exists a projective
resolution P

M in which P
i
is ﬁnitely generated for i ≤n.
An R-module M is of type FP

if there exists a projective resolution P

M of ﬁnite type
(i.e. all P
i
are ﬁnitely generated).
An R-module M is of type FP if there exists a ﬁnite projective resolution P

M (i.e.
P

M both of ﬁnite length and ﬁnite type).
An R-module M is of type FL if there exists a ﬁnite free resolution, i.e. an exact sequence
0 →F
n
→· · · →F
0
→M →0
where the modules F
i
are ﬁnitely generated and free.
LEMMA 5.3 (Generalized Schanuel’s Lemma). Given two partial projective resolu-
tions of an R-module M
0 →K →P
n−1
→· · · →P
0
→M →0
0 →L →Q
n−1
→· · · →Q
0
→M →0
(P
i
and Q
i
projective) then K⊕Q
n−1
⊕P
n−2
⊕· · · is isomorphic to L⊕P
n−1
⊕Q
n−2
⊕· · · .
PROOF. Applying the ordinary Schanuel’s Lemma on the two short exact sequences
K
0
P
0
M and L
0
Q
0
M we get an isomorphism between K
0
⊕Q
0
and L
0
⊕P
0
.
The next exact sequence is a partial projective resolution of K
0
0 →K →P
n−1
→· · · →P
1
→K
0
→0.
0
to P
1
and to K
0
and adding the identity map between delivers a partial projective
resolution of K
0
⊕Q
0
0 →K →P
n−1
→· · · →P
1
⊕Q
0
→K
0
⊕Q
0
→0.
Analogously we get a partial projective resolution for L
0
⊕P
0
0 →L →Q
n−1
→· · · →Q
1
⊕P
0
→L
0
⊕P
0
→0.
Since K
0
⊕Q
0

= L
0
⊕P
0
the result follows by induction.
Note that if K is projective, then so is L, and if K, P
i
, Q
j
are all ﬁnitely generated, then
so is L. So 5.3 enables us to see, that the Deﬁnitions 5.1 and 5.2 are “robust”. Further it
follows that
FL

= FP

,
(proj. dim
R
<∞ and FP

) ⇐⇒FP,
where a module M is of type FL

if there exists a free resolution F

M of ﬁnite type.
LEMMA 5.4 (Horseshoe Lemma). Given any short exact sequence M

ι
M
π
M

and projective resolutions
· · · →P

2
→P

1
→P

0
ε

M

,
5. COHOMOLOGICAL FINITENESS CONDITIONS 35
.
.
.
.
.
.
.
.
¸
¸
¸
.
.
.
.
P

3

.
P

3
⊕P

3

.
¸
¸
¸
P

3
.
P

2

.
P

2
⊕P

2

.
¸
¸
¸
P

2
.
P

1

.
P

1
⊕P

1

.
¸
¸
¸
P

1
.
P

0

ε

.
P

0
⊕P

0

.
¸
¸
¸
P

0
ε

.
M

ι

M
π

M

FIGURE 10. The Horseshoe Lemma
· · · →P

2
→P

1
→P

0
ε

M

.
Then there is a way to choose a projective resolution of M in order to complete the com-
mutative diagram shown in Figure 10 in which the horizontal short exact sequences
P

n

P

n
⊕P

n

P

n
p
¸

(p, 0)
(p, q)
¸

q
involve the obvious inclusions and projections.
PROOF. Choose a map θ : P

0
→M making a commutative triangle:
P

0
ε

.
θ
¸

M
π

M

and then deﬁne ε : P

0
⊕P

0
→M by (p, q) →ιε

p+θq. We obtain a commutative diagram
P

0

ε

.
P

0
⊕P

0

ε
.
P

0
ε

.
M

ι

M
π

M

36 I. HOMOLOGICAL ALGEBRA
Putting kernels and cokernels into this we obtain a diagram to which the Snake Lemma can
be applied.
Ker ε

.
.
Ker ε
.
.
Ker ε

.
.
P

0

ε

.
P

0
⊕P

0

ε
.
P

0
ε

.
M

.
.
M

.
.
M

.
.
0 Coker ε 0
On the application of the Snake Lemma (1.5) we have
0
M

P

0
Ker ε

Coker ε
M
P

0
⊕P

0
Ker ε
0
M

P

0
Ker ε

.

. .

.

. .

.

. .

Thus the kernels K

= Ker ε

, K = Ker ε and K

= Ker ε

form a short exact sequence
and Coker ε = 0. We can now continue inductively, constructing the diagram
P

1

.
P

1
⊕P

1

.
P

1
.
K

ι

K
π

K

at the next step.
The Horseshoe Lemma shows that from a short exact sequence M

M M

of
modules, we we obtain a short exact sequence of chain complexes P

P

P

. More-
over the chain maps here consist of the obvious inclusions and projections. If you like, the
clever thing about the Horseshoe Lemma is that the only maps which have in any way a
complicated deﬁnition reside entirely within the central chain complex: it is important to
realize that P

does not split as a direct sum at the level of chain complexes. However the
splittiing we do have immediately yields a number of corollaries.
COROLLARY 5.5.
(i) proj. dim
R
M

≤n and proj. dim
R
M

≤n implies that also proj. dim
R
M ≤n;
5. COHOMOLOGICAL FINITENESS CONDITIONS 37
(ii) if M

and M

are of type FP
n
where n ∈ N∪{∞} then M is also of type FP
n
;
(iii) if M

and M

are of type FL, so is M.
COROLLARY 5.6. Given a short exact sequence M

MM

and projective resolu-
tions P

M

, P

M

we get as we have seen a short exact sequence of chain complexes
P

P

P

. This gives rise to a long exact sequence in cohomology:
· · · →Ext
n
R
(M, N) →Ext
n
R
(M

, N)
δ
→Ext
n+1
R
(M

, N) →Ext
n+1
R
(M, N) →Ext
n+1
R
(M

, N)
δ
→· · ·
If M is projective we get a very short projective resolution, that is 0 →P
0
→M →
0, and so Ext
n
R
(M, ) vanishes for n > 0. The long exact sequence above will give an
isomorphism for n > 0 as follows
Ext
n
R
(M

, N)

=
→Ext
n+1
R
(M

, N).
This process is called dimension shifting. Now one can prove that
proj. dim
R
M
is the least integer n ∈ Z, n ≥−1 such that Ext
i
R
(M, ) vanishes for i > n. Notice that this
has various consequences. The long exact sequence in cohomology helps us to understand,
how the projective dimensions of the modules M, M

and M

are related when M

M
M

is a short exact sequence. For example if two of them have ﬁnite projective dimension,
so has the third.
EXERCISE 5.7. We now have two long exact sequences for Ext

R
( , ) coming from
Corollaries 4.3 and 5.6. Given short exact sequences
M

M M

N

N N

there are now two 2-step ways of going from Ext
n−1
R
(M

, N

) to Ext
n+1
R
(M

, N

) by using
connecting homomorphisms as illustrated in the diagram:
Ext
n−1
R
(M

, N

)
δ

δ
.
Ext
n
R
(M

, N

)
δ
.
Ext
n
R
(M

, N

)
δ

Ext
n+1
R
(M

, N

)
Show that the above diagram is anticommutative. [Hint: See Exercise 1.8.]
EXERCISE 5.8. Given a short exact sequence
A B C
with corresponding element ξ ∈ Ext
1
R
(C, A) and a map θ : A →A

construct the extension
corresponding to θ

(ξ) ∈ Ext
1
R
(C, A

). [Hint: consider the pushout diagram shown below.]
A

θ
.
B
A

Given a map ψ : C

→C, construct the extension corresponding to ψ

(ξ) ∈ Ext
1
R
(C

, A).
[Hint: consider an appropriate pullback.]
38 I. HOMOLOGICAL ALGEBRA
6. The Grothendieck Group K
0
In this section we introduce the Grothendieck group and use it to prove
LEMMA 6.1. Let M

M M

be a short exact sequence of modules of type FP. If
two of the three modules have type FL then so does the third.
Notice that if M

and M

have ﬁnite free resolutions then we can construct such a
resolution for M by using the Horseshoe Lemma. The general case needs a little more and
the Grothendieck group provides an elegant approach.
Let R be a ring. The Grothendieck group of ﬁnitely generated projective R-modules is
deﬁned as follows. Let X be the set of isomorphism classes of ﬁnitely generated projective
modules. We’ll write {P} for the class of modules isomorphic to the ﬁnitely generated
projective module P. Let A be the free abelian group on X and let B be the subgroup
generated by
_
{P⊕Q}−{P}−{Q}; P, Q ∈ X
_
.
Then the Grothendieck group is deﬁned as follows:
K
0
(R) :=A/B.
We’ll write [P] for the image of {P} in K
0
(R). In K
0
(R) we have
[P⊕Q] = [P] +[Q].
DEFINITION 6.2. Two ﬁnitely generated projective R-modules P and Q are called
stably equivalent if and only if there is a free module R
n
of ﬁnite rank n ≥ 0 such that
P⊕R
n ∼
= Q⊕R
n
. A ﬁnitely generated projective module is called stably free if and only
if it is stably equivalent to a free module of ﬁnite rank.
LEMMA 6.3. Let P and Q be ﬁnitely generated projective R-modules. Then
(i) P is stably equivalent to Q if and only if [P] = [Q] in K
0
(R).
(ii) P is stably free if and only if there is an integer n such that [P] = n[R].
PROOF.
(i) If P and Q are stably equivalent then clearly [P] = [Q].
Conversely, suppose that [P] = [Q] in K
0
(R). This means that {P}−{Q} ∈ B. Therefore
there exist ﬁnitely many projective modules P

1
, Q

1
, . . . , P

, Q

, P

1
, Q

1
, . . . , P

m
, Q

m
such that
{P}−{Q} =

i
_
{P

i
⊕Q

i
}−{P

i
}−{Q

i
}
_

j
_
{P

j
⊕Q

j
}−{P

j
}−{Q

j
}
_
.
Rearranging we ﬁnd that
{P}+

i
_
{P

i
}+{Q

i
}
_
+

j
{P

j
⊕Q

j
} = {Q}+

i
{P

i
⊕Q

i
}+

j
_
{P

j
}+{Q

j
}
_
.
This equation in A clearly entails an isomorphism
P⊕

i
P

i
⊕Q

i

j
P

j
⊕Q

j

= Q⊕

i
P

i
⊕Q

i

j
P

j
⊕Q

j
.
Thus M :=

i
P

i
⊕Q

i

j
P

j
⊕Q

j
is a ﬁnitely generated projective R-module such that
P⊕M

= Q⊕M. We can choose a ﬁnitely generated N so that M⊕N

= R
n
for some n and
P⊕R
n

= P⊕M⊕N

= Q⊕M⊕N

= Q⊕R
n
.
7. FILTERED CATEGORIES AND FILTERED COLIMITS 39
If P is stably free then it is clear from the deﬁnitions that [P] = n[R] for some n.
Conversely if there exists such an n then [P⊕R
m
] = [R
m+n
] for any natural number ≥−n.
Now the result follows from (i).
DEFINITION 6.4. Let M be a module of type FP. Then we deﬁne the Euler class
E (M) ∈ K
0
(R) by
E (M) :=

i≥0
(−1)
i
[P
i
]
where P

→M is any choice of ﬁnite projective resolution.
Notice that the generalized form of Schanuel’s Lemma 5.3 ensures that E (M) is in-
dependent of the choice of resolution.
LEMMA 6.5. Let M be a module of type FP. Then M is of type FL if and only if there
is an integer n such that E (M) = n[R] in K
0
(R).
7. Filtered categories and ﬁltered colimits
Let J be a small category. (Small means that the collections of all morphisms is a
set.) For any category C we can deﬁne the functor category C
J
to be the category whose
objects are functors from J to C and whose morphisms are natural maps between them. For
example, a group G can be viewed as a category with one object and with the elements of
G being isomorphisms from this object to itself. Then the functor category Ab
G
of functors
from G to the category of abelian groups is naturally equivalent to the category of left ZG-
modules: a functor G →Ab associates an abelian group to the object of G and then each
element of G is carried to an automorphism of this group.
In general, there is a diagonal functor
Δ : C →C
J
deﬁned by sending each object C of C to the constant functor which takes all objects of J
to C and all morphisms to the identity id
C
. In many important situations this functor has
both left and right adjoints which are written lim
−→
J
and lim
←−J
:
lim
−→
J
Δ lim
←−
J
.
DEFINITION 7.1. We say that a small category J is ﬁltered iff
• for any two objects λ, µ there exist an object ν a pair of morphisms
λ

¸
¸
¸
¸
¸
¸
¸
ν
µ
¸

• and given a pair of morphisms f , g : λ → µ there exists a morphism h with
domain µ such that h f = hg:
λ
f

g

h f =hg

µ
h

ν
40 I. HOMOLOGICAL ALGEBRA
DEFINITION 7.2. Let C be an abelian category, for example C could be the category
Mod
R
where R is a ring. We say that C has all small colimits if and only if for all small
categories J, the diagonal functor Δ : C →C
J
−→
J
: C
J
→C.
LEMMA 7.3. For any ring R, the category Mod
R
has all small colimits.
PROOF. We shall only be interested in the case of colimits over ﬁltered categories.
For completeness we brieﬂy mention how one can prove this result using some category
theoretic tools. First there are three very important examples of colimits none of which are
ﬁltered.
• J = n is the discrete category with n objects 0, 1, . . . , n −1 and no morphisms
apart from the obligatory identity morphisms for each object. An object of
Mod
n
R
simply consists of n objects M
0
, . . . , M
n−1
of Mod
R
with no particular
relationship to one another. In this case it is easy to see that
lim
−→
n
M
j
= M
0
⊕· · · ⊕M
n−1
.
This case is of interest for any natural number n ≥0. When n = 0 it asserts the
existence of an initial object: in Mod
R
this is the zero module.
More generally it is easy to see that colimits over an arbitrary small discrete
categories exist. In effect, if we have any family (M
λ
) of R-modules then the
colimit is the direct sum

λ
M
λ
.
• J is the pushout diagram

.

with three objects, two interesting morphisms and three obligatory identity mor-
phisms. In this case an object of Mod
J
R
simply consists of a diagram
A

.
B
C
of modules and maps, and the colimit is the pushout as discussed in Exercise
3.18.
• J is the coequalizer diagram

consisting of two objects and two interesting morphisms. An object of Mod
J
R
is
a diagram of modules and maps
A
θ

φ
B
7. FILTERED CATEGORIES AND FILTERED COLIMITS 41
and the colimit is the coequalizer of the maps, that is the largest quotient of B
on which they become equal.
lim
−→
J
_
_
A
θ

φ
B
_
_
= B/{θa−φa; a ∈ A}.
In particular, Mod
R
has coproducts, pushouts and coequalizers and it is then a general
category theoretic fact that it must have all ﬁnite colimits.
Mac Lane’s text [23] is an excellent source for the basics of category theory with more
than enough information for the purposes of this book. There it is shown that if a category
(Mod
R
in our case) has all coproducts and has coequalizers then it has all small colimits:
see ([23] Theorem V.2.1). Taking this on trust we could stop here. Notice also that the
consideration of pushouts as a special case becomes redundant: in effect the pushout of a
diagram
A

.
B
C
is the coequalizer of the obvious pair of maps
A

B⊕C
to the coproduct of B and C. However, the ﬁltered case is the case we shall mainly use in
this text and it is helpful to consider this case in more detail.
There is an interesting special case of ﬁltered colimit which often arises in practice.
Let Λ be a small ﬁltered category in which there is at most one morphism between any
two objects. Such a Λ is more commonly called a directed poset (poset = partially ordered
set) because we can suggestively use a notation such as λ ≤ µ to indicate that there is a
morphism λ →µ. It is slightly easier to deal with this case on its own and as Mac Lane
proves, a category with all ﬁnite coproducts and all colimits over directed posets has all
small coproducts (Theorem IX.1.1 of [23]).
Nevertheless we shall consider the case of most interest to us in a little more detail.
Assume now that Λ is a small ﬁltered category.
A ﬁltered colimit system is an object of Mod
Λ
R
. This consists of a family of modules
(M
λ
) for λ an object of Λ together with maps M
λ
→M
µ
corresponding to any morphism
λ → µ. We construct the colimit by taking the disjoint union of the modules M
λ
and
factoring out a certain equivalence relation ∼:
lim
−→
Λ
M
λ
=
_
_
λ∈Λ
M
λ
__
∼.
The equivalence relation ∼ is generated by the relation which is deﬁned by m m

if
and only if there is a morphism f : λ →µ in Λ such that m ∈ M
λ
, m

∈ M
µ
and m →m

under the map M
λ
→M
µ
determined by f . It is an easy but laborious exercise to check
that this deﬁnition works: the colimit inherits a well-deﬁned module structure and satisﬁes
the conditions to be an adjoint. We outline some of the arguments.
For m ∈

λ∈Λ
M
λ
let [m] denote its image in lim
−→
Λ
M
λ
. To endow the colimit with
an additive structure we need to deﬁne [m+m

] regardless of whether or not m and m

belong to the same module. This is very simple in principle: if m ∈ M
λ
and m

∈ M
µ
then we can choose any pair of morphisms λ →ν ←µ and let m and m

be the images
42 I. HOMOLOGICAL ALGEBRA
of m and m

in M
ν
. We can then deﬁne [m] + [m

] := [m+m

]. Next, one has to check
that this is well-deﬁned. This check will use the existence of equalizing morphisms in the
ﬁltered category. Checking that there is an additive group structure and R-module structure
is straightforward and ﬁnally the adjunction is quite clear.
LEMMA 7.4. The functor lim
−→
J
: Mod
J
R
→Mod
R
is right exact. If J is ﬁltered then it
is exact.
(A
j
) →(B
j
) →(C
j
) →0
is an exact sequence of colimit systems over J of modules over R. For any module M we
have a commutative diagram
0

Hom
R
J (C
j
, ΔM)

Hom
R
J (B
j
, ΔM)

Hom
R
J (A
j
, ΔM)
0

Hom
R
(lim
−→
J
C
j
, M)

Hom
R
(lim
−→
J
B
j
, M)

Hom
R
(lim
−→
J
A
j
, M)
in which the top row is exact by Lemma 1.9 and the vertical isomorphisms are expressions
−→
J
Δ. It follows that the bottom row of the diagram must also be
exact, and this exactness holds for all choices of module M. Therefore by using the reverse
direction of Lemma 1.9 we deduce that
lim
−→
J
(A
j
) →lim
−→
J
(B
j
) →lim
−→
J
(C
j
) →0
is exact as required. When J is ﬁltered it is easy to see that the map lim
−→
J
(A
j
) →lim
−→
J
(B
j
)
is mono provided the original maps A
j
→B
j
are mono. Indeed if [a] →0 with a ∈ A
j
this
says that the image b of a in B
j
satisﬁes [b] =0. This means that for some morphism j → j

in J, b →0 in B
j
under the corresponding morphism B
j
→B
j
. But then the image a of a
in A
j
maps to 0 in B
j
and so a = 0.
DEFINITION 7.5. Let C and D be abelian categories. Let
E →F →G
be a sequence of additive functors and natural transformations from C to D. We say that
the sequence is exact at F if and only if for all objects M of C, the sequence
E(M) →F(M) →G(M)
is exact at F(M).
If you do not need the generality of abelian categories then just think of C and D as
being module categories over a ring. In general, abelian categories enjoy many of the same
properties as these special categories: as well as the existence of kernels and cokernels it is
also the case that Hom
C
(M, N) has a natural additive group structure for any pair of objects
M and N. In the above deﬁnition we have used the term additive functor to mean a functor
F : C →D which respects this. In particular, for any objects M and N of C the induced
map Hom
C
(M, N) →Hom
D
(FM, FN) is required to be a group homomorphism when the
DEFINITION 7.6. Let F : C →D be an additive functor between abelian categories.
We say that
7. FILTERED CATEGORIES AND FILTERED COLIMITS 43
(i) F is continuous if and only if the natural map
lim
−→
Λ
F(M
λ
) →F(lim
−→
Λ
M
λ
)
is an isomorphism for all ﬁltered colimit systems (M
λ
).
(ii) F is continuous at zero if and only if
lim
−→
Λ
F(M
λ
) = 0
whenever (M
λ
) is a ﬁltered colimit system such that lim
−→
Λ
M
λ
= 0.
LEMMA 7.7 (The Five Lemma for Functors). Let
F
1
→F
2
→F
3
→F
4
→F
5
be an exact sequence of additive functors C →D. If F
1
, F
2
, F
4
and F
5
are continuous then
F
3
is also continuous. If F
2
and F
4
are continuous at zero then F
3
is continuous at zero.
PROOF. This follows fromthe deﬁnitions together with the ordinary Five Lemma.
LEMMA 7.8. Let M be an R-module. Then the functor Hom
R
(M, ) is continuous at
zero if and only if M is ﬁnitely generated.
PROOF. If M = R then Hom
R
(R, ) is the identity functor and so is certainly contin-
uous. Thus Hom
R
(F, ) is continuous whenever F is a ﬁnitely generated free module. If
M is ﬁnitely generated then we can choose an epimorphism F M with F free on a ﬁnite
set. Lemma 1.9 yields an exact sequence
0 →Hom
R
(M, ) →Hom
R
(F, )
from which it follows that Hom
R
(M, ) is continuous at zero.
Conversely let M be a module for which Hom
R
(M, ) is continuous at zero. Let Λ be
the partially ordered set of ﬁnitely generated submodules of M. It seems natural to write
M
λ
instead of λ, so we have a ﬁltered colimit system of quotients M/M
λ
of M and it is
vanishing:
lim
−→
Λ
M/M
λ
= 0.
By continuity
lim
−→
Λ
Hom
R
(M, M/M
Λ
) = 0.
Therefore the identity map id
M
becomes zero in the colimit and this means that for some
λ, M/M
λ
= 0. Thus M = M
λ
for some λ and so M is ﬁnitely generated.
EXERCISE 7.9. Show that Hom
R
(M, ) is continuous if and only if M is ﬁnitely
presented.
THEOREM 7.10 (The Bieri–Eckmann criterion). Let R be a ring, let M be a non-trivial
R-module and let n be a non-negative integer. Then the following are equivalent:
(i) Ext
i
R
_
M,
_
is continuous at zero for all i ≤n.
(ii) M is of type FP
n
.
PROOF. We proceed by induction on n. If n = 0 the result is Lemma 7.8. Assume that
n ≥1 and by induction that M has a partial projective resolution
P
n−1
→· · · →P
1
→P
0
→M →0
in which the P
j
are ﬁnitely generated for 0 ≤ j ≤ n −1. Let L be the kernel of the map
P
n−1
→P
n−2
. Choose any way
· · · →P
n+1
→P
n
→P
n−1
→· · · →P
1
→P
0
→M →0
44 I. HOMOLOGICAL ALGEBRA
of continuing the resolution, but note that P
n
can be chosen to be ﬁnitely generated if and
only if L is ﬁnitely generated. The exact sequence P
n+1
→P
n
→L →0 yields an exact
sequence
0 →Hom
R
(L, ) →Hom
R
(P
n
, ) →Hom
R
(P
n+1
, )
which identiﬁes Hom
R
(L, ) with the set of n-cocycles. We now have an exact sequence
of functors
Hom
R
(P
n−1
, ) →Hom
R
(L, ) →Ext
n
R
(M, ) →0
and the functor to the left is continuous at zero because P
n−1
is ﬁnitely generated. By the
Five Lemma, Hom
R
(L, ) is continuous at zero if and only if Ext
n
R
(M, ) is continuous at
zero. The result now follows from Lemma 7.8
EXERCISE 7.11. Let G be a group. We have already remarked that G can be viewed
as a small category with one object. The category of left G-modules is Ab
G
. Show that
the diagonal functor Δ : Ab →Ab
G
has left and right adjoints which in the notation of this
section would be named lim
−→
G
and lim
←−
G
. Identify these adjoints as follows:
(i) lim
←−
G
is the ﬁxed point functor:
lim
←−
G
M = M
G
= {m ∈ M; m is ﬁxed by every element of G}.
(ii) lim
−→
G
is the largest G trivial quotient functor:
lim
−→
G
M = M
G
= the largest quotient of M on which G acts trivially.
EXERCISE 7.12. The following colimits of abelian groups are taken over the poset N
of natural numbers. What are they?
(i) lim
−→
_
Z
2
→Z
3
→Z
4
→Z
5
→Z
6
→Z
7
→. . .
_
(ii) lim
−→
_
Z
2
→Z
2
→Z
2
→Z
2
→Z
2
→Z
2
→. . .
_
(iii) lim
−→
_
Z
0
→Z
0
→Z
0
→Z
0
→Z
0
→Z
0
→. . .
_