monoidal category


Monoidal categories

Category theory



A monoidal category is a category equipped with some notion of ‘tensor product’. A good example is the category Vect, where we can take the tensor product, not only of vector spaces, but also of linear maps: given linear maps f:VWf : V \to W and f :V W f^\prime: V^\prime \to W^\prime, we get a linear map

ff :VV WW f \otimes f^\prime: V \otimes V^\prime \to W \otimes W^\prime

The same category can often be made into a monoidal category in more than one way. For example the category Set can be made into a monoidal category with cartesian product or disjoint union (i.e. coproduct) as the ‘tensor product’. We can also make Vect into a monoidal category with direct sum as the ‘tensor product’ — this may seem perverse, but it’s actually very useful.

For any monoidal category MM, the operation of tensor product is actually a functor

:M×MM\otimes : M \times M \to M

This functor, which we can think of as a kind of ‘multiplication’, makes MM into a vertically categorified version of a monoid. This explains the term ‘monoidal category’.



A monoidal category is a category 𝒞\mathcal{C} equipped with

  1. a functor

    :𝒞×𝒞𝒞 \otimes \;\colon\; \mathcal{C} \times \mathcal{C} \longrightarrow \mathcal{C}

    out of the product category of 𝒞\mathcal{C} with itself, called the tensor product,

  2. an object

    1𝒞 1 \in \mathcal{C}

    called the unit object or tensor unit,

  3. a natural isomorphism

    a:(()())()()(()()) a \;\colon\; ((-)\otimes (-)) \otimes (-) \overset{\simeq}{\longrightarrow} (-) \otimes ((-)\otimes(-))

    with components of the form

    a x,y,z:(xy)zx(yz) a_{x,y,z} : (x \otimes y) \otimes z \to x \otimes (y \otimes z)

    called the associator,

  4. a natural isomorphism

    λ:(1())() \lambda \;\colon\; (1 \otimes (-)) \overset{\simeq}{\longrightarrow} (-)

    with components of the form

    λ x:1xx \lambda_x \colon 1 \otimes x \to x

    called the left unitor, and a natural isomorphism

    ρ:()1() \rho \;\colon\; (-) \otimes 1 \overset{\simeq}{\longrightarrow} (-)

    with components of the form

    ρ x:x1x \rho_x \colon x \otimes 1 \to x

    called the right unitor,

such that the following two kinds of diagrams commute, for all objects involved:

  1. triangle identity (not to be confused with the triangle identities of an adjunction):

    (x1)y a x,1,y x(1y) ρ x1 y 1 xλ y xy \array{ & (x \otimes 1) \otimes y &\stackrel{a_{x,1,y}}{\longrightarrow} & x \otimes (1 \otimes y) \\ & {}_{\rho_x \otimes 1_y}\searrow && \swarrow_{1_x \otimes \lambda_y} & \\ && x \otimes y && }
  2. the pentagon identity (or pentagon equation):

    (wx)(yz) α wx,y,z α w,x,yz ((wx)y)z (w(x(yz))) α w,x,yid z id wα x,y,z (w(xy))z α w,xy,z w((xy)z) \array{ && (w \otimes x) \otimes (y \otimes z) \\ & {}^{\mathllap{\alpha_{w \otimes x, y, z}}}\nearrow && \searrow^{\mathrlap{\alpha_{w,x,y \otimes z}}} \\ ((w \otimes x ) \otimes y) \otimes z && && (w \otimes (x \otimes (y \otimes z))) \\ {}^{\mathllap{\alpha_{w,x,y}} \otimes id_z }\downarrow && && \uparrow^{\mathrlap{ id_w \otimes \alpha_{x,y,z} }} \\ (w \otimes (x \otimes y)) \otimes z && \underset{\alpha_{w,x \otimes y, z}}{\longrightarrow} && w \otimes ( (x \otimes y) \otimes z ) }

Other coherence conditions

The original list of coherence axioms for monoidal categories given by Mac Lane in 1963 was longer; Max Kelly showed they could be whittled down to just the pentagon and triangle identities. We reproduce his arguments here.

