monoidal and enriched categories

previous: accessing big categories – filtered colimits and ind-objects

home: sheaves and stacks

next: geometric embedding

  • so far we looked at presheaves with values in Set;

  • for our discussion of abelian sheaves we need to consider presheaves with values in other categories VV:

    • the general codomain VV that leads to a good theory of presheaves and sheaves are monoidal categories to be discussed now;
  • but notice that the notion of representable functors – which was the central notion for all our nontrivial constructions – related the codomain of our presheaves with the hom-object: we expect representable functors to be of the form C(,a):C opVC(-,a) : C^{op} \to V

  • this suggests that we consider categories which do not have hom-sets, but more generally hom-objects C(x,y)VC(x,y) \in V in some category VV other than Set– these are called enriched categories.

  • much of ordinary category theory can be generalized to enriched category theory – here we concentrate on the following aspects that will be useful later on

    • closed monoidal structure;

    • enriched functor categories;

    • enriched Kan extensions.

  • but first we introduce monoidal and enriched categories and list some examples

monoidal category

A monoidal category is a “category with a product structure” much like a monoid is a set with a product structure.

In fact, monoids and monoidal categories are best understood as the first two steps in a general definition of higher monoidal structure. We now recall monoids in the corresponding suitable language and then introduce monoidal categories as the obvious generalization-

monoidal0category monoidal1category monoidal(,1)category =monoid =monoidalcategory \array{ monoidal 0-category & monoidal 1-category & \cdots monoidal (\infty,1)-category \\ = monoid & = monoidal category }

warmup and motivation: monoidal set

Recall the definition of a monoid in the category Set.

This is

  • a set SS;

  • an element i:*Si : * \to S (the unit)

  • a morphism μ:S×SS\mu : S \times S \to S (the product)

  • a condition:

*×S i×Id S×S μ S Id SS×* Id×i S×S μ S Id S \array{ * \times S &\stackrel{i \times Id}{\to}& S \times S \\ \uparrow^{\simeq} && \downarrow^\mu \\ S &\stackrel{Id}{\to}& S } \;\;\;\;\;\;\;\;\;\;\;\; \array{ S \times * &\stackrel{Id \times i}{\to}& S \times S \\ \uparrow^{\simeq} && \downarrow^\mu \\ S &\stackrel{Id}{\to}& S }


μ(i,x)=x \mu(i,x) = x μ(x,i)=x\mu(x,i) = x – the unit law

  • a further condition S×S×S Id×μ S×S μ×Id μ S×S μ S \array{ S\times S \times S &\stackrel{\Id \times \mu}{\to}& S \times S \\ \downarrow^{\mu \times Id} && \downarrow^\mu \\ S \times S &\stackrel{\mu}{\to}& S } – associativity

  • remark 1: Notice that the associativity condition explicitly says that there is a unique way to compose three elements. But this actually already implies that there is a unique way to compose an arbitrary string of elements of the monoid. This simple fact is the coherence theorem for monoids, if you wish. The relevance of saying this will become clear shortly.

  • remark 2: notice furthermore the if we allow ourselves to draw an edge for the set SS

S=(S) S = (\bullet \stackrel{S}{\to} \bullet)

and two consecutive edges for the cartesian product of sets

S×S=(SS) S \times S = (\bullet \stackrel{S}{\to} \bullet \stackrel{S}{\to} \bullet)

then the product looks like a triangle

S μ S S \array{ && \bullet \\ & {}^S\nearrow &\Downarrow^\mu& \searrow^S \\ \bullet &&\stackrel{S}{\to}&& \bullet }

and the associativity law looks like a tetradedron, a 3-simplex.

now the definition itself: monoidal category

Recall the definition of (Cartesian) product of two categories

C×D={(c 1,d 1)((c 1fc 2),(d 1gd 2))(c 2,d 2)}. C \times D = \left\{ (c_1, d_1) \stackrel{((c_1 \stackrel{f}{\to} c_2), (d_1 \stackrel{g}{\to} d_2))}{\to} (c_2,d_2) \right\} \,.


A monoidal category VV is

V×V×V Id× V×V ×Id α V×V V \array{ V \times V \times V &\stackrel{Id \times \otimes}{\to}& V\times V \\ \downarrow^{\otimes \times Id} &\Uparrow^\alpha & \downarrow^\otimes \\ V \times V &\to& V }

the associator ;

two more natural isomorphisms

*×V I×Id V×V l V Id VV×* Id×I V×V V Id V \array{ * \times V &\stackrel{I \times Id}{\to}& V \times V \\ \uparrow^{\simeq} &\Downarrow^l& \downarrow^\otimes \\ V &\stackrel{Id}{\to}& V } \;\;\;\;\;\;\;\;\;\;\;\; \array{ V \times * &\stackrel{Id \times I}{\to}& V \times V \\ \uparrow^{\simeq} && \downarrow^\otimes \\ V &\stackrel{Id}{\to}& V }

– the left and right unitor –

  • such that α\alpha satisfies the coherence law which says that its component morphisms satisfy
