monoidal category

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Monoidal categories
+--{: .hide}
[[!include monoidal categories - contents]]
=--
#### Category theory
+--{: .hide}
[[!include category theory - contents]]
=--
=--
=--

# Contents
* table of contents
{:toc}

## Idea

A **monoidal category** or monoidal [[horizontal categorification|monoidoid]] is a [[category]] equipped with some notion of 'tensor product' of its [[objects]].  A good example is the category [[Vect]] of [[vector spaces]], where we can take the [[tensor product of vector spaces|traditional tensor product]], not only of vector spaces, but also of [[linear maps]]: given linear maps $f \colon V \to W$ and $f^\prime \colon V^\prime \to W^\prime$, we get a linear map

$$ f \otimes f^\prime \colon 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 $M$, the operation of tensor product is actually a [[functor]]:

\[
  \label{TensorProductFunctor}
  \otimes \colon  M \times M \longrightarrow M
\]

This functor, which we can think of as a kind of 'multiplication', makes $M$ into a [[vertical categorification|vertically categorified]] version of a [[monoid]].  This explains the term 'monoidal category'.

A monoidal category can also be considered a one-object [[bicategory]]. See there for more details.

## Definition
 {#Definition}

### General monoidal categories
 {#DefinitionGeneralMonoidalCategories}

We first give the explicit definition in components (Def. \ref{MonoidalCategory}) and then highlight the succinct abstract idea (Def. \ref{AsPseudomonoidsInCat}) underlying this.

\begin{definition}\label{MonoidalCategory}
**(monoidal category)**
\linebreak
A **monoidal category** is a [[category]] $\mathcal{C}$ equipped with

1. a [[functor]]

   \[
     \label{TheTensorProductFunctor}
      \otimes
        \;\colon\;
      \mathcal{C} \times \mathcal{C}
       \longrightarrow
      \mathcal{C}
   \]

   out of the [[product category]] of $\mathcal{C}$ with itself, called the **[[tensor product]]**,

1. an [[object]]

   $$
     1 \in \mathcal{C}
   $$

   called the **[[unit object]]** or **[[tensor unit]]**,

1. a [[natural isomorphism]]

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

   with components of the form

   \[
     \label{AssociatorInAMonoidalCategory}
     a_{x,y,z} : (x \otimes y) \otimes z \to x \otimes (y \otimes z)
   \]

   called the **[[associator]]**,

1. a [[natural isomorphism]]

   \[
     \label{LeftUnitorInAMonoidalCategory}
     \lambda
       \;\colon\;
     (1 \otimes (-))
       \overset{\simeq}{\longrightarrow}
     (-)
   \]

   with components of the form

   $$
     \lambda_x \colon 1 \otimes x \to x
   $$

   called the **[[left unitor]]**, and

1. a [[natural isomorphism]]

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

   with components of the form

   $$
     \rho_x \colon x \otimes 1 \to x
   $$

    called the **[[right unitor]]**,

such that the following two kinds of [[commuting diagram|diagrams commute]], for all objects involved:

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

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

1. {#PentagonIdentity} the **[[pentagon identity]]** (or **pentagon equation**):

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

\end{definition}

\begin{remark}\label{InViewOfMicrocosmPrinciple}
**(role of the [[microcosm principle]])**
\linebreak
Notice how the very definition of monoidal categories (Def. \ref{MonoidalCategory}) invokes the Cartesian product *of* categories, namely in the definition of the tensor product (eq:TheTensorProductFunctor) *in* a category. But the operation of forming [[product categories]] is itself a (Cartesian) monoidal structure one level higher up in the [[higher category theory]] ladder, namely on the ambient [[2-category]] [[Cat]] of categories, which thereby becomes a [[monoidal 2-category]].

The ability to define pseudomonoids in any monoidal 2-category is an [example](microcosm+principle#examples) of the so-called [[microcosm principle]], where the definition of ([[higher structure|higher]]) algebraic [[mathematical structure|structures]] uses and requires analogous  algebraic structure present on the ambient higher category.
\end{remark}

With this understood, there is a succinct abstract definition of monoidal categories:
\begin{definition}\label{AsPseudomonoidsInCat}
**(as pseudomonoids in $Cat$)**
\linebreak
A monoidal category (Def. \ref{MonoidalCategory}) is equivalently a [[pseudomonoid]] in the [[cartesian monoidal category|cartesian]] [[monoidal 2-category]] [[Cat]] of categories.
\end{definition}

\begin{remark}\label{MakingTheAmbientStructureMorphismsExplicit}
**(making the ambient structure morphisms explicit)**
\linebreak
The equivalent perspective of Def. \ref{AsPseudomonoidsInCat} makes manifest that there is room to be more pedantic about Def. \ref{MonoidalCategory},
since the ambient [[monoidal 2-category]] $(Cat, \ast, \times)$ has its own [[associator]]

$$
  \alpha
    \;\colon\;
  (Cat\times Cat) \times Cat
  \xrightarrow{\; \simeq \;}
  Cat \times (Cat\times Cat)
  \,,
$$

which, while evident, is, strictly speaking, non-trivial.

This means that the [[associator]] (eq:AssociatorInAMonoidalCategory)
in a monoidal category $\mathcal{C}$ is actually of the form

   $$
     a
       \;\colon\;
     \alpha_\mathcal{C} \left[ ((-)\otimes (-)) \otimes (-)\right]
       \overset{\simeq}{\longrightarrow}
     (-) \otimes ((-)\otimes(-))
     \,.
   $$

Analogously, the ambient [[monoidal 2-category]] $(Cat, \ast, \times)$ comes with its own [[unitor]]

$$
  \Lambda
  \;\colon\;
  \ast \times
  \text{Cat}
  \xrightarrow{\;\simeq\; }
  \text{Cat}
$$

(for $\ast$ denoting the [[terminal category]]), which means that the [[unitor]] (eq:LeftUnitorInAMonoidalCategory) in a monoidal category is actually of the form

   $$
     \lambda
       \;\colon\;
     \Lambda_\mathcal{C}\left[ (1 \otimes (-)) \right]
       \overset{\simeq}{\longrightarrow}
     (-)
     \,.
   $$
\end{remark}

### Other coherence conditions

The original list of [[coherence law|coherence axioms]] for monoidal categories given by Mac Lane in 1963 was longer than what is shown in Def. \ref{MonoidalCategory} above. But 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.

+-- {: .num_lemma #kel1}
###### Lemma
**([Kelly 64](#Kelly))**
In a monoidal category, the equation $\lambda_x y = \lambda_{x y} \circ \alpha_{1, x, y}$ holds, i.e., the diagram

$$\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: $\rho_{x y} = (x \rho_y) \circ \alpha_{x, y, 1}$.
=--

+-- {: .proof}
###### Proof
We prove only the first equation; the proof of the second is entirely analogous. Since the functor $1 \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:

$$
  \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 [[commuting square|commutes]] by [[natural transformation|naturality]] of $\alpha$, and the triangle on the left commutes by a unit coherence triangle (tensored by $y$ 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

$$\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.
=--

+-- {: .num_lemma #kel2}
###### Lemma
**([Kelly 64](#Kelly))**
The equation $\lambda_1 = \rho_1 \colon 1 \otimes 1 \to 1$ holds in a monoidal category.
=--

+-- {: .proof}
###### Proof
Since $- \otimes 1$ is an equivalence, it suffices to show $\lambda_1 1=\rho_1 1$. We have $1\lambda_1=\lambda_{11}$ by the naturality equation $\lambda_1 \circ (1\lambda_1) = \lambda_1 \circ \lambda_{11}$. Hence we get

$$\lambda_1 1 = (1 \lambda_1) \circ \alpha_{1, 1, 1} = \rho_1 1$$

where the first equation follows from Lemma \ref{kel1} and the second from the triangle identity.
=--

+-- {: .num_lemma #end_commutative}
###### Proposition
The [[endomorphism]] [[monoid]] $End(1)$ is commutative.
=--

+-- {: .proof}
###### Proof
The isomorphism $i \coloneqq \lambda_1 = \rho_1 \colon 1 \otimes 1 \to 1$ (using Lem. \ref{kel2}) induces a monoid structure on $End(1)$ given by $f * g \coloneqq i \circ (f \otimes g) \circ i^{-1}$ for two endomorphisms $f, g\colon 1 \to 1$ with neutral element $\id_1\colon 1 \to 1$.

For endomorphisms $a,b,c,d\colon 1 \to 1$ one has
$$
(a \circ b) * (c \circ d)
=i \circ ((a \circ b) \otimes (c \circ d)) \circ i^{-1}
=i \circ ((a \otimes c) \circ (b \otimes d)) \circ i^{-1}
=(a * c) \circ (b * d)
$$
hence the [[Eckmann-Hilton argument]] yields the result.
=--

### Strict monoidal categories

\begin{definition}\label{StrictMonoidalCategory}
**(strict monoidal category)**
\linebreak
A monoidal category (Def. \ref{MonoidalCategory})
is said to be **strict** if the associator, left unitor and right unitors are all [[identity morphisms]] (up to the ambient structure morphisms, see Rem. \ref{MakingTheAmbientStructureMorphismsExplicit}).

In this case the [[pentagon identity]] and the [[triangle identities]] hold automatically.
\end{definition}

In analogy to Def. \ref{AsPseudomonoidsInCat} we have:
\begin{definition}
A strict monoidal category (Def. \ref{StrictMonoidalCategory}) is equivalently a [[monoid in a monoidal category|monoid in]]  the [[cartesian monoidal category|cartesian]] [[monoidal category|monoidal]] [[1-category]] [[Cat]] of categories and [[functors]] (i.e. with non non-identity [[natural transformation]] between them).
\end{definition}

Very explicitely, it means that:
\begin{definition} A strict monoidal category (Def. \ref{StrictMonoidalCategory}) is a category $\mathcal{C}$ equipped with an object $1 \in \mathcal{C}$ and a [[bifunctor]] $\otimes:\mathcal{C} \times \mathcal{C} \rightarrow \mathcal{C}$ such that for every objects $A,B,C$ and morphisms $f,g,h$, we have:

* $(A \otimes B) \otimes C = A \otimes (B \otimes C)$
* $1 \otimes A = A$
* $A \otimes 1 = A$
* $(f \otimes g) \otimes h = f \otimes (g \otimes h)$
* $Id_{1} \otimes f = f$
* $f \otimes Id_{1} = f$

\end{definition}

### The 2-category of monoidal categories

There is a [[strict 2-category]] MonCat with:

* monoidal categories as [[objects]],

* [[monoidal functors]] as [[1-morphisms]],

* [[monoidal natural transformations]] as [[2-morphisms]].

One version of [[coherence theorem for monoidal categories|Mac Lane's Coherence Theorem]] states that in MonCat, every monoidal category is equivalent to a strict one.

Every monoidal category is also [[equivalence in a 2-category|equivalent]] In MonCat to a [[skeletal category|skeletal]] monoidal category.   However, not every monoidal category is equivalent in MonCat to a skeletal strict monoidal category.   For example, the category [[FinSet]] with its cartesian product is equivalent in MonCat to a skeletal strict monoidal category, but the category [[Set]] with its cartesian product is not.  For the former fact, see [this remark by Jamie Vicary](https://golem.ph.utexas.edu/category/2006/10/classical_vs_quantum_computati_2.html#c015959); for the latter, see the end of [MacLane (1971), Section VII.1](#MacLane71).

## Properties
 {#Properties}

### Coherence

* [[coherence theorem for monoidal categories]]

### Closure

+-- {: .un_prop}
###### Proposition

Every small monoidal category $C$ embeds as a [[full subcategory]]
$C \hookrightarrow D$ into a [[closed monoidal category]], where
the embedding functor is a strong [[monoidal functor]].

=--

+-- {: .proof}
###### Proof

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

$$
  F \star G : e \mapsto
  \int^{c,d \in C}
  F(c) \times G(d) \times Hom_C(e, c \otimes d)
  \,.
$$

If $F$ and $G$ are both in the image of the Yoneda embedding, $F = Hom_C(-,a)$, $G = Hom_C(-,b)$ for $a,b \in C$, then applying the [[co-Yoneda lemma]] to the two [[coend]]s over $c$ and $d$ we get

$$
  \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 $e$.

=--

### Relation to multicategories

There is a [[faithful functor]] from monoidal categories to [[multicategories]], given by forming [[representable multicategory|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 categories are called [[proof nets]].

### Scalars

In any monoidal category $(\mathcal{C}, \otimes, I)$, the [[hom-set]] $\mathcal{C}[I,I]$ is a [[commutative monoid]]. It was originally remarked in [Kelly & Laplaza (1980), Prop. 6.1](#KellyLaplaza80), and recently popularized in the context of [[categorical quantum mechanics]] by [[Samson Abramsky]], firstly in [Abramsky & Coecke (2004), Sec. 6](#AbramskyCoecke04). The proof uses the [[Eckmann-Hilton argument]].

## 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.

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|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 [[bias|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 = [[flexibility|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 [[orientals]].  For instance the pentagon diagram above is nothing but the [[oriental|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 [[anafunctor|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 $C$, which can be identified with a lax functor

$$
  A : pt \to C
$$

from the point to $C$. This lax functor sends the point to some object of $C$, 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 $\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-category|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 [[oriental|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 [[oriental|first five orientals]]. We can read off the above definition of a monoidal category from them as follows:

* identify the monoidal category $M$ itself with the first oriental, just an arrow;

* identify the ambient product $M \times M$ with the juxtaposition of two such arrows;

* identify the tensor product $M \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 $M$) 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.

$$
\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="http://www.w3.org/2000/svg" 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="http://www.w3.org/1998/Math/MathML" display="inline"><mi>1</mi></math></foreignObject>
  <foreignObject x="0" y="27" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>0</mi></math></foreignObject>
  <foreignObject x="50" y="27" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" 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="http://www.w3.org/2000/svg" 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="http://www.w3.org/1998/Math/MathML" display="inline"><mi>1</mi></math></foreignObject>
    <foreignObject x="0" y="37" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>0</mi></math></foreignObject>
    <foreignObject x="40" y="-3" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>2</mi></math></foreignObject>
    <foreignObject x="40" y="37" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" 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="http://www.w3.org/1999/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="http://www.w3.org/1999/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="http://www.w3.org/2000/svg" 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="http://www.w3.org/1998/Math/MathML" display="inline"><mi>2</mi></math></foreignObject>
    <foreignObject x="0" y="27" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>1</mi></math></foreignObject>
    <foreignObject x="50" y="27" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>3</mi></math></foreignObject>
    <foreignObject x="13" y="57" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>0</mi></math></foreignObject>
    <foreignObject x="38" y="57" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" 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="http://www.w3.org/1999/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="http://www.w3.org/1999/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="http://www.w3.org/1999/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="http://www.w3.org/1999/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="http://www.w3.org/1999/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 edges 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)$ (constructed in terms of orientals) can be regarded as a way to formalize "lax $\infty$-functor from $Y$ to $A$".

Indeed, using observations pretty much as just sketched, one finds that for $C$ a 2-category that
$$
  Desc(pt, C) \simeq WeakMonoids(C)
$$
and for $C$ the 3-category $\mathbf{B}Cat$ we have
$$
  Desc(pt, \mathbf{B}Cat) \simeq LaxMonCat
  \,,
$$
where the 2-category on the right is defined as $MonCat$ 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 $n$th oriental for $n \ge 1$ _fails_ to be weakly equivalent to the point. As a result, the objects of $Desc(pt, C)$ are not quite $\omega$-[[anafunctor]]s from the point to $C$, since they do not map out of a proper hypercover of $C$. 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)$ 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.

## Variants

* [[strict monoidal category]]

  * [[permutative category]]

  * [[commutative monoidal category]]

* [[braided monoidal category]]

* [[symmetric monoidal category]]

* [[cartesian monoidal category]]

* [[semicartesian monoidal category]]

* [[cocartesian monoidal category]]

* [[fusion category]], [[tensor category]]

* [[multicategory]]

* [[monoidal 2-category]]

* [[premonoidal category]]

* [[Hopf monoidal category]]

* [[indexed monoidal category]]

* [[traced monoidal category]]

* [[monoidal category with diagonals]]

* [[relevance monoidal category]]

* [[distributivity for monoidal structures]]

  * [[distributive monoidal category]]

  * [[bipermutative category]]

  * [[linearly distributive category]]

  * [[rig category]]

  * [[duoidal category]], [[bimonoidal category]]

higher versions

* [[monoidal bicategory]]

* [[monoidal 2-category]]

* [[monoidal (∞,1)-category]]

  * [[braided monoidal (∞,1)-category]]

  * [[symmetric monoidal (∞,1)-category]]

  * [[closed monoidal (∞,1)-category]]

## Related concepts

* [[braided monoidal category]]

* [[symmetric monoidal category]]

* [[closed monoidal category]]

* [[symmetric closed monoidal category]]

* [[gs-monoidal category]]

* [[MonCat]]

* [[enriched monoidal category]]

* [[tensor category]]

* [[Drinfeld center]]

* [[Picard group]], [[Picard 2-group]]

* [[multicategory]], [[bicategory]], [[enriched category]], [[actegory]]

* [[module category]], [[bimodule category]]

* [[semisimple category]]

* [[monoidal topos]]

* [[DisCoPy]]

* [[monoidal groupoid]]

* [[no-cloning theorem]]

## References

The first monograph:

* {#EilKel66} [[Samuel Eilenberg]], [[G. Max Kelly]], Section II.1 in: *Closed Categories*, in: *[[Proceedings of the Conference on Categorical Algebra - La Jolla 1965]]*, Springer (1966) 421-562 [[doi:10.1007/978-3-642-99902-4](https://doi.org/10.1007/978-3-642-99902-4)]

Early lecture notes:

* [[Jean Bénabou]], *Les catégories multiplicatives*, Séminaire de mathématiquepure pure **27**, Université de Louvain (1972) [[[Benabou-CategoriesMultiplicatives.pdf:file]]]

Textbook accounts:

* {#MacLane71} [[Saunders MacLane]], Section VII.1 of: _[[Categories for the Working Mathematician]]_, Graduate texts in mathematics, Springer (1971, second ed. 1997) [[doi:10.1007/978-1-4757-4721-8](https://link.springer.com/book/10.1007/978-1-4757-4721-8)]

* {#Borceux94} [[Francis Borceux]], Section 6.1 of: *Handbook of Categorical Algebra* Vol. 2: *Categories and Structures* $[$[doi:10.1017/CBO9780511525865](https://doi.org/10.1017/CBO9780511525865)$]$, Encyclopedia of Mathematics and its Applications **50**, Cambridge University Press (1994)

* {#EGNO15} [[Pavel Etingof]], [[Shlomo Gelaki]], [[Dmitri Nikshych]], [[Victor Ostrik]], Chapter 2 of: *Tensor Categories*, AMS Mathematical Surveys and Monographs **205** (2015) [[ISBN:978-1-4704-3441-0](https://bookstore.ams.org/surv-205), [pdf](http://www-math.mit.edu/~etingof/egnobookfinal.pdf)]

  > (focus on [[tensor categories]])

Exposition of basics of monoidal categories and [[categorical algebra]]:

* _[[geometry of physics -- categories and toposes]]_, Section 2: _[Basic notions of categorical algebra](geometry+of+physics+--+categories+and+toposes#BasicNotionsOfCategoricalAlgebra)_

Monoidal categories were introduced by [[Jean Bénabou]] under the name 'category with multiplication'. Mac Lane was the first to give a finite axiomatisation, under the name 'bicategory' (not to be confused with the contemporary meaning of *[[bicategory]]*). The current name is due to Eilenberg.

* [[Jean Bénabou]], _Catégories avec multiplication_ , C. R. Acad. Sci. Paris **256** (1963) 1887-1890 [[gallica](http://gallica.bnf.fr/ark:/12148/bpt6k3208j/f1965.image)]

* [[Jean Bénabou]], _Algèbre élémentaire dans les catégories avec multiplication_ , C. R. Acad. Sci. Paris **258** (1964) 771-774 [[gallica](gallica.bnf.fr/ark:/12148/bpt6k40102/f817.image)]

* {#MacLane} [[Saunders Mac Lane]], _Natural Associativity and Commutativity_ , Rice University Studies **49** (1963) pp.28-46.

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

* {#Kelly} [[Max Kelly]], _On MacLane's Conditions for Coherence of Natural Associativities, Commutativities, etc._, Journal of Algebra **1** (1964) pp.397-402.

Lecture notes on the [[higher algebra]] of monoidal categories:

* [[Pavel Etingof]], [[Shlomo Gelaki]], [[Dmitri Nikshych]], [[Victor Ostrik]], _Topics in Lie theory and Tensor categories_, Lecture notes (spring 2009) ([web](http://ocw.mit.edu/courses/mathematics/18-769-topics-in-lie-theory-tensor-categories-spring-2009/lecture-notes/))

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](http://www.tac.mta.ca/tac/reprints/articles/10/tr10abs.html),[pdf](http://www.tac.mta.ca/tac/reprints/articles/10/tr10.pdf)]

A survey of some applications is in

* [[Ross Street]], *Monoidal categories in, and linking, geometry and algebra*, Bull. Belg. Math. Soc. Simon Stevin **19** 5 (2012) 769-820 [[arXiv:1201.2991](https://arxiv.org/abs/1201.2991), [doi:10.36045/bbms/1354031551](https://projecteuclid.org/journals/bulletin-of-the-belgian-mathematical-society-simon-stevin/volume-19/issue-5/Monoidal-categories-in-and-linking-geometry-and-algebra/10.36045/bbms/1354031551.full)]

(for more see also at *[[tensor category]]* and *[[fusion category]]* etc.).

Quick surveys of relevant definitions include also

* John Armstrong, _[Monoidal categories](http://unapologetic.wordpress.com/2007/06/28/monoidal-categories/)_

* Wikipedia _[Monoidal category](http://en.wikipedia.org/wiki/Monoidal_category).

* [[John Baez]], _[Some definitions everyone should know](http://math.ucr.edu/home/baez/qg-fall2004/definitions.pdf)_

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

* [[John Baez]], [[Mike Stay]], _[Physics, topology, logic and computation: a Rosetta Stone](http://math.ucr.edu/home/baez/rosetta.pdf)_, in _New Structures for Physics_, ed. [[Bob Coecke]], Lecture Notes in Physics vol. 813, Springer, Berlin, 2011, pp. 95-172.

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:

* [[Peter Selinger]], *[A survey of graphical languages for monoidal categories](http://www.mathstat.dal.ca/~selinger/papers.html#graphical)*.

Textbook account with an eye towards [[finite quantum mechanics in terms of dagger-compact categories]] and [[quantum computation]]:

* {#HeunenVicary19} [[Chris Heunen]], [[Jamie Vicary]], *Categories for Quantum Theory*, Oxford University Press 2019 ([ISBN:9780198739616](https://global.oup.com/academic/product/categories-for-quantum-theory-9780198739616))

Concerning the scalars:

* {#KellyLaplaza80}[[Max Kelly]], [[M. L. Laplaza]], _Coherence for compact closed categories_,  Journal of Pure and Applied Algebra 19: 193–213 (1980), doi:[10.1016/0022-4049(80)90101-2](https://doi.org/10.1016/0022-4049%2880%2990101-2).

* {#AbramskyCoecke04}[[Samson Abramsky]], [[Bob Coecke]], _A categorical semantics of quantum protocols_ , Proceedings of the 19th IEEE conference on Logic in Computer Science (LiCS'04). IEEE Computer Science Press (2004) [[arXiv:quant-ph/0402130](http://arxiv.org/abs/quant-ph/0402130)]

On [[monoidal category|monoidal]] [[univalent categories]] in [[univalent foundations of mathematics]] ([[homotopy type theory]] with the [[univalence axiom]]):

* [[Kobe Wullaert]], [[Ralph Matthes]], [[Benedikt Ahrens]], *Univalent Monoidal Categories* [[arXiv:2212.03146](https://arxiv.org/abs/2212.03146)]

[[!redirects monoidal category]]
[[!redirects monoidal categories]]
[[!redirects monoidal structure]]
[[!redirects monoidal structures]]
[[!redirects monoidal product]]
[[!redirects monoidal products]]


monoidal category > pentagon

<svg width="480" height="320" xmlns="http://www.w3.org/2000/svg">
 <defs>
  <marker id="se_marker_end_svg_39887_2" markerUnits="strokeWidth" orient="auto" viewBox="0 0 100 100" markerWidth="5" markerHeight="5" refX="50" refY="50">
   <path id="svg_39887_3" d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" stroke="#000000" stroke-width="10"/>
  </marker>
  <marker refY="50" refX="50" markerHeight="5" markerWidth="5" viewBox="0 0 100 100" orient="auto" markerUnits="strokeWidth" id="se_marker_end_svg_39887_16">
   <path stroke-width="10" stroke="#000000" fill="#000000" d="m100,50l-100,40l30,-40l-30,-40l100,40z" id="svg_39887_11"/>
  </marker>
  <marker refY="50" refX="50" markerHeight="5" markerWidth="5" viewBox="0 0 100 100" orient="auto" markerUnits="strokeWidth" id="se_marker_end_svg_39887_15">
   <path stroke-width="10" stroke="#000000" fill="#000000" d="m100,50l-100,40l30,-40l-30,-40l100,40z" id="svg_39887_14"/>
  </marker>
  <marker refY="50" refX="50" markerHeight="5" markerWidth="5" viewBox="0 0 100 100" orient="auto" markerUnits="strokeWidth" id="se_marker_end_svg_39887_18">
   <path stroke-width="10" stroke="#000000" fill="#000000" d="m100,50l-100,40l30,-40l-30,-40l100,40z" id="svg_39887_19"/>
  </marker>
  <marker refY="50" refX="50" markerHeight="5" markerWidth="5" viewBox="0 0 100 100" orient="auto" markerUnits="strokeWidth" id="se_marker_end_svg_39887_17">
   <path stroke-width="10" stroke="#000000" fill="#000000" d="m100,50l-100,40l30,-40l-30,-40l100,40z" id="svg_39887_20"/>
  </marker>
  <pattern height="100" width="100" y="0" x="0" patternUnits="userSpaceOnUse" id="gridpattern">
   <image height="100" width="100" y="0" x="0"/>
  </pattern>
 </defs>
 <g class="layer">
  <title>Layer 1</title>
  <line marker-end="url(#se_marker_end_svg_39887_15)" id="svg_39887_15" stroke="#000000" stroke-width="2" y2="116" x2="403" y1="31" x1="254"/>
  <line marker-end="url(#se_marker_end_svg_39887_16)" id="svg_39887_16" stroke="#000000" stroke-width="2" y2="291" x2="110" y1="151" x1="67"/>
  <line marker-end="url(#se_marker_end_svg_39887_17)" id="svg_39887_17" stroke="#000000" stroke-width="2" y2="146" x2="407" y1="296" x1="357"/>
  <line marker-end="url(#se_marker_end_svg_39887_18)" id="svg_39887_18" stroke="#000000" stroke-width="2" y2="308" x2="308" y1="308" x1="200"/>
  <line stroke="#000000" stroke-width="2" x1="67" y1="116" x2="220.00001" y2="31" id="svg_39887_2" marker-end="url(#se_marker_end_svg_39887_2)"/>
  <foreignObject x="170.333333" y="5" id="svg_39887_1" font-size="16" width="136" height="20">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <mo stretchy="false">(</mo>
      <mi>w</mi>
      <mo>⊗</mo>
      <mi>x</mi>
      <mo stretchy="false">)</mo>
      <mo>⊗</mo>
      <mo stretchy="false">(</mo>
      <mi>y</mi>
      <mo>⊗</mo>
      <mi>z</mi>
      <mo stretchy="false">)</mo>
     </mrow>
     <annotation encoding="application/x-tex">(w\otimes x)\otimes(y\otimes z)</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject height="20" width="136" font-size="16" id="svg_39887_13" y="120" x="1">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <mo stretchy="false">(</mo>
      <mo stretchy="false">(</mo>
      <mi>w</mi>
      <mo>⊗</mo>
      <mi>x</mi>
      <mo stretchy="false">)</mo>
      <mo>⊗</mo>
      <mi>y</mi>
      <mo stretchy="false">)</mo>
      <mo>⊗</mo>
      <mi>z</mi>
     </mrow>
     <annotation encoding="application/x-tex">((w\otimes x)\otimes y)\otimes z</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject x="343.666667" y="120" id="svg_39887_4" font-size="16" width="136" height="20">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <mi>w</mi>
      <mo>⊗</mo>
      <mo stretchy="false">(</mo>
      <mi>x</mi>
      <mo>⊗</mo>
      <mo stretchy="false">(</mo>
      <mi>y</mi>
      <mo>⊗</mo>
      <mi>z</mi>
      <mo stretchy="false">)</mo>
      <mo stretchy="false">)</mo>
     </mrow>
     <annotation encoding="application/x-tex">w\otimes (x\otimes(y\otimes z))</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject height="20" width="136" font-size="16" id="svg_39887_5" y="295" x="51.666667">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <mo stretchy="false">(</mo>
      <mi>w</mi>
      <mo>⊗</mo>
      <mo stretchy="false">(</mo>
      <mi>x</mi>
      <mo>⊗</mo>
      <mi>y</mi>
      <mo stretchy="false">)</mo>
      <mo stretchy="false">)</mo>
      <mo>⊗</mo>
      <mi>z</mi>
     </mrow>
     <annotation encoding="application/x-tex">(w\otimes (x\otimes y))\otimes z</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject x="317" y="295" id="svg_39887_6" font-size="16" width="136" height="20">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <mi>w</mi>
      <mo>⊗</mo>
      <mo stretchy="false">(</mo>
      <mo stretchy="false">(</mo>
      <mi>x</mi>
      <mo>⊗</mo>
      <mi>y</mi>
      <mo stretchy="false">)</mo>
      <mo>⊗</mo>
      <mi>z</mi>
      <mo stretchy="false">)</mo>
     </mrow>
     <annotation encoding="application/x-tex">w\otimes ((x\otimes y)\otimes z)</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject height="24" width="72" font-size="16" id="svg_39887_7" y="52" x="66.333333">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <msub>
       <mi>a</mi>
       <mrow>
        <mi>w</mi>
        <mo>⊗</mo>
        <mi>x</mi>
        <mo>,</mo>
        <mi>y</mi>
        <mo>,</mo>
        <mi>z</mi>
       </mrow>
      </msub>
     </mrow>
     <annotation encoding="application/x-tex">a_{w\otimes x,y,z}</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject x="338" y="52" id="svg_39887_8" font-size="16" width="72" height="24">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <msub>
       <mi>a</mi>
       <mrow>
        <mi>w</mi>
        <mo>,</mo>
        <mi>x</mi>
        <mo>,</mo>
        <mi>y</mi>
        <mo>⊗</mo>
        <mi>z</mi>
       </mrow>
      </msub>
     </mrow>
     <annotation encoding="application/x-tex">a_{w,x,y\otimes z}</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject height="24" width="92" font-size="16" id="svg_39887_9" y="215" x="-0.666667">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <msub>
       <mi>a</mi>
       <mrow>
        <mi>w</mi>
        <mo>,</mo>
        <mi>x</mi>
        <mo>,</mo>
        <mi>y</mi>
       </mrow>
      </msub>
      <mo>⊗</mo>
      <msub>
       <mn>1</mn>
       <mi>z</mi>
      </msub>
     </mrow>
     <annotation encoding="application/x-tex">a_{w,x,y}\otimes 1_{z}</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject x="384.333333" y="215" id="svg_39887_10" font-size="16" width="92" height="24">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <msub>
       <mn>1</mn>
       <mi>w</mi>
      </msub>
      <mo>⊗</mo>
      <msub>
       <mi>a</mi>
       <mrow>
        <mi>x</mi>
        <mo>,</mo>
        <mi>y</mi>
        <mo>,</mo>
        <mi>z</mi>
       </mrow>
      </msub>
     </mrow>
     <annotation encoding="application/x-tex">1_w\otimes a_{x,y,z}</annotation>
    </semantics>
   </math>
  </foreignObject>
  <foreignObject id="svg_39887_21" height="24" width="72" font-size="16" y="280" x="214.666667">
   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
     <mrow>
      <msub>
       <mi>a</mi>
       <mrow>
        <mi>w</mi>
        <mo>,</mo>
        <mi>x</mi>
        <mo>⊗</mo>
        <mi>y</mi>
        <mo>,</mo>
        <mi>z</mi>
       </mrow>
      </msub>
     </mrow>
     <annotation encoding="application/x-tex">a_{w,x\otimes y,z}</annotation>
    </semantics>
   </math>
  </foreignObject>
 </g>
</svg>


monoidal category > pentagonator

<svg xmlns="http://www.w3.org/2000/svg" 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="http://www.w3.org/1998/Math/MathML" display="inline"><mi>2</mi></math></foreignObject>
    <foreignObject x="0" y="27" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>1</mi></math></foreignObject>
    <foreignObject x="50" y="27" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>3</mi></math></foreignObject>
    <foreignObject x="13" y="57" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mi>0</mi></math></foreignObject>
    <foreignObject x="38" y="57" width="12" height="14"><math xmlns="http://www.w3.org/1998/Math/MathML" 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="http://www.w3.org/1999/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="http://www.w3.org/1999/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="http://www.w3.org/1999/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="http://www.w3.org/1999/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="http://www.w3.org/1999/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>


monoidal category module

A _monoidal category module_ over a [[monoidal category]] $V$ is a category $C$ and an [[action]]

$$
  \otimes : V \times C \to C
$$

which satisfies the usual axioms of an action/[[module]] up to coherent isomorphism.

[[!redirects monoidal category modules]]


monoidal category with diagonals

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Monoidal categories
+--{: .hide}
[[!include monoidal categories - contents]]
=--
#### Category theory
+--{: .hide}
[[!include category theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

A general [[monoidal category]] $(C,\otimes)$ does not admit [[diagonal]] [[natural transformations]] of the form $x \longrightarrow x\otimes x$, unlike the case of a [[cartesian monoidal category]] (where the monoidal product is the [[Cartesian product]]). A **monoidal category with diagonals** is a monoidal category with the extra [[structure]] of a consistent system of such [[diagonal morphisms]].

## Definition

A consistent system of diagonal maps $\Delta_x\colon x \to x \otimes x$ as $x$ varies through the [[objects]] of a [[monoidal category]] $(C,\otimes,I)$ should be [[natural transformation|natural]], so that $(f \otimes f)\circ \Delta_x = \Delta_y \circ f$, for any $f\colon x\to y$. Hence such a system is a [[natural transformation]] from the [[identity functor]] on $C$ to the [[composition|composite]] $C \to C \times C \stackrel{\otimes}{\to} C$ of the [[diagonal functor]] with the given [[monoidal category|monoidal product functor]].

Another desirable property is that the diagonal map $\Delta_I\colon I \to I\otimes I$ on the [[tensor unit]] $I$ is the [[inverse morphism|inverse]] of the left [[unitor]] $\ell_I\colon I \otimes I \stackrel{\sim}{\to} I$ (which is the same as the right unitor $r_I$).

## Examples

### General

* Any [[cartesian monoidal category]] has a canonical structure of diagonal maps given by the actual [[diagonal morphisms]].

* Given a [[cartesian monoidal category]], the [[wide subcategory]] consisting of the [[monomorphisms]] is a monoidal category with the same product and unit. The [[diagonal morphism]] of the original category, always a [[monomorphism]], plays the role of the diagonal maps in the subcategory. Now there are no projections, since, for instance, in [[Set]], the projection maps are almost never injective.

[[!include smash-monoidal diagonals -- section]]

## Related concepts

* [[relevance monoidal category]]

* [[semicartesian monoidal category]]

* [[monoidal category]]

## References

The stronger notion of relevance monoidal category is discussed in

* K. Dosen and Z. Petric, _Relevant Categories and Partial Functions_, Publications de l'Institut Mathématique, Nouvelle Série, Vol. 82(96), pp. 17–23 (2007) ([arXiv:0504133](http://arxiv.org/abs/math/0504133)

When a [[premonoidal category]] comes equipped with a morphism $\Delta_x\colon x\to x\otimes x$ for all $x$, such as in the [[Kleisli category]] for a [[strong monad]] on a cartesian category, or in any [[Freyd category]], then the $f$ for which $(f\otimes f)\circ \Delta_x = \Delta_y \circ f$ are called "copyable".

* C. Führmann. *Varieties of effects*, Proc. Fossacs 2002. Doi:[10.1007/3-540-45931-6_11](https://doi.org/10.1007/3-540-45931-6_11)

[[!redirects monoidal categories with diagonals]]


monoidal dagger category

[[!redirects monoidal dagger categories]]

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Category theory
+--{: .hide}
[[!include category theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Definition ##
A **monoidal dagger category** is a [[dagger category]] $C$ with a [[dagger functor]] $(-)\otimes(-): (C \times C) \to C$ from the product dagger category of $C$ to $C$ itself called the **tensor product** and an object $\Iota \in Ob(C)$ called the **tensor unit**, such that

* for all morphisms $f \in Hom_C(D,E)$ and $g \in Hom_C(F,G)$, $(f \otimes g)^\dagger = f^\dagger \otimes g^\dagger$

* for all objects $D \in Ob(C)$, $E \in Ob(C)$, $F\in Ob(C)$, a [[natural unitary isomorphism]] called the **associator** of $D$, $E$, and $F$,

$$\alpha_{D, E, F}:(D\otimes E)\otimes F \cong^\dagger D\otimes(E\otimes F)$$

* for objects $A \in Ob(C)$, a natural unitary isomorphism called the **left unitor** of $A$,

$$\lambda_{A}: \Iota\otimes A \cong^\dagger A$$

* for objects $A \in Ob(C)$, a natural unitary isomorphism called the **right unitor** of $A$

$$\rho_{A}: A\otimes\Iota \cong^\dagger A$$

* all objects $A \in Ob(C)$ and $B \in Ob(C)$ satify the **triangle identity**:

$$\rho_A \otimes \Iota_B = (1_A \otimes \rho_B) \circ \alpha_{A, \Iota, B}$$

* all objects $D \in Ob(C)$, $E \in Ob(C)$, $F \in Ob(C)$, $G \in Ob(C)$ satisfy the **pentagon identity**:

$$\alpha_{D, E, F \otimes G} \circ \alpha_{D \otimes E, F, G} = (id_D \otimes \alpha_{E, F, G}) \circ \alpha_{D, E \otimes F, G} \circ (\alpha_{D, E, F} \otimes id_G)$$

## Examples ##

* [[monoidal groupoid]], [[2-group]]

* [[braided monoidal dagger category]], [[braided monoidal groupoid]], [[braided 2-group]]

* [[symmetric monoidal dagger category]], [[symmetric monoidal groupoid]], [[symmetric 2-group]]

* [[cartesian monoidal dagger category]]

* [[cocartesian monoidal dagger category]]

* [[semiadditive dagger category]]

* [[rigid monoidal dagger category]]

* [[compact closed dagger category]]

## See also ##

* [[dagger category]]
* [[dagger functor]]


monoidal derivator

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### $(\infty,1)$-Category theory
+--{: .hide}
[[!include quasi-category theory contents]]
=--
#### Monoidal categories
+--{: .hide}
[[!include monoidal categories - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Definition

### Monoidal prederivators

Let $Dia$ be a suitable [[2-category]] of [[diagram]] shapes, as used to define [[derivators]].  The 2-category $PDer$ of prederivators is the [[functor category|functor]] 2-category $[Dia^{op},CAT]$.  As such, it is a naturally [[cartesian monoidal category|cartesian]] [[monoidal 2-category]].

A **monoidal prederivator** is simply a [[pseudomonoid]] in $PDer$.  This is equivalent to saying that it is a pseudofunctor $Dia^{op} \to MonCat$, where $MonCat$ consists of [[monoidal categories]], strong [[monoidal functors]], and [[monoidal natural transformations]].  We may similarly define [[braided monoidal category|braided]] and [[symmetric monoidal category|symmetric]] monoidal prederivators.

A **monoidal semiderivator** is a monoidal prederivator which is a semiderivator.

### Monoidal derivators

We could define a monoidal derivator to be simply a monoidal prederivator which is a derivator.  This is what Groth does.  However, we might also want to ask that the tensor product be well-behaved with respect to homotopy Kan extensions, and the natural requirement is that it preserve homotopy colimits in each variable.

Precisely, let $D$ be a monoidal prederivator which is a derivator; we say that its tensor product **preserves homotopy colimits in each variable separately** if for any $A\in Dia$, the adjunction $r_! \colon D(A) \leftrightarrows D(*) : r^*$ is a [[Hopf adjunction]], where $r\colon A\to *$ is the unique functor to the [[terminal category]].  (Note that this is automatically a [[comonoidal adjunction]], since $r^*$ is strong monoidal.

Explicitly, this means that for any diagram $X\in D(A)$ and any object $Y\in D(*)$, the canonical transformations

$$ hocolim^A (X \otimes r^* Y) \to (hocolim^A X) \otimes Y $$
$$ hocolim^A (r^* Y\otimes X) \to Y\otimes (hocolim^A X) $$

are isomorphisms.  In this case we say that $D$ is a **monoidal derivator**.

## Properties

### Preservation of certain homotopy Kan extensions

The above preservation condition, though stated only for colimits, also applies to certain homotopy Kan extensions.  If $p\colon B\to A$ is any [[opfibration]], then we can conclude that $p_! \dashv p^*$ is also a Hopf adjunction as follows.  It suffices to show that for any $a\in A$, $X\in D(B)$, and $Y\in D(A)$, the induced transformation

$$ a^* p_! (X\otimes p^* Y) \to a^* (p_! X \otimes Y) $$

is an isomorphism (and dually).  But since $p$ is an opfibration, the square

$$ \array{ p^{-1}(a) & \overset{g}{\to} & B \\
  ^q\downarrow & & \downarrow^p \\
  * & \underset{a}{\to} & A } $$

is [[homotopy exact square|homotopy exact]].  Therefore, $a^* p_! \cong q_! g^*$, and (since the square commutes) $g^* p^* \cong q^* a^*$, so using the fact that $q_! \dashv q^*$ is Hopf, we have

$$ a^* p_! (X\otimes p^* Y)
\cong q_! g^* (X \otimes p^* Y)
\cong q_! (g^* X \otimes g^* p^* Y)
\cong q_! (g^* X \otimes q^* a^* Y)
\cong q_! g^* X \otimes a^* Y
\cong a^* p_! X \otimes a^* Y
\cong a^* (p_! X \otimes Y).
$$
We leave it to the reader to verify that this composite isomorphism is, in fact, the transformation in question.

## Examples

* Any representable prederivator represented by a monoidal category is a monoidal prederivator.  If the monoidal category is complete and cocomplete, and its tensor product preserves colimits on each side, then this is a monoidal derivator.

* The homotopy derivator of any [[monoidal model category]] is a monoidal derivator.

## References

* [[Moritz Groth]], Derivators, pointed derivators, and stable derivators ([pdf](http://www.math.uni-bonn.de/~mgroth/groth_derivators.pdf))