nLab
limit

Contents

Idea

In category theory a limit of a diagram F:DC in a category C is an object limF of C equipped with morphisms to the objects F(d) for all dD, such that everything in sight commutes. Moreover, the limit limF is the universal object with this property, i.e. the “most optimized solution” to the problem of finding such an object.

The limit construction has a wealth of applications throughout category theory and mathematics in general. In practice, it is possibly best thought of in the context of representable functors as a classifying space for maps into a diagram. So in some sense the limit object limF “subsumes” the entire diagram F(D) into a single object, as far as morphisms into it are concerned. The corresponding universal object for morphisms out of the diagram is the colimit.

An intuitive general idea is that a limit of a diagram is the locus or solution set of a bunch of equations, where each of the coordinates is parametrized by one of the objects of the diagram, and where the equations are prescribed by the morphisms of the diagram. This idea is explained more formally here.

Often, the general theory of limits (but not colimits!) works better if the source of F is taken to be the opposite category D op (or equivalently, if F is taken to be a contravariant functor). This is what we do below. In any given situation, of course, you use whatever categories and functors you're interested in.

In some cases the category-theoretic notion of limit does reproduce notions of limit as known from analysis. See the examples below.

Global versus local

In correspondence to the local definition of adjoint functors (as discussed there), there is a local definition of limits (in terms of cones), that defines a limit (if it exists) for each individual diagram, and there is a global definition, which defines the limit for all diagrams (in terms of an adjoint).

If all limits over the given shape of diagrams exist in a category, then both definitions are equivalent.

See also the analogous discussion at homotopy limit.

Terminology and notation

A limit is taken over a functor F:D opC and since the functor comes equipped with the information about what its domain is, one can just write limF for its limit. But often it is helpful to indicate how the functor is evaluated on objects, in which case the limit is written lim dDF(d); this is used particularly when F is given by a formula (as with other notation with bound variables.)

In some schools of mathematics, limits are called projective limits, while colimits are called inductive limits. Also seen are (respectively) inverse limits and direct limits. Both these systems of terminology are alternatives to using ‘co-’ when distinguishing limits and colimits. The first system also appears in pro-object and ind-object.

Correspondingly, the symbols lim and lim are used instead of lim and colim.

Confusingly, many authors restrict the meanings of these alternative terms to (co)limits whose sources are directed sets; see directed limit. In fact, this is the original meaning; projective and inductive limits in this sense were studied in algebra before the general category-theoretic notion of (co)limit.

Definition

Local definition in terms of representable functors

There is a general abstract definition of limits in terms of representable functors, which we describe now. This reproduces the more concrete and maybe more familiar description in terms of universal cones, which is described further below.

Let in the following D be a small category and Set the category of sets (possibly realized as the category USet of U-small sets with respect to a given Grothendieck universe.)

Limit of a Set-valued functors

The limit of a Set-valued functor F:D opSet is the hom-set

limF:=Hom [D op,Set](pt,F)Setlim F := Hom_{[D^{op}, Set]}(pt, F) \in Set

in the functor category [D op,Set] (the presheaf category), where

pt:D opSetpt : D^{op} \to Set
pt:d{*}pt : d \mapsto \{*\}

is the functor constant on the point, i.e. the terminal diagram.

The set limF is equivalently called

The set limF can be equivalently expressed as an equalizer of a product, explicitly:

limF{(x d) dD dDF(d)(d iαd j)D:F(α)(x d j)=x d i}lim F \simeq \left\lbrace (x_d)_{d \in D} \in \prod_{d \in D} F(d) | \forall (d_i \stackrel{\alpha}{\to} d_j) \in D : F(\alpha)(x_{d_j}) = x_{d_i} \right\rbrace

In particular, the limit of a set-valued functor always exists.

Notice the important triviality that the covariant hom-functor commutes with set-valued limits: for every set S we have a bijection of sets

Hom Set(S,limF)limHom Set(S,F()),Hom_{Set}(S, lim F) \simeq \lim Hom_{Set}(S, F(-)) \,,

where Hom(S,F()):D opSet.

Limit of a functor with values in an arbitrary category

The above formula generalizes straightforwardly to a notion of limit for functors F:D opC for C an arbitrary category if we take the object ”limF” to be a presheaf on C. The true limF is then, if it exists, the object of C representing this presheaf.

More precisely, using the the Yoneda embedding Y:C[C op,Set] define for F:D opC the presheaf lim^F[C op,Set] by the analog of the above formula

(lim^F)(c)Hom [C op,Set](Y(c),lim^F):=limHom [C op,Set](Y(c),F())(\hat \lim F)(c) \simeq Hom_{[C^{op}, Set]}(Y(c), \hat \lim F) := \lim Hom_{[C^{op}, Set]}(Y(c), F(-))

for all cC.

Here the lim on the right is again that of Set-valued functors defined before.

By the above this can also be written as

