The story of how I ended up writing this post is a bit roundabout. I was trying to figure out whether a technical lemma in Hartshorne on the cohomology of inductive limits of sheaves could be proved using spectral sequences, and I thought I had it, but I then realized that I had no justification for asserting that the category in question had enough injectives (which is necessary to apply the Grothendieck spectral sequence). So I tracked down the original reference to the result, which was–conveniently enough–in Grothendieck’s famous Tohoku paper (available openly).  It turns out that there is a way to see that the category I was interested in had enough injectives, but it is a fairly interesting and involved result. I will explain what I learned from reading the section of the paper today. Next time, I will explain my thoughts that led me here. Also, before I proceed, here’s a PDF of the post.

It is known that the category of modules over a ring has enough injectives, i.e. any object can be imbedded as a subobject of an injective object. This is one of the first things one learns about injective modules, though it is a nontrivial fact and requires some work. Similarly, when introducing sheaf cohomology, one has to show that the category of sheaves on a given topological space has enough injectives, which is a not-too-difficult corollary of the first fact.

However, it is more difficult to see that, for instance, the category of inductive diagrams of sheaves (within a fixed inductive system) has enough injectives. For this a general result that states that wide classes of abelian categories (satisfying minor categorical conditions) have enough injectives is handy and convenient. This result is in Tohoku, but Grothendieck claims it is not his.

I will assume familiarity with basic diagram-chasing in abelian categories (e.g. the notion of the inverse image of a subobject).

1. Preliminaries

Let {\mathfrak{C}} be an abelian category. An object {I \in \mathfrak{C} } is called injective if the functor {A \rightarrow \hom_{\mathfrak{C}}(A, I)} is exact; it is always left-exact. This is the same as saying that if {A} is a subobject of {B}, then any {A \rightarrow I} can be extended to a morphism {B \rightarrow I}. We’d like to be able to embed every object in an injective one; this is necessary to define right-derived functors. If so, we say that the category has enough injectives.

Let us consider the following conditions on an abelian category {\mathfrak{C}}. First, assume {\mathfrak{C}} admits all filtered colimits. So, for instance, arbitrary direct sums exist.

Moreover, if the {A_i, i \in I} are subobjects of {A}, then the sum {\sum A_i} makes sense; it is the image of {\bigoplus_i A_i \rightarrow A}, and is a sub-object of {A}.

We start with the condition

\displaystyle (A) \quad (\sum A_i) \cap B = \sum ( A_i \cap B )

for any family of subobjects {A_i, B} of {A} such that A_i form a filtered increasing family. Note that there is always a canonical monomorphism {\sum ( A_i \cap B) \rightarrow ( \sum A_i ) \cap B} because each {A_i \cap B} injects into {(\sum A_i) \cap B}. We want this to be an isomorphism. This is really a condition on the lattice of subobjects of {A}.

Note that (A) is always satisfied for modules over a ring. In addition, it is satisfied for sheaves on a topological space. Moreover, suppose it is satisfied for the abelian category {\mathfrak{C}}. Then for any category {Z}, it is satisfied for the functor category {Z^{\mathfrak{C}}}; this is because intersections, direct sums, etc. are calculated “pointwise” in a functor category.

Let us analyze some of the consequences of (A). In the lattice of subobjects of {A}, the sum {\sum A_i} now corresponds to the taking the sup. So the lattice admits sups. Indeed, suppose (in this subobject lattice) that {B \geq A_i} for each {i} in some index set {I}. Then {B \cap \sum A_i = \sum B \cap A_i = \sum A_i}. In particular, {B} dominates {\sum A_i}. Conversely, if {B} dominates {\sum A_i}, then obviously {B} dominates each {A_i}.

Next, suppose given a morphism {X\rightarrow Y}. There is an order-preserving map {f^{-1}} from the subobject lattice of {Y} to the subobject lattice of {X}. I claim that:

Proposition 1 {f^{-1}} commutes with the operator {\sum} (i.e., sups). More precisely, I claim that\displaystyle f^{-1}(\sum Y_i) = \sum f^{-1}(Y_i)

for any family {\left\{Y_i\right\}} of subobjects of {Y}.

This follows directly from the characterization of {\sum} as supremums in the lattice of subobjects. Indeed, let {Z} be a subobject of {X}. Then {Z} dominates {f^{-1}(\sum Y_i)} if and only if {f(Z)} dominates {\sum Y_i}, or if and only if {f(Z)} dominates each {Y_i}. Similarly, {Z} dominates {\sum f^{-1}(Y_i)} if and only if {Z} dominates each {f^{-1}(Y_i)}, i.e. if and only {f(Z)} dominates each {Y_i}.

So the same objects dominate {f^{-1}(\sum Y_i)} and {\sum f^{-1}(Y_i)}. This means that they must be equal. (Indeed, the first dominates itself, hence dominates the second, so we have the relation {\geq}; and vice versa.)

Indeed, this follows because {f^{-1}} commutes with join and meet in the lattices of subobjects, so that we have

\displaystyle f^{-1}(Y_1 \cap Y_2) = f^{-1}(Y_1) \cap f^{-1}(Y_2)

