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 and colimits in a category C are defined by means of diagrams in C. Formally, a diagram of type J in C is a functor from J to C:
One is most often interested in the case where the category J is a small or even finite category. A diagram is said to be small or finite whenever J is.
Let F : J → C be a diagram of type J in a category C. A cone to F is an object N of C together with a family of morphisms
A limit of the diagram F : J → C is a cone (L, φ) to F such that for any other cone (N, ψ) to F there exists a unique morphism u : N → L such that φX o u = ψX for all X in J.
One says that the cone (N, ψ) factors through the cone (L, φ) with the unique factorization u. The morphism u is sometimes called the mediating morphism.
Limits are also referred to as universal cones, since they are characterized by a universal property (see below for more information). As with every universal property, the above definition describes a balanced state of generality: The limit object L has to be general enough to allow any other cone to factor through it; on the other hand, L has to be sufficiently specific, so that only one such factorization is possible for every cone.
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 notion 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:
A co-cone of a diagram F : J → C is an object N of C together with a family of morphisms
A colimit the diagram F : J → C is a co-cone (L, φ) of F such that for any other co-cone (N, ψ) of F there exists a unique morphism u : L → N such that u o φX = ψX for all X in J.
Colimits are also referred to as universal co-cones. They can be characterized as initial objects in the category of co-cones from F.
As with limits, if a diagram F has a colimit then this colimit is unique up to a unique isomorphism.
Limits and colimits can also be defined for collections of objects and morphisms without the use of diagrams. The definitions are the same (note that in definitions above we never needed to use composition of morphisms in J). This variation, however, adds no new information. Any collection of objects and morphisms defines a (possibly large) directed graph G. If we let J be the free category generated by G, there is a universal diagram F : J → C whose image contains G. The limit (or colimit) of this diagram is the same as the limit (or colimit) of the original collection of objects and morphisms.
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 type J if every diagram of type 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 type J for every small category J).
One can also make the dual definitions. A category has colimits of type J if every diagram of type 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 type J. In this case, the limit of a diagram F : J → C can be constructed as the equalizer of the two morphisms
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 CJ may be thought of the category of all diagrams of type J in C. The diagonal functor
Given a diagram F: J → C (thought of as an object in CJ), a natural transformation ψ : Δ(N) → F (which is just a morphism in the category CJ) is the same thing as a cone from N to F. The components of ψ are the morphisms ψX : N → F(X). Dually, a natural transformation ψ : F → Δ(N) is the same thing as a co-cone from F to N.
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 type J has a limit in C (for J small) there exists a limit functor
Dually, if every diagram of type J has a colimit in C (for J small) there exists a colimit functor
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
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:
Dually, if a diagram F : J → C has a colimit in C, denoted colim F, there is a unique canonical isomorphism
Let I be a finite category and J be a small filtered category. For any bifunctor
there is a natural isomorphism
In words, filtered colimits in Set commute with finite limits, and (dually) cofiltered limits in Set commute with finite colimits.
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 type 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
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 type J if it lifts limits for all diagrams of type 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 the preimage cone (L′, φ′) is the unique limit of F such that 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:
The dual statements for colimits are equally valid.
Let F : J → C be a diagram. A functor G : C → D is said to
Dually, one can define creation and reflection of colimits.
The following statements are easily seen to be equivalent:
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,
are types of colimits, whereas
are types of limits. Second, the prefix "co" implies "first variable of the ". Terms like "cohomology" and "cofibration" all have a slightly stronger association with the first variable, i.e., the contravariant variable, of the bifunctor.