(((WX)Y)Z) α (WX)(YZ) α W(X(YZ)) αId Idα (W(XY))Z α W((XY)Z) \array{ (((W \otimes X)\otimes Y)\otimes Z) &\stackrel{\alpha}{\to}& (W \otimes X) \otimes (Y \otimes Z) &\stackrel{\alpha}{\to}& W \otimes (X \otimes (Y \otimes Z)) \\ \downarrow^{\alpha \otimes Id} &&&& \uparrow^{Id \otimes \alpha} \\ (W \otimes (X \otimes Y)) \otimes Z &&\stackrel{\alpha}{\to}&& W \otimes ((X \otimes Y) \otimes Z) }

for all objects W,X,Y,ZW, X, Y, Z of VV

and the unitors satisfy in components

(XI)Y α X(IY) rId Idl XY \array{ (X \otimes I) \otimes Y &&\stackrel{\alpha}{\to}&& X \otimes (I \otimes Y) \\ & {}_{r \otimes Id}\searrow && \swarrow_{Id \otimes l} \\ && X \otimes Y }
  • remark 1: The above says that the two ways to rebracket a tensor product of four factors from left to right are equal.

But again, this implies this statement for all possible rebracketings.

Theorem (MacLane’s coherence theorem)

Any two morphisms consisting of associators and unitors that rebracket a tensor product, starting with the same expression and ending with the same expression are equal.

  • remark 2: Again all the structure here can be understood as controled by simplices, but now using one more higher dimensional simplex:

If we allow ourselves to write an edge for the monoidal category

V=(V) V = (\bullet \stackrel{V}{\to} \bullet)

and two consecutive edges for the cartesian product of categories

V×V=(VV) V \times V = (\bullet \stackrel{V}{\to} \bullet \stackrel{V}{\to} \bullet)

then the tensor product looks like a triangle

V V V \array{ && \bullet \\ & {}^V\nearrow &\Downarrow^\otimes& \searrow^V \\ \bullet &&\stackrel{V}{\to}&& \bullet }

and the associator natural transformation looks like a tetradedron, a 3-simplex

and the law it satisfies looks like a 4-simplex