In the proofs below, monoidal product symbols \otimes will be suppressed, to save space.


(Kelly 64) In a monoidal category, the equation λ xy=λ xyα 1,x,y\lambda_x y = \lambda_{x y} \circ \alpha_{1, x, y} holds, i.e., the diagram

(1x)y α 1,x,y λ xy 1(xy) λ xy xy\array{ (1 x) y & & \\ ^\mathllap{\alpha_{1, x, y}} \downarrow & \searrow^\mathrlap{\lambda_x y} & \\ 1 (x y) & \underset{\lambda_{x y}}{\to} & x y }

commutes. Similarly, the following equation holds: ρ xy=(xρ y)α x,y,1\rho_{x y} = (x \rho_y) \circ \alpha_{x, y, 1}.


We prove only the first equation; the proof of the second is entirely analogous. Since the functor 11 \otimes - is an equivalence (being isomorphic to the identity functor), it suffices to show that the triangle on the right in the diagram below commutes:

((11)x)y α 1,1,xy (1(1x))y α 1,1x,y 1((1x)y) 1α 1,x,y 1(1(xy)) (ρ 1x)y (1λ x)y 1(λ xy) ? 1(λ xy) (1x)y α 1,x,y 1(xy) \array{ ((1 1)x) y & \stackrel{\alpha_{1, 1, x}y}{\to} & (1(1 x))y & \stackrel{\alpha_{1, 1 x, y}}{\longrightarrow} & 1((1 x)y) & \stackrel{1\alpha_{1, x, y}}{\to} & 1(1(x y)) \\ & ^\mathllap{(\rho_1 x)y} \searrow & \downarrow^\mathrlap{(1 \lambda_x)y} & & ^\mathllap{1(\lambda_x y)} \downarrow & ? \swarrow^\mathrlap{1(\lambda_{x y})} & \\ & & (1 x)y & \underset{\alpha_{1, x, y}}{\to} & 1(x y) & & }

where the square in the middle commutes by naturality of α\alpha, and the triangle on the left commutes by a unit coherence triangle (tensored by yy on the right). Since all the arrows are isomorphisms, it suffices to show that the diagram formed by the perimeter commutes. But this follows from the commutativity of the diagram

(1(1x))y α 1,1x,y 1((1x)y) α 1,1,xy 1α 1,x,y ((11)x)y α 11,x,y (11)(xy) α 1,1,xy 1(1(xy)) (ρ 1x)y ρ 1(xy) 1λ xy (1x)y α 1,x,y 1(xy) \array{ & & (1(1 x))y & \stackrel{\alpha_{1, 1 x, y}}{\to} & 1((1 x)y) \\ & ^\mathllap{\alpha_{1, 1, x}y} \nearrow & & & \downarrow^\mathrlap{1\alpha_{1, x, y}} \\ ((1 1)x)y & \stackrel{\alpha_{1 1, x, y}}{\to} & (1 1)(x y) & \stackrel{\alpha_{1, 1, x y}}{\to} & 1(1(x y)) \\ ^\mathllap{(\rho_1 x)y} \downarrow & & ^\mathllap{\rho_1(x y)} \downarrow & \swarrow^\mathrlap{1 \lambda_{x y}} & \\ (1 x)y &\underset{\alpha_{1, x, y}}{\to} & 1(x y) & & }

which uses the pentagon coherence condition, naturality of α\alpha, and a unit coherence condition.


(Kelly 64) The equation λ 1=ρ 1:111\lambda_1 = \rho_1 \colon 1 \otimes 1 \to 1 holds in a monoidal category.


Since 11 \otimes - is an equivalence, it suffices to show 1λ 1=1ρ 11 \otimes \lambda_1 = 1 \otimes \rho_1. But we have the equations

(1λ 1)α 1,1,1=λ 11(1 \lambda_1) \circ \alpha_{1, 1, 1} = \lambda_1 1
(1ρ 1)α 1,1,1=λ 11(1 \rho_1) \circ \alpha_{1, 1, 1} = \lambda_1 1

