Limit (category theory)
Sajun.org
In category theory, a branch of mathematics, the abstract notion of a '''limit''' captures the essential properties of universal constructions that are used in various parts of mathematics, like products and inverse limits. Accordingly, the dual notion of a '''colimit''', generalizes disjoint unions and direct sums. Limits and colimits have strong relationships to the categorial concepts of universal morphisms and adjoint functors. == Definition == Before defining limits, it is useful to define the auxiliary notion of a '''cone of a functor'''. Therefore consider two categories ''J'' and ''C'' and a covariant functor ''F'' : ''J'' → ''C''. A ''cone'' of ''F'' is an object ''L'' of ''C'', together with a family of morphisms φ''X'' : ''L'' → ''F''(''X'') for every object ''X'' of ''J'', such that for every morphism ''f'' : ''X'' → ''Y'' in ''J'', we have ''F''(''f'') o φ''X'' = φ''Y''. This situation may be depicted as a commutative diagram: The (usually infinite) collection of all these triangles can be (partially) depicted in the shape of a cone with the apex ''L''. A ''limit'' of a functor is just a ''universal cone''. In detail, a cone (''L'', φ''X'') of a functor ''F'' : ''J'' → ''C'' is a limit of that functor iff for any cone (''N'', ψ''X'') of ''F'', there exists ''precisely one'' morphism ''u'' : ''N'' → ''L'' such that φ''X'' o ''u'' = ψ''X'' for all ''X''. We may say that the morphisms ψ''X'' factor through ''L'' with the unique factorization ''u''. As for every universal property, this 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. It is possible that a functor does not have a limit at all. However, if a functor has two limits then there exists a ''unique'' isomorphism between the respective limit objects which commutes with the respective cone maps; this isomorphism is given by the unique factorization from one limit to the other. Thus limits are unique up to isomorphism and can be denoted by lim ''F''. ==Examples== The definition of limits is general enough to subsume several constructions useful in practical settings. In the following we will consider the limit (''L'', φ''X'') of a functor ''F'' : ''J'' → ''C''. *'''Terminal objects'''. If ''J'' is the empty category, then the above definitions imply that every object of ''C'' is a cone of ''F''. The limit of ''F'' is any object that has a unique factorization through any other object. This is just the definition of a ''terminal object''. *'''Products'''. If ''J'' is a discrete category then the functor ''F'' is essentially nothing but a family of objects of ''C'', indexed by ''J''. The limit ''L'' of ''F'' is called the ''product'' of these objects. The special case where ''J'' consists of just two objects (which we will call ''1'' and ''2'') then defines a ''binary product''. For example, assume that ''C'' is the category '''Set''' and let ''J'' be the discrete two-element category. The binary product ''L'' will then just be the cartesian product ''F''(''1'') × ''F''(''2'') in '''Set'''. The morphisms φ''1'' and φ''2'' are the projections to the respective components of the tuples from ''L''.In many algebraic contexts, such as (abelian) groups, rings , boolean algebras, etc., products are just direct products, where the operations are defined pointwise. Another well-known product is the product topology in '''Top''', the category of topological spaces and continuous maps. If a partially ordered set is viewed as a category ''C'', then products in ''C'' are greatest lower bounds while arbitrary cones are just lower bounds.
*'''Equalizers'''. If ''J'' is a two-object category with two parallel morphisms from object ''1'' to object ''2'' then the limit ''L'' is called an ''equalizer''. *'''Kernels'''. A ''kernel'' is just a special case of an equalizer where one of the morphisms is a zero morphism. *'''Pullbacks'''. Let ''F'' be a functor that picks out three objects ''X'', ''Y'', and ''Z'' in ''C'', where the only non-identity morphisms are ''f'' : ''X'' → ''Z'' and ''g'' : ''Y'' → ''Z''. The limit ''L'' of ''F'' is called a ''pullback'' or a ''fiber product''. It can nicely be visualized as a commutative square: *'''Inverse limits'''. Let ''J'' be a directed poset (considered as a small category by adding arrows ''i'' → ''j'' iff ''i'' ≤ ''j'') and let ''F'' : ''J'' → ''C'' be a contravariant functor. The limit of ''F'' is called (confusingly) an ''inverse limit'' or ''projective limit''. All of the above examples follow a common scheme for the definition of limits: in order to model a limit construction, such as a product of sets, one uses a functor that "picks out" the relevant objects (and sometimes morphisms) from the category ''C''. Consequently, the category ''J'' is usually a small category and has fewer elements than the category ''C''. If one considers a finite category ''J'' then the above constructions can also be specified by giving the objects and morphisms that the functor ''F'' maps to. For example one may talk about an "equalizer of two morphisms" instead of calling this limit an "equalizer of a functor that maps the only two non-trivial morphisms in ''J'' to certain values". However, ''J'' may well be a large category, i.e. one that has a proper class of objects. For example, the product of ''all'' sets exists and is just the empty set (indeed, this is the only possible cone on all families of sets that contain the empty set). ==Complete categories== A category ''C'' is called '''complete''' iff every functor ''F'' : ''J'' → ''C'', where ''J'' is any small category, has a limit; i.e. "all small limits in ''C'' exist". Many important categories are complete: groups, abelian groups, sets, modules over some ring, topological spaces and compact Hausdorff spaces. Typical examples of categories that are not complete are categories with some "size restriction": the category of finite groups or the category of finite-dimensional vector spaces over a fixed field. The '''Existence Theorem for Limits''' states that a category is complete iff it has equalizers and products over arbitrary sets of objects. Note that one doesn't require products of proper classes of objects to exist. It turns out that the property of having ''all'' (even large) limits is too strong to be practically relevant. Any category with this property necessarily is of a very restricted form: for any two objects there can be at most one morphism from one object to the other. If ''J'' is a small category and ''every'' functor from ''J'' to ''C'' has a limit, then the limit operation forms a functor from the functor category ''CJ'' to ''C''. For example, if ''J'' is a discrete category and ''C'' is the category '''Ab''' of abelian groups, then lim : '''Ab'''''J'' → '''Ab''' is the functor which assigns to every ''J''-indexed family of abelian groups its direct product. More generally, if ''J'' is a small category arising from a partially ordered set, then lim: '''Ab'''''J'' → '''Ab''' assigns to every system of abelian groups its inverse limit. == Continuous functors== It is a natural question to ask, which functors are compatible with the construction of limits in the sense that they map limits to limits. These functors are called '''continuous''' or '''limit preserving'''. Formally, a functor ''G'' : ''C'' → ''D'' is ''continuous'' iff, for every small category ''I'' and every functor ''F'' : ''I'' → ''C'' that has a limit (''L'',φ''X'') in ''C'', the functor ''GF'' : ''I'' → ''D'' has the limit (''G''(''L''), ''G''(φ''X'') ). Since the ''Existence Theorem for Limits'' mentioned above shows that all limits can be expressed by products and equalizers, it is sufficient for continuity if ''G'' preserves these special limits. Important examples of continuous functors are given by representable ones: if ''U'' is some object of ''C'', then the functor ''G''''U'' : ''C'' → '''Set''' with ''G''''U''(''V'') = Mor''C''(''U'', ''V'') for all objects ''V'' in ''C'' is continuous. The importance of adjoint functors lies in the fact that every functor which ''has'' a left adjoint (and therefore ''is'' a right adjoint) is continuous. In the category '''Ab''' of abelian groups, this for example shows that the kernel of a product of homomorphisms is naturally identified with the product of the kernels. This illustrates that one may also say that a continuous functor ''commutes'' with the construction of limits. Being a universal construction, limits also have other strong relationships to adjoint functors. The limit functor lim : ''CJ'' → ''C'' (if it exists) has as left adjoint the ''diagonal functor'' ''C'' → ''CJ'' which assigns to every object ''N'' of ''C'' the constant functor whose value is always ''N'' on objects and id''N'' on morphisms. In particular, limit functors are continuous; intuitively, this means that the order in which two limits are computed does not matter. ==Colimits== The dual notion of limits and cones are '''colimits''' and '''co-cones'''. Although it is straightforward to obtain these definitions by inverting all morphisms in the above definitions, we will explicitly state them here: Consider two categories ''J'' and ''C'' and a covariant functor ''F'' : ''J'' → ''C''. A ''co-cone'' of ''F'' is an object ''L'' of ''C'', together with a family of morphisms φ''X'' : ''F''(''X'') → ''L'' for every object ''X'' of ''J'', such that for every morphism ''f'' : ''X'' → ''Y'' in ''J'', we have φ''Y'' o ''F''(''f'')= φ''X''. Again, the commutative diagram for this situation resembles a cone (this time pointing downwards): A ''colimit'' of a functor is a ''universal co-cone'': a co-cone (''L'', φ''X'') of a functor ''F'' : ''J'' → ''C'' is a colimit of ''F'' iff for any co-cone (''N'', ψ''X'') of ''F'', there exists ''precisely one'' morphism ''u'' : ''L'' → ''N'' such that ''u'' o φ''X'' = ψ''X'' for all ''X''. If it exists, the colimit of ''F'' is unique up to a unique isomorphism and is denoted by colim ''F''. Examples of colimits are given by the dual versions of the ones given above: *'''Initial objects''' *'''Coproducts''' *'''Coequalizers''' *'''Cokernels''' *'''Pushouts''' *'''Direct limits''' The category ''C'' is called '''co-complete''' if every functor ''F'' : ''J'' → ''C'' with small ''J'' has a colimit. The following categories are co-complete: sets, groups, abelian groups, modules over some ring and topological spaces. A covariant functor that commutes with the construction of colimits is said to be '''cocontinuous''' or '''colimit preserving'''. Every functor which has a right adjoint (and hence is a left adjoint) is cocontinuous. As an example in the category of groups, '''Grp''', the functor ''F'' : '''Set''' → '''Grp''' which assigns to every set ''S'' the free group over ''S'' has a right adjoint (the forgetful functor '''Grp''' → '''Set''') and is therefore cocontinuous. The free product of groups is an example of a colimit construction, and it follows that the free product of a family of free groups is free. Limits and colimits are related as follows: A functor ''F'' : ''J'' → ''C'' has a colimit iff for every object ''N'' of ''C'', the contravariant functor ''G'' : ''J'' → '''Set''' defined by ''G''(''X'') = Mor''C''(''F''(''X''), ''N'') has a limit. If that is the case, then :Mor''C''(colim ''F'', ''N'') = lim ''G'' for every object ''N'' of ''C''.