(lim^F)(c)=Hom [D op,Set](pt,Hom [C op,Set](c,F())(\hat lim F)(c) = Hom_{[D^{op}, Set]}(pt , Hom_{[C^{op}, Set]}(c,F(-))

or, suppressing the subscripts for readability:

(lim^F)(c)=Hom(pt,Hom(c,F()).(\hat lim F)(c) = Hom(pt , Hom(c,F(-)) \,.

So also the presheaf-valued limit always exist. If this presheaf is representable by an object limF of F, then this is the limit of F:

Hom(c,limF)Hom(pt,Hom(c,F())).Hom(c, \lim F) \simeq Hom(pt, Hom(c,F(-))) \,.

Generalization to weighted limits

In the above formulation, there is an evident generalization to weighted limits:

replace in the above the constant terminal functor pt:D opSet with any functor W:D opSet – then called the weight –, then the W-weighted limit of F

lim WF\lim_W F

often written

{W,F}\{W,F\}

is, if it exists, the object representing the presheaf

dHom [D op,Set](W,Hom [C op,Set](c,F())),d \mapsto Hom_{[D^{op}, Set]}(W , Hom_{[C^{op}, Set]}(c,F(-))) \,,

i.e. such that

Hom(c,lim WF)Hom(W,Hom(c,F()))Hom(c, \lim_W F) \simeq Hom(W, Hom(c,F(-))) \,

naturally in cC.

Relation to continuous functors

The very definition of limit as above asserts that the covariant hom-functor Hom(c,):CSet commutes with forming limits. Indeed, the definition is equivalent to saying that the hom-functor is a continuous functor.

Definition in terms of universal cones

Unwrapping the above abstract definition of limits yields the following more hands-on description in terms of universal cones.

Unwrapping

Let F:D opC be a functor.

Notice that for every object cC an element

*Hom(pt,Hom(c,F()))* \to Hom(pt, Hom(c, F(-)))

is to be identified with a collection of morphisms

cF(d)c \to F(d)

for all dD, such that all triangles

c F(d i) F(f) F(d j)\array{ && c \\ & \swarrow && \searrow \\ F(d_i) && \stackrel{F(f)}{\to} && F(d_j) }

commute. Such a collection of morphisms is called a cone over F, for the obvious reason.

If the limit limFC of F exist, then it singles out a special cone given by the composite morphism

**Id limFHom C(limF,limF)Hom(pt,Hom(limF,F())),* \stackrel{* \mapsto Id_{\lim F}}{\to} Hom_C(\lim F, \lim F) \stackrel{\simeq}{\to} Hom(pt, Hom(\lim F, F(-))) \,,

where the first morphism picks the identity morphism on limF and the second one is the defining bijection of a limit as above.

The cone

limF F(d i) F(f) F(d j)\array{ && \lim F \\ & \swarrow && \searrow \\ F(d_i) && \stackrel{F(f)}{\to} && F(d_j) }

is called the universal cone over F, because, again by the defining property of limit as above, every other cone {cF(d)} dD as above is bijectively related to a morphism climF

*{cF(d)} dDHom(pt,Hom(c,F()))Hom(c,limF).* \stackrel{\{c \to F(d)\}_{d \in D}}{\to} Hom(pt, Hom(c, F(-))) \stackrel{\simeq}{\to} Hom(c, \lim F) \,.

By inspection one finds that, indeed, the morphism climF is the morphism which exhibits the factorization of the cone {cF(d)} dD through the universal limit cone

c F(d i) F(f) F(d j)= c limF F(d i) F(f) F(d j).\array{ && c \\ & \swarrow && \searrow \\ F(d_i) && \stackrel{F(f)}{\to} && F(d_j) } = \array{ && c \\ && \downarrow \\ && \lim F \\ & \swarrow && \searrow \\ F(d_i) && \stackrel{F(f)}{\to} && F(d_j) } \,.

An illustrative example is the following: a limit of the identity functor Id c:CC is, if it exists, an initial object of C.

Global Definition in terms of adjoint of the constant diagram functor

Given categories D and C, limits over functors D opC may exist for some functors, but not for all. If it does exist for all functors, then the above local definition of limits is equivalent to the following global definition.

For D a small category and C any category, the functor category [D op,C] is the category of D-diagrams in C. Pullback along the functor D oppt to the terminal category pt={} induces a functor

const:C[D op,C]const : C \to [D^{op},C]

which sends every object of C to the diagram functor constant on this object.

The left adjoint

colim D:[D op,C]Ccolim_D : [D^{op},C] \to C

of this functor is, if it exists, the functor which sends every diagram to its colimit and the right adjoint is, if it exists, the functor

lim D:[D op,C]Clim_D : [D^{op},C] \to C

which sends every diagram to its limit. The Hom-isomorphisms of these adjunctions state precisely the universal property of limit and colimit given above.

Concretely this means that for all cC we have a bijection

Hom C(c,limF)Hom [D op,C](const X,F).Hom_C(c, \lim F) \simeq Hom_{[D^{op},C]}(const_X, F) \,.

From this perspective, a limit is a special case of a Kan extension, as described there, namely a Kan extension to the point.

Generalizations

The notion of limit, being fundamental to category theory, generalizes to many other situations. Examples include the following.

Examples

The central point about examples of limits is:

Categorical limits are ubiquitous.

To a fair extent, category theory is all about limits and the other universal constructions: Kan extensions, adjoint functors, representable functors, which are all special cases of limits – and limits are special cases of these.

Listing examples of limits in category theory is much like listing examples of integrals in analysis: one can and does fill books with these. (In fact, that analogy has more to it than meets the casual eye: see coend for more).

Keeping that in mind, we do list some special cases and special classes of examples that are useful to know. But any list is necessarily wildly incomplete.

General

Here are some important examples of limits, classified by the shape of the diagram:

Properties

Existence

Frequently some limits can be computed in terms of other limits. This makes things easier since we only have to assume that categories have, or functors preserve, some easier-to-verify class of limits in order to obtain results about a larger one.

The most common example of this is the computation of limits in terms of products and equalizers. Specifically, if the limit of F:D opC and the products dObj(D)F(d) and fMordF(s(f)) all exist, then limF is a subobject of dObj(D)F(d), namely the equalizer of

dObj(D)F(d) fMor(d)(F(f)p t(f)) fMor(D)F(s(f))\prod_{d \in Obj(D)} F(d) \stackrel{\prod_{f \in Mor(d)} (F(f) \circ p_{t(f)}) }{\to} \prod_{f \in Mor(D)} F(s(f))

and

dObj(D)F(d) fMor(d)(p s(f)) fMor(D)F(s(f)).\prod_{d \in Obj(D)} F(d) \stackrel{\prod_{f \in Mor(d)} (p_{s(f)}) }{\to} \prod_{f \in Mor(D)} F(s(f)) \,.

Conversely, if both of these products exist and so does the equalizer of this pair of maps, then that equalizer is a limit of F. In particular, therefore, a category has all limits as soon as it has all products and equalizers, and a functor defined on such a category preserves all limits as soon as it preserves products and equalizers.

Another example is that all finite limits can be computed in terms of pullbacks and a terminal object.

Interaction with Hom-functor

Covariant Hom commutes with limits

For C a locally small category, for F:D opC a functor and writing C(c,F()):CD opSet, we have

C(c,limF)limC(c,F()).C(c, lim F) \simeq lim C(c, F(-)) \,.

Depending on how one introduces limits this holds by definition or is an easy consequence.

In Set

Limits in Set are hom-sets

For F:D opSet any functor and const *:D opSet the functor constant on the point, the limit of F is the hom-set

limF[D op,Set](const *,F)lim F \simeq [D^{op}, Set](const_{*}, F)

in the functor category, i.e. the set of natural transformations from the constant functor into F.

In functor categories

Proposition – limits in functor categories are computed pointwise

Let D be a small category and let D be any category. Let C be a category which admits limits of shape D. Write [D,C] for the functor category. Then

  • [D,C] admits D-shaped limits;
  • these limits are computed objectwise (“pointwise”) in C: for F:D op[D,C] a functor we have for all dD that (limF)(d)lim(F()(d)). Here the limit on the right is in C.

Compatibility with adjoints

Proposition – right adjoints commute with limits

Let R:CC be a functor that is right adjoint to some functor L:CC. Let D be a small category such that C admits limits of shape D. Then R commutes with D-shaped limits in C in that

for F:D opC some diagram, we have

R(limF)lim(RF).R(lim F) \simeq lim (R \circ F) \,.
Proof

Using the adjunction isomorphism and the above fact that Hom commutes with limits, one obtains for every cC

C(c,R(limF)) C(L(c),limF) limC(L(c),F) limC(c,RF) C(c,lim(RF))..\begin{aligned} C'(c', R (lim F)) & \simeq C(L(c'), lim F) \\ & \simeq lim C(L(c'), F) \\ & \simeq lim C'(c', R\circ F) \\ & \simeq C'(c', lim (R \circ F)) \,. \end{aligned} \,.

Since this holds naturally for every c, the Yoneda lemma, corollary II on uniquenes of representing objects implies that R(limF)lim(GF).

Commutativity with limits and colimits

Proposition – small limits commute with small limits

Let D and D be small catgeories and let C be a category which admits limits of shape D as well as limits of shape D. Then these limits commute with each other, in that

for F:D op×D opC a functor , with corresponding induced functors F D:D op[D op,C] and F D:D op[D op,C], then

limFlim D(lim DF D)lim D(lim DF D).lim F \simeq lim_{D} (lim_{D'} F_D ) \simeq lim_{D'} (lim_{D} F_{D'} ) \,.
Proof

This follows from the above proposition and the characterization of the limit as right adjoint to the functor const defined above in the section on adjoints.

See limits and colimits by example for what this formula says for instance for the special case C= Set.

In general limits do not commute with colimits. But under a number of special conditions of interest they do. More on that at commutativity of limits and colimits.