where the first equation follows from Lemma 1 and the second from a unit coherence triangle. One concludes by composing each side of the equations above by α 1,1,1 1\alpha_{1, 1, 1}^{-1}.

Strict monoidal categories

A monoidal category is said to be strict if the associator, left unitor and right unitors are all identity morphisms. In this case the pentagon and triangle commute automatically.

There is a strict 2-category MonCat with:

One version of Mac Lane’s Coherence Theorem states that in MonCat, every monoidal category is equivalent to a strict one.





Every small monoidal category CC embeds as a full subcategory CDC \hookrightarrow D into a closed monoidal category, where the embedding functor is a strong monoidal functor.


One can take D=PSh(C)D = PSh(C) be the category of presheaves on CC and j:CDj : C \hookrightarrow D the Yoneda embedding. The category of presheaves on CC becomes a closed monoidal category with the Day convolution tensor product, which for F,GPSh(C)F,G \in PSh(C) is

FG:e c,dCF(c)×G(d)×Hom C(e,cd). F \star G : e \mapsto \int^{c,d \in C} F(c) \times G(d) \times Hom_C(e, c \otimes d) \,.

If FF and GG are both in the image of the Yoneda embedding, F=Hom C(,a)F = Hom_C(-,a), G=Hom C(,b)G = Hom_C(-,b) for a,bCa,b \in C, then applying the co-Yoneda lemma to the two coends over cc and dd we get

(j(a)j(b))(e) = c,dCHom C(c,a)×Hom C(d,b)×Hom C(e,cd) Hom C(e,ab) j(ab)(e), \begin{aligned} (j(a) \star j(b))(e) & = \int^{c,d \in C} Hom_C(c,a) \times Hom_C(d,b)\times Hom_C(e, c \otimes d) \\ & \simeq Hom_C(e, a \otimes b) \\ & \simeq j(a \otimes b)(e) \,, \end{aligned}

naturally in ee.

Relation to multicategories

There is a faithful functor from monoidal categories to multicategories, given by forming representable multicategories.

Internal logic

The internal language of monoidal categories is a flavor of linear logic/linear type theory (non-commutative multiplicative intuitionistic linear type theory). In this logical context the string diagrams of monoidal catgeories are called proof nets.

Where the Definition Comes From

The definition of monoidal category looks rather complicated at first sight, so it is natural to wonder if there is some magic wand we can wave that makes it appear automatically. For example, one might wonder if we can define monoidal categories using internalization.

In fact a strict monoidal category is just a monoid internal to the category Cat. Unfortunately this definition is circular, since to define a monoid internal to Cat, we need to use the fact that Cat is a monoidal category! Furthermore, hardly any of the monoidal categories in nature are strict.

Ronnie Brown I entirely understand that most monoidal categories in nature are not strict, and CWM gives an example to show that you cannot even get strictness for the cartesian product. On the other hand, for the cartesian product we get coherence properties directly from the universal property.

Now the tensor product in many monoidal categories in nature comes from the cartesian product, but with more elaborate morphisms. Thus the tensor product of vector spaces comes from bilinear maps. The associativity of this tensor product comes from looking at trilinear maps, and so derives from the associativity of the cartesian product. In a sense, this tensor product is as coherently associative as the cartesian product, which could means that in a rough and ready way we do not need to worry.

My query is whether there is a study of this kind of argument in categorical generality?

Peter LeFanu Lumsdaine: The setting for a statement like this would presumably be the connections between monoidal categories and multicategories, which are discussed very nicely in Chapters 2 and 3 of Tom Leinster’s book?. As far as I remember he doesn’t give anything that would quite make this argument, and I don’t know the literature of these well enough to say whether it’s been done elsewhere, but I’d guess it has, or at least that it would be fairly straightforward to give in that terminology. The statement would look something like:

“If C\mathbf{C} is a multicategory generated by its nullary, unary and binary arrows, CC its underlying category, and \otimes, 11 are functors on CC representing the nullary and binary arrows of CC, then \otimes and 11 form the tensor and unit of a monoidal structure on CC.”