O(Δ 0)= {0} O(Δ 1)= {01} O(Δ 2)= { 1 0 2 } O(Δ 3)= { 1 0 2 3 } O(Δ 4)= { 2 1 3 0 4 } \array{\arrayopts{\rowalign{center}} O(\Delta^0) = & \{ 0\} \\ O(\Delta^1) = & \left\{ 0 \to 1\right\} \\ O(\Delta^2) = & \left\{ \array{\begin{svg} <svg xmlns="" width="6em" height="4em" viewBox="0 0 60 40"> <defs> <marker id="svg295arrowhead" viewBox="0 0 10 10" refX="0" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="5" orient="auto"> <path d="M 0 0 L 10 5 L 0 10 z"/> </marker> <marker id="svg296arrowhead" viewBox="0 0 10 10" refX="0" refY="5" markerUnits="strokeWidth" markerWidth="4" markerHeight="2.5" orient="auto"> <path d="M 0 0 L 10 5 L 0 10 z"/> </marker> </defs> <g font-size="10"> <foreignObject x="25" y="-2" width="12" height="14"><math xmlns="" display="inline"><mi>1</mi></math></foreignObject> <foreignObject x="0" y="27" width="12" height="14"><math xmlns="" display="inline"><mi>0</mi></math></foreignObject> <foreignObject x="50" y="27" width="12" height="14"><math xmlns="" display="inline"><mi>2</mi></math></foreignObject> </g> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M10,30 23, 15"/> <path d="M35,12 48, 27"/> <path d="M15,37 45, 37"/> </g> <g> <path stroke-width="3" d="M30,15 30,27" marker-end="url(#svg296arrowhead)"/> <path stroke="#FFF" d="M30,15 30,27"/> </g> </g> </svg> \end{svg}} \right\}\\ O(\Delta^3) = & \left\{ \array{\begin{svg} <svg xmlns="" width="13em" height="5em" viewBox="0 0 130 50"> <defs> <g id="myRect256"> <g font-size="10"> <foreignObject x="0" y="-3" width="12" height="14"><math xmlns="" display="inline"><mi>1</mi></math></foreignObject> <foreignObject x="0" y="37" width="12" height="14"><math xmlns="" display="inline"><mi>0</mi></math></foreignObject> <foreignObject x="40" y="-3" width="12" height="14"><math xmlns="" display="inline"><mi>2</mi></math></foreignObject> <foreignObject x="40" y="37" width="12" height="14"><math xmlns="" display="inline"><mi>3</mi></math></foreignObject> </g> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M10,7 37, 7"/> <path d="M6,42 6, 17"/> <path d="M10,47 37, 47"/> <path d="M46,12 46, 37"/> </g> </g> </g> </defs> <use xmlns:xlink="" xlink:href="#myRect256" x="0" y="0"/> <g fill="none" stroke="#000"> <path d="M11,43 38, 15" marker-end="url(#svg295arrowhead)"/> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M12,12 20,20"/> <path d="M40,18 27,40"/> </g> <g stroke="#FFF"> <path d="M12,12 20,20"/> <path d="M40,18 27,40"/> </g> </g> <g fill="none" stroke="#000"> <path stroke-width="5" d="M55,25 72,25"/> <path stroke-width="3" stroke="#FFF" d="M55,25 72,25" marker-end="url(#svg296arrowhead)"/> <path stroke-width="1" d="M55,25 72,25"/> </g> <use xmlns:xlink="" xlink:href="#myRect256" x="80" y="0"/> <g fill="none" stroke="#000"> <path d="M92,12 118, 39" marker-end="url(#svg295arrowhead)"/> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M92,20 100,38"/> <path d="M120,12 113,19"/> </g> <g stroke="#FFF"> <path d="M92,20 100,38"/> <path d="M120,12 113,19"/> </g> </g> </g> </svg> \end{svg}}\right\}\\ O(\Delta^4) = & \left\{ \array{\begin{svg} <svg xmlns="" width="28em" height="23em" viewBox="-35 0 245 230"> <defs> <g id="myPent256"> <g font-size="10"> <foreignObject x="25" y="-2" width="12" height="14"><math xmlns="" display="inline"><mi>2</mi></math></foreignObject> <foreignObject x="0" y="27" width="12" height="14"><math xmlns="" display="inline"><mi>1</mi></math></foreignObject> <foreignObject x="50" y="27" width="12" height="14"><math xmlns="" display="inline"><mi>3</mi></math></foreignObject> <foreignObject x="13" y="57" width="12" height="14"><math xmlns="" display="inline"><mi>0</mi></math></foreignObject> <foreignObject x="38" y="57" width="12" height="14"><math xmlns="" display="inline"><mi>4</mi></math></foreignObject> </g> <g fill="none" stroke="#000" marker-end="url(#svg295arrowhead)"> <path d="M8,32 25,13"/> <path d="M35,10 52,28"/> <path d="M54,41 48,57"/> <path d="M24,67 36,67"/> <path d="M16,62 8,45"/> </g> </g> </defs> <use xmlns:xlink="" xlink:href="#myPent256" x="0" y="0"/> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M10,36 45,36"/> <path d="M22,60 47,41"/> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M31,12 31,26"/> <path d="M12,38 25,48"/> <path d="M45,48 35,60"/> </g> <g stroke="#FFF"> <path d="M31,12 31,26"/> <path d="M12,38 25,48"/> <path d="M45,48 35,60"/> </g> </g> </g> <use xmlns:xlink="" xlink:href="#myPent256" x="110" y="0"/> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M120,36 155,36"/> <path d="M122,41 147,60"/> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M141,12 141,26"/> <path d="M125,47 135,58"/> <path d="M162,38 145,48"/> </g> <g stroke="#FFF"> <path d="M141,12 141,26"/> <path d="M125,47 135,58"/> <path d="M162,38 145,48"/> </g> </g> </g> <use xmlns:xlink="" xlink:href="#myPent256" x="160" y="80"/> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M172,119 195,140"/> <path d="M194,98 201,138"/> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M175,127 185,138"/> <path d="M212,116 206,116"/> <path d="M189,98 184,121"/> </g> <g stroke="#FFF"> <path d="M175,127 185,138"/> <path d="M212,116 206,116"/> <path d="M189,98 184,121"/> </g> </g> </g> <use xmlns:xlink="" xlink:href="#myPent256" x="55" y="160"/> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M74,220 83,180"/> <path d="M87,178 96,218"/> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M86,187 86,216"/> <path d="M63,196 71,196"/> <path d="M107,196 99,196"/> </g> <g stroke="#FFF"> <path d="M86,187 86,216"/> <path d="M63,196 71,196"/> <path d="M107,196 99,196"/> </g> </g> </g> <use xmlns:xlink="" xlink:href="#myPent256" x="-50" y="80"/> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M-31,140 -22,100"/> <path d="M-29,143 -3,120"/> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M-40,116 -35,116"/> <path d="M-17,97 -17,123"/> <path d="M-5,128 -15,140"/> </g> <g stroke="#FFF"> <path d="M-40,116 -35,116"/> <path d="M-17,97 -17,123"/> <path d="M-5,128 -15,140"/> </g> </g> </g> <g fill="none" stroke="#000"> <g stroke-width="5"> <path d="M60,35 100,35"/> <path d="M158,75 168,90"/> <path d="M118,190 168,155"/> <path d="M3,150 43,185"/> <path d="M-3,95 11,79"/> </g> <g stroke-width="3" stroke="#FFF" marker-end="url(#svg296arrowhead)"> <path d="M158,75 168,90"/> <path d="M60,35 100,35"/> <path d="M118,190 168,155"/> <path d="M3,150 43,185"/> <path d="M-3,95 11,79"/> </g> <g stroke-width="1"> <path d="M60,35 100,35"/> <path d="M158,75 168,90"/> <path d="M118,190 168,155"/> <path d="M3,150 43,185"/> <path d="M-3,95 11,79"/> </g> </g> <g fill="none" stroke="#000"> <path stroke-width="7" d="M85,43 85,140"/> <path stroke-width="5" stroke="#FFF" d="M85,43 85,140" marker-end="url(#svg296arrowhead)"/> <path stroke-width="3" d="M85,43 85,140"/> <path stroke-width="1" stroke="#FFF" d="M85,43 85,140"/> </g> </svg> \end{svg}} \right\} }

due to the way this is drawn in 2-dimensions, which happens to look like a pentagon, this law is known as the pentagon law. But that misses an important point. This is really a 4-simplex-law.

  • remark 3 There may in general be more than one monoidal structure on a category.

In particular

Observation: cartesian monoidal category

Every category with finite products becomes a monoidal category with tensor product the (rather: a choice in the isomorphism class of) cartesian product

ab:=a×b. a \otimes b := a \times b \,.

This is called a cartesian monoidal category.


  • the category Set of sets with the standard cartesian monoidal structure. Unit element is the one-element set **. Notice that this does have a nontrivial (albeit canonical) associator.

  • the category Vect of vector spaces with the standard tensor product monoidal structure

  • the poset category 2={falsetrue}\mathbf{2} = \{ false \to true \} with two objects and one nontivial morphism between them, with tensor product the logical AND operation – this is cartesian, too! Notice that 2\mathbf{2} can be thought of as the full subcategory of SetSet on the empty set \emptyset and the one-element set **.

  • For CC a category, the standard monoidal structure on presheaves PSh(C):=[C op,Set]PSh(C) := [C^{op}, Set] is also the cartesian one. Recall from the chapter on universal constructions that this is the pointwise cartesian product in Set: for two presheaves F,GF, G their product presheaf F×GF \times G is given by

    F×G:UF(U)×G(U), F \times G : U \mapsto F(U) \times G(U) \,,

    where on the right the product is in Set.

closed monoidal category

In many cases of interest, though not in all, the monoidal category VV that we are interested in crucially has the property that it is closed.


  • that in Set the totality of morphisms between two sets SS, TT is itself again a set, the set of maps T ST^S

  • this satisfies Hom Set(R×S,T)Hom Set(R,T S)Hom_{Set}(R \times S, T) \simeq Hom_{Set}(R, T^S) and this isomorphism is natural in all variables (i.e. is reallly the component of a natural transformation of functors Hom(×,)Hom(, )Hom(-\times-,-) \Rightarrow Hom(-,-^-)).

  • that this means that for all SS the functor ×S:SetSet- \times S : Set \to Set has a right adjoint [S,]:SetSet[S,-] : Set \to Set [S,T]:=T S[S,T] := T^S.

This condition is “essentially the only property of T ST^S that matters”.


A monoidal category VV is closed if each functor Y:VV-\otimes Y : V \to V has a right adjoint [Y,]:VV[Y,-] : V \to V.

A monoidal category CC is cartesian closed if it is closed with respect to the cartesian monoidal structure.

symmetric monoidal

Many monoidal categories used to enrich over in practice are symmetric .

A symmetric monoidal category is a monoidal category VV equipped with a natural isomorphism

B x,y:xyyx B_{x,y} : x \otimes y \stackrel{\simeq}{\to} y \otimes x

called the braiding, which squares to the identity (that makes is a symetric braiding) and is compatible with associativity and unitalness as follows.

Compatibility of the braiding with associativity is the condition that for all x,y,zObj(V)x,y,z \in Obj(V) the diagram

(xy)z a x,y,z x(yz) B x,yz (yz)x B x,yId a y,z,x (yx)z a y,x,z y(xz) IdB x,z y(zx) \array{ (x \otimes y) \otimes z &\stackrel{a_{x,y,z}}{\to}& x \otimes (y \otimes z) &\stackrel{B_{x,y \otimes z}}{\to}& (y \otimes z) \otimes x \\ \downarrow^{B_{x,y}\otimes Id} &&&& \downarrow^{a_{y,z,x}} \\ (y \otimes x) \otimes z &\stackrel{a_{y,x,z}}{\to}& y \otimes (x \otimes z) &\stackrel{Id \otimes B_{x,z}}{\to}& y \otimes (z \otimes x) }

commutes. Since it has six edges, this is often called a “hexagon identity”, even though this says very little about the nature of this identity.

The compatibility with the left and right unitors is that for all objects xx the diagram

IX B I,x xI l x r x X \array{ I \otimes X &&\stackrel{B_{I,x}}{\to}&& x \otimes I \\ & {}_{l_x}\searrow && \swarrow_{r_x} \\ && X }




The corresponding internal hom

[,]:PSh op×PShPSh [-,-] : PSh^{op} \times PSh \to PSh

exists and is given by

[F,G]:UHom PSh(Y(U)×F,G), [F,G] : U \mapsto Hom_{PSh}( Y(U)\times F, G ) \,,

where Y:S[S op,Set]Y : S \to [S^{op}, Set] is the Yoneda embedding.


First assume that [F,G][F,G] exists, so that by the hom-adjunction isomorphism we have Hom(R,[F,G])Hom(R×F,G)Hom(R, [F,G]) \simeq Hom(R \times F, G). In particular, for each representable functor R=Y(U)R = Y(U) (with YY the Yoneda embedding) and using the Yoneda lemma we get

[F,G](U) Hom(Y(U),[F,G]) Hom(Y(U)×F,G). \begin{aligned} [F,G](U) & \simeq Hom(Y(U), [F,G]) \\ & \simeq Hom(Y(U) \times F, G) \end{aligned} \,.

So if the internal hom exists, it has to be of the form given. It remains to show that with this definition [,F][-,F] really is right adjoint to F-\otimes F.

See pages 46, 47 of

remark there is another, equivalent, way to write the internal hom of presheaves using the direct image of presheaves. This we discuss later.

enriched category

With monoidal categories defined, we can now define categories that don’t have hom-sets but hom-objects in some monoidal category.

The standard reference for enriched category theory is

  • G. M. Kelly, Basic concepts of enriched category theory, Reprints in Theory and Apllications of Categories, No. 10 (2005) (pdf)


A (small) VV-category CC (or VV-enriched category or category enriched over/in VV) is

  • a set Obj(C)Obj(C) – called the set of objects;

  • for each ordered pair (a,b)Obj(C)×Obj(C)(a,b) \in Obj(C) \times Obj(C) of objects in CC an object C(a,b)Obj(V)C(a,b) \in Obj(V) – called the hom-object or object of morphisms;

  • for each ordered triple (a,b,c)(a,b,c) of objects of VV a morphism a,b,c:C(b,c)C(a,b)C(a,c)\circ_{a,b,c} : C(b,c) \otimes C(a,b) \to C(a,c) in VV – called the composition morphism;

  • for each object aObj(V)a \in Obj(V) a morphism j a:IC(a,a)j_a : I \to C(a,a) – called the identity element

  • such the following diagrams commute:

for all a,b,c,dObj(V)a,b,c,d \in Obj(V):

(C(c,d)C(b,c))C(a,b) α C(c,d)(C(b,c)C(a,b)) b,c,dId C(a,b) Id C(c,d) a,b,c C(b,d)C(a,b) a,b,c C(a,d) a,c,d C(c,d)C(a,c) \array{ (C(c,d)\otimes C(b,c)) \otimes C(a,b) &&\stackrel{\alpha}{\to}&& C(c,d) \otimes (C(b,c) \otimes C(a,b)) \\ \downarrow^{\circ_{b,c,d}\otimes Id_{C(a,b)}} &&&& \downarrow^{Id_{C(c,d)\otimes \circ_{a,b,c}}} \\ C(b,d)\otimes C(a,b) &\stackrel{\circ_{a,b,c}}{\to}& C(a,d) &\stackrel{\circ_{a,c,d}}{\leftarrow}& C(c,d) \otimes C(a,c) }

this says that composition in CC is associative;


C(b,b)C(a,b) a,b,b C(a,b) a,a,b C(a,b)C(a,a) j bId C(a,b) l r Id C(a,b)j a IC(a,b) C(a,b)I \array{ C(b,b)\otimes C(a,b) &\stackrel{\circ_{a,b,b}}{\to}& C(a,b) &\stackrel{\circ_{a,a,b}}{\leftarrow}& C(a,b) \otimes C(a,a) \\ \uparrow^{j_b \otimes Id_{C(a,b)}} & \nearrow_{l}&& {}_r\nwarrow& \uparrow^{Id_{C(a,b)}\otimes j_a} \\ I \otimes C(a,b) &&&& C(a,b) \otimes I }

this says that composition is unital.


enriched functor

Given two categories C,DC, D enriched in a monoidal category VV, an enriched functor F:CDF: C \to D consists of

  • A function F 0:C 0D 0F_0: C_0 \to D_0 between the underlying collections of objects;

  • A (C 0×C 0)(C_0 \times C_0)-indexed collection of morphisms of VV,

    F x,y:C(x,y)D(F 0x,F 0y)F_{x, y}: C(x, y) \to D(F_0x, F_0y)

    [where denotes the hom-object in ], compatible with the enriched identities and compositions of CC and DD;

  • such that the following diagrams commute

for all a,b,cC 0a, b, c \in C_0

– respect for composition –

C(b,c)C(a,b) a,b,c C(a,c) F b,cF a,b F a,c D(F 0(b),F 0(c))D(F 0(a),F 0(b)) F 0(a),F 0(b),F 0(c) D(F 0(a),F 0(c)) \array{ C(b,c) \otimes C(a,b) &\stackrel{\circ_{a,b,c}}{\to}& C(a,c) \\ \downarrow^{F_{b,c} \otimes F_{a,b}} && \downarrow^{F_{a,c}} \\ D(F_0(b), F_0(c)) \otimes D(F_0(a), F_0(b)) &\stackrel{\circ_{F_0(a),F_0(b), F_0(c)}}{\to}& D(F_0(a), F_0(c)) }

– respect for units –

I j a j F 0(a) C(a,a) F a,a D(F 0(a),F 0(a)) \array{ && I \\ & {}^{j_a}\swarrow && \searrow^{j_{F_0(a)}} \\ C(a,a) &&\stackrel{F_{a,a}}{\to}&& D(F_0(a), F_0(a)) }

enriched functor categories – ends

In order to get a sensible enriched category theory, it ought to be true that the collection of all VV-enriched functors between two VV-enriched categories forms itself a VV-enriched functor category, similar to the ordinary functor category.

In order to describe the enriched functor category nicely, one uses a special kind of limit, called an end.

The end will later also help us to formulate Kan extensions and then restriction and extension of sheaves.

ordinary ends as equalizers

We motivate and define the end in enriched category theory in terms of equalizers.

Recall from the discussion at the end of limit that the limit over an (ordinary, i.e. not enriched) functor

F:C opSet F : C^{op} \to Set

is given by the equalizer of

cObj(C)F(c) fMor(c)(F(f)p t(f)) fMor(C)F(s(f)) \prod_{c \in Obj(C)} F(c) \stackrel{\prod_{f \in Mor(c)} (F(f) \circ p_{t(f)}) }{\to} \prod_{f \in Mor(C)} F(s(f))


cObj(C)F(c) fMor(c)(p s(f)) fMor(C)F(s(f)). \prod_{c \in Obj(C)} F(c) \stackrel{\prod_{f \in Mor(c)} (p_{s(f)}) }{\to} \prod_{f \in Mor(C)} F(s(f)) \,.

Recall that the first morphism here is the one coming from all maps

F(a 1) F(a 1f 1b 1) F(b 1) p b 1 cObj(C)F(c) p b i F(b i) F(a if ib i) F(a i) p b 2 F(b 2) F(a 2f 2)b 2 F(a 2) \array{ F(a_1) &\stackrel{F(a_1 \stackrel{f_1}{\to} b_1)}{\leftarrow}& F(b_1)&\stackrel{p_{b_1}}{\leftarrow}& \prod_{c \in Obj(C)} F(c) &\stackrel{p_{b_i}}{\to}& F(b_i) &\stackrel{F(a_i \stackrel{f_i}{\to} b_i)}{\to}& F(a_i) \\ &&&& \downarrow^{p_{b_2}} \\ &&&& F(b_2) \\ &&&& \downarrow^{F(a_2 \stackrel{f_2}{\to}) b_2} \\ &&&& F(a_2) }

for all a if ib ia_i \stackrel{f_i}{\to} b_i using the universal property of fMor(C)F(s(f))\prod_{f \in Mor(C)}F(s(f)), while the second one comes from all morphisms

F(a 1) p a 1 cObj(C)F(c) p a i F(a i) p a 2 F(a 2). \array{ F(a_1) &\stackrel{p_{a_1}}{\leftarrow}& \prod_{c \in Obj(C)} F(c) &\stackrel{p_{a_i}}{\to}& F(a_i) \\ && \downarrow^{p_{a_2}} \\ && F(a_2) } \,.

If we want to generalize an expression like this to enriched category theory the explicit indexing over the set of morphisms has to be replaced by something that makes sense in an enriched category.

To that end, observe that we have a canonical isomorphism (of sets, still)

(c 1fc 2)Mor(C)F(c 1) c 1,c 2Obj(C)F(c 1) C(c 1,c 2). \prod_{{(c_1 \stackrel{f}{\to} c_2)} \in Mor(C)} F(c_1) \simeq \prod_{c_1,c_2 \in Obj(C)} F(c_1)^{C(c_1,c_2)} \,.

If we write for the hom-set instead

[C(c 1,c 2),F(c 1)]:=F(c 1) C(c 1,c 2) [C(c_1,c_2), F(c_1)] := F(c_1)^{C(c_1,c_2)}

with [,][-,-] the internal hom in Set, then the expression starts to make sense in any VV-enriched category.

Still equivalently but suggestively rewriting the above, we now obtain the limit over FF as the equalizer of

cObj(C)F(c)λρ c 1,c 2Obj(C)[C(c 1,c 2),F(c 1)], \prod_{c \in Obj(C)} F(c) \stackrel{\stackrel{\rho}{\to}}{\stackrel{\lambda}{\to}} \prod_{c_1,c_2 \in Obj(C)} [C(c_1,c_2),F(c_1)] \,,

where in components

ρ c 1,c 2:F(c 1)[C(c 1,c 2),F(c 1)] \rho_{c_1, c_2} : F(c_1) \to [C(c_1,c_2), F(c_1)]

is the adjunct of

C(c 1,c 2)*[F(c 1),F(c 1)] C(c_1, c_2) \to * \to [F(c_1), F(c_1)]

(with the last map the adjunct of Id F(c 1)Id_{F(c_1)}) and where

λ c 1,c 2:F(c 2)[C(c 1,c 2),F(c 1)] \lambda_{c_1, c_2} : F(c_2) \to [C(c_1,c_2), F(c_1)]

is the adjunct of

F c 1,c 2:C(c 1,c 2)[F(c 2),F(c 1)]. F_{c_1, c_2} : C(c_1, c_2) \to [F(c_2), F(c_1)] \,.

So for definiteness, the equalizer we are looking at is that of

ρ:= c 1,c 2Cρ c 1,c 2pr F(c 1) \rho := \prod_{c_1, c_2 \in C} \rho_{c_1,c_2}\circ pr_{F(c_1)}


λ:= c 1,c 2Cλ c 1,c 2pr F(c 2) \lambda := \prod_{c_1, c_2 \in C} \lambda_{c_1,c_2}\circ pr_{F(c_2)}

This way of writing the limit clearly suggests that it is more natural to have λ\lambda and ρ\rho on equal footing. That leads to the following definition.

enriched ends over VV-valued functors as equalizers

For VV a symmetric monoidal category, CC a VV-enriched category and F:C op×CVF : C^{op} \times C \to V a VV-enriched functor, the end of FF is the equalizer

cCF(c,c) cObj(C)F(c)λρ c 1,c 2Obj(C)[C(c 1,c 2),F(c 1,c 2)] \int_{c \in C} F(c,c) \to \prod_{c \in Obj(C)} F(c) \stackrel{\stackrel{\rho}{\to}}{\stackrel{\lambda}{\to}} \prod_{c_1,c_2 \in Obj(C)} [C(c_1,c_2),F(c_1,c_2)]

with ρ\rho in components given by

ρ c 1,c 2:F(c 1,c 1)[C(c 1,c 2),F(c 1,c 2)] \rho_{c_1, c_2} : F(c_1,c_1) \to [C(c_1,c_2), F(c_1,c_2)]

being the adjunct of

F(c 1,):C(c 1,c 2)[F(c 1,c 1),F(c 1,c 2)] F(c_1,-) : C(c_1, c_2) \to [F(c_1,c_1), F(c_1,c_2)]


λ c 1,c 2:F(c 2,c 2)[C(c 1,c 2),F(c 1,c 2)] \lambda_{c_1, c_2} : F(c_2,c_2) \to [C(c_1,c_2), F(c_1,c_2)]

being the adjunct of

F(,c 2):C(c 1,c 2)[F(c 2,c 2),F(c 1,c 2)]. F(-,c_2) : C(c_1, c_2) \to [F(c_2,c_2), F(c_1,c_2)] \,.

This definition manifestly exhibits the end as the equalizer of the left and right action encoded by distributor FF.

enriched functor category

Using the notion of end, there is now a nice definition of the the VV-enriched functor category for two VV-enriched categories.


For CC and DD VV-enriched categories, there is a VV-enriched category denoted [C,D][C,D] whose

  • objects are the VV-functors F:CDF : C \to D;

  • hom-objects [C,D](F,G)[C,D](F,G) between VV-functors F,GF, G are given by the VV-enriched end

    [C,D](F,G):= cCD(F(c),G(c)) [C,D](F,G) := \int_{c \in C} D(F(c), G(c))

    over the functor

    D(F(),G()):C opCV. D(F(-),G(-)) : C^{op} \otimes C \to V \,.

    Write in the following E c:[C,D](F,G)D(F(c),G(c))E_c : [C,D](F,G) \to D(F(c),G(c)) for the canonical morphism out of the end (the counit).

  • the composition operation

    K,F,G:[C,D](F,G)[C,D](K,F)[C,D](K,G) \circ_{K,F,G} : [C,D](F,G)\otimes [C,D](K,F) \to [C,D](K,G)

    is the universal morphism into the end [C,D](K,F)[C,D](K,F) obtained from observing that the composites

    [C,D](F,G)[C,D](K,F)E cE dD(F(c),G(c))D(K(c),F(c)) K(c),F(c),G(c)D(K(c),F(c)) [C,D](F,G)\otimes [C,D](K,F) \stackrel{E_c\otimes E_d}{\to} D(F(c),G(c)) \otimes D(K(c),F(c)) \stackrel{\circ_{K(c), F(c), G(c)}}{\to} D(K(c), F(c))

    form an extraordinary VV-natural family, equivalently that

    [C,D](F,G)[C,D](K,F) cObj(c)E cE c cObj(c)D(F(c),G(c))D(K(c),F(c)) cObj(c) K(c),F(c),G(c) cObj(c)D(K(c),F(c)) [C,D](F,G)\otimes [C,D](K,F) \stackrel{\prod_{c \in Obj(c)}E_c\otimes E_c}{\to} \prod_{c \in Obj(c)} D(F(c),G(c)) \otimes D(K(c),F(c)) \stackrel{\prod_{c \in Obj(c)}\circ_{K(c), F(c), G(c)}}{\to} \prod_{c \in Obj(c)}D(K(c), F(c))

    equalizes the two maps appearing in the equalizer definition of the end.


For V=V = Set, so that VV-enriched categories are just ordinary locally small categories, the VV-enriched functor category coincides with the ordinary functor category. (See the examples below.)


ordinary functor categories

To understand the role of the end here, it is useful to spell this out for the case where V=V = Set, where we are dealing with ordinary locally small categories.

So let V=SetV = Set where set is equipped with its cartesian monoidal structure.

Recall the definition of the end over

D(F(),G()):C opCSet D(F(-),G(-)) : C^{op} \otimes C \to Set

as an equalizer: it is the universal subobject

cCD(F(c),G(c)) cObj(C)D(F(c),G(c)) \int_{c \in C} D(F(c), G(c)) \hookrightarrow \prod_{c \in Obj(C)} D(F(c), G(c))

of the product of all hom-sets in DD between the images of objects in CC under the functors FF and GG. So one element η cCD(F(c),G(c)) \eta \in \int_{c \in C} D(F(c), G(c)) is a collection of morphisms

(F(c)η cG(c)) cObj(c) ( F(c) \stackrel{\eta_c}{\to} G(c))_{c \in Obj(c)}

such that the “left and right action” (in the sense of distributors) of D(F(),G())D(F(-),G(-)) on these elements coincides. Unwrapping what this action is (see the details at end) one find that

  • the “right action” by a morphism cfdc \stackrel{f}{\to} d is the postcomposition (F(c)η cG(c))(F(c)η cG(c)G(f)G(d)) (F(c) \stackrel{\eta_c}{\to} G(c)) \mapsto (F(c) \stackrel{\eta_c}{\to} G(c) \stackrel{G(f)}{\to} G(d))

  • the “left action” by a morphism cfdc \stackrel{f}{\to} d is the precomposition (F(d)η dG(d))(F(c)F(f)F(d)η dG(d)) (F(d) \stackrel{\eta_d}{\to} G(d)) \mapsto (F(c) \stackrel{F(f)}{\to} F(d) \stackrel{\eta_d}{\to} G(d) ) .

So the invariants under the combined action are those η\eta for which for all f:cdf : c \to d in CC the diagram

F(c) η c G(c) F(f) G(f) F(d) η d G(d) \array{ F(c) &\stackrel{\eta_c}{\to} & G(c) \\ \downarrow^{F(f)} && \downarrow^{G(f)} \\ F(d) &\stackrel{\eta_d}{\to} & G(d) }

commutes. Evidently, this means that the elements η\eta of the end cCD(F(c),G(c))\int_{c \in C} D(F(c), G(c)) are precisely the natural transformations between FF and GG.

Presheaves and universal constructions in enriched category theory

All the discussion of presheaves, representable functors, adjoint functors etc. for ordinary categories goes through essentially verbatrim for enriched category theory.

In the following VV is assumed to be symmetric closed monoidal.


representable enriched functors

Let VV be a symmetric closed monoidal and CC a VV-enriched category.

Then for every object cCc \in C there is a VV-enriched functor

C(c,):CV C(c,-) : C \to V

which is defined

  • on objects by dmaptstoC(c,d)Vd \maptsto C(c,d) \in V

  • on morphisms between dd and dd' by C(c,) d,d:C(d,d)[C(c,d),C(c,d)]C(c,-)_{d,d'} : C(d,d') \to [C(c,d), C(c,d')], being the adjunct of the composition morphism c,d,d:C(d,d)C(c,d)C(c,d)\circ_{c,d,d'} : C(d,d') \otimes C(c,d) \to C(c,d').

A VV-enriched functor F:CVF : C \to V is representable if there is cCc \in C and an invertible VV-natural transformation η:FC(c,)\eta : F \to C(c,-) (i.e. η:I[C,V](F,C(c,))\eta : I \to [C,V](F,C(c,-))).

Kan extension

Recall that the Kan extension of a functor F:D opCF : D^{op} \to C of ordinary categories along a functor p:D opB opp : D^{op} \to B^{op}

D op F C p B op \array{ D^{op} &\stackrel{F}{\to}& C \\ \downarrow^{p} \\ B^{op} }

is the left or right adjoint to precomposition with pp.

In the enriched context precomposition with a VV-enriched functor pp is itself a VV-enriched functor

p *:[C op,C][D op,C] p^* : [C^{op},C] \to [D^{op},C]

and the left Kan extension is characterized by a natural isomorphism

[B op,C](Lan pF,G)[D op,C](F,p *G) [B^{op},C](Lan_p F, G) \simeq [D^{op},C](F, p^* G)

and the right Kan extension by

[B op,C](G,Ran pF)[D op,C](p *G,F). [B^{op},C](G, Ran_p F) \simeq [D^{op},C](p^* G, F) \,.

Recall the pointwise formulas for Kan extensions from universal constructions – adjunction, limit and Kan extension in terms of limits over comma categories.

These comma-categorical limit formulas are useful, but have to be regarded as “coincidences in Set”: there is no analog for them in the enriched setup.

Instead, for VV-valued presheaves, the universally valid formula is in terms of an end or a coend, respectively.

Even more generally, for general enriched presheaves, the formula for the Kan extension is given by a weighted limit. Properly speaking all other formulations are (just) special cases of this. But for our purposes here we will not worry about weighted limits further.

in terms of ends and coends

If the VV-enriched category DD is powered over VV, then the above weighted limit may be re-expressed in terms of an end as

(Ran pF)(c) cCC(c,p(c))F(c). (Ran_p F)(c') \simeq \int_{c \in C} C'(c',p(c))\pitchfork F(c') \,.

So in particular when D=VD = V this is

(Ran pF)(c) cC[C(c,p(c)),F(c)]. (Ran_p F)(c') \simeq \int_{c \in C} [C'(c',p(c)),F(c')] \,.

Similarly, if DD is tensored over VV, then the left Kan extension is given by a coend.

(Lan pF)(c) cCC(p(c),c)F(c). (Lan_p F)(c') \simeq \int^{c \in C} C'(p(c),c')\otimes F(c') \,.

in terms of (co)limits over comma-categories

In the special case that V=SetV = Set, and only then, there is an expression of the Kan extension as a (co)limit over a comma category.

The right Kan extension of a functor of ordinary categories is given by the limit

(Ran pF)(c)lim((const c/p)CFSet), (Ran_p F)(c') \simeq lim ((const_{c'}/p) \to C \stackrel{F}{\to} Set) \,,

The left Kan extension of a functor of ordinary categories is given by the colimit

(Lan pF)(c)colim((p/const c)CFSet) \begin{aligned} (Lan_p F)(c') \simeq colim ((p/const_{c'}) \to C \stackrel{F}{\to} Set) \end{aligned}

Here (const c/p)(const_{c'}/p) and (p/const c)(p/const_{c'}) are comma categories in the notation described there.

Last revised on May 14, 2009 at 18:00:47. See the history of this page for a list of all contributions to it.