compact object



An object of a category is called compact if it is “finite” or “small” in some precise sense. There are however different formalizations of this idea. Here discussed is the notion, usually going by this term, where an object XX is called compact if mapping out of it commutes with filtered colimits.

This means that if any other object AA is given as the colimit of a “suitably increasing” family of objects {A i}\{A_i\}, then every morphism

XA=lim iA i X \to A = \lim_{\to_i} A_i

out of the compact object XX into that colimit factors through one of the inclusions A ilim iA iA_i \to \underset{\to_i}\lim A_i.

The notion of small object is essentially the same, with a bit more flexibility on when the family {A i}\{A_i\} is taken to be “suitably increasing”. An important application of the above factorization property is accordingly named the small object argument. On the other hand, there is also the notion of finite object (in a topos) which, while closely related, is different. See also Subtleties and different meanings below.



Let CC be a locally small category that admits filtered colimits. Then an object XCX \in C is compact, (or finitely presented or finitely presentable or of finite presentation), if the corepresentable functor

Hom C(X,):CSet Hom_C(X,-) : C \to Set

preserves these filtered colimits. This means that for every filtered category DD and every functor F:DCF : D \to C, the canonical morphism

lim dC(X,F(d))C(X,lim dF(d)) \underset{\to_d}{\lim} C(X,F(d)) \stackrel{\simeq}{\to} C(X, \underset{\to_d}{\lim} F(d))

is an isomorphism.

More generally, if κ\kappa is a regular cardinal, then an object XX such that C(X,)C(X,-) commutes with κ\kappa-filtered colimits is called κ\kappa-compact, or κ\kappa-presented or κ\kappa-presentable. An object which is κ\kappa-compact for some regular κ\kappa is called a small object.



A κ\kappa-small colimit of κ\kappa-compact objects is again a κ\kappa-compact object.


Let DD be a κ\kappa-small category and X:DCX : D \to C a diagram of κ\kappa-compact objects. Let II be a κ\kappa-filtered category and A:ICA : I \to C a κ\kappa-filtered diagram in CC. Then

Hom(lim dX d,lim iA i)lim dHom(X d,lim iA i) Hom(\lim_{\to_d} X_d, \lim_{\to_i} A_i) \simeq \lim_{\leftarrow_d} Hom(X_d, \lim_{\to_i} A_i)

by general properties of the hom functor. Now using that every X dX_d is κ\kappa-compact and II is κ\kappa-filtered this is

lim dlim iHom(X d,A i). \cdots \simeq \lim_{\leftarrow_d} \lim_{\to_i} Hom(X_d, A_i) \,.

Since this (co)limit is taken in Set ,the κ\kappa-small limit over DD commutes with the κ\kappa-filtered colimit

lim ilim dHom(X d,A i). \cdots \simeq \lim_{\to_i} \lim_{\leftarrow_d} Hom(X_d, A_i) \,.

We can take the limit again to a colimit in the first argument

lim iHom(lim dX d,A i), \cdots \simeq \lim_{\to_i} Hom(\lim_{\to_d} X_d, A_i) \,,

which proves the claim.


However, there exist compact objects which are not coherent, c.f. the Elephant, D3.3.12.

Subtleties and different meanings

One has to be careful about the following variations of the theme of compactness.

(Some of these subtleties are resolved by noticing that there is a hierarchy of notions of compact objects that are secretly different but partly go by the same name. Some discussion of this is currently at compact topos, but more detailed discussion should eventually be somewhere…)

In the Elephant, what Johnstone calls compact objects are those objects such that the top element of the poset of subobjects Sub(C)\operatorname{Sub}(C) is a compact element; he reserves the term finitely-presented for the notion of compact on this page.

Compactness in additive categories

When CC is an additive category (often a triangulated category), an object xx in CC is called compact if for every set SS of objects of CC such that the coproduct sSs\coprod_{s\in S} s exists, the canonical map

sSC(x,s)C(x, sSs) \coprod_{s\in S} C(x,s)\to C(x,\coprod_{s\in S}s)

is an isomorphism of commutative monoids.

Here is an application of this concept to characterize which abelian categories are categories of modules of some ring:


Let CC be an abelian category. If CC has all small coproducts and has a compact projective generator, then CRModC \simeq R Mod for some ring RR. In fact, in this situation we can take R=C(x,x) opR = C(x,x)^{op} where xx is any compact projective generator. Conversely, if CRModC \simeq R Mod, then CC has all small coproducts and x=Rx = R is a compact projective generator.


