# Limit (category theory)

In category theory, a branch of mathematics, the abstract notion of a **limit** captures the essential properties of universal constructions such as products, pullbacks and inverse limits. The dual notion of a **colimit** generalizes constructions such as disjoint unions, direct sums, coproducts, pushouts and direct limits.

Limits and colimits, like the strongly related notions of universal properties and adjoint functors, exist at a high level of abstraction. In order to understand them, it is helpful to first study the specific examples these concepts are meant to generalize.

Limits may also be characterized as terminal objects in the category of cones to *F*.

It is possible that a diagram does not have a limit at all. However, if a diagram does have a limit then this limit is essentially unique: it is unique up to a unique isomorphism. For this reason one often speaks of *the* limit of *F*.

The dual notions of limits and cones are colimits and co-cones. Although it is straightforward to obtain the definitions of these by inverting all morphisms in the above definitions, we will explicitly state them here:

**Weak limit** and **weak colimits** are defined like limits and colimits, except that the uniqueness property of the mediating morphism is dropped.

The definition of limits is general enough to subsume several constructions useful in practical settings. In the following we will consider the limit (*L*, *φ*) of a diagram *F* : *J* → *C*.

Examples of colimits are given by the dual versions of the examples above:

A given diagram *F* : *J* → *C* may or may not have a limit (or colimit) in *C*. Indeed, there may not even be a cone to *F*, let alone a universal cone.

A category *C* is said to **have limits of shape J** if every diagram of shape

*J*has a limit in

*C*. Specifically, a category

*C*is said to

A **complete category** is a category that has all small limits (i.e. all limits of shape *J* for every small category *J*).

One can also make the dual definitions. A category **has colimits of shape J** if every diagram of shape

*J*has a colimit in

*C*. A

**cocomplete category**is one that has all small colimits.

The **existence theorem for limits** states that if a category *C* has equalizers and all products indexed by the classes Ob(*J*) and Hom(*J*), then *C* has all limits of shape *J*. In this case, the limit of a diagram *F* : *J* → *C* can be constructed as the equalizer of the two morphisms

There is a dual **existence theorem for colimits** in terms of coequalizers and coproducts. Both of these theorems give sufficient and necessary conditions for the existence of all (co)limits of shape *J*.

Limits and colimits are important special cases of universal constructions.

Let *C* be a category and let *J* be a small index category. The functor category *C*^{J} may be thought of as the category of all diagrams of shape *J* in *C*. The *diagonal functor*

is the functor that maps each object *N* in *C* to the constant functor Δ(*N*) : *J* → *C* to *N*. That is, Δ(*N*)(*X*) = *N* for each object *X* in *J* and Δ(*N*)(*f*) = id_{N} for each morphism *f* in *J*.

Given a diagram *F*: *J* → *C* (thought of as an object in *C*^{J}), a natural transformation *ψ* : Δ(*N*) → *F* (which is just a morphism in the category *C*^{J}) is the same thing as a cone from *N* to *F*. To see this, first note that Δ(*N*)(*X*) = *N* for all X implies that the components of *ψ* are morphisms *ψ*_{X} : *N* → *F*(*X*), which all share the domain *N*. Moreover, the requirement that the cone's diagrams commute is true simply because this *ψ* is a natural transformation. (Dually, a natural transformation *ψ* : *F* → Δ(*N*) is the same thing as a co-cone from *F* to *N*.)

Therefore, the definitions of limits and colimits can then be restated in the form:

Like all universal constructions, the formation of limits and colimits is functorial in nature. In other words, if every diagram of shape *J* has a limit in *C* (for *J* small) there exists a **limit functor**

which assigns each diagram its limit and each natural transformation η : *F* → *G* the unique morphism lim η : lim *F* → lim *G* commuting with the corresponding universal cones. This functor is right adjoint to the diagonal functor Δ : *C* → *C*^{J}.
This adjunction gives a bijection between the set of all morphisms from *N* to lim *F* and the set of all cones from *N* to *F*

which is natural in the variables *N* and *F*. The counit of this adjunction is simply the universal cone from lim *F* to *F*. If the index category *J* is connected (and nonempty) then the unit of the adjunction is an isomorphism so that lim is a left inverse of Δ. This fails if *J* is not connected. For example, if *J* is a discrete category, the components of the unit are the diagonal morphisms δ : *N* → *N*^{J}.

Dually, if every diagram of shape *J* has a colimit in *C* (for *J* small) there exists a **colimit functor**

which assigns each diagram its colimit. This functor is left adjoint to the diagonal functor Δ : *C* → *C*^{J}, and one has a natural isomorphism

The unit of this adjunction is the universal cocone from *F* to colim *F*. If *J* is connected (and nonempty) then the counit is an isomorphism, so that colim is a left inverse of Δ.

Note that both the limit and the colimit functors are *covariant* functors.

One can use Hom functors to relate limits and colimits in a category *C* to limits in **Set**, the category of sets. This follows, in part, from the fact the covariant Hom functor Hom(*N*, –) : *C* → **Set** preserves all limits in *C*. By duality, the contravariant Hom functor must take colimits to limits.

If a diagram *F* : *J* → *C* has a limit in *C*, denoted by lim *F*, there is a canonical isomorphism

