nLab comma category



Category theory

Limits and colimits



The comma category of two functors f:CEf : C \to E and g:DEg : D \to E is a category like an arrow category of EE where all arrows have their source in the image of ff and their target in the image of gg (and the morphisms between arrows keep track of how these sources and targets are in these images). It can also be seen a kind of 2-limit: a directed refinement of the homotopy pullback of two functors between groupoids.


We discuss three equivalent definitions of comma categories


The terminology “comma category” is a holdover from the original notation (f,g)(f,g) for such a category, which generalises (x,y)(x,y) or C(x,y)C(x,y) for a hom-set. This is rarely used any more. More common modern notations for the comma category are (f/g)(f/g), which we will use on this page, and (fg)(f\downarrow g).

Via components: the objectwise definition


If f:CEf\colon C\to E and g:DEg \colon D\to E are functors, their comma category is the category (f/g)(f/g) whose

  • objects are triples (c,d,α)(c,d,\alpha) where cCc\in C, dDd\in D, and

    (1)α:f(c)g(d) \alpha \colon f(c) \to g(d)

    is a morphism in EE,

and whose

  • morphisms from (c 1,d 1,α 1)(c_1,d_1,\alpha_1) to (c 2,d 2,α 2)(c_2,d_2,\alpha_2) are pairs (β,γ)(\beta,\gamma), where β:c 1c 2\beta:c_1\to c_2 and γ:d 1d 2\gamma:d_1\to d_2 are morphisms in CC and DD, respectively, such that α 2.f(β)=g(γ).α 1\alpha_2 . f(\beta) = g(\gamma) . \alpha_1.
f(c 1) f(β) f(c 2) α 1 α 2 g(d 1) g(γ) g(d 2) (c 1,d 1,α 1) (β,γ) (c 2,d 2,α 2) \array{ f(c_1) &\stackrel{f(\beta)}{\rightarrow}& f(c_2) \\ \downarrow^{\alpha_1} && \downarrow^{\alpha_2} \\ g(d_1) &\stackrel{g(\gamma)}{\to}& g(d_2) \\ \\ (c_1,d_1, \alpha_1) &\stackrel{(\beta,\gamma)}{\to}& (c_2,d_2, \alpha_2) }
  • composition of morphisms is given on components by composition in CC and DD.


In addition, there are two canonical forgetful functors defined on the comma category:

  • there is a functor H C:(f/g)CH_C\colon (f/g)\rightarrow C which sends each object (c,d,α)(c,d,\alpha) to cc, and each pair (β,γ)(\beta,\gamma) to β\beta.

  • there is a functor H D:(f/g)DH_D\colon (f/g)\rightarrow D which sends each object (c,d,α)(c,d,\alpha) to dd, and each pair (β,γ)(\beta,\gamma) to γ\gamma.


  • there is a natural transformation θ:fH CgH D\theta : f \circ H_C \to g\circ H_D defined by θ (c,d,α)=α\theta_{(c,d,\alpha)} = \alpha.

These functors and natural transformation together give the comma category a 2-category theoretic universal property; see this section for more.


Alternatively, requiring the morphisms (1) to be isomorphisms yields the notion of an iso-comma category (an iso-comma object in Cat). This has the universal property of a non-lax “2-pullback”.

Via fiber products in the 1-category Cat

Let I={ab}I = \{a \to b\} be the (directed) interval category and E I=Funct(I,E)E^I = Funct(I,E) the functor category.

The comma category is the pullback

(f/g) E I (pb) (FF(a))×(FF(b)) C×D f×g E×E \array{ (f/g) &\to& E^I \\ \big\downarrow & \scriptsize{(pb)} & \big\downarrow \mathrlap{^{\mathrlap{(F\mapsto F(a))\times(F\mapsto F(b))}}} \\ C \times D & \underset{f \times g}{\longrightarrow} & E \times E }

in the standard sense of pullback of morphisms in the 1-category Cat of categories.

Compare this with the construction of homotopy pullback (here), hence with the definition of loop space object and also with generalized universal bundle.

Via 2-category theory: as a 2-limit

The comma category is the comma object of the cospan CfEgDC\overset{f}{\rightarrow}E\overset{g}{\leftarrow}D in the 2-category CatCat. This means it is an appropriate weighted 2-categorical limit (in fact, a strict 2-limit) of the diagram

C f D g E \array{ && C \\ && \downarrow^f \\ D &\stackrel{g}{\to}& E }

Specifically, it is the universal span making the following square commute up to a specified natural transformation (such a universal square is in general called a comma square):

(f/g) H C C H D f D g E \array{ (f/g) &\overset{H_C}{\to}& C \\ \mathllap{{}^{H_D}} \downarrow &\swArrow& \downarrow^{\mathrlap{f}} \\ D &\stackrel{g}{\to}& E }

(Sometimes this is called a “lax pullback”, but that terminology properly refers to something else; see comma object and 2-limit.)

Notably, the forgetful functors H CH_C and H DH_D from the “objectwise” definition are thus recovered via a categorical construction: they are the projections from the summit of the “appropriate” 2-categorical limit.

In terms of the imagery of loop space objects, the comma category is the category of directed paths in EE which start in the image of ff and end in the image of gg.


  • If ff and gg are both the identity functor of a category CC, then (f/g)(f/g) is the category C 2C ^{\mathbf{2}} of arrows in CC.

  • If ff is the identity functor of CC and gg is the inclusion 1C1\to C of an object cCc\in C, then (f/g)(f/g) is the slice category C/cC/c.

  • Likewise if gg is the identity and ff is the inclusion of cc, then (f/g)(f/g) is the coslice category c/Cc/C.

  • A natural transformation τ:FG\tau \colon F \to G with F,G::CDF,G :\colon C\to D may be regarded as a functor T:C(F/G)T \colon C\to (F/G) with T(c)=(c,c,τ c)T(c)=(c,c,\tau_c) and T(f)=(f,f)T(f)=(f,f). Conversely, any such functor TT such that the two projections from (F/G)(F/G) back to CC are both left inverses for TT yields a corresponding natural transformation. This is an expression of the universal property of (F/G)(F/G) as a comma object.


Completeness and cocompleteness

If CC and DD are cocomplete and f:CEf: C \to E is cocontinuous and g:DEg: D \to E is an arbitrary functor (not necessarily cocontinuous) then the comma category (f/g)(f/g) is cocomplete. Similarly, as (f/g) op(g op/f op)(f/g)^{op}\cong (g^{op}/f^{op}), if CC and DD are complete and g:DEg: D \to E is continuous and f:CEf: C \to E is an arbitrary functor (not necessarily continuous) then the comma category (f/g)(f/g) is complete.

For a proof, see

  • Rydeheard, David E., and Rod M. Burstall. Computational category theory. Vol. 152. Englewood Cliffs: Prentice Hall, 1988. Section 5.2: colimits in comma categories.

Functors and comma categories


The notion of comma categories was introduced (in order to characterize adjoint functors, but without giving them a name) in:

  • F. W. Lawvere, Functorial Semantics of Algebraic Theories, Ph.D. thesis, Columbia University (1963)

  • Consolato Pellegrino, Creazione di limiti nelle categorie comma, Rivista di Matematica della Università di Parma 3 (1974): 201-204.

  • Consolato Pellegrino, Un teorema di completezza per le categorie comma, sue applicazioni agli n-grafi, Atti del Seminario Matematico e Fisico dell’Università di Modena 23 (1974): 223-230.

Textbook accounts:

See also:

Last revised on February 11, 2024 at 20:04:09. See the history of this page for a list of all contributions to it.