Comma category

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In mathematics, a comma category (a special case being a slice category) is a construction in category theory. It provides another way of looking at morphisms: instead of simply relating objects of a category to one another, morphisms become objects in their own right. This notion was introduced in 1963 by F. W. Lawvere (Lawvere, 1963 p. 36), although the technique did not[citation needed] become generally known until many years later. Several mathematical concepts can be treated as comma categories. Comma categories also guarantee the existence of some limits and colimits. The name comes from the notation originally used by Lawvere, which involved the comma punctuation mark. Although standard notation has changed since the use of a comma as an operator is potentially confusing, and even Lawvere dislikes the uninformative term "comma category" (Lawvere, 1963 p. 13), the name persists.


The most general comma category construction involves two functors with the same codomain. Often one of these will have domain 1 (the one-object one-morphism category). Some accounts of category theory consider only these special cases, but the term comma category is actually much more general.

General form[edit]

Suppose that \mathcal{A}, \mathcal{B}, and \mathcal{C} are categories, and S and T (for source and target) are functors

\mathcal A \xrightarrow{\;\; S\;\;} \mathcal C\xleftarrow{\;\; T\;\;} \mathcal B

We can form the comma category (S \downarrow T) as follows:

  • The objects are all triples (\alpha, \beta, f) with \alpha an object in \mathcal{A}, \beta an object in \mathcal{B}, and f : S(\alpha)\rightarrow T(\beta) a morphism in \mathcal{C}.
  • The morphisms from (\alpha, \beta, f) to (\alpha', \beta', f') are all pairs (g, h) where g : \alpha \rightarrow \alpha' and h : \beta \rightarrow \beta' are morphisms in \mathcal A and \mathcal B respectively, such that the following diagram commutes:

\begin{matrix} S(\alpha) & \xrightarrow{S(g)} & S(\alpha')\\ f \Bigg\downarrow & & \Bigg\downarrow f'\\ T(\beta) & \xrightarrow[T(h)]{} & T(\beta') \end{matrix}

Morphisms are composed by taking (g, h) \circ (g', h') to be (g \circ g', h \circ h'), whenever the latter expression is defined. The identity morphism on an object (\alpha, \beta, f) is (\mathrm{id}_{\alpha}, \mathrm{id}_{\beta}).

Slice category[edit]

The first special case occurs when \mathcal A = \mathcal{C}, S is the identity functor, and \mathcal{B}=\textbf{1} (the category with one object * and one morphism). Then T(*) = A for some object A in \mathcal{C}. In this case, the comma category is written (\mathcal{C} \downarrow A), and is often called the slice category over A or the category of objects over A. The objects (\alpha, *, f) can be simplified to pairs (\alpha, f), where f : \alpha \rightarrow A. Sometimes, f is denoted \pi_\alpha. A morphism from (B, \pi_B) to (B', \pi_{B'}) in the slice category is then an arrow g : B \rightarrow B' making the following diagram commute:


Coslice category[edit]

The dual concept to a slice category is a coslice category. Here, S has domain 1 and T is an identity functor. In this case, the comma category is often written (A\downarrow \mathcal{C}), where A is the object of \mathcal{C} selected by S. It is called the coslice category with respect to A, or the category of objects under A. The objects are pairs (B, i_B) with i_B : A \rightarrow B. Given (B, i_B) and (B', i_{B'}), a morphism in the coslice category is a map h : B \rightarrow B' making the following diagram commute:


Arrow category[edit]

S and T are identity functors on \mathcal{C} (so \mathcal{A} = \mathcal{B} = \mathcal{C}). In this case, the comma category is the arrow category \mathcal{C}^\rightarrow. Its objects are the morphisms of \mathcal{C}, and its morphisms are commuting squares in \mathcal{C}.[1]

Other variations[edit]

In the case of the slice or coslice category, the identity functor may be replaced with some other functor; this yields a family of categories particularly useful in the study of adjoint functors. For example, if T is the forgetful functor mapping an abelian group to its underlying set, and s is some fixed set (regarded as a functor from 1), then the comma category (s \downarrow T) has objects that are maps from s to a set underlying a group. This relates to the left adjoint of T, which is the functor that maps a set to the free abelian group having that set as its basis. In particular, the initial object of (s \downarrow T) is the canonical injection s\rightarrow T(G), where G is the free group generated by s.

An object of (s \downarrow T) is called a morphism from s to T or a T-structured arrow with domain s in.[1] An object of (S \downarrow t) is called a morphism from S to t or a S-costructured arrow with codomain t in.[1]

Another special case occurs when both S and T are functors with domain 1. If S(*)=A and T(*)=B, then the comma category (S \downarrow T), written (A\downarrow B), is the discrete category whose objects are morphisms from A to B.


For each comma category there are forgetful functors from it.

  • Domain functor, S\downarrow T \to \mathcal A, which maps:
    • objects: (\alpha, \beta, f)\mapsto \alpha;
    • morphisms: (g, h)\mapsto g;
  • Codomain functor, S\downarrow T \to \mathcal B, which maps:
    • objects: (\alpha, \beta, f)\mapsto \beta;
    • morphisms: (g, h)\mapsto h.
  • Arrow functor, S\downarrow T\to C^{\downarrow}, which maps:
    • objects: (\alpha, \beta, f)\mapsto f;
    • morphisms: (g, h)\mapsto (Sg,Th);

Examples of use[edit]

Some notable categories[edit]

Several interesting categories have a natural definition in terms of comma categories.

  • The category of pointed sets is a comma category, \scriptstyle {(\bull \downarrow \mathbf{Set})} with \scriptstyle {\bull} being (a functor selecting) any singleton set, and \scriptstyle {\mathbf{Set}} (the identity functor of) the category of sets. Each object of this category is a set, together with a function selecting some element of the set: the "basepoint". Morphisms are functions on sets which map basepoints to basepoints. In a similar fashion one can form the category of pointed spaces \scriptstyle {(\bull \downarrow \mathbf{Top})}.
  • The category of graphs is \scriptstyle {(\mathbf{Set} \downarrow D)}, with \scriptstyle {D : \mathbf{Set} \rightarrow \mathbf{Set}} the functor taking a set s to s \times s. The objects (a, b, f) then consist of two sets and a function; a is an indexing set, b is a set of nodes, and f : a \rightarrow (b \times b) chooses pairs of elements of b for each input from a. That is, f picks out certain edges from the set b \times b of possible edges. A morphism in this category is made up of two functions, one on the indexing set and one on the node set. They must "agree" according to the general definition above, meaning that (g, h) : (a, b, f) \rightarrow (a', b', f') must satisfy f' \circ g = T(h) \circ f. In other words, the edge corresponding to a certain element of the indexing set, when translated, must be the same as the edge for the translated index.
  • Many "augmentation" or "labelling" operations can be expressed in terms of comma categories. Let S be the functor taking each graph to the set of its edges, and let A be (a functor selecting) some particular set: then (S \downarrow A) is the category of graphs whose edges are labelled by elements of A. This form of comma category is often called objects S-over A - closely related to the "objects over A" discussed above. Here, each object takes the form (B, \pi_B), where B is a graph and \pi_B a function from the edges of B to A. The nodes of the graph could be labelled in essentially the same way.

Limits and universal morphisms[edit]

Colimits in comma categories may be "inherited". If \mathcal{A} and \mathcal{B} are cocomplete, S : \mathcal{A} \rightarrow \mathcal{C} is a cocontinuous functor, and T : \mathcal{B} \rightarrow \mathcal{C} another functor (not necessarily cocontinuous), then the comma category (S \downarrow T) produced will also be cocomplete[citation needed]. For example, in the above construction of the category of graphs, the category of sets is cocomplete, and the identity functor is cocontinuous: so graphs are also cocomplete - all (small) colimits exist. This result is much harder to obtain directly.

If \mathcal{A} and \mathcal{B} are complete, and both S : \mathcal{A} \rightarrow \mathcal{C} and T : \mathcal{B} \rightarrow \mathcal{C} are continuous functors,[2] then the comma category (S \downarrow T) is also complete, and the projection functors (S\downarrow T) \rightarrow \mathcal{A} and (S\downarrow T) \rightarrow \mathcal{B} are limit preserving.

The notion of a universal morphism to a particular colimit, or from a limit, can be expressed in terms of a comma category. Essentially, we create a category whose objects are cones, and where the limiting cone is a terminal object; then, each universal morphism for the limit is just the morphism to the terminal object. This works in the dual case, with a category of cocones having an initial object. For example, let \mathcal{C} be a category with F : \mathcal{C} \rightarrow \mathcal{C} \times \mathcal{C} the functor taking each object c to (c, c) and each arrow f to (f, f). A universal morphism from (a, b) to F consists, by definition, of an object (c, c) and morphism \rho : (a, b) \rightarrow (c, c) with the universal property that for any morphism \rho' : (a, b) \rightarrow (d, d) there is a unique morphism \sigma : c \rightarrow d with F(\sigma) \circ \rho = \rho'. In other words, it is an object in the comma category ((a, b) \downarrow F) having a morphism to any other object in that category; it is initial. This serves to define the coproduct in \mathcal{C}, when it exists.


Lawvere showed that the functors F : \mathcal{C} \rightarrow \mathcal{D} and G : \mathcal{D} \rightarrow \mathcal{C} are adjoint if and only if the comma categories (F \downarrow id_\mathcal{D}) and (id_\mathcal{C} \downarrow G), with id_\mathcal{D} and id_\mathcal{C} the identity functors on \mathcal{C} and \mathcal{D} respectively, are isomorphic, and equivalent elements in the comma category can be projected onto the same element of \mathcal{C} \times \mathcal{D}. This allows adjunctions to be described without involving sets, and was in fact the original motivation for introducing comma categories.

Natural transformations[edit]

If the domains of S, T are equal, then the diagram which defines morphisms in S\downarrow T with \alpha=\beta, \alpha'=\beta', g=h is identical to the diagram which defines a natural transformation S\to T. The difference between the two notions is that a natural transformation is a particular collection of morphisms of type of the form S(\alpha)\to T(\alpha), while objects of the comma category contains all morphisms of type of such form. A functor to the comma category selects that particular collection of morphisms. This is described succinctly by an observation by Huq[citation needed] that a natural transformation \eta:S\to T, with S, T:\mathcal A \to \mathcal C, corresponds to a functor \mathcal A \to (S\downarrow T) which maps each object \alpha to (\alpha, \alpha, \eta_\alpha) and maps each morphism g to (g, g). This is a bijective correspondence between natural transformations S\to T and functors \mathcal A \to (S\downarrow T) which are sections of both forgetful functors from S\downarrow T.


  1. ^ a b c Adámek, Jiří; Herrlich, Horst; Strecker, George E. (1990). Abstract and Concrete Categories (PDF). John Wiley & Sons. ISBN 0-471-60922-6. 
  2. ^ See I. 2.16.1 in Francis Borceux (1994), Handbook of Categorical Algebra 1, Cambridge University Press. ISBN 0-521-44178-1.

External links[edit]