I’ve been reading an interesting paper of Adams, Haeberly, Jackowski, and May on the Atiyah-Segal completion theorem. One of the surprising features of this paper is the heavy use of pro-abelian groups to deal with the inconvenient fact that inverse limits are generally not exact in abelian groups. I’d like to blog about the proof in this paper, but first I’d like to go through some of the background on pro-objects. In this post, I’ll describe the entirely dual picture of {\mathrm{Ind}}-objects, which is (at least for me) easier to understand.

1. Definition

Let {\mathcal{A}} be a small abelian category. Then there is an imbedding

\displaystyle \mathcal{A} \hookrightarrow \mathrm{Ind}(\mathcal{A}),

of {\mathcal{A}} into the larger category of ind-objects of {\mathcal{A}}. One benefit of doing this is that {\mathrm{Ind}(\mathcal{A})} is a larger abelian category containing {\mathcal{A}}, in which there are enough injectives.

I always found the traditional definition of these confusing, so let me describe another definition (which happens to generalize nicely to the {\infty}-categorical case, and which is where I learned it from).

Let {\mathcal{C}} be any category. Then we know that the category {P(\mathcal{C}) = \mathrm{Fun}(\mathcal{C}^{op}, \mathbf{Sets})} is the “free cocompletion” of {\mathcal{C}}: that is, given any cocomplete category {\mathcal{D}}, we have an equivalence

\displaystyle \mathrm{Fun}(\mathcal{C}, \mathcal{D}) \simeq \mathrm{Fun}^{L}( P(\mathcal{C}), \mathcal{D})

between functors {\mathcal{C} \rightarrow \mathcal{D}} and colimit-preserving functors {P(\mathcal{C}) \rightarrow \mathcal{D}}. The {\mathrm{Ind}}-category is defined to have an analogous universal property, except that one just takes filtered colimits.