The ugly part of this is the generation condition, which will be needed since we only start with \otimes and 11 (indeed, some stronger presentation condition might be needed, actually). The unbiased version, where we have not just \otimes and 11 but an nn-ary tensor product for every nn, is essentially given in Leinster’s book, iirc, and doesn’t require such a condition.

So, we need to weaken the definition of monoidal category, and this is where the subtleties come in: we need the associator, left unitor, and right unitor to satisfy some ‘coherence laws’ — e.g. the pentagon identity.

But where do the coherence laws come from?

In fact, these are precisely what we need to make any diagram built solely by tensoring, associators, and unitors commute. This fact is another version of Mac Lane’s Coherence Theorem. Mac Lane proved it in the same paper where he originally defined the concept of monoidal category.

There are indeed ‘magic wands’ that automatically produce the definition of monoidal category, but most of these magic wands are so heavy that only more advanced wizards can lift them.

For example, you can define a monoidal category to be a pseudomonoid internal to the 2-category Cat — but nobody knew how to define these concepts until they knew what a monoidal category is!

Two other closely related approaches involve 2-monad theory and homotopy theory.

To make the first one work, the magic words to say are “there is a 2-monad whose algebras are strict monoidal categories, and a (non-strict) monoidal category is a pseudo-algebra for that 2-monad.” This doesn’t give you the definition of monoidal categories that we’re used to, though; it gives you the unbiased version.

To make the second magic wand work, the magic words to say are “there is a monad/operad/etc. in Cat whose algebras are strict monoidal categories, and the monad/operad/etc. whose algebras are (non-strict) monoidal categories is a cofibrant replacement for that one.” Since cofibrant replacements are usually defined only up to equivalence, this one also doesn’t determine the usual definition uniquely. There is a “canonical” choice, but again it gives you the unbiased version. The equation “cofibrant = flexible?” says that these two magic wands are doing essentially the same thing.

Of course, both are also sort of a cheat, since in order to prove that the biased and unbiased definitions are equivalent, you need to have the coherence theorem for the biased definition. However, it’s only because of the coherence theorem that we can say definitely that the usual set of complicated-looking diagrams is “correct.” The approach using lax \infty-functors really only postpones this question, since you also need a coherence theorem to show that the definition of lax \infty-functor is “correct.” So perhaps there is no magic wand after all, at least not one that produces the specific diagrams in the usual biased definition of monoidal category.

However, if we temporarily ignore the unitors and focus on the associator, we may ask where does the pentagon identity come from? And one answer to this is provided by the Stasheff polytopes, which can be nicely obtained using Ross Street’s theory of orientals. For instance the pentagon diagram above is nothing but the 4th oriental! The tensor product itself is the second oriental, and the associator the third. The following section explains this in a bit more detail.

Relation to lax functors, orientals and descent

One can understand the structure of a monoidal category as a special simple case of the general notion of “lax \infty-functor”, also known – up to the issue of invertible versus non-invertible structure morphisms – as the notion of \infty-categorical descent and as the notion of infinity-anafunctor.

The discussion to follow now notably links the definition of monoidal category as above with that of monoidal (infinity,1)-category.

This may be familiar from the special simple case of a monoid in any bicategory CC, which can be identified with a lax functor

A:ptC A : pt \to C

from the point to CC. This lax functor sends the point to some object of CC, sends the identity morphism on the point to some endomorphism of that object. The unitor of the lax functor gives the product on that endomorphism and the coherence of the unitor is the associativity condition on this product.

This is part of a more general principle. A lax monoid in any tricategory would again be a lax functor from the point to that tricategory.

And a monoidal category can be regarded as a pseudomonoid in the tricategory BCat\mathbf{B}Cat, which has a single object, categories as 1-morphisms with the composition of 1-morphisms being the standard cartesian tensor product on categories.

Evidently, in the fully general context of weak \infty-categories it becomes increasingly hard to state what a lax functor into a given \infty-category should be: it will involve a plethora of structure morphisms and their coherences. One task of higher category theory is to organize this mess into something pretty and then to deal with this problem.

But before being intimidated by the problem in its most general form, it may pay to understand it in slightly simplified situations. One such slightly simplified setup is that of strict \infty-categories, usually known as ω\omega-categories or strict omega-categories.