in any abelian category. (Proof: a morphism {g: A \rightarrow X} factors through {f^{-1}(Y_1 \cap Y_2)} if and only if {f \circ g} factors through {Y_1 \cap Y_2}, i.e. if it factors through both {Y_1} and {Y_2}. This is equivalent to {g} factoring through {f^{-1}(Y_1)} and {f^{-1}(Y_2)}.)

The general result then follows from the interpretation of arbitrary sums as a sup.

2. Generators

In the category of {A}-modules, any module {M} admits a surjection {A^I \rightarrow M} for some index set {I}. There is a generalization of this to abelian categories.

Definition 2 Let {\mathfrak{C}} be an abelian category with inductive limits. Then {U \in \mathfrak{C}} is called a generator if to every {A \in \mathfrak{C}}, there is an index set {I} and an epimorphism\displaystyle U^I \rightarrow A.


Any nonzero free module is a generator in the category of {A}-modules. In the category of sheaves on a topological space, the direct sum {\bigoplus_U \mathbb{Z}_{U}} of constant sheaves {\mathbb{Z}_U} for {U} an open set is a generator. Indeed, by homming out of such sheaves into some sheaf {\mathcal{F}}, you can have each section over each open set covered in the image—so you get an epimorphism of sheaves.

3. The main result

The main result is as follows:

Theorem 3 Suppose {\mathfrak{C}} is an abelian category admitting inductive limits which satisfies (A) and admits a generator. Then {\mathfrak{C}} has enough injectives.

The proof of this is a bit messy, but not terrible. The first idea is to show that being injective can be reduced to a statement that involves only the generator (as opposed to every object in the category). The next is to use some set-theoretic messiness that is made possible by only having to consider the generator.

4. The main lemma

Lemma 4 Suppose {I \in \mathfrak{C}}. Suppose whenever {V} is a subobject of {U}, then any morphism {V \rightarrow I} can be extended to some {U \rightarrow I}. Then {I} is injective.

So in other words, we just have to check the meaning of injectivity on the subobjects of {U}. To prove this, suppose {I} satisfies the condition of the lemma, and {A} is a subobject of {B}. We have a morphism {A \rightarrow I} that we want to extend to {B \rightarrow I}.