This theorem, minus the explicit description of RR, can be found as Exercise F on page 103 of Peter Freyd’s book Abelian Categories. The first part of this theorem can also be found as Prop. 2.1.7. of Victor Ginzburg’s Lectures on noncommutative geometry. Conversely, it is easy to see that RR is a compact projective generator of RModR Mod.

Zoran: While Ginzburg’s reference is surely a worthy to look at, it would be better not to give false impression that this reconstruction theorem is due Ginzburg or at all new. It is rather a classical and well know fact probably from early 1960s, essentially small strengthening of a variant of a circle of abelian reconstruction theorems including the Gabriel-Popescu theorem(probably our variant could be read off from classical algera book by Faith for example, or Popescu’s book on abelian categories, in any case it is well known in noncommutative algebraic geometry). In fact for this fact, if I think better, the reconstruction belongs usually to expositions which treat classical Morita theory for rings.

A triangulated category is compactly generated if it is generated (see generator) by a set of compact objects.

The notion can be modified for categories enriched over a closed monoidal category (compare to the notions of finite and/or rigid objects in various contexts).

Compact objects in the derived categories of quasicoherent sheaves over a scheme are called perfect complexes. Any compact object in the category of modules over a perfect ring is finitely generated as a module.

In non-additive contexts, the above definition is not right. For instance, with this definition a topological space would be compact iff it is connected. In general one should expect to instead preserve filtered colimits, as above.

Compact objects in TopTop

Recall the above example of compact topological spaces. Notice that the statement which one might expect, that a topological space XX is compact if it is a compact object in Top, is not quite right in general.

A counterexample is given for instance on page 49 of Hovey’s Model Categories, which itself was corrected by Don Stanley (see the errata of that book). See also the blog discussion here.

Namely, the two-element set with the indiscrete topology is a compact space XX for which

(1)Hom(X,):TopTop Hom(X, -): Top \rightarrow Top

doesn’t preserve filtered colimits, in fact not even colimits of sequences (functors out of the ordered set of natural numbers).

For example, consider the sequence of spaces

(2)X n=[n,)×{0,1} X_n=[n,\infty) \times \{0,1\}

where the open sets are of the form

(3)[n,]×{0}[m,)×{1} [n, \infty] \times \{0\} \cup [m,\infty) \times \{1\}

(where mnm \geq n), plus the empty set. Define X nX n+1X_n \rightarrow X_{n+1} so that it sends a pair (k,ϵ)(k, \epsilon) to itself if k>nk \gt n, and (n,ϵ)(n,\epsilon) to (n+1,ϵ)(n+1,\epsilon). This defines a functor

(4)F:Top F: \mathbb{N} \rightarrow Top

The colimit X X_\infty of this sequence is the two-element set {0,1}\{0,1\} with the indiscrete topology. However, the identity map on this space does not factor through any of the canonical maps X nX X_n \rightarrow X_\infty. It follows that the comparison map

(5)colim nHom(X ,X n)Hom(X ,X ) colim_n Hom(X_\infty, X_n) \rightarrow Hom(X_\infty, X_\infty)

is not surjective, and therefore not an isomorphism.

Todd (posted from n-category cafe): I don’t know if the story is any different for XX compact Hausdorff, but it could be worth considering.

But with a bit of care on the assumptions, similar results do hold:

If YY is compact, then hom(Y,)hom(Y,-) preserves colimits of functors mapping out of limit ordinals, provided that the arrows of the cocone diagram,

(6)X αX β, X_\alpha \rightarrow X_\beta,

are closed inclusions of T 1T_1 spaces. (This applies for example to the sequence of inclusions of n-skeleta in a CW-complex. Taking Y=S kY=S_k, this has obvious desirable consequences for the functor π k\pi_k.)

This example is discussed on page 50 of Hovey’s book.

Hovey wants this result in view of a small object argument on the way to proving that TopTop is a model category.

finite objects:

geometrymonoidal category theorycategory theory
perfect module(fully-)dualizable objectcompact object


Compact objects are discussed under the term “finitely presentable” or “finitely-presentable” objects for instance in

For the pages quoted in the context of the discussion of compact objects in Top see

For the general definition with an eye towards the definition of compact object in an (infinity,1)-category see section A.1.1 section 5.3.4 of

Revised on August 31, 2016 03:32:24 by Urs Schreiber (