That is, {\mathrm{Ind}(\mathcal{C})} is a category together with a fully faithful imbedding {\mathcal{C} \hookrightarrow \mathrm{Ind}(\mathcal{C})} with the properties:

  1. {\mathrm{Ind} (\mathcal{C})} admits all filtered colimits.
  2. Given any category {\mathcal{D}} admitting all filtered colimits, there is an equivalence of categories

    \displaystyle \mathrm{Fun}(\mathcal{C}, \mathcal{D}) \simeq \mathrm{Fun}'(\mathrm{Ind}(\mathcal{C}), \mathcal{D}),

    where {\mathrm{Fun}'} means “preserving filtered colimits.”

One can define, in fact, {\mathrm{Ind}(\mathcal{C})} to be the smallest subcategory of {P(\mathcal{C})} which contains the image of the Yoneda imbedding and which is closed under filtered colimits. A proof of the relevant universal property, in a slightly different context, is described in this post.

2. Some abstract nonsense

The next step is to understand how this indization process behaves with respect to limits and colimits.

Proposition 1 If {\mathcal{C}} admits finite limits, then {\mathrm{Ind}(\mathcal{C})} admits finite limits as well, and the imbedding {\mathcal{C} \rightarrow \mathrm{Ind}(\mathcal{C})} preserves finite limits.


Proof: Note that because the Yoneda imbedding is left exact, {\mathcal{C} \rightarrow \mathrm{Ind}(\mathcal{C})} preserves all limits.

Let’s start by showing that {\mathrm{Ind}(\mathcal{C})} admits finite limits. For instance, let’s show that it admits finite products. Given {X, Y \in \mathrm{Ind}(\mathcal{C})}, we can write (in {\mathrm{Ind}(\mathcal{C})})

\displaystyle X = \varinjlim C_\alpha, \quad Y = \varinjlim D_\beta

for {\alpha, \beta} ranging over filtered categories and {C_\alpha, D_\beta \in \mathcal{C}}. Now {X \times Y}, considered as an object of {P(\mathcal{C}) \supset \mathrm{Ind}(\mathcal{C})} exists, and the only question is to show that it actually lives in {\mathrm{Ind}(\mathcal{C})}, i.e. is a filtered colimit of elements in {\mathcal{C}}. But this follows from:

\displaystyle X \times Y = \varinjlim_{\alpha, \beta} X_\alpha \times Y_\beta.

It is a little trickier to show that {\mathrm{Ind}(\mathcal{C})} admits equalizers. To do this, we’ll use a slightly different argument. (Note: for a somewhat simpler approach, see the proof of the next proposition.)


  1. Fix {X \in \mathcal{C} }. Consider the collection of {Y \in P(\mathcal{C})} such that for any pair of maps {X \rightrightarrows Y}, the equalizer in {P(\mathcal{C})} lives in {\mathrm{Ind}(\mathcal{C})}. This contains {\mathcal{C}} (as {\mathcal{C}} has finite limits), and it is closed under filtered colimits. This follows from two facts: one, that filtered colimits in {P(\mathcal{C})} are exact, and two, that {X} is a compact object of {P(\mathcal{C})}.
  2. It follows from this that for any {X \in \mathcal{C}} and any {Y \in \mathrm{Ind}(\mathcal{C})}, any diagram

    \displaystyle X \rightrightarrows Y

    has an equalizer in {P(\mathcal{C})} which actually lives in {\mathrm{Ind}(\mathcal{C})}.

  3. Now, consider the collection of all {X \in P(\mathcal{C})} such that, for any {Y \in \mathrm{Ind}(\mathcal{C})}, any equalizer diagram {X \rightrightarrows Y} has the property that its limit (in {P(\mathcal{C})}) actually lives in {\mathrm{Ind}(\mathcal{C})}. This contains {\mathcal{C}} (by the previous step) and is closed under filtered colimits, as filtered colimits in {P(\mathcal{C})} are exact.

The three steps above show that {\mathrm{Ind}(\mathcal{C})} admits finite limits whenever {\mathcal{C}} does. \Box

We get a little more, in fact:

Proposition 2 If {\mathcal{C}} admits finite limits, then the finite limits in {\mathrm{Ind}(\mathcal{C})} (which exist by the previous result) commute with filtered colimits.

Proof: In fact, we saw implicitly in the previous proof that {\mathrm{Ind}(\mathcal{C}) \rightarrow P(\mathcal{C})} preserves finite limits: that is, to compute a finite limit of objects in {\mathrm{Ind}(\mathcal{C})}, one just has to compute the limit as a presheaf, and it automatically still lands in {\mathrm{Ind}(\mathcal{C})}. So this follows from the fact that finite limits commute with filtered colimits in {{P}(\mathcal{C})}. \Box

Our next goal is to show that the indization of an abelian category is abelian, and that the inclusion is exact. We will first need an analog of this result for colimits.

Proposition 3 If {\mathcal{C}} admits finite colimits, then so does {\mathrm{Ind}(\mathcal{C})} and the inclusion {\mathcal{C} \rightarrow \mathrm{Ind}(\mathcal{C})} preserves them.


Proof: This is something a bit special: in general, the map {\mathcal{C} \rightarrow P(\mathcal{C})} does not preserve colimits. Let’s start by showing that it is true here. For instance, let’s show that if {C, D \in \mathcal{C}} and we have a coequalizer diagram in {\mathcal{C}},

\displaystyle C \rightrightarrows D \rightarrow E,

then it is a coequalizer in {\mathrm{Ind}(\mathcal{C})}.

How can we do this? We need to show that, for any {X \in \mathrm{Ind}(\mathcal{C})}, the following diagram is exact (in sets):

\displaystyle \hom(E, X) \rightarrow \hom(D, X) \rightrightarrows \hom(C, X).

But we know that the above diagram is exact when {X \in \mathcal{C}}. Also, exactness of the above diagram is preserved under filtered colimits in {X} (since homming out of an object in {\mathcal{C}} commutes with filtered colimits in {\mathrm{Ind}(\mathcal{C})}). Consequently, the above diagram is exact for all {X \in \mathrm{Ind}(\mathcal{C})}, which proves that {E} is still a colimit in {\mathrm{Ind}(\mathcal{C})}.

Now we need to generalize this to show that any pair of morphisms in {\mathrm{Ind}(\mathcal{C})} (not necessarily in {\mathcal{C}}) admits a coequalizer. (Coproducts are similar but easier.) Here the point is that we can write any morphism {X \rightarrow Y} in {\mathrm{Ind}(\mathcal{C})} as a filtered colimit of maps

\displaystyle C_\alpha \rightarrow D_\alpha

in {\mathcal{C}} itself. This is not too hard to see, once one notes that the representable objects in {\mathcal{C}} are compact, and every object in {\mathrm{Ind}(\mathcal{C})} is a filtered colimit of them.

So, let’s say we have two maps {X \rightrightarrows Y} in {\mathrm{Ind}(\mathcal{C})}. By a similar argument, we get a family of pairs of maps {C_\alpha \rightrightarrows D_\alpha} in {\mathcal{C}} whose colimit is {X \rightrightarrows Y}. Observe that, by the previous step, each such pair {C_\alpha \rightrightarrows D_\alpha} admits a coequalizer in {\mathrm{Ind}(\mathcal{C})}: it’s the coequalizer in {\mathcal{C}}, in fact.

Finally, in {\mathrm{Ind}(\mathcal{C})}, we get that the coequalizer of {X \rightrightarrows Y} is the filtered colimit of the coequalizers {\mathrm{coeq}(C_\alpha \rightrightarrows D_\alpha)}. \Box

3. Ind of an abelian category

We are now ready to show that indization preserves abelianness. A general remark: being an abelian category is a property of a category, not extra data. One can, for instance, recover the additive structure on the hom-sets, using the fact that in an abelian category, the map {A \sqcup B \rightarrow A \times B} is an isomorphism.


Proposition 4 If {\mathcal{C}} is abelian, then so is {\mathrm{Ind}(\mathcal{C})}, and the imbedding {\mathcal{C} \rightarrow \mathrm{Ind}(\mathcal{C})} is exact.


Proof: In fact, we’ve seen that in this case, the map

\displaystyle \mathcal{C} \rightarrow \mathrm{Ind}(\mathcal{C})

commutes with finite limits and colimits. So all we have to do is prove that {\mathrm{Ind}(\mathcal{C})} is abelian.

To start with, note that it has a zero object: the zero object in {\mathcal{C}}. Moreover, for any {X , Y \in \mathrm{Ind}(\mathcal{C})}, the map

\displaystyle X \sqcup Y \rightarrow X \times Y

is an equivalence, as one sees by reducing to the case {X, Y \in \mathcal{C}} and taking filtered colimits. This already induces the structure of an abelian monoid in each of the hom-sets {\hom(X,Y)} for { X,Y \in \mathrm{Ind}(\mathcal{C})}. To see that these abelian monoids are groups, write {X = \varinjlim C_\alpha, Y = \varinjlim D_\beta} for {C_\alpha, D_\beta \in \mathcal{C}}. Then we have

\displaystyle \hom(X, Y) = \varprojlim_{\alpha} \varinjlim_{\beta}\hom_{\mathcal{C}}(C_\alpha, D_\beta)

because each {C_\alpha} is compact. Since each of the {\hom(C_\alpha, D_\beta)} is actually an abelian group (not just an abelian monoid), so is {\hom(X,Y)} from the above equation.

So let {f: X \rightarrow Y} be a map in {\mathrm{Ind}(\mathcal{C})}. We have to show that the cokernel of the kernel is the kernel of the cokernel. In this case, we can write {f} as a filtered colimit of maps {f_\alpha: C_\alpha \rightarrow D_\alpha} in {\mathcal{C}}, and we know that

\displaystyle \mathrm{coker}(\mathrm{ker}(f_\alpha)) = \mathrm{ker}(\mathrm{coker}(f_\alpha))

because {\mathcal{C}} is abelian, and because {\mathcal{C} \rightarrow \mathrm{Ind}(\mathcal{C})} preserves finite limits and colimits. Taking filtered colimits (which commute with finite limits and colimits!), we find that

\displaystyle \mathrm{coker}(\mathrm{ker}(f)) = \mathrm{ker}(\mathrm{coker}(f)).


There are several nice properties about {\mathrm{Ind}(\mathcal{C})}, for {\mathcal{C}} abelian. For instance, {\mathrm{Ind}(\mathcal{C})} has all colimits (as it has finite ones and filtered cones). It is also generated under filtered colimits by the objects in {\mathcal{C}}, which are compact; thus, is a presentable category. This means that a number of nice things happen: the adjoint functor theorem applies to {\mathrm{Ind}(\mathcal{C})}, for instance.

As another example, we find:

Proposition 5 {\mathrm{Ind}(\mathcal{C})} has enough injectives.

This is a consequence of a theorem of Grothendieck: a presentable abelian category where filtered colimits are exact has enough injectives.

Most of the ideas described here go through perfectly well in the \infty-categorical setting: for instance, the analogous result is that the indization of a stable \infty-category is stable (and the inclusion is exact).

4. Ind-objects as presheaves

There is an alternative description of {\mathrm{Ind}(\mathcal{C})}. This description makes the additive structure clear, but it is far from obvious that the following description yields an abelian category.

Proposition 6 There is an equivalence (of abelian categories) between {\mathrm{Ind}(\mathcal{C})} and the category {\mathrm{Lex}(\mathcal{C}^{op}, \mathbf{Ab})} of left-exact presheaves of abelian groups on {\mathcal{C}}.


Proof: We have a variant of the Yoneda imbedding

\displaystyle \mathcal{C} \rightarrow \mathrm{Fun}(\mathcal{C}^{op}, \mathbf{Ab}),

which takes values in left-exact functors: i.e., those that send cokernel diagrams to kernel diagrams. Since {\mathrm{Lex}(\mathcal{C}^{op}, \mathbf{Ab})} has filtered colimits (take them pointwise), the universal property of the {\mathrm{Ind}}-category extends to give a functor

\displaystyle \mathrm{Ind}(\mathcal{C}) \rightarrow \mathrm{Lex}(\mathcal{C}^{op}, \mathbf{Ab})

which is additive, and preserves filtered colimits. The claim is that this functor is an equivalence.

To prove this, we have to check two things:

  1. The Yoneda imbedding {\mathcal{C} \rightarrow \mathrm{Fun}(\mathcal{C}^{op}, \mathbf{Ab})} takes values in compact objects.
  2. {\mathrm{Fun}(\mathcal{C}^{op}, \mathbf{Ab})} is generated under filtered colimits by the image of Yoneda.

The fact that checking these two things is enough was sketched in this post, in a different context; I’ll omit these details.

How can we check these things?

  1. The Yoneda imbedding takes values in compact objects. This is formal, because of the Yoneda lemma: homming out of a representable functor is evaluation.
  2. What’s less formal is that a left-exact functor is a filtered colimit of representable ones. We can see this as follows: any functor in {\mathrm{Fun}(\mathcal{C}^{op}, \mathbf{Ab})} is a “canonical colimit” over the “category of elements” of this presheaf. That is, given a presheaf {F}, we take the category whose objects are maps {h_{C} \rightarrow F} (for {h_C} the representable presheaf on {C}) and whose morphisms are commutative squares. It is a general fact that {F} is the colimit of the representable functors {h_C} indexed by this “diagram of elements.”The whole point is that, in the left-exact case, the diagram of elements of {F} is actually filtered. That’s not too hard. Given two maps {h_C, h_{C'} \rightarrow F}, we can imbed them in {h_{C \oplus C'} \rightarrow F}, because {F} is additive. Given two maps {h_C \rightrightarrows h_{C'} \rightarrow F}, we can fit this in a diagram

    using the left-exactness of {F}. Together, these two arguments show that the “category of elements” is actually filtered.