Consider the set of pairs {(B', u)} of subobjects of {B} containing {A} such that {A \rightarrow I} extends to {u: B' \rightarrow I}. We can make this into a poset in the obvious manner, and every chain has an upper bound since the category admits inductive limits. To show that {A \rightarrow I} extends to {B}, we have to show (by Zorn’s lemma) that any element {(B', u)} can be extended to a bigger subobject. This will imply that the maximal element in this poset is a morphism out of {B}.

OK. So, we have {u: B' \rightarrow I}; we will extend it to a bigger subobject. Choose {U \rightarrow A} whose image is not contained in {B'}; this must be possible, since {U} is a generator. Let {V \subset U} be the pre-image of {B'}.

Then we have a map {V \rightarrow B'}, so a map {V \rightarrow I}. By assumption, there is an extension {U \rightarrow I}. We now want to piece together the extension {U \rightarrow I} with {B' \rightarrow I}.

There is a map {U \oplus B' \rightarrow A} coming from {U \rightarrow A, B' \rightarrow A}. The image of this is precisely the sum {B'' = \mathrm{Im}(U \rightarrow A) + B'}, which is a proper superobject of {B'}, and which we will extend {u} to. First, however, we need to understand the kernel. Then, to hom out of {B''} will be the same thing as homming out of {U \oplus B'} while annihilating the kernel.

I claim that the kernel is precisely the image of {V}, via the inclusion {V \rightarrow U} and the map {V \rightarrow B' } (restricting {U \rightarrow A}). In other words, the sequence

\displaystyle 0 \rightarrow V \rightarrow U \oplus B' \rightarrow A

is exact, where we are given that {V \rightarrow U} and {B' \rightarrow A} are monomorphisms. This will follow now from the next lemma.

Lemma 5 Let {\mathfrak{C}} be an abelian category. Suppose given objects {V \subset U}, {B' \subset A}. Suppose there is a morphism {U \rightarrow A} such that {V} is the pre-image of {B'} in {U}. The sequence\displaystyle 0 \rightarrow V \rightarrow U \oplus B' \rightarrow A

is exact (where {V \rightarrow U \oplus B'} is the combination of the inclusion {V \rightarrow U} and the restriction of {V \rightarrow A}).

For this, we note that one can reduce to the category of abelian groups. Indeed, for each object {X \in \mathfrak{C}}, we have to show that {0 \rightarrow \hom(X, V) \rightarrow \hom(X, U) \oplus \hom(X, B') \rightarrow \hom(X, A)} is exact. Moreover, {\hom(X,V)} is a subgroup of {\hom(X,U)}, and {\hom(X,V)} is the preimage of {\hom(X, B')} under {\hom(X, U) \rightarrow \hom(X, B')}. So we have the exact same hypotheses of the lemma but in the category of abelian groups and with hom-sets as the new objects. (This is a special case of a standard “Yoneda trick.”) In particular, we just have to consider the category {\mathfrak{C} = \mathbf{Ab}} of abelian groups.

So let {A, B', U, V} be abelian groups. Suppose {(u,b') \in U \oplus B'} is annihilated. Then, first of all, the image of {u} in {A} must be {-b'}, so {u} lies in {V}. Moreover, {b'} must be the image of {u} under {V \rightarrow B'}, so it follows that {(u,b')} is in the image of {V}. (This is basically immediate.) Thus, the lemma is true for abelian groups, hence for all abelian categories.

So, return to the proof of the main lemma. We know that {B''} is the quotient of {U \oplus B'} by {V}. Now consider the map {U \oplus B' \rightarrow I} piecing together {U \rightarrow I} (remember that this is {V \rightarrow B' \rightarrow I} extended) and {B' \rightarrow I}. These patch on {V} by assumption, so it extends to {(U \oplus B')/V \rightarrow I} But this is just {B''}; thus we get an extension of {B' \rightarrow I} to {B''}. And, by previous remarks, the lemma is proved.

5. Proof of the theorem

Fix an object {A \in \mathfrak{C}}. We have to embed {A} in an injective object {I}. First, we construct {I}. Note that to prove that {I} is in fact injective, we just need to show (by the previous lemma) that any map into {I} from a subobject of the generator {U} extends to all of {U}.

We shall define a sequence {M_1(A), M_2(A), \dots} as follows—in fact, we will define {M_{\alpha}(A)} for any ordinal number {\alpha}. First, we define {M_1(A)}. We will do so in such a way that any map of a subobject {V \subset U} into {A} extends to a map {U \rightarrow M_1(A)}.

Consider the set {I} of all mappings of subobjects {V_i \subset U} into {A}, for all subobjects of {U}. There is a map

\displaystyle \bigoplus_{i \in I} V_i \rightarrow A \oplus \bigoplus_{i \in I} U

that sends {v_i \in V_i} to the combination of its image in {A} and the inclusion in {U} (at the {i}-th factor). Consider the quotient; we call this {M_1(A)}. There is obviously a map {A \rightarrow M_1(A)} from the inclusion on the first factor (and then the quotient). Then, if {f: V \rightarrow A} is a map for {V \subset U}, we can extend it to {U \rightarrow M_1(A)} by using the appropriate {U} factor in the second part of the sum. (This is why the quotienting was necessary—to make sure that this procedure indeed gives an extension.)

Moreover, {A \rightarrow M_1(A)} is a monomorphism, because fibered coproducts preserve monicness in any abelian category. Note that {M_1(A)} is the push-out of {A, \bigoplus_i V_i}, and {\bigoplus_i V_i \rightarrow U^I} is monic. (I’m skipping a few nontrivial details here—this can be seen by diagram-chasing, or by invoking the Freyd-Mitchell embedding theorem, though this is deprecated.) So we have embedded {A} in a suitable object {M_1(A)}, but it is not injective in general.

Define inductively {M_2(A) = M_1(M_1(A))}, and so on. We define {M_{\alpha}(A)} for an ordinal {\alpha} by transfinite induction. Assume that {M_\kappa(A) } for {\kappa<\alpha} is defined and there are monomorphisms {M_{\kappa}(A) \rightarrow M_{\kappa'}(A)} for {\kappa< \kappa' < \alpha}. We will now construct {M_{\alpha}(A)}.

If {\alpha} has an immediate predecessor {\beta}, then set {M_\alpha(A) = M_1(M_\beta(A))}. If {\alpha} is a limit ordinal, then note that the set {\left\{M_\gamma(A), \gamma<\alpha \right\}} of objects is an inductive system and we can take the inductive limit of these to be {M_{\alpha}(A)}.

Now, choose {\Omega} to be the smallest infinite ordinal whose cardinality is strictly greater than the cardinality of the set of subobjects of {U}. Then {\Omega} is a limit ordinal; it has no immediate predecessor. There is an injection {A \rightarrow M_{\Omega}(A)}.

I claim now that {M_{\Omega}(A)} is injective. Indeed, let {V \subset U}, and consider {f: V \rightarrow M_{\Omega}(A)}. There is the sequence of subobjects {V_{\kappa} = f^{-1}(M_{\kappa}(A))} for {\kappa <\Omega}. We have that {M_{\Omega}(A)} is the union (inductive limit) of the subobjects {M_{\kappa}(A)}. The axiom (A) implies that {V} is the union of the {V_{\kappa}}, since inverse images commute with sups.

But the sequence {V_{\kappa}} must stabilize before {V_{\Omega}=V} since there are less than {\Omega} subobjects of {U}. In particular, the image of {V} is contained in a subset {M_{\kappa}(A)} for {\kappa < \Omega}. But we know that {V} can be extended to a map from {U} into {M_1(M_{\kappa}(A)) = M_{\kappa+1}(A)} by construction. So it can be extended from a map of {U} into {M_{\Omega}(A)}. This proves injectivity.

Moreover, {A} can be embedded in each {M_{\kappa}(A)}. This completes the proof.