which is natural in the variable *N*. Here the functor Hom(*N*, *F*–) is the composition of the Hom functor Hom(*N*, –) with *F*. This isomorphism is the unique one which respects the limiting cones.

One can use the above relationship to define the limit of *F* in *C*. The first step is to observe that the limit of the functor Hom(*N*, *F*–) can be identified with the set of all cones from *N* to *F*:

The limiting cone is given by the family of maps π_{X} : Cone(*N*, *F*) → Hom(*N*, *FX*) where π_{X}(*ψ*) = *ψ*_{X}. If one is given an object *L* of *C* together with a natural isomorphism *Φ* : Hom(–, *L*) → Cone(–, *F*), the object *L* will be a limit of *F* with the limiting cone given by *Φ*_{L}(id_{L}). In fancy language, this amounts to saying that a limit of *F* is a representation of the functor Cone(–, *F*) : *C* → **Set**.

Dually, if a diagram *F* : *J* → *C* has a colimit in *C*, denoted colim *F*, there is a unique canonical isomorphism

which is natural in the variable *N* and respects the colimiting cones. Identifying the limit of Hom(*F*–, *N*) with the set Cocone(*F*, *N*), this relationship can be used to define the colimit of the diagram *F* as a representation of the functor Cocone(*F*, –).

Let *I* be a finite category and *J* be a small filtered category. For any bifunctor

In words, filtered colimits in **Set** commute with finite limits. It also holds that small limits commute with small limits.^{[1]}

If *F* : *J* → *C* is a diagram in *C* and *G* : *C* → *D* is a functor then by composition (recall that a diagram is just a functor) one obtains a diagram *GF* : *J* → *D*. A natural question is then:

A functor *G* : *C* → *D* induces a map from Cone(*F*) to Cone(*GF*): if *Ψ* is a cone from *N* to *F* then *GΨ* is a cone from *GN* to *GF*. The functor *G* is said to **preserve the limits of F** if (

*GL*,

*Gφ*) is a limit of

*GF*whenever (

*L*,

*φ*) is a limit of

*F*. (Note that if the limit of

*F*does not exist, then

*G*vacuously preserves the limits of

*F*.)

A functor *G* is said to **preserve all limits of shape J** if it preserves the limits of all diagrams

*F*:

*J*→

*C*. For example, one can say that

*G*preserves products, equalizers, pullbacks, etc. A

**continuous functor**is one that preserves all

*small*limits.

One can make analogous definitions for colimits. For instance, a functor *G* preserves the colimits of *F* if *G*(*L*, *φ*) is a colimit of *GF* whenever (*L*, *φ*) is a colimit of *F*. A **cocontinuous functor** is one that preserves all *small* colimits.

If *C* is a complete category, then, by the above existence theorem for limits, a functor *G* : *C* → *D* is continuous if and only if it preserves (small) products and equalizers. Dually, *G* is cocontinuous if and only if it preserves (small) coproducts and coequalizers.

An important property of adjoint functors is that every right adjoint functor is continuous and every left adjoint functor is cocontinuous. Since adjoint functors exist in abundance, this gives numerous examples of continuous and cocontinuous functors.

For a given diagram *F* : *J* → *C* and functor *G* : *C* → *D*, if both *F* and *GF* have specified limits there is a unique canonical morphism

which respects the corresponding limit cones. The functor *G* preserves the limits of *F* if and only this map is an isomorphism. If the categories *C* and *D* have all limits of shape *J* then lim is a functor and the morphisms τ_{F} form the components of a natural transformation

The functor *G* preserves all limits of shape *J* if and only if τ is a natural isomorphism. In this sense, the functor *G* can be said to *commute with limits* (up to a canonical natural isomorphism).

Preservation of limits and colimits is a concept that only applies to *covariant* functors. For contravariant functors the corresponding notions would be a functor that takes colimits to limits, or one that takes limits to colimits.

A functor *G* : *C* → *D* is said to **lift limits** for a diagram *F* : *J* → *C* if whenever (*L*, *φ*) is a limit of *GF* there exists a limit (*L*′, *φ*′) of *F* such that *G*(*L*′, *φ*′) = (*L*, *φ*). A functor *G* **lifts limits of shape J** if it lifts limits for all diagrams of shape

*J*. One can therefore talk about lifting products, equalizers, pullbacks, etc. Finally, one says that

*G*

**lifts limits**if it lifts all limits. There are dual definitions for the lifting of colimits.

A functor *G* **lifts limits uniquely** for a diagram *F* if there is a unique preimage cone (*L*′, *φ*′) such that (*L*′, *φ*′) is a limit of *F* and *G*(*L*′, *φ*′) = (*L*, *φ*). One can show that *G* lifts limits uniquely if and only if it lifts limits and is amnestic.

Lifting of limits is clearly related to preservation of limits. If *G* lifts limits for a diagram *F* and *GF* has a limit, then *F* also has a limit and *G* preserves the limits of *F*. It follows that:

There are examples of functors which lift limits uniquely but neither create nor reflect them.

Older terminology referred to limits as "inverse limits" or "projective limits," and to colimits as "direct limits" or "inductive limits." This has been the source of a lot of confusion.

There are several ways to remember the modern terminology. First of all,