For that case, Ross Street has given a general combinatorial formula for the \infty-coherence law of the general monoidal structure: this is encoded in the orientals, which are nothing but the standard simplicial simplices, but equipped with extra information about source and targets of all faces.

See the picture of the first five orientals. We can read off the above definition of a monoidal category from them as follows:

  • identify the monoidal category MM itself with the first oriental, just an arrow;

  • identify the ambient product M×MM \times M with the juxtaposition of two such arrows;

  • identify the tensor product MMMM \otimes M \to M with the second oriental: a triangular cell going from the concatenation of two arrows to a single arrow;

  • identify the associator with the third oriental, the tetrahedron: a map from one way to compose three arrows (=copies of MM) to the other way of doing this;

  • identify the pentagon identity with the fourth oriental. In general, the fourth oriental is itself a nontrivial 4-cell, but assume now that the big arrow in the middle of that is the identity. This makes what in general would be the pentagonator, the pentagon identity in this case.

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\} }

This shows that it is a bit of an illusion to think of a pentagon identity: the full geometric shape is really a 4-dimensional tetrahedron (the 4-simplex) whose five tetrahedral faces are the five vertices of the pentagon identity.

We can formulate this identification of structure morphisms and coherence laws with orientals more formally using the general notion of descent, which was indeed the original motivation for conceiving the orientals. The descent \infty-category Desc(Y,A)Desc(Y,A) (constructed in terms of orientals) can be regarded as a way to formalize “lax \infty-functor from YY to AA”.

Indeed, using observations pretty much as just sketched, one finds that for CC a 2-category that

Desc(pt,C)WeakMonoids(C) Desc(pt, C) \simeq WeakMonoids(C)

and for CC the 3-category BCat\mathbf{B}Cat we have

Desc(pt,BCat)LaxMonCat, Desc(pt, \mathbf{B}Cat) \simeq LaxMonCat \,,

where the 2-category on the right is defined as MonCatMonCat above, but with the associator not required to be an isomorphism.

Remark: pseudo versus lax, orientals versus unorientals

In closing, it should be remarked that the fact that everything here is lax instead of pseudo is related to a curious property of the orientals: the nnth oriental for n1n \ge 1 fails to be weakly equivalent to the point. As a result, the objects of Desc(pt,C)Desc(pt, C) are not quite ω\omega-anafunctors from the point to CC, since they do not map out of a proper hypercover of CC. In the strict notion of descent as used in most of the literature, the orientals would hence provide something more general than ordinary descent, which in its generality is lacking some properties usually required of descent.

We can remedy this by replacing in the definition of the descent \infty-category Desc(Y,C)Desc(Y,C) the orientals by another cosimplicial \infty-category, one which is equivalent to the point in each degree. Doing so and then going through the above discussion will make all the structure maps appeaing have inverses. But this will also apply to the monoidal product itself, then, which is usually not desired.


higher versions


The original source for the notion of monoidal category is

  • Saunders Mac Lane, Natural Associativity and Commutativity, Rice University Studies 49 (1963), 28-46.

Shortly after Mac Lane’s definition appeared, Max Kelly showed how the coherence axioms could be whittled down to just two:

  • Max Kelly, On MacLane’s Conditions for Coherence of Natural Associativities, Commutativities, etc., Journal of Algebra 1 (1964), 397-402.

A fairly comprehensive set of lecture notes on the higher algebra monoidal categories is in

A brief discussion in the context of enriched category theory is in

  • Max Kelly, Basic concepts of enriched category theory, London Math. Soc. Lec. Note Series 64, Cambridge Univ. Press 1982, 245 pp.; remake: TAC reprints 10, tac,pdf

Quick surveys of relevant definitions include also

For an elementary introduction to monoidal categories using string diagrams, see:

A more detailed tour of monoidal categories, also using string diagrams, and including autonomous, balanced, braided, compact closed, pivotal, ribbon, rigid, sovereign, spherical, tortile, and traced monoidal categories:

Revised on July 11, 2016 10:10:25 by Daniel Luckhardt (