CINXE.COM

monoidal category in nLab

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> monoidal category in nLab </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="robots" content="index,follow" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link href="/stylesheets/instiki.css?1676280126" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/mathematics.css?1660229990" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/syntax.css?1660229990" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/nlab.css?1676280126" media="all" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/dreampulse/computer-modern-web-font@master/fonts.css"/> <style type="text/css"> h1#pageName, div.info, .newWikiWord a, a.existingWikiWord, .newWikiWord a:hover, [actiontype="toggle"]:hover, #TextileHelp h3 { color: #226622; } a:visited.existingWikiWord { color: #164416; } </style> <style type="text/css"><!--/*--><![CDATA[/*><!--*/ .toc ul {margin: 0; padding: 0;} .toc ul ul {margin: 0; padding: 0 0 0 10px;} .toc li > p {margin: 0} .toc ul li {list-style-type: none; position: relative;} .toc div {border-top:1px dotted #ccc;} .rightHandSide h2 {font-size: 1.5em;color:#008B26} table.plaintable { border-collapse:collapse; margin-left:30px; border:0; } .plaintable td {border:1px solid #000; padding: 3px;} .plaintable th {padding: 3px;} .plaintable caption { font-weight: bold; font-size:1.1em; text-align:center; margin-left:30px; } /* Query boxes for questioning and answering mechanism */ div.query{ background: #f6fff3; border: solid #ce9; border-width: 2px 1px; padding: 0 1em; margin: 0 1em; max-height: 20em; overflow: auto; } /* Standout boxes for putting important text */ div.standout{ background: #fff1f1; border: solid black; border-width: 2px 1px; padding: 0 1em; margin: 0 1em; overflow: auto; } /* Icon for links to n-category arXiv documents (commented out for now i.e. disabled) a[href*="http://arxiv.org/"] { background-image: url(../files/arXiv_icon.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 22px; } */ /* Icon for links to n-category cafe posts (disabled) a[href*="http://golem.ph.utexas.edu/category"] { background-image: url(../files/n-cafe_5.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ /* Icon for links to pdf files (disabled) a[href$=".pdf"] { background-image: url(../files/pdficon_small.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ /* Icon for links to pages, etc. -inside- pdf files (disabled) a[href*=".pdf#"] { background-image: url(../files/pdf_entry.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ a.existingWikiWord { color: #226622; } a.existingWikiWord:visited { color: #226622; } a.existingWikiWord[title] { border: 0px; color: #aa0505; text-decoration: none; } a.existingWikiWord[title]:visited { border: 0px; color: #551111; text-decoration: none; } a[href^="http://"] { border: 0px; color: #003399; } a[href^="http://"]:visited { border: 0px; color: #330066; } a[href^="https://"] { border: 0px; color: #003399; } a[href^="https://"]:visited { border: 0px; color: #330066; } div.dropDown .hide { display: none; } div.dropDown:hover .hide { display:block; } div.clickDown .hide { display: none; } div.clickDown:focus { outline:none; } div.clickDown:focus .hide, div.clickDown:hover .hide { display: block; } div.clickDown .clickToReveal, div.clickDown:focus .clickToHide { display:block; } div.clickDown:focus .clickToReveal, div.clickDown .clickToHide { display:none; } div.clickDown .clickToReveal:after { content: "A(Hover to reveal, click to "hold")"; font-size: 60%; } div.clickDown .clickToHide:after { content: "A(Click to hide)"; font-size: 60%; } div.clickDown .clickToHide, div.clickDown .clickToReveal { white-space: pre-wrap; } .un_theorem, .num_theorem, .un_lemma, .num_lemma, .un_prop, .num_prop, .un_cor, .num_cor, .un_defn, .num_defn, .un_example, .num_example, .un_note, .num_note, .un_remark, .num_remark { margin-left: 1em; } span.theorem_label { margin-left: -1em; } .proof span.theorem_label { margin-left: 0em; } :target { background-color: #BBBBBB; border-radius: 5pt; } /*]]>*/--></style> <script src="/javascripts/prototype.js?1660229990" type="text/javascript"></script> <script src="/javascripts/effects.js?1660229990" type="text/javascript"></script> <script src="/javascripts/dragdrop.js?1660229990" type="text/javascript"></script> <script src="/javascripts/controls.js?1660229990" type="text/javascript"></script> <script src="/javascripts/application.js?1660229990" type="text/javascript"></script> <script src="/javascripts/page_helper.js?1660229990" type="text/javascript"></script> <script src="/javascripts/thm_numbering.js?1660229990" type="text/javascript"></script> <script type="text/x-mathjax-config"> <!--//--><![CDATA[//><!-- MathJax.Ajax.config.path["Contrib"] = "/MathJax"; MathJax.Hub.Config({ MathML: { useMathMLspacing: true }, "HTML-CSS": { scale: 90, extensions: ["handle-floats.js"] } }); MathJax.Hub.Queue( function () { var fos = document.getElementsByTagName('foreignObject'); for (var i = 0; i < fos.length; i++) { MathJax.Hub.Typeset(fos[i]); } }); //--><!]]> </script> <script type="text/javascript"> <!--//--><![CDATA[//><!-- window.addEventListener("DOMContentLoaded", function () { var div = document.createElement('div'); var math = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'math'); document.body.appendChild(div); div.appendChild(math); // Test for MathML support comparable to WebKit version https://trac.webkit.org/changeset/203640 or higher. div.setAttribute('style', 'font-style: italic'); var mathml_unsupported = !(window.getComputedStyle(div.firstChild).getPropertyValue('font-style') === 'normal'); div.parentNode.removeChild(div); if (mathml_unsupported) { // MathML does not seem to be supported... var s = document.createElement('script'); s.src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=MML_HTMLorMML-full"; document.querySelector('head').appendChild(s); } else { document.head.insertAdjacentHTML("beforeend", '<style>svg[viewBox] {max-width: 100%}</style>'); } }); //--><!]]> </script> <link href="https://ncatlab.org/nlab/atom_with_headlines" rel="alternate" title="Atom with headlines" type="application/atom+xml" /> <link href="https://ncatlab.org/nlab/atom_with_content" rel="alternate" title="Atom with full content" type="application/atom+xml" /> <script type="text/javascript"> document.observe("dom:loaded", function() { generateThmNumbers(); }); </script> </head> <body> <div id="Container"> <div id="Content"> <h1 id="pageName"> <span style="float: left; margin: 0.5em 0.25em -0.25em 0"> <svg xmlns="http://www.w3.org/2000/svg" width="1.872em" height="1.8em" viewBox="0 0 190 181"> <path fill="#226622" d="M72.8 145c-1.6 17.3-15.7 10-23.6 20.2-5.6 7.3 4.8 15 11.4 15 11.5-.2 19-13.4 26.4-20.3 3.3-3 8.2-4 11.2-7.2a14 14 0 0 0 2.9-11.1c-1.4-9.6-12.4-18.6-16.9-27.2-5-9.6-10.7-27.4-24.1-27.7-17.4-.3-.4 26 4.7 30.7 2.4 2.3 5.4 4.1 7.3 6.9 1.6 2.3 2.1 5.8-1 7.2-5.9 2.6-12.4-6.3-15.5-10-8.8-10.6-15.5-23-26.2-31.8-5.2-4.3-11.8-8-18-3.7-7.3 4.9-4.2 12.9.2 18.5a81 81 0 0 0 30.7 23c3.3 1.5 12.8 5.6 10 10.7-2.5 5.2-11.7 3-15.6 1.1-8.4-3.8-24.3-21.3-34.4-13.7-3.5 2.6-2.3 7.6-1.2 11.1 2.8 9 12.2 17.2 20.9 20.5 17.3 6.7 34.3-8 50.8-12.1z"/> <path fill="#a41e32" d="M145.9 121.3c-.2-7.5 0-19.6-4.5-26-5.4-7.5-12.9-1-14.1 5.8-1.4 7.8 2.7 14.1 4.8 21.3 3.4 12 5.8 29-.8 40.1-3.6-6.7-5.2-13-7-20.4-2.1-8.2-12.8-13.2-15.1-1.9-2 9.7 9 21.2 12 30.1 1.2 4 2 8.8 6.4 10.3 6.9 2.3 13.3-4.7 17.7-8.8 12.2-11.5 36.6-20.7 43.4-36.4 6.7-15.7-13.7-14-21.3-7.2-9.1 8-11.9 20.5-23.6 25.1 7.5-23.7 31.8-37.6 38.4-61.4 2-7.3-.8-29.6-13-19.8-14.5 11.6-6.6 37.6-23.3 49.2z"/> <path fill="#193c78" d="M86.3 47.5c0-13-10.2-27.6-5.8-40.4 2.8-8.4 14.1-10.1 17-1 3.8 11.6-.3 26.3-1.8 38 11.7-.7 10.5-16 14.8-24.3 2.1-4.2 5.7-9.1 11-6.7 6 2.7 7.4 9.2 6.6 15.1-2.2 14-12.2 18.8-22.4 27-3.4 2.7-8 6.6-5.9 11.6 2 4.4 7 4.5 10.7 2.8 7.4-3.3 13.4-16.5 21.7-16 14.6.7 12 21.9.9 26.2-5 1.9-10.2 2.3-15.2 3.9-5.8 1.8-9.4 8.7-15.7 8.9-6.1.1-9-6.9-14.3-9-14.4-6-33.3-2-44.7-14.7-3.7-4.2-9.6-12-4.9-17.4 9.3-10.7 28 7.2 35.7 12 2 1.1 11 6.9 11.4 1.1.4-5.2-10-8.2-13.5-10-11.1-5.2-30-15.3-35-27.3-2.5-6 2.8-13.8 9.4-13.6 6.9.2 13.4 7 17.5 12C70.9 34 75 43.8 86.3 47.4z"/> </svg> </span> <span class="webName">nLab</span> monoidal category </h1> <div class="navigation"> <span class="skipNav"><a href='#navEnd'>Skip the Navigation Links</a> | </span> <span style="display:inline-block; width: 0.3em;"></span> <a href="/nlab/show/HomePage" accesskey="H" title="Home page">Home Page</a> | <a href="/nlab/all_pages" accesskey="A" title="List of all pages">All Pages</a> | <a href="/nlab/latest_revisions" accesskey="U" title="Latest edits and page creations">Latest Revisions</a> | <a href="https://nforum.ncatlab.org/discussion/4226/#Item_112" title="Discuss this page in its dedicated thread on the nForum" style="color: black">Discuss this page</a> | <form accept-charset="utf-8" action="/nlab/search" id="navigationSearchForm" method="get"> <fieldset class="search"><input type="text" id="searchField" name="query" value="Search" style="display:inline-block; float: left;" onfocus="this.value == 'Search' ? this.value = '' : true" onblur="this.value == '' ? this.value = 'Search' : true" /></fieldset> </form> <span id='navEnd'></span> </div> <div id="revision"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xml:lang="en" lang="en"> <head><meta http-equiv="Content-type" content="application/xhtml+xml;charset=utf-8" /><title>Contents</title></head> <body> <div class="rightHandSide"> <div class="toc clickDown" tabindex="0"> <h3 id="context">Context</h3> <h4 id="monoidal_categories">Monoidal categories</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/monoidal+categories">monoidal categories</a></strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/enriched+monoidal+category">enriched monoidal category</a>, <a class="existingWikiWord" href="/nlab/show/tensor+category">tensor category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/string+diagram">string diagram</a>, <a class="existingWikiWord" href="/nlab/show/tensor+network">tensor network</a></p> </li> </ul> <p><strong>With braiding</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/braided+monoidal+category">braided monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/balanced+monoidal+category">balanced monoidal category</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/twist">twist</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/symmetric+monoidal+category">symmetric monoidal category</a></p> </li> </ul> <p><strong>With duals for objects</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/category+with+duals">category with duals</a> (list of them)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/dualizable+object">dualizable object</a> (what they have)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/rigid+monoidal+category">rigid monoidal category</a>, a.k.a. <a class="existingWikiWord" href="/nlab/show/autonomous+category">autonomous category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/pivotal+category">pivotal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/spherical+category">spherical category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/ribbon+category">ribbon category</a>, a.k.a. <a class="existingWikiWord" href="/nlab/show/tortile+category">tortile category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/compact+closed+category">compact closed category</a></p> </li> </ul> <p><strong>With duals for morphisms</strong></p> <ul> <li> <p><span class="newWikiWord">monoidal dagger-category<a href="/nlab/new/monoidal+dagger-category">?</a></span></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/symmetric+monoidal+dagger-category">symmetric monoidal dagger-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/dagger+compact+category">dagger compact category</a></p> </li> </ul> <p><strong>With traces</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/trace">trace</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/traced+monoidal+category">traced monoidal category</a></p> </li> </ul> <p><strong>Closed structure</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/closed+monoidal+category">closed monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cartesian+closed+category">cartesian closed category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/closed+category">closed category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/star-autonomous+category">star-autonomous category</a></p> </li> </ul> <p><strong>Special sorts of products</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/cartesian+monoidal+category">cartesian monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/semicartesian+monoidal+category">semicartesian monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+category+with+diagonals">monoidal category with diagonals</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/multicategory">multicategory</a></p> </li> </ul> <p><strong>Semisimplicity</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/semisimple+category">semisimple category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fusion+category">fusion category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/modular+tensor+category">modular tensor category</a></p> </li> </ul> <p><strong>Morphisms</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+functor">monoidal functor</a></p> <p>(<a class="existingWikiWord" href="/nlab/show/lax+monoidal+functor">lax</a>, <a class="existingWikiWord" href="/nlab/show/oplax+monoidal+functor">oplax</a>, <a class="existingWikiWord" href="/nlab/show/strong+monoidal+functor">strong</a> <a class="existingWikiWord" href="/nlab/show/bilax+monoidal+functor">bilax</a>, <a class="existingWikiWord" href="/nlab/show/Frobenius+monoidal+functor">Frobenius</a>)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/braided+monoidal+functor">braided monoidal functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/symmetric+monoidal+functor">symmetric monoidal functor</a></p> </li> </ul> <p><strong>Internal monoids</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/monoid+in+a+monoidal+category">monoid in a monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/commutative+monoid+in+a+symmetric+monoidal+category">commutative monoid in a symmetric monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/module+over+a+monoid">module over a monoid</a></p> </li> </ul> <p><strong id="_examples">Examples</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/tensor+product">tensor product</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/closed+monoidal+structure+on+presheaves">closed monoidal structure on presheaves</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Day+convolution">Day convolution</a></p> </li> </ul> <p><strong>Theorems</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/coherence+theorem+for+monoidal+categories">coherence theorem for monoidal categories</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+Dold-Kan+correspondence">monoidal Dold-Kan correspondence</a></p> </li> </ul> <p><strong>In higher category theory</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+2-category">monoidal 2-category</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/braided+monoidal+2-category">braided monoidal 2-category</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+bicategory">monoidal bicategory</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/cartesian+bicategory">cartesian bicategory</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/k-tuply+monoidal+n-category">k-tuply monoidal n-category</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/little+cubes+operad">little cubes operad</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+%28%E2%88%9E%2C1%29-category">monoidal (∞,1)-category</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/symmetric+monoidal+%28%E2%88%9E%2C1%29-category">symmetric monoidal (∞,1)-category</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/compact+double+category">compact double category</a></p> </li> </ul> </div></div> <h4 id="category_theory">Category theory</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/category+theory">category theory</a></strong></p> <h2 id="sidebar_concepts">Concepts</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/category">category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/functor">functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/natural+transformation">natural transformation</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Cat">Cat</a></p> </li> </ul> <h2 id="sidebar_universal_constructions">Universal constructions</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/universal+construction">universal construction</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/representable+functor">representable functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/adjoint+functor">adjoint functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/limit">limit</a>/<a class="existingWikiWord" href="/nlab/show/colimit">colimit</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/weighted+limit">weighted limit</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/end">end</a>/<a class="existingWikiWord" href="/nlab/show/coend">coend</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Kan+extension">Kan extension</a></p> </li> </ul> </li> </ul> <h2 id="sidebar_theorems">Theorems</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+lemma">Yoneda lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Isbell+duality">Isbell duality</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Grothendieck+construction">Grothendieck construction</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/adjoint+functor+theorem">adjoint functor theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monadicity+theorem">monadicity theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/adjoint+lifting+theorem">adjoint lifting theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Tannaka+duality">Tannaka duality</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Gabriel-Ulmer+duality">Gabriel-Ulmer duality</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/small+object+argument">small object argument</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Freyd-Mitchell+embedding+theorem">Freyd-Mitchell embedding theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/relation+between+type+theory+and+category+theory">relation between type theory and category theory</a></p> </li> </ul> <h2 id="sidebar_extensions">Extensions</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/sheaf+and+topos+theory">sheaf and topos theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/enriched+category+theory">enriched category theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/higher+category+theory">higher category theory</a></p> </li> </ul> <h2 id="sidebar_applications">Applications</h2> <ul> <li><a class="existingWikiWord" href="/nlab/show/applications+of+%28higher%29+category+theory">applications of (higher) category theory</a></li> </ul> <div> <p> <a href="/nlab/edit/category+theory+-+contents">Edit this sidebar</a> </p> </div></div></div> </div> </div> <h1 id="contents">Contents</h1> <div class='maruku_toc'> <ul> <li><a href='#idea'>Idea</a></li> <li><a href='#Definition'>Definition</a></li> <ul> <li><a href='#DefinitionGeneralMonoidalCategories'>General monoidal categories</a></li> <li><a href='#other_coherence_conditions'>Other coherence conditions</a></li> <li><a href='#strict_monoidal_categories'>Strict monoidal categories</a></li> <li><a href='#the_2category_of_monoidal_categories'>The 2-category of monoidal categories</a></li> </ul> <li><a href='#Properties'>Properties</a></li> <ul> <li><a href='#coherence'>Coherence</a></li> <li><a href='#closure'>Closure</a></li> <li><a href='#relation_to_multicategories'>Relation to multicategories</a></li> <li><a href='#relation_to_pros'>Relation to PROs</a></li> <li><a href='#internal_logic'>Internal logic</a></li> <li><a href='#scalars'>Scalars</a></li> </ul> <li><a href='#where_the_definition_comes_from'>Where the definition comes from</a></li> <li><a href='#relation_to_lax_functors_orientals_and_descent'>Relation to lax functors, orientals and descent</a></li> <li><a href='#remark_pseudo_versus_lax_orientals_versus_unorientals'>Remark: pseudo versus lax, orientals versus unorientals</a></li> <li><a href='#variants'>Variants</a></li> <li><a href='#related_concepts'>Related concepts</a></li> <li><a href='#references'>References</a></li> </ul> </div> <h2 id="idea">Idea</h2> <p>A <strong>monoidal category</strong> or monoidal <a class="existingWikiWord" href="/nlab/show/horizontal+categorification">monoidoid</a> is a <a class="existingWikiWord" href="/nlab/show/category">category</a> equipped with some notion of ‘tensor product’ of its <a class="existingWikiWord" href="/nlab/show/objects">objects</a>. A good example is the category <a class="existingWikiWord" href="/nlab/show/Vect">Vect</a> of <a class="existingWikiWord" href="/nlab/show/vector+spaces">vector spaces</a>, where we can take the <a class="existingWikiWord" href="/nlab/show/tensor+product+of+vector+spaces">traditional tensor product</a>, not only of vector spaces, but also of <a class="existingWikiWord" href="/nlab/show/linear+maps">linear maps</a>: given linear maps <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo lspace="verythinmathspace">:</mo><mi>V</mi><mo>→</mo><mi>W</mi></mrow><annotation encoding="application/x-tex">f \colon V \to W</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mstyle scriptlevel="0"><mo>′</mo></mstyle></msup><mo lspace="verythinmathspace">:</mo><msup><mi>V</mi> <mstyle scriptlevel="0"><mo>′</mo></mstyle></msup><mo>→</mo><msup><mi>W</mi> <mstyle scriptlevel="0"><mo>′</mo></mstyle></msup></mrow><annotation encoding="application/x-tex">f^\prime \colon V^\prime \to W^\prime</annotation></semantics></math>, we get a linear map</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>⊗</mo><msup><mi>f</mi> <mstyle scriptlevel="0"><mo>′</mo></mstyle></msup><mo lspace="verythinmathspace">:</mo><mi>V</mi><mo>⊗</mo><msup><mi>V</mi> <mstyle scriptlevel="0"><mo>′</mo></mstyle></msup><mo>→</mo><mi>W</mi><mo>⊗</mo><msup><mi>W</mi> <mstyle scriptlevel="0"><mo>′</mo></mstyle></msup><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> f \otimes f^\prime \colon V \otimes V^\prime \to W \otimes W^\prime \,.</annotation></semantics></math></div> <p>The same category can often be made into a monoidal category in more than one way. For example the category <a class="existingWikiWord" href="/nlab/show/Set">Set</a> can be made into a monoidal category with cartesian <a class="existingWikiWord" href="/nlab/show/product">product</a> or <a class="existingWikiWord" href="/nlab/show/disjoint+union">disjoint union</a> (i.e. <a class="existingWikiWord" href="/nlab/show/coproduct">coproduct</a>) as the ‘tensor product’. We can also make <a class="existingWikiWord" href="/nlab/show/Vect">Vect</a> into a monoidal category with <a class="existingWikiWord" href="/nlab/show/direct+sum">direct sum</a> as the ‘tensor product’ — this may seem perverse, but it’s actually very useful.</p> <p>For any monoidal category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math>, the operation of tensor product is actually a <a class="existingWikiWord" href="/nlab/show/functor">functor</a>:</p> <div class="maruku-equation" id="eq:TensorProductFunctor"><span class="maruku-eq-number">(1)</span><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo>⊗</mo><mo lspace="verythinmathspace">:</mo><mi>M</mi><mo>×</mo><mi>M</mi><mo>⟶</mo><mi>M</mi></mrow><annotation encoding="application/x-tex"> \otimes \colon M \times M \longrightarrow M </annotation></semantics></math></div> <p>This functor, which we can think of as a kind of ‘multiplication’, makes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math> into a <a class="existingWikiWord" href="/nlab/show/vertical+categorification">vertically categorified</a> version of a <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a>. This explains the term ‘monoidal category’.</p> <p>A monoidal category can also be considered a one-object <a class="existingWikiWord" href="/nlab/show/bicategory">bicategory</a>. See there for more details.</p> <h2 id="Definition">Definition</h2> <h3 id="DefinitionGeneralMonoidalCategories">General monoidal categories</h3> <p>We first give the explicit definition in components (Def. <a class="maruku-ref" href="#MonoidalCategory"></a>) and then highlight the succinct abstract idea (Def. <a class="maruku-ref" href="#AsPseudomonoidsInCat"></a>) underlying this.</p> <p> <div class='num_defn' id='MonoidalCategory'> <h6>Definition</h6> <p><strong>(monoidal category)</strong> <br /> A <strong>monoidal category</strong> is a <a class="existingWikiWord" href="/nlab/show/category">category</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒞</mi></mrow><annotation encoding="application/x-tex">\mathcal{C}</annotation></semantics></math> equipped with</p> <ol> <li> <p>a <a class="existingWikiWord" href="/nlab/show/functor">functor</a></p> <div class="maruku-equation" id="eq:TheTensorProductFunctor"><span class="maruku-eq-number">(2)</span><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo>⊗</mo><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><mi>𝒞</mi><mo>×</mo><mi>𝒞</mi><mo>⟶</mo><mi>𝒞</mi></mrow><annotation encoding="application/x-tex"> \otimes \;\colon\; \mathcal{C} \times \mathcal{C} \longrightarrow \mathcal{C} </annotation></semantics></math></div> <p>out of the <a class="existingWikiWord" href="/nlab/show/product+category">product category</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒞</mi></mrow><annotation encoding="application/x-tex">\mathcal{C}</annotation></semantics></math> with itself, called the <strong><a class="existingWikiWord" href="/nlab/show/tensor+product">tensor product</a></strong>,</p> </li> <li> <p>an <a class="existingWikiWord" href="/nlab/show/object">object</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mn>1</mn><mo>∈</mo><mi>𝒞</mi></mrow><annotation encoding="application/x-tex"> 1 \in \mathcal{C} </annotation></semantics></math></div> <p>called the <strong><a class="existingWikiWord" href="/nlab/show/unit+object">unit object</a></strong> or <strong><a class="existingWikiWord" href="/nlab/show/tensor+unit">tensor unit</a></strong>,</p> </li> <li> <p>a <a class="existingWikiWord" href="/nlab/show/natural+isomorphism">natural isomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>a</mi><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mover><mo>⟶</mo><mo>≃</mo></mover><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> a \;\colon\; ((-)\otimes (-)) \otimes (-) \overset{\simeq}{\longrightarrow} (-) \otimes ((-)\otimes(-)) </annotation></semantics></math></div> <p>with components of the form</p> <div class="maruku-equation" id="eq:AssociatorInAMonoidalCategory"><span class="maruku-eq-number">(3)</span><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>a</mi> <mrow><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi></mrow></msub><mo>:</mo><mo stretchy="false">(</mo><mi>x</mi><mo>⊗</mo><mi>y</mi><mo stretchy="false">)</mo><mo>⊗</mo><mi>z</mi><mo>→</mo><mi>x</mi><mo>⊗</mo><mo stretchy="false">(</mo><mi>y</mi><mo>⊗</mo><mi>z</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> a_{x,y,z} : (x \otimes y) \otimes z \to x \otimes (y \otimes z) </annotation></semantics></math></div> <p>called the <strong><a class="existingWikiWord" href="/nlab/show/associator">associator</a></strong>,</p> </li> <li> <p>a <a class="existingWikiWord" href="/nlab/show/natural+isomorphism">natural isomorphism</a></p> <div class="maruku-equation" id="eq:LeftUnitorInAMonoidalCategory"><span class="maruku-eq-number">(4)</span><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>λ</mi><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><mo stretchy="false">(</mo><mn>1</mn><mo>⊗</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mover><mo>⟶</mo><mo>≃</mo></mover><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> \lambda \;\colon\; (1 \otimes (-)) \overset{\simeq}{\longrightarrow} (-) </annotation></semantics></math></div> <p>with components of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>λ</mi> <mi>x</mi></msub><mo lspace="verythinmathspace">:</mo><mn>1</mn><mo>⊗</mo><mi>x</mi><mo>→</mo><mi>x</mi></mrow><annotation encoding="application/x-tex"> \lambda_x \colon 1 \otimes x \to x </annotation></semantics></math></div> <p>called the <strong><a class="existingWikiWord" href="/nlab/show/left+unitor">left unitor</a></strong>, and</p> </li> <li> <p>a <a class="existingWikiWord" href="/nlab/show/natural+isomorphism">natural isomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>ρ</mi><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>⊗</mo><mn>1</mn><mover><mo>⟶</mo><mo>≃</mo></mover><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> \rho \;\colon\; (-) \otimes 1 \overset{\simeq}{\longrightarrow} (-) </annotation></semantics></math></div> <p>with components of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>ρ</mi> <mi>x</mi></msub><mo lspace="verythinmathspace">:</mo><mi>x</mi><mo>⊗</mo><mn>1</mn><mo>→</mo><mi>x</mi></mrow><annotation encoding="application/x-tex"> \rho_x \colon x \otimes 1 \to x </annotation></semantics></math></div> <p>called the <strong><a class="existingWikiWord" href="/nlab/show/right+unitor">right unitor</a></strong>,</p> </li> </ol> <p>such that the following two kinds of <a class="existingWikiWord" href="/nlab/show/commuting+diagram">diagrams commute</a>, for all objects involved:</p> <ol> <li> <p><strong>triangle identity</strong> (not to be confused with the <a class="existingWikiWord" href="/nlab/show/triangle+identities">triangle identities</a> of an <a class="existingWikiWord" href="/nlab/show/adjunction">adjunction</a>):</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd></mtd> <mtd><mo stretchy="false">(</mo><mi>x</mi><mo>⊗</mo><mn>1</mn><mo stretchy="false">)</mo><mo>⊗</mo><mi>y</mi></mtd> <mtd><mover><mo>⟶</mo><mrow><msub><mi>a</mi> <mrow><mi>x</mi><mo>,</mo><mn>1</mn><mo>,</mo><mi>y</mi></mrow></msub></mrow></mover></mtd> <mtd><mi>x</mi><mo>⊗</mo><mo stretchy="false">(</mo><mn>1</mn><mo>⊗</mo><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><msub><mrow></mrow> <mrow><msub><mi>ρ</mi> <mi>x</mi></msub><mo>⊗</mo><msub><mn>1</mn> <mi>y</mi></msub></mrow></msub><mo>↘</mo></mtd> <mtd></mtd> <mtd><msub><mo>↙</mo> <mrow><msub><mn>1</mn> <mi>x</mi></msub><mo>⊗</mo><msub><mi>λ</mi> <mi>y</mi></msub></mrow></msub></mtd> <mtd></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><mi>x</mi><mo>⊗</mo><mi>y</mi></mtd> <mtd></mtd> <mtd></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ &amp; (x \otimes 1) \otimes y &amp;\stackrel{a_{x,1,y}}{\longrightarrow} &amp; x \otimes (1 \otimes y) \\ &amp; {}_{\rho_x \otimes 1_y}\searrow &amp;&amp; \swarrow_{1_x \otimes \lambda_y} &amp; \\ &amp;&amp; x \otimes y &amp;&amp; } </annotation></semantics></math></div></li> <li id="PentagonIdentity"> <p>the <strong><a class="existingWikiWord" href="/nlab/show/pentagon+identity">pentagon identity</a></strong> (or <strong>pentagon equation</strong>):</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd></mtd> <mtd></mtd> <mtd><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></mtd></mtr> <mtr><mtd></mtd> <mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mrow><msub><mi>α</mi> <mrow><mi>w</mi><mo>⊗</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi></mrow></msub></mrow></mpadded></msup><mo>↗</mo></mtd> <mtd></mtd> <mtd><msup><mo>↘</mo> <mpadded width="0"><mrow><msub><mi>α</mi> <mrow><mi>w</mi><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>⊗</mo><mi>z</mi></mrow></msub></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><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></mtd> <mtd></mtd> <mtd></mtd> <mtd></mtd> <mtd><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></mtd></mtr> <mtr><mtd><msup><mrow></mrow> <mrow><mpadded width="0" lspace="-100%width"><mrow><msub><mi>α</mi> <mrow><mi>w</mi><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></mpadded><mo>⊗</mo><msub><mi>id</mi> <mi>z</mi></msub></mrow></msup><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↑</mo> <mpadded width="0"><mrow><msub><mi>id</mi> <mi>w</mi></msub><mo>⊗</mo><msub><mi>α</mi> <mrow><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi></mrow></msub></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><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></mtd> <mtd></mtd> <mtd><munder><mo>⟶</mo><mrow><msub><mi>α</mi> <mrow><mi>w</mi><mo>,</mo><mi>x</mi><mo>⊗</mo><mi>y</mi><mo>,</mo><mi>z</mi></mrow></msub></mrow></munder></mtd> <mtd></mtd> <mtd><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></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ &amp;&amp; (w \otimes x) \otimes (y \otimes z) \\ &amp; {}^{\mathllap{\alpha_{w \otimes x, y, z}}}\nearrow &amp;&amp; \searrow^{\mathrlap{\alpha_{w,x,y \otimes z}}} \\ ((w \otimes x ) \otimes y) \otimes z &amp;&amp; &amp;&amp; w \otimes (x \otimes (y \otimes z)) \\ {}^{\mathllap{\alpha_{w,x,y}} \otimes id_z }\downarrow &amp;&amp; &amp;&amp; \uparrow^{\mathrlap{ id_w \otimes \alpha_{x,y,z} }} \\ (w \otimes (x \otimes y)) \otimes z &amp;&amp; \underset{\alpha_{w,x \otimes y, z}}{\longrightarrow} &amp;&amp; w \otimes ( (x \otimes y) \otimes z ) } </annotation></semantics></math></div></li> </ol> <p></p> </div> </p> <p> <div class='num_remark' id='InViewOfMicrocosmPrinciple'> <h6>Remark</h6> <p><strong>(role of the <a class="existingWikiWord" href="/nlab/show/microcosm+principle">microcosm principle</a>)</strong> <br /> Notice how the very definition of monoidal categories (Def. <a class="maruku-ref" href="#MonoidalCategory"></a>) invokes the Cartesian product <em>of</em> categories, namely in the definition of the tensor product <a class="maruku-eqref" href="#eq:TheTensorProductFunctor">(2)</a> <em>in</em> a category. But the operation of forming <a class="existingWikiWord" href="/nlab/show/product+categories">product categories</a> is itself a (Cartesian) monoidal structure one level higher up in the <a class="existingWikiWord" href="/nlab/show/higher+category+theory">higher category theory</a> ladder, namely on the ambient <a class="existingWikiWord" href="/nlab/show/2-category">2-category</a> <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a> of categories, which thereby becomes a <a class="existingWikiWord" href="/nlab/show/monoidal+2-category">monoidal 2-category</a>.</p> <p>The ability to define pseudomonoids in any monoidal 2-category is an <a href="microcosm+principle#examples">example</a> of the so-called <a class="existingWikiWord" href="/nlab/show/microcosm+principle">microcosm principle</a>, where the definition of (<a class="existingWikiWord" href="/nlab/show/higher+structure">higher</a>) algebraic <a class="existingWikiWord" href="/nlab/show/mathematical+structure">structures</a> uses and requires analogous algebraic structure present on the ambient higher category.<br /></p> </div> </p> <p>With this understood, there is a succinct abstract definition of monoidal categories: <div class='num_defn' id='AsPseudomonoidsInCat'> <h6>Definition</h6> <p><strong>(as pseudomonoids in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Cat</mi></mrow><annotation encoding="application/x-tex">Cat</annotation></semantics></math>)</strong> <br /> A monoidal category (Def. <a class="maruku-ref" href="#MonoidalCategory"></a>) is equivalently a <a class="existingWikiWord" href="/nlab/show/pseudomonoid">pseudomonoid</a> in the <a class="existingWikiWord" href="/nlab/show/cartesian+monoidal+category">cartesian</a> <a class="existingWikiWord" href="/nlab/show/monoidal+2-category">monoidal 2-category</a> <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a> of categories.</p> </div> </p> <p> <div class='num_remark' id='MakingTheAmbientStructureMorphismsExplicit'> <h6>Remark</h6> <p><strong>(making the ambient structure morphisms explicit)</strong> <br /> The equivalent perspective of Def. <a class="maruku-ref" href="#AsPseudomonoidsInCat"></a> makes manifest that there is room to be more pedantic about Def. <a class="maruku-ref" href="#MonoidalCategory"></a>, since the ambient <a class="existingWikiWord" href="/nlab/show/monoidal+2-category">monoidal 2-category</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>Cat</mi><mo>,</mo><mo>*</mo><mo>,</mo><mo>×</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(Cat, \ast, \times)</annotation></semantics></math> has its own <a class="existingWikiWord" href="/nlab/show/associator">associator</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>α</mi><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><mo stretchy="false">(</mo><mi>Cat</mi><mo>×</mo><mi>Cat</mi><mo stretchy="false">)</mo><mo>×</mo><mi>Cat</mi><mover><mo>→</mo><mrow><mspace width="thickmathspace"></mspace><mo>≃</mo><mspace width="thickmathspace"></mspace></mrow></mover><mi>Cat</mi><mo>×</mo><mo stretchy="false">(</mo><mi>Cat</mi><mo>×</mo><mi>Cat</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \alpha \;\colon\; (Cat\times Cat) \times Cat \xrightarrow{\; \simeq \;} Cat \times (Cat\times Cat) \,, </annotation></semantics></math></div> <p>which, while evident, is, strictly speaking, non-trivial.</p> <p>This means that the <a class="existingWikiWord" href="/nlab/show/associator">associator</a> <a class="maruku-eqref" href="#eq:AssociatorInAMonoidalCategory">(3)</a> in a monoidal category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒞</mi></mrow><annotation encoding="application/x-tex">\mathcal{C}</annotation></semantics></math> is actually of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>a</mi><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><msub><mi>α</mi> <mi>𝒞</mi></msub><mrow><mo>[</mo><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>]</mo></mrow><mover><mo>⟶</mo><mo>≃</mo></mover><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> a \;\colon\; \alpha_\mathcal{C} \left[ ((-)\otimes (-)) \otimes (-)\right] \overset{\simeq}{\longrightarrow} (-) \otimes ((-)\otimes(-)) \,. </annotation></semantics></math></div> <p>Analogously, the ambient <a class="existingWikiWord" href="/nlab/show/monoidal+2-category">monoidal 2-category</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>Cat</mi><mo>,</mo><mo>*</mo><mo>,</mo><mo>×</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(Cat, \ast, \times)</annotation></semantics></math> comes with its own <a class="existingWikiWord" href="/nlab/show/unitor">unitor</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Λ</mi><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><mo>*</mo><mo>×</mo><mtext>Cat</mtext><mover><mo>→</mo><mrow><mspace width="thickmathspace"></mspace><mo>≃</mo><mspace width="thickmathspace"></mspace></mrow></mover><mtext>Cat</mtext></mrow><annotation encoding="application/x-tex"> \Lambda \;\colon\; \ast \times \text{Cat} \xrightarrow{\;\simeq\; } \text{Cat} </annotation></semantics></math></div> <p>(for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>*</mo></mrow><annotation encoding="application/x-tex">\ast</annotation></semantics></math> denoting the <a class="existingWikiWord" href="/nlab/show/terminal+category">terminal category</a>), which means that the <a class="existingWikiWord" href="/nlab/show/unitor">unitor</a> <a class="maruku-eqref" href="#eq:LeftUnitorInAMonoidalCategory">(4)</a> in a monoidal category is actually of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>λ</mi><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><msub><mi>Λ</mi> <mi>𝒞</mi></msub><mrow><mo>[</mo><mo stretchy="false">(</mo><mn>1</mn><mo>⊗</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>]</mo></mrow><mover><mo>⟶</mo><mo>≃</mo></mover><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \lambda \;\colon\; \Lambda_\mathcal{C}\left[ (1 \otimes (-)) \right] \overset{\simeq}{\longrightarrow} (-) \,. </annotation></semantics></math></div> <p></p> </div> </p> <h3 id="other_coherence_conditions">Other coherence conditions</h3> <p>The original list of <a class="existingWikiWord" href="/nlab/show/coherence+law">coherence axioms</a> for monoidal categories given by Mac Lane in 1963 was longer than what is shown in Def. <a class="maruku-ref" href="#MonoidalCategory"></a> above. But Max Kelly showed they could be whittled down to just the pentagon and triangle identities. We reproduce his arguments here.</p> <p>In the proofs below, monoidal product symbols <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊗</mo></mrow><annotation encoding="application/x-tex">\otimes</annotation></semantics></math> will be suppressed, to save space.</p> <div class="num_lemma" id="kel1"> <h6 id="lemma">Lemma</h6> <p><strong>(<a href="#Kelly">Kelly 64</a>)</strong> In a monoidal category, the equation <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>λ</mi> <mi>x</mi></msub><mi>y</mi><mo>=</mo><msub><mi>λ</mi> <mrow><mi>x</mi><mi>y</mi></mrow></msub><mo>∘</mo><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\lambda_x y = \lambda_{x y} \circ \alpha_{1, x, y}</annotation></semantics></math> holds, i.e., the diagram</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mo stretchy="false">(</mo><mn>1</mn><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi></mtd> <mtd></mtd> <mtd></mtd></mtr> <mtr><mtd><msup><mo></mo><mpadded width="0" lspace="-100%width"><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></mpadded></msup><mo stretchy="false">↓</mo></mtd> <mtd><msup><mo>↘</mo> <mpadded width="0"><mrow><msub><mi>λ</mi> <mi>x</mi></msub><mi>y</mi></mrow></mpadded></msup></mtd> <mtd></mtd></mtr> <mtr><mtd><mn>1</mn><mo stretchy="false">(</mo><mi>x</mi><mi>y</mi><mo stretchy="false">)</mo></mtd> <mtd><munder><mo>→</mo><mrow><msub><mi>λ</mi> <mrow><mi>x</mi><mi>y</mi></mrow></msub></mrow></munder></mtd> <mtd><mi>x</mi><mi>y</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\array{ (1 x) y &amp; &amp; \\ ^\mathllap{\alpha_{1, x, y}} \downarrow &amp; \searrow^\mathrlap{\lambda_x y} &amp; \\ 1 (x y) &amp; \underset{\lambda_{x y}}{\to} &amp; x y } </annotation></semantics></math></div> <p>commutes. Similarly, the following equation holds: <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>ρ</mi> <mrow><mi>x</mi><mi>y</mi></mrow></msub><mo>=</mo><mo stretchy="false">(</mo><mi>x</mi><msub><mi>ρ</mi> <mi>y</mi></msub><mo stretchy="false">)</mo><mo>∘</mo><msub><mi>α</mi> <mrow><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">\rho_{x y} = (x \rho_y) \circ \alpha_{x, y, 1}</annotation></semantics></math>.</p> </div> <div class="proof"> <h6 id="proof">Proof</h6> <p>We prove only the first equation; the proof of the second is entirely analogous. Since the functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn><mo>⊗</mo><mo lspace="verythinmathspace" rspace="0em">−</mo></mrow><annotation encoding="application/x-tex">1 \otimes -</annotation></semantics></math> is an equivalence (being isomorphic to the identity functor), it suffices to show that the triangle on the right in the diagram below commutes:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mn>1</mn><mn>1</mn><mo stretchy="false">)</mo><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mi>x</mi></mrow></msub><mi>y</mi></mrow></mover></mtd> <mtd><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">(</mo><mn>1</mn><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mi>y</mi></mtd> <mtd><mover><mo>⟶</mo><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mn>1</mn><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></mover></mtd> <mtd><mn>1</mn><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mn>1</mn><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi><mo stretchy="false">)</mo></mtd> <mtd><mover><mo>→</mo><mrow><mn>1</mn><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></mover></mtd> <mtd><mn>1</mn><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">(</mo><mi>x</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><msup><mo></mo><mpadded width="0" lspace="-100%width"><mrow><mo stretchy="false">(</mo><msub><mi>ρ</mi> <mn>1</mn></msub><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi></mrow></mpadded></msup><mo>↘</mo></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><mo stretchy="false">(</mo><mn>1</mn><msub><mi>λ</mi> <mi>x</mi></msub><mo stretchy="false">)</mo><mi>y</mi></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo></mo><mpadded width="0" lspace="-100%width"><mrow><mn>1</mn><mo stretchy="false">(</mo><msub><mi>λ</mi> <mi>x</mi></msub><mi>y</mi><mo stretchy="false">)</mo></mrow></mpadded></msup><mo stretchy="false">↓</mo></mtd> <mtd><mo>?</mo><msup><mo>↙</mo> <mpadded width="0"><mrow><mn>1</mn><mo stretchy="false">(</mo><msub><mi>λ</mi> <mrow><mi>x</mi><mi>y</mi></mrow></msub><mo stretchy="false">)</mo></mrow></mpadded></msup></mtd> <mtd></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><mo stretchy="false">(</mo><mn>1</mn><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi></mtd> <mtd><munder><mo>→</mo><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></munder></mtd> <mtd><mn>1</mn><mo stretchy="false">(</mo><mi>x</mi><mi>y</mi><mo stretchy="false">)</mo></mtd> <mtd></mtd> <mtd></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ ((1 1)x) y &amp; \stackrel{\alpha_{1, 1, x}y}{\to} &amp; (1(1 x))y &amp; \stackrel{\alpha_{1, 1 x, y}}{\longrightarrow} &amp; 1((1 x)y) &amp; \stackrel{1\alpha_{1, x, y}}{\to} &amp; 1(1(x y)) \\ &amp; ^\mathllap{(\rho_1 x)y} \searrow &amp; \downarrow^\mathrlap{(1 \lambda_x)y} &amp; &amp; ^\mathllap{1(\lambda_x y)} \downarrow &amp; ? \swarrow^\mathrlap{1(\lambda_{x y})} &amp; \\ &amp; &amp; (1 x)y &amp; \underset{\alpha_{1, x, y}}{\to} &amp; 1(x y) &amp; &amp; } </annotation></semantics></math></div> <p>where the square in the middle <a class="existingWikiWord" href="/nlab/show/commuting+square">commutes</a> by <a class="existingWikiWord" href="/nlab/show/natural+transformation">naturality</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math>, and the triangle on the left commutes by a unit coherence triangle (tensored by <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math> 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</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd></mtd> <mtd></mtd> <mtd><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">(</mo><mn>1</mn><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mi>y</mi></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mn>1</mn><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></mover></mtd> <mtd><mn>1</mn><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mn>1</mn><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><msup><mo></mo><mpadded width="0" lspace="-100%width"><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mi>x</mi></mrow></msub><mi>y</mi></mrow></mpadded></msup><mo>↗</mo></mtd> <mtd></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><mn>1</mn><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mn>1</mn><mn>1</mn><mo stretchy="false">)</mo><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mn>1</mn><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></mover></mtd> <mtd><mo stretchy="false">(</mo><mn>1</mn><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>x</mi><mi>y</mi><mo stretchy="false">)</mo></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mi>x</mi><mi>y</mi></mrow></msub></mrow></mover></mtd> <mtd><mn>1</mn><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">(</mo><mi>x</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msup><mo></mo><mpadded width="0" lspace="-100%width"><mrow><mo stretchy="false">(</mo><msub><mi>ρ</mi> <mn>1</mn></msub><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi></mrow></mpadded></msup><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><msup><mo></mo><mpadded width="0" lspace="-100%width"><mrow><msub><mi>ρ</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mi>y</mi><mo stretchy="false">)</mo></mrow></mpadded></msup><mo stretchy="false">↓</mo></mtd> <mtd><msup><mo>↙</mo> <mpadded width="0"><mrow><mn>1</mn><msub><mi>λ</mi> <mrow><mi>x</mi><mi>y</mi></mrow></msub></mrow></mpadded></msup></mtd> <mtd></mtd></mtr> <mtr><mtd><mo stretchy="false">(</mo><mn>1</mn><mi>x</mi><mo stretchy="false">)</mo><mi>y</mi></mtd> <mtd><munder><mo>→</mo><mrow><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi></mrow></msub></mrow></munder></mtd> <mtd><mn>1</mn><mo stretchy="false">(</mo><mi>x</mi><mi>y</mi><mo stretchy="false">)</mo></mtd> <mtd></mtd> <mtd></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\array{ &amp; &amp; (1(1 x))y &amp; \stackrel{\alpha_{1, 1 x, y}}{\to} &amp; 1((1 x)y) \\ &amp; ^\mathllap{\alpha_{1, 1, x}y} \nearrow &amp; &amp; &amp; \downarrow^\mathrlap{1\alpha_{1, x, y}} \\ ((1 1)x)y &amp; \stackrel{\alpha_{1 1, x, y}}{\to} &amp; (1 1)(x y) &amp; \stackrel{\alpha_{1, 1, x y}}{\to} &amp; 1(1(x y)) \\ ^\mathllap{(\rho_1 x)y} \downarrow &amp; &amp; ^\mathllap{\rho_1(x y)} \downarrow &amp; \swarrow^\mathrlap{1 \lambda_{x y}} &amp; \\ (1 x)y &amp;\underset{\alpha_{1, x, y}}{\to} &amp; 1(x y) &amp; &amp; } </annotation></semantics></math></div> <p>which uses the pentagon coherence condition, naturality of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alpha</annotation></semantics></math>, and a unit coherence condition.</p> </div> <div class="num_lemma" id="kel2"> <h6 id="lemma_2">Lemma</h6> <p><strong>(<a href="#Kelly">Kelly 64</a>)</strong> The equation <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>λ</mi> <mn>1</mn></msub><mo>=</mo><msub><mi>ρ</mi> <mn>1</mn></msub><mo lspace="verythinmathspace">:</mo><mn>1</mn><mo>⊗</mo><mn>1</mn><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\lambda_1 = \rho_1 \colon 1 \otimes 1 \to 1</annotation></semantics></math> holds in a monoidal category.</p> </div> <div class="proof"> <h6 id="proof_2">Proof</h6> <p>Since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mo>⊗</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">- \otimes 1</annotation></semantics></math> is an equivalence, it suffices to show <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>λ</mi> <mn>1</mn></msub><mn>1</mn><mo>=</mo><msub><mi>ρ</mi> <mn>1</mn></msub><mn>1</mn></mrow><annotation encoding="application/x-tex">\lambda_1 1=\rho_1 1</annotation></semantics></math>. We have <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn><msub><mi>λ</mi> <mn>1</mn></msub><mo>=</mo><msub><mi>λ</mi> <mn>11</mn></msub></mrow><annotation encoding="application/x-tex">1\lambda_1=\lambda_{11}</annotation></semantics></math> by the naturality equation <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>λ</mi> <mn>1</mn></msub><mo>∘</mo><mo stretchy="false">(</mo><mn>1</mn><msub><mi>λ</mi> <mn>1</mn></msub><mo stretchy="false">)</mo><mo>=</mo><msub><mi>λ</mi> <mn>1</mn></msub><mo>∘</mo><msub><mi>λ</mi> <mn>11</mn></msub></mrow><annotation encoding="application/x-tex">\lambda_1 \circ (1\lambda_1) = \lambda_1 \circ \lambda_{11}</annotation></semantics></math>. Hence we get</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>λ</mi> <mn>1</mn></msub><mn>1</mn><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><msub><mi>λ</mi> <mn>1</mn></msub><mo stretchy="false">)</mo><mo>∘</mo><msub><mi>α</mi> <mrow><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>ρ</mi> <mn>1</mn></msub><mn>1</mn></mrow><annotation encoding="application/x-tex">\lambda_1 1 = (1 \lambda_1) \circ \alpha_{1, 1, 1} = \rho_1 1</annotation></semantics></math></div> <p>where the first equation follows from Lemma <a class="maruku-ref" href="#kel1"></a> and the second from the triangle identity.</p> </div> <div class="num_lemma" id="end_commutative"> <h6 id="proposition">Proposition</h6> <p>The <a class="existingWikiWord" href="/nlab/show/endomorphism">endomorphism</a> <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>End</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">End(1)</annotation></semantics></math> is commutative.</p> </div> <div class="proof"> <h6 id="proof_3">Proof</h6> <p>The isomorphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>i</mi><mo>≔</mo><msub><mi>λ</mi> <mn>1</mn></msub><mo>=</mo><msub><mi>ρ</mi> <mn>1</mn></msub><mo lspace="verythinmathspace">:</mo><mn>1</mn><mo>⊗</mo><mn>1</mn><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">i \coloneqq \lambda_1 = \rho_1 \colon 1 \otimes 1 \to 1</annotation></semantics></math> (using Lem. <a class="maruku-ref" href="#kel2"></a>) induces a monoid structure on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>End</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">End(1)</annotation></semantics></math> given by <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>*</mo><mi>g</mi><mo>≔</mo><mi>i</mi><mo>∘</mo><mo stretchy="false">(</mo><mi>f</mi><mo>⊗</mo><mi>g</mi><mo stretchy="false">)</mo><mo>∘</mo><msup><mi>i</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">f * g \coloneqq i \circ (f \otimes g) \circ i^{-1}</annotation></semantics></math> for two endomorphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>,</mo><mi>g</mi><mo lspace="verythinmathspace">:</mo><mn>1</mn><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">f, g\colon 1 \to 1</annotation></semantics></math> with neutral element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mo lspace="0em" rspace="thinmathspace">id</mo> <mn>1</mn></msub><mo lspace="verythinmathspace">:</mo><mn>1</mn><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\id_1\colon 1 \to 1</annotation></semantics></math>.</p> <p>For endomorphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo lspace="verythinmathspace">:</mo><mn>1</mn><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">a,b,c,d\colon 1 \to 1</annotation></semantics></math> one has</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>∘</mo><mi>b</mi><mo stretchy="false">)</mo><mo>*</mo><mo stretchy="false">(</mo><mi>c</mi><mo>∘</mo><mi>d</mi><mo stretchy="false">)</mo><mo>=</mo><mi>i</mi><mo>∘</mo><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mi>a</mi><mo>∘</mo><mi>b</mi><mo stretchy="false">)</mo><mo>⊗</mo><mo stretchy="false">(</mo><mi>c</mi><mo>∘</mo><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>∘</mo><msup><mi>i</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo>=</mo><mi>i</mi><mo>∘</mo><mo stretchy="false">(</mo><mo stretchy="false">(</mo><mi>a</mi><mo>⊗</mo><mi>c</mi><mo stretchy="false">)</mo><mo>∘</mo><mo stretchy="false">(</mo><mi>b</mi><mo>⊗</mo><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>∘</mo><msup><mi>i</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo>=</mo><mo stretchy="false">(</mo><mi>a</mi><mo>*</mo><mi>c</mi><mo stretchy="false">)</mo><mo>∘</mo><mo stretchy="false">(</mo><mi>b</mi><mo>*</mo><mi>d</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> (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) </annotation></semantics></math></div> <p>hence the <a class="existingWikiWord" href="/nlab/show/Eckmann-Hilton+argument">Eckmann-Hilton argument</a> yields the result.</p> </div> <h3 id="strict_monoidal_categories">Strict monoidal categories</h3> <p> <div class='num_defn' id='StrictMonoidalCategory'> <h6>Definition</h6> <p><strong>(strict monoidal category)</strong> <br /> A monoidal category (Def. <a class="maruku-ref" href="#MonoidalCategory"></a>) is said to be <strong>strict</strong> if the associator, left unitor and right unitors are all <a class="existingWikiWord" href="/nlab/show/identity+morphisms">identity morphisms</a> (up to the ambient structure morphisms, see Rem. <a class="maruku-ref" href="#MakingTheAmbientStructureMorphismsExplicit"></a>).</p> <p>In this case the <a class="existingWikiWord" href="/nlab/show/pentagon+identity">pentagon identity</a> and the <a class="existingWikiWord" href="/nlab/show/triangle+identities">triangle identities</a> hold automatically.</p> </div> </p> <p>In analogy to Def. <a class="maruku-ref" href="#AsPseudomonoidsInCat"></a> we have: <div class='num_defn'> <h6>Definition</h6> <p>A strict monoidal category (Def. <a class="maruku-ref" href="#StrictMonoidalCategory"></a>) is equivalently a <a class="existingWikiWord" href="/nlab/show/monoid+in+a+monoidal+category">monoid in</a> the <a class="existingWikiWord" href="/nlab/show/cartesian+monoidal+category">cartesian</a> <a class="existingWikiWord" href="/nlab/show/monoidal+category">monoidal</a> <a class="existingWikiWord" href="/nlab/show/1-category">1-category</a> <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a> of categories and <a class="existingWikiWord" href="/nlab/show/functors">functors</a> (i.e. with non non-identity <a class="existingWikiWord" href="/nlab/show/natural+transformation">natural transformation</a> between them).</p> </div> </p> <p>Very explicitly, it means that: <div class='num_defn'> <h6>Definition</h6> <p>A strict monoidal category (Def. <a class="maruku-ref" href="#StrictMonoidalCategory"></a>) is a category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒞</mi></mrow><annotation encoding="application/x-tex">\mathcal{C}</annotation></semantics></math> equipped with an object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn><mo>∈</mo><mi>𝒞</mi></mrow><annotation encoding="application/x-tex">1 \in \mathcal{C}</annotation></semantics></math> and a <a class="existingWikiWord" href="/nlab/show/bifunctor">bifunctor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊗</mo><mo>:</mo><mi>𝒞</mi><mo>×</mo><mi>𝒞</mi><mo>→</mo><mi>𝒞</mi></mrow><annotation encoding="application/x-tex">\otimes:\mathcal{C} \times \mathcal{C} \rightarrow \mathcal{C}</annotation></semantics></math> such that for every objects <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>,</mo><mi>B</mi><mo>,</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">A,B,C</annotation></semantics></math> and morphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>,</mo><mi>g</mi><mo>,</mo><mi>h</mi></mrow><annotation encoding="application/x-tex">f,g,h</annotation></semantics></math>, we have:</p> <ul> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>A</mi><mo>⊗</mo><mi>B</mi><mo stretchy="false">)</mo><mo>⊗</mo><mi>C</mi><mo>=</mo><mi>A</mi><mo>⊗</mo><mo stretchy="false">(</mo><mi>B</mi><mo>⊗</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(A \otimes B) \otimes C = A \otimes (B \otimes C)</annotation></semantics></math></li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn><mo>⊗</mo><mi>A</mi><mo>=</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">1 \otimes A = A</annotation></semantics></math></li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>⊗</mo><mn>1</mn><mo>=</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">A \otimes 1 = A</annotation></semantics></math></li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>f</mi><mo>⊗</mo><mi>g</mi><mo stretchy="false">)</mo><mo>⊗</mo><mi>h</mi><mo>=</mo><mi>f</mi><mo>⊗</mo><mo stretchy="false">(</mo><mi>g</mi><mo>⊗</mo><mi>h</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(f \otimes g) \otimes h = f \otimes (g \otimes h)</annotation></semantics></math></li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Id</mi> <mn>1</mn></msub><mo>⊗</mo><mi>f</mi><mo>=</mo><mi>f</mi></mrow><annotation encoding="application/x-tex">Id_{1} \otimes f = f</annotation></semantics></math></li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>⊗</mo><msub><mi>Id</mi> <mn>1</mn></msub><mo>=</mo><mi>f</mi></mrow><annotation encoding="application/x-tex">f \otimes Id_{1} = f</annotation></semantics></math></li> </ul> <p></p> </div> </p> <h3 id="the_2category_of_monoidal_categories">The 2-category of monoidal categories</h3> <p>There is a <a class="existingWikiWord" href="/nlab/show/strict+2-category">strict 2-category</a> MonCat with:</p> <ul> <li> <p>monoidal categories as <a class="existingWikiWord" href="/nlab/show/objects">objects</a>,</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+functors">monoidal functors</a> as <a class="existingWikiWord" href="/nlab/show/1-morphisms">1-morphisms</a>,</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+natural+transformations">monoidal natural transformations</a> as <a class="existingWikiWord" href="/nlab/show/2-morphisms">2-morphisms</a>.</p> </li> </ul> <p>One version of <a class="existingWikiWord" href="/nlab/show/coherence+theorem+for+monoidal+categories">Mac Lane's Coherence Theorem</a> states that in MonCat, every monoidal category is equivalent to a strict one.</p> <p>Every monoidal category is also <a class="existingWikiWord" href="/nlab/show/equivalence+in+a+2-category">equivalent</a> In MonCat to a <a class="existingWikiWord" href="/nlab/show/skeletal+category">skeletal</a> monoidal category. However, not every monoidal category is equivalent in MonCat to a skeletal strict monoidal category. For example, the category <a class="existingWikiWord" href="/nlab/show/FinSet">FinSet</a> with its cartesian product is equivalent in MonCat to a skeletal strict monoidal category, but the category <a class="existingWikiWord" href="/nlab/show/Set">Set</a> with its cartesian product is not. For the former fact, see <a href="https://golem.ph.utexas.edu/category/2006/10/classical_vs_quantum_computati_2.html#c015959">this remark by Jamie Vicary</a>; for the latter, see the end of <a href="#MacLane71">MacLane (1971), Section VII.1</a>.</p> <h2 id="Properties">Properties</h2> <h3 id="coherence">Coherence</h3> <ul> <li><a class="existingWikiWord" href="/nlab/show/coherence+theorem+for+monoidal+categories">coherence theorem for monoidal categories</a></li> </ul> <h3 id="closure">Closure</h3> <div class="un_prop"> <h6 id="proposition_2">Proposition</h6> <p>Every small monoidal category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> embeds as a <a class="existingWikiWord" href="/nlab/show/full+subcategory">full subcategory</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi><mo>↪</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">C \hookrightarrow D</annotation></semantics></math> into a <a class="existingWikiWord" href="/nlab/show/closed+monoidal+category">closed monoidal category</a>, where the embedding functor is a strong <a class="existingWikiWord" href="/nlab/show/monoidal+functor">monoidal functor</a>.</p> </div> <div class="proof"> <h6 id="proof_4">Proof</h6> <p>One can take <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>D</mi><mo>=</mo><mi>PSh</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">D = PSh(C)</annotation></semantics></math> be the <a class="existingWikiWord" href="/nlab/show/category+of+presheaves">category of presheaves</a> on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>j</mi><mo>:</mo><mi>C</mi><mo>↪</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">j : C \hookrightarrow D</annotation></semantics></math> the <a class="existingWikiWord" href="/nlab/show/Yoneda+embedding">Yoneda embedding</a>. The category of presheaves on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> becomes a <a class="existingWikiWord" href="/nlab/show/closed+monoidal+category">closed monoidal category</a> with the <a class="existingWikiWord" href="/nlab/show/Day+convolution">Day convolution</a> tensor product, which for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>,</mo><mi>G</mi><mo>∈</mo><mi>PSh</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F,G \in PSh(C)</annotation></semantics></math> is</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>⋆</mo><mi>G</mi><mo>:</mo><mi>e</mi><mo>↦</mo><msup><mo>∫</mo> <mrow><mi>c</mi><mo>,</mo><mi>d</mi><mo>∈</mo><mi>C</mi></mrow></msup><mi>F</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo>×</mo><mi>G</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">)</mo><mo>×</mo><msub><mi>Hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mi>e</mi><mo>,</mo><mi>c</mi><mo>⊗</mo><mi>d</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> F \star G : e \mapsto \int^{c,d \in C} F(c) \times G(d) \times Hom_C(e, c \otimes d) \,. </annotation></semantics></math></div> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> are both in the image of the Yoneda embedding, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>=</mo><msub><mi>Hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo>,</mo><mi>a</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F = Hom_C(-,a)</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi><mo>=</mo><msub><mi>Hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo>,</mo><mi>b</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">G = Hom_C(-,b)</annotation></semantics></math> for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">a,b \in C</annotation></semantics></math>, then applying the <a class="existingWikiWord" href="/nlab/show/co-Yoneda+lemma">co-Yoneda lemma</a> to the two <a class="existingWikiWord" href="/nlab/show/coend">coend</a>s over <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math> we get</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><mo stretchy="false">(</mo><mi>j</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo>⋆</mo><mi>j</mi><mo stretchy="false">(</mo><mi>b</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><msup><mo>∫</mo> <mrow><mi>c</mi><mo>,</mo><mi>d</mi><mo>∈</mo><mi>C</mi></mrow></msup><msub><mi>Hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mi>c</mi><mo>,</mo><mi>a</mi><mo stretchy="false">)</mo><mo>×</mo><msub><mi>Hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mi>d</mi><mo>,</mo><mi>b</mi><mo stretchy="false">)</mo><mo>×</mo><msub><mi>Hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mi>e</mi><mo>,</mo><mi>c</mi><mo>⊗</mo><mi>d</mi><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>≃</mo><msub><mi>Hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mi>e</mi><mo>,</mo><mi>a</mi><mo>⊗</mo><mi>b</mi><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>≃</mo><mi>j</mi><mo stretchy="false">(</mo><mi>a</mi><mo>⊗</mo><mi>b</mi><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>,</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \begin{aligned} (j(a) \star j(b))(e) &amp; = \int^{c,d \in C} Hom_C(c,a) \times Hom_C(d,b)\times Hom_C(e, c \otimes d) \\ &amp; \simeq Hom_C(e, a \otimes b) \\ &amp; \simeq j(a \otimes b)(e) \,, \end{aligned} </annotation></semantics></math></div> <p>naturally in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi></mrow><annotation encoding="application/x-tex">e</annotation></semantics></math>.</p> </div> <h3 id="relation_to_multicategories">Relation to multicategories</h3> <p>There is a <a class="existingWikiWord" href="/nlab/show/faithful+functor">faithful functor</a> from monoidal categories to <a class="existingWikiWord" href="/nlab/show/multicategories">multicategories</a>, given by forming <a class="existingWikiWord" href="/nlab/show/representable+multicategory">representable multicategories</a>.</p> <p><a class="existingWikiWord" href="/nlab/show/lax+monoidal+functors">Lax monoidal functors</a> between monoidal categories are in correspondence with <a class="existingWikiWord" href="/nlab/show/morphism+of+multicategories">morphisms</a> between their underlying representable multicategories.</p> <h3 id="relation_to_pros">Relation to PROs</h3> <p>There is a <a class="existingWikiWord" href="/nlab/show/fully+faithful+functor">fully faithful functor</a> from monoidal categories to colored <a class="existingWikiWord" href="/nlab/show/PROs">PROs</a>. This means monoidal categories can equivalently be defined as colored PROs satisfying a certain <a class="existingWikiWord" href="/nlab/show/property">property</a>.</p> <p>A colored PRO is called <em>representable</em> if every list of generating objects (or equivalently, every pair of generating objects and the empty list) is isomorphic to a single generating object. The category of monoidal categories and (strong) monoidal functors is equivalent to the category of representable colored PROs and colored PRO morphisms (which are required to preserve generating objects). Moreover, the category of monoidal categories and <em>strict</em> monoidal functors is equivalent to the category whose objects are colored PROs equipped with <em>choices</em> of such binary and nullary isomorphisms, and whose arrows are colored PRO homomorphisms that preserve these chosen isomorphisms.</p> <h3 id="internal_logic">Internal logic</h3> <p>The <a class="existingWikiWord" href="/nlab/show/internal+language">internal language</a> of monoidal categories is a flavor of <a class="existingWikiWord" href="/nlab/show/linear+logic">linear logic</a>/<a class="existingWikiWord" href="/nlab/show/linear+type+theory">linear type theory</a> (non-commutative multiplicative intuitionistic linear type theory). In this logical context the <a class="existingWikiWord" href="/nlab/show/string+diagrams">string diagrams</a> of monoidal categories are called <a class="existingWikiWord" href="/nlab/show/proof+nets">proof nets</a>.</p> <h3 id="scalars">Scalars</h3> <p>In any monoidal category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>𝒞</mi><mo>,</mo><mo>⊗</mo><mo>,</mo><mi>I</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(\mathcal{C}, \otimes, I)</annotation></semantics></math>, the <a class="existingWikiWord" href="/nlab/show/hom-set">hom-set</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒞</mi><mo stretchy="false">[</mo><mi>I</mi><mo>,</mo><mi>I</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathcal{C}[I,I]</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/commutative+monoid">commutative monoid</a>. It was originally remarked in <a href="#KellyLaplaza80">Kelly &amp; Laplaza (1980), Prop. 6.1</a>, and recently popularized in the context of <a class="existingWikiWord" href="/nlab/show/categorical+quantum+mechanics">categorical quantum mechanics</a> by <a class="existingWikiWord" href="/nlab/show/Samson+Abramsky"> Abramsky</a> and <a class="existingWikiWord" href="/nlab/show/Bob+Coecke"> Coecke</a>, firstly in <a href="#AbramskyCoecke04">Abramsky &amp; Coecke (2004), Sec. 6</a>. The proof uses the <a class="existingWikiWord" href="/nlab/show/Eckmann-Hilton+argument">Eckmann-Hilton argument</a>.</p> <h2 id="where_the_definition_comes_from">Where the definition comes from</h2> <p>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 <a class="existingWikiWord" href="/nlab/show/internalization">internalization</a>.</p> <p>In fact a <em>strict</em> monoidal category is just a <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a> internal to the category <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a>. Unfortunately this definition is circular, since to define a monoid internal to <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a>, we need to use the fact that <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a> is a monoidal category! Furthermore, hardly any of the monoidal categories in nature are strict.</p> <p>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.</p> <p>But <em>where do the coherence laws come from?</em></p> <p>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.</p> <p>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.</p> <p>For example, you can define a monoidal category to be a <a class="existingWikiWord" href="/nlab/show/pseudomonoid">pseudomonoid</a> internal to the 2-category <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a> — but nobody knew how to define these concepts until they knew what a monoidal category is!</p> <p>Two other closely related approaches involve <a class="existingWikiWord" href="/nlab/show/2-monad">2-monad theory</a> and <a class="existingWikiWord" href="/nlab/show/homotopy+theory">homotopy theory</a>.</p> <p>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 <a class="existingWikiWord" href="/nlab/show/bias">unbiased</a> version.</p> <p>To make the second magic wand work, the magic words to say are “there is a monad/operad/etc. in <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a> 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 = <a class="existingWikiWord" href="/nlab/show/flexibility">flexible</a>” says that these two magic wands are doing essentially the same thing.</p> <p>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 <a class="existingWikiWord" href="/nlab/show/coherence+theorem">coherence theorem</a> 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 <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-functors really only postpones this question, since you also need a coherence theorem to show that the definition of lax <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-functor is “correct.” So perhaps there is no magic wand after all, at least not one that produces the <em>specific</em> diagrams in the usual biased definition of monoidal category.</p> <p>However, if we temporarily ignore the unitors and focus on the associator, we may ask <em>where does the pentagon identity come from?</em> And one answer to this is provided by the Stasheff polytopes, which can be nicely obtained using <a class="existingWikiWord" href="/nlab/show/orientals">orientals</a>. For instance the pentagon diagram above is nothing but the <a class="existingWikiWord" href="/nlab/show/oriental">4th oriental</a>! The tensor product itself is the second oriental, and the associator the third. The following section explains this in a bit more detail.</p> <h2 id="relation_to_lax_functors_orientals_and_descent">Relation to lax functors, orientals and descent</h2> <p>One can understand the structure of a monoidal category as a special simple case of the general notion of “lax <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-functor”, also known – up to the issue of invertible versus non-invertible structure morphisms – as the notion of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-categorical <a class="existingWikiWord" href="/nlab/show/descent">descent</a> and as the notion of <a class="existingWikiWord" href="/nlab/show/anafunctor">infinity-anafunctor</a>.</p> <p>The discussion to follow now notably links the definition of monoidal category as above with that of <a class="existingWikiWord" href="/nlab/show/monoidal+%28infinity%2C1%29-category">monoidal (infinity,1)-category</a>.</p> <p>This may be familiar from the special simple case of a <em>monoid</em> in any bicategory <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>, which can be identified with a lax functor</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>:</mo><mi>pt</mi><mo>→</mo><mi>C</mi></mrow><annotation encoding="application/x-tex"> A : pt \to C </annotation></semantics></math></div> <p>from the point to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>. This lax functor sends the point to some object of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>, sends the <a class="existingWikiWord" href="/nlab/show/identity+morphism">identity morphism</a> on the point to some <a class="existingWikiWord" href="/nlab/show/endomorphism">endomorphism</a> 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.</p> <p>This is part of a more general principle. A lax <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a> in any tricategory would again be a lax functor from the point to that tricategory.</p> <p>And a monoidal category can be regarded as a pseudomonoid in the tricategory <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>Cat</mi></mrow><annotation encoding="application/x-tex">\mathbf{B}Cat</annotation></semantics></math>, which has a single object, categories as 1-morphisms with the composition of 1-morphisms being the standard cartesian <a class="existingWikiWord" href="/nlab/show/tensor+product">tensor product</a> on categories.</p> <p>Evidently, in the fully general context of weak <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-categories it becomes increasingly hard to state what a lax functor into a given <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-category should be: it will involve a plethora of structure morphisms and their coherences. One task of <a class="existingWikiWord" href="/nlab/show/higher+category+theory">higher category theory</a> is to organize this mess into something pretty and then to deal with this problem.</p> <p>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 <em>strict</em> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-categories, usually known as <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ω</mi></mrow><annotation encoding="application/x-tex">\omega</annotation></semantics></math>-categories or <a class="existingWikiWord" href="/nlab/show/strict+omega-category">strict omega-categories</a>.</p> <p>For that case, Ross Street has given a general combinatorial formula for the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-coherence law of the general monoidal structure: this is encoded in the <a class="existingWikiWord" href="/nlab/show/oriental">orientals</a>, which are nothing but the standard simplicial simplices, but equipped with extra information about source and targets of all faces.</p> <p>See the picture of the <a class="existingWikiWord" href="/nlab/show/oriental">first five orientals</a>. We can read off the above definition of a monoidal category from them as follows:</p> <ul> <li> <p>identify the monoidal category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math> itself with the first oriental, just an arrow;</p> </li> <li> <p>identify the ambient product <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>M</mi><mo>×</mo><mi>M</mi></mrow><annotation encoding="application/x-tex">M \times M</annotation></semantics></math> with the juxtaposition of two such arrows;</p> </li> <li> <p>identify the tensor product <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>M</mi><mo>⊗</mo><mi>M</mi><mo>→</mo><mi>M</mi></mrow><annotation encoding="application/x-tex">M \otimes M \to M</annotation></semantics></math> with the second oriental: a triangular cell going from the concatenation of two arrows to a single arrow;</p> </li> <li> <p>identify the <em>associator</em> with the third oriental, the tetrahedron: a map from one way to compose three arrows (=copies of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math>) to the other way of doing this;</p> </li> <li> <p>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 <em>pentagonator</em>, the <em>pentagon identity</em> in this case.</p> </li> </ul> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable rowalign="center"><mtr><mtd><mi>O</mi><mo stretchy="false">(</mo><msup><mi>Δ</mi> <mn>0</mn></msup><mo stretchy="false">)</mo><mo>=</mo></mtd> <mtd><mo stretchy="false">{</mo><mn>0</mn><mo stretchy="false">}</mo></mtd></mtr> <mtr><mtd><mi>O</mi><mo stretchy="false">(</mo><msup><mi>Δ</mi> <mn>1</mn></msup><mo stretchy="false">)</mo><mo>=</mo></mtd> <mtd><mrow><mo>{</mo><mn>0</mn><mo>→</mo><mn>1</mn><mo>}</mo></mrow></mtd></mtr> <mtr><mtd><mi>O</mi><mo stretchy="false">(</mo><msup><mi>Δ</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mo>=</mo></mtd> <mtd><mrow><mo>{</mo><mrow><mtable><mtr><mtd><semantics><annotation-xml encoding="SVG1.1"> <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"></path> </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"></path> </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> <path d="M35,12 48, 27"></path> <path d="M15,37 45, 37"></path> </g> <g> <path stroke-width="3" d="M30,15 30,27" marker-end="url(#svg296arrowhead)"></path> <path stroke="#FFF" d="M30,15 30,27"></path> </g> </g> </svg> </annotation-xml></semantics></mtd></mtr></mtable></mrow><mo>}</mo></mrow></mtd></mtr> <mtr><mtd><mi>O</mi><mo stretchy="false">(</mo><msup><mi>Δ</mi> <mn>3</mn></msup><mo stretchy="false">)</mo><mo>=</mo></mtd> <mtd><mrow><mo>{</mo><mrow><mtable><mtr><mtd><semantics><annotation-xml encoding="SVG1.1"> <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> <path d="M6,42 6, 17"></path> <path d="M10,47 37, 47"></path> <path d="M46,12 46, 37"></path> </g> </g> </g> </defs> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myRect256" x="0" y="0"></use> <g fill="none" stroke="#000"> <path d="M11,43 38, 15" marker-end="url(#svg295arrowhead)"></path> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M12,12 20,20"></path> <path d="M40,18 27,40"></path> </g> <g stroke="#FFF"> <path d="M12,12 20,20"></path> <path d="M40,18 27,40"></path> </g> </g> <g fill="none" stroke="#000"> <path stroke-width="5" d="M55,25 72,25"></path> <path stroke-width="3" stroke="#FFF" d="M55,25 72,25" marker-end="url(#svg296arrowhead)"></path> <path stroke-width="1" d="M55,25 72,25"></path> </g> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myRect256" x="80" y="0"></use> <g fill="none" stroke="#000"> <path d="M92,12 118, 39" marker-end="url(#svg295arrowhead)"></path> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M92,20 100,38"></path> <path d="M120,12 113,19"></path> </g> <g stroke="#FFF"> <path d="M92,20 100,38"></path> <path d="M120,12 113,19"></path> </g> </g> </g> </svg> </annotation-xml></semantics></mtd></mtr></mtable></mrow><mo>}</mo></mrow></mtd></mtr> <mtr><mtd><mi>O</mi><mo stretchy="false">(</mo><msup><mi>Δ</mi> <mn>4</mn></msup><mo stretchy="false">)</mo><mo>=</mo></mtd> <mtd><mrow><mo>{</mo><mrow><mtable><mtr><mtd><semantics><annotation-xml encoding="SVG1.1"> <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> <path d="M35,10 52,28"></path> <path d="M54,41 48,57"></path> <path d="M24,67 36,67"></path> <path d="M16,62 8,45"></path> </g> </g> </defs> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="0" y="0"></use> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M10,36 45,36"></path> <path d="M22,60 47,41"></path> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M31,12 31,26"></path> <path d="M12,38 25,48"></path> <path d="M45,48 35,60"></path> </g> <g stroke="#FFF"> <path d="M31,12 31,26"></path> <path d="M12,38 25,48"></path> <path d="M45,48 35,60"></path> </g> </g> </g> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="110" y="0"></use> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M120,36 155,36"></path> <path d="M122,41 147,60"></path> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M141,12 141,26"></path> <path d="M125,47 135,58"></path> <path d="M162,38 145,48"></path> </g> <g stroke="#FFF"> <path d="M141,12 141,26"></path> <path d="M125,47 135,58"></path> <path d="M162,38 145,48"></path> </g> </g> </g> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="160" y="80"></use> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M172,119 195,140"></path> <path d="M194,98 201,138"></path> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M175,127 185,138"></path> <path d="M212,116 206,116"></path> <path d="M189,98 184,121"></path> </g> <g stroke="#FFF"> <path d="M175,127 185,138"></path> <path d="M212,116 206,116"></path> <path d="M189,98 184,121"></path> </g> </g> </g> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="55" y="160"></use> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M74,220 83,180"></path> <path d="M87,178 96,218"></path> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M86,187 86,216"></path> <path d="M63,196 71,196"></path> <path d="M107,196 99,196"></path> </g> <g stroke="#FFF"> <path d="M86,187 86,216"></path> <path d="M63,196 71,196"></path> <path d="M107,196 99,196"></path> </g> </g> </g> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="-50" y="80"></use> <g fill="none" stroke="#000"> <g marker-end="url(#svg295arrowhead)"> <path d="M-31,140 -22,100"></path> <path d="M-29,143 -3,120"></path> </g> <g> <g stroke-width="3" marker-end="url(#svg296arrowhead)"> <path d="M-40,116 -35,116"></path> <path d="M-17,97 -17,123"></path> <path d="M-5,128 -15,140"></path> </g> <g stroke="#FFF"> <path d="M-40,116 -35,116"></path> <path d="M-17,97 -17,123"></path> <path d="M-5,128 -15,140"></path> </g> </g> </g> <g fill="none" stroke="#000"> <g stroke-width="5"> <path d="M60,35 100,35"></path> <path d="M158,75 168,90"></path> <path d="M118,190 168,155"></path> <path d="M3,150 43,185"></path> <path d="M-3,95 11,79"></path> </g> <g stroke-width="3" stroke="#FFF" marker-end="url(#svg296arrowhead)"> <path d="M158,75 168,90"></path> <path d="M60,35 100,35"></path> <path d="M118,190 168,155"></path> <path d="M3,150 43,185"></path> <path d="M-3,95 11,79"></path> </g> <g stroke-width="1"> <path d="M60,35 100,35"></path> <path d="M158,75 168,90"></path> <path d="M118,190 168,155"></path> <path d="M3,150 43,185"></path> <path d="M-3,95 11,79"></path> </g> </g> <g fill="none" stroke="#000"> <path stroke-width="7" d="M85,43 85,140"></path> <path stroke-width="5" stroke="#FFF" d="M85,43 85,140" marker-end="url(#svg296arrowhead)"></path> <path stroke-width="3" d="M85,43 85,140"></path> <path stroke-width="1" stroke="#FFF" d="M85,43 85,140"></path> </g> </svg> </annotation-xml></semantics></mtd></mtr></mtable></mrow><mo>}</mo></mrow></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{\arrayopts{\rowalign{center}} O(\Delta^0) = &amp; \{ 0\} \\ O(\Delta^1) = &amp; \left\{ 0 \to 1\right\} \\ O(\Delta^2) = &amp; \left\{ \array{\begin{svg} &lt;svg xmlns="http://www.w3.org/2000/svg" width="6em" height="4em" viewBox="0 0 60 40"&gt; &lt;defs&gt; &lt;marker id="svg295arrowhead" viewBox="0 0 10 10" refX="0" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="5" orient="auto"&gt; &lt;path d="M 0 0 L 10 5 L 0 10 z"/&gt; &lt;/marker&gt; &lt;marker id="svg296arrowhead" viewBox="0 0 10 10" refX="0" refY="5" markerUnits="strokeWidth" markerWidth="4" markerHeight="2.5" orient="auto"&gt; &lt;path d="M 0 0 L 10 5 L 0 10 z"/&gt; &lt;/marker&gt; &lt;/defs&gt; &lt;g font-size="10"&gt; &lt;foreignObject x="25" y="-2" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;1&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="0" y="27" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;0&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="50" y="27" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;2&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;/g&gt; &lt;g fill="none" stroke="#000"&gt; &lt;g marker-end="url(#svg295arrowhead)"&gt; &lt;path d="M10,30 23, 15"/&gt; &lt;path d="M35,12 48, 27"/&gt; &lt;path d="M15,37 45, 37"/&gt; &lt;/g&gt; &lt;g&gt; &lt;path stroke-width="3" d="M30,15 30,27" marker-end="url(#svg296arrowhead)"/&gt; &lt;path stroke="#FFF" d="M30,15 30,27"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/svg&gt; \end{svg}} \right\}\\ O(\Delta^3) = &amp; \left\{ \array{\begin{svg} &lt;svg xmlns="http://www.w3.org/2000/svg" width="13em" height="5em" viewBox="0 0 130 50"&gt; &lt;defs&gt; &lt;g id="myRect256"&gt; &lt;g font-size="10"&gt; &lt;foreignObject x="0" y="-3" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;1&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="0" y="37" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;0&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="40" y="-3" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;2&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="40" y="37" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;3&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;/g&gt; &lt;g fill="none" stroke="#000"&gt; &lt;g marker-end="url(#svg295arrowhead)"&gt; &lt;path d="M10,7 37, 7"/&gt; &lt;path d="M6,42 6, 17"/&gt; &lt;path d="M10,47 37, 47"/&gt; &lt;path d="M46,12 46, 37"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/g&gt; &lt;/defs&gt; &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myRect256" x="0" y="0"/&gt; &lt;g fill="none" stroke="#000"&gt; &lt;path d="M11,43 38, 15" marker-end="url(#svg295arrowhead)"/&gt; &lt;g stroke-width="3" marker-end="url(#svg296arrowhead)"&gt; &lt;path d="M12,12 20,20"/&gt; &lt;path d="M40,18 27,40"/&gt; &lt;/g&gt; &lt;g stroke="#FFF"&gt; &lt;path d="M12,12 20,20"/&gt; &lt;path d="M40,18 27,40"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;g fill="none" stroke="#000"&gt; &lt;path stroke-width="5" d="M55,25 72,25"/&gt; &lt;path stroke-width="3" stroke="#FFF" d="M55,25 72,25" marker-end="url(#svg296arrowhead)"/&gt; &lt;path stroke-width="1" d="M55,25 72,25"/&gt; &lt;/g&gt; &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myRect256" x="80" y="0"/&gt; &lt;g fill="none" stroke="#000"&gt; &lt;path d="M92,12 118, 39" marker-end="url(#svg295arrowhead)"/&gt; &lt;g&gt; &lt;g stroke-width="3" marker-end="url(#svg296arrowhead)"&gt; &lt;path d="M92,20 100,38"/&gt; &lt;path d="M120,12 113,19"/&gt; &lt;/g&gt; &lt;g stroke="#FFF"&gt; &lt;path d="M92,20 100,38"/&gt; &lt;path d="M120,12 113,19"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/g&gt; &lt;/svg&gt; \end{svg}}\right\}\\ O(\Delta^4) = &amp; \left\{ \array{\begin{svg} &lt;svg xmlns="http://www.w3.org/2000/svg" width="28em" height="23em" viewBox="-35 0 245 230"&gt; &lt;defs&gt; &lt;g id="myPent256"&gt; &lt;g font-size="10"&gt; &lt;foreignObject x="25" y="-2" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;2&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="0" y="27" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;1&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="50" y="27" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;3&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="13" y="57" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;0&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;foreignObject x="38" y="57" width="12" height="14"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"&gt;&lt;mi&gt;4&lt;/mi&gt;&lt;/math&gt;&lt;/foreignObject&gt; &lt;/g&gt; &lt;g fill="none" stroke="#000" marker-end="url(#svg295arrowhead)"&gt; &lt;path d="M8,32 25,13"/&gt; &lt;path d="M35,10 52,28"/&gt; &lt;path d="M54,41 48,57"/&gt; &lt;path d="M24,67 36,67"/&gt; &lt;path d="M16,62 8,45"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/defs&gt; &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="0" y="0"/&gt; &lt;g fill="none" stroke="#000"&gt; &lt;g marker-end="url(#svg295arrowhead)"&gt; &lt;path d="M10,36 45,36"/&gt; &lt;path d="M22,60 47,41"/&gt; &lt;/g&gt; &lt;g&gt; &lt;g stroke-width="3" marker-end="url(#svg296arrowhead)"&gt; &lt;path d="M31,12 31,26"/&gt; &lt;path d="M12,38 25,48"/&gt; &lt;path d="M45,48 35,60"/&gt; &lt;/g&gt; &lt;g stroke="#FFF"&gt; &lt;path d="M31,12 31,26"/&gt; &lt;path d="M12,38 25,48"/&gt; &lt;path d="M45,48 35,60"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/g&gt; &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="110" y="0"/&gt; &lt;g fill="none" stroke="#000"&gt; &lt;g marker-end="url(#svg295arrowhead)"&gt; &lt;path d="M120,36 155,36"/&gt; &lt;path d="M122,41 147,60"/&gt; &lt;/g&gt; &lt;g&gt; &lt;g stroke-width="3" marker-end="url(#svg296arrowhead)"&gt; &lt;path d="M141,12 141,26"/&gt; &lt;path d="M125,47 135,58"/&gt; &lt;path d="M162,38 145,48"/&gt; &lt;/g&gt; &lt;g stroke="#FFF"&gt; &lt;path d="M141,12 141,26"/&gt; &lt;path d="M125,47 135,58"/&gt; &lt;path d="M162,38 145,48"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/g&gt; &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="160" y="80"/&gt; &lt;g fill="none" stroke="#000"&gt; &lt;g marker-end="url(#svg295arrowhead)"&gt; &lt;path d="M172,119 195,140"/&gt; &lt;path d="M194,98 201,138"/&gt; &lt;/g&gt; &lt;g&gt; &lt;g stroke-width="3" marker-end="url(#svg296arrowhead)"&gt; &lt;path d="M175,127 185,138"/&gt; &lt;path d="M212,116 206,116"/&gt; &lt;path d="M189,98 184,121"/&gt; &lt;/g&gt; &lt;g stroke="#FFF"&gt; &lt;path d="M175,127 185,138"/&gt; &lt;path d="M212,116 206,116"/&gt; &lt;path d="M189,98 184,121"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/g&gt; &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="55" y="160"/&gt; &lt;g fill="none" stroke="#000"&gt; &lt;g marker-end="url(#svg295arrowhead)"&gt; &lt;path d="M74,220 83,180"/&gt; &lt;path d="M87,178 96,218"/&gt; &lt;/g&gt; &lt;g&gt; &lt;g stroke-width="3" marker-end="url(#svg296arrowhead)"&gt; &lt;path d="M86,187 86,216"/&gt; &lt;path d="M63,196 71,196"/&gt; &lt;path d="M107,196 99,196"/&gt; &lt;/g&gt; &lt;g stroke="#FFF"&gt; &lt;path d="M86,187 86,216"/&gt; &lt;path d="M63,196 71,196"/&gt; &lt;path d="M107,196 99,196"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/g&gt; &lt;use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#myPent256" x="-50" y="80"/&gt; &lt;g fill="none" stroke="#000"&gt; &lt;g marker-end="url(#svg295arrowhead)"&gt; &lt;path d="M-31,140 -22,100"/&gt; &lt;path d="M-29,143 -3,120"/&gt; &lt;/g&gt; &lt;g&gt; &lt;g stroke-width="3" marker-end="url(#svg296arrowhead)"&gt; &lt;path d="M-40,116 -35,116"/&gt; &lt;path d="M-17,97 -17,123"/&gt; &lt;path d="M-5,128 -15,140"/&gt; &lt;/g&gt; &lt;g stroke="#FFF"&gt; &lt;path d="M-40,116 -35,116"/&gt; &lt;path d="M-17,97 -17,123"/&gt; &lt;path d="M-5,128 -15,140"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;/g&gt; &lt;g fill="none" stroke="#000"&gt; &lt;g stroke-width="5"&gt; &lt;path d="M60,35 100,35"/&gt; &lt;path d="M158,75 168,90"/&gt; &lt;path d="M118,190 168,155"/&gt; &lt;path d="M3,150 43,185"/&gt; &lt;path d="M-3,95 11,79"/&gt; &lt;/g&gt; &lt;g stroke-width="3" stroke="#FFF" marker-end="url(#svg296arrowhead)"&gt; &lt;path d="M158,75 168,90"/&gt; &lt;path d="M60,35 100,35"/&gt; &lt;path d="M118,190 168,155"/&gt; &lt;path d="M3,150 43,185"/&gt; &lt;path d="M-3,95 11,79"/&gt; &lt;/g&gt; &lt;g stroke-width="1"&gt; &lt;path d="M60,35 100,35"/&gt; &lt;path d="M158,75 168,90"/&gt; &lt;path d="M118,190 168,155"/&gt; &lt;path d="M3,150 43,185"/&gt; &lt;path d="M-3,95 11,79"/&gt; &lt;/g&gt; &lt;/g&gt; &lt;g fill="none" stroke="#000"&gt; &lt;path stroke-width="7" d="M85,43 85,140"/&gt; &lt;path stroke-width="5" stroke="#FFF" d="M85,43 85,140" marker-end="url(#svg296arrowhead)"/&gt; &lt;path stroke-width="3" d="M85,43 85,140"/&gt; &lt;path stroke-width="1" stroke="#FFF" d="M85,43 85,140"/&gt; &lt;/g&gt; &lt;/svg&gt; \end{svg}} \right\} } </annotation></semantics></math></div> <p>This shows that it is a bit of an illusion to think of a <em>pentagon</em> 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.</p> <p>We can formulate this identification of structure morphisms and coherence laws with orientals more formally using the general notion of <a class="existingWikiWord" href="/nlab/show/descent">descent</a>, which was indeed the original motivation for conceiving the orientals. The descent <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Desc</mi><mo stretchy="false">(</mo><mi>Y</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Desc(Y,A)</annotation></semantics></math> (constructed in terms of orientals) can be regarded as a way to formalize “lax <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-functor from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math> to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>”.</p> <p>Indeed, using observations pretty much as just sketched, one finds that for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> a 2-category that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Desc</mi><mo stretchy="false">(</mo><mi>pt</mi><mo>,</mo><mi>C</mi><mo stretchy="false">)</mo><mo>≃</mo><mi>WeakMonoids</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Desc(pt, C) \simeq WeakMonoids(C) </annotation></semantics></math></div> <p>and for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> the 3-category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>Cat</mi></mrow><annotation encoding="application/x-tex">\mathbf{B}Cat</annotation></semantics></math> we have</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Desc</mi><mo stretchy="false">(</mo><mi>pt</mi><mo>,</mo><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>Cat</mi><mo stretchy="false">)</mo><mo>≃</mo><mi>LaxMonCat</mi><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> Desc(pt, \mathbf{B}Cat) \simeq LaxMonCat \,, </annotation></semantics></math></div> <p>where the 2-category on the right is defined as <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>MonCat</mi></mrow><annotation encoding="application/x-tex">MonCat</annotation></semantics></math> above, but with the associator not required to be an isomorphism.</p> <h2 id="remark_pseudo_versus_lax_orientals_versus_unorientals">Remark: pseudo versus lax, orientals versus unorientals</h2> <p>In closing, it should be remarked that the fact that everything here is <em>lax</em> instead of <em>pseudo</em> is related to a curious property of the orientals: the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>th oriental for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n \ge 1</annotation></semantics></math> <em>fails</em> to be weakly equivalent to the point. As a result, the objects of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Desc</mi><mo stretchy="false">(</mo><mi>pt</mi><mo>,</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Desc(pt, C)</annotation></semantics></math> are not quite <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ω</mi></mrow><annotation encoding="application/x-tex">\omega</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/anafunctor">anafunctor</a>s from the point to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>, since they do not map out of a proper hypercover of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>. In the strict notion of descent as used in most of the literature, the orientals would hence provide something <em>more general</em> than ordinary descent, which in its generality is lacking some properties usually required of descent.</p> <p>We can remedy this by replacing in the definition of the descent <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Desc</mi><mo stretchy="false">(</mo><mi>Y</mi><mo>,</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Desc(Y,C)</annotation></semantics></math> the orientals by another cosimplicial <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-category, one which <em>is</em> equivalent to the point in each degree. Doing so and then going through the above discussion will make <em>all</em> the structure maps appeaing have inverses. But this will also apply to the monoidal product itself, then, which is usually not desired.</p> <h2 id="variants">Variants</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/strict+monoidal+category">strict monoidal category</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/permutative+category">permutative category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/commutative+monoidal+category">commutative monoidal category</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/braided+monoidal+category">braided monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/symmetric+monoidal+category">symmetric monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cartesian+monoidal+category">cartesian monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/semicartesian+monoidal+category">semicartesian monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cocartesian+monoidal+category">cocartesian monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fusion+category">fusion category</a>, <a class="existingWikiWord" href="/nlab/show/tensor+category">tensor category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/multicategory">multicategory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/lax+monoidal+category">lax</a>/<a class="existingWikiWord" href="/nlab/show/skew+monoidal+category">skew monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+2-category">monoidal 2-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/premonoidal+category">premonoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Hopf+monoidal+category">Hopf monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/indexed+monoidal+category">indexed monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/traced+monoidal+category">traced monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+category+with+diagonals">monoidal category with diagonals</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/relevance+monoidal+category">relevance monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/distributivity+for+monoidal+structures">distributivity for monoidal structures</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/distributive+monoidal+category">distributive monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/bipermutative+category">bipermutative category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/linearly+distributive+category">linearly distributive category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/rig+category">rig category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/duoidal+category">duoidal category</a>, <a class="existingWikiWord" href="/nlab/show/bimonoidal+category">bimonoidal category</a></p> </li> </ul> </li> </ul> <p>higher versions</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+bicategory">monoidal bicategory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+2-category">monoidal 2-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+%28%E2%88%9E%2C1%29-category">monoidal (∞,1)-category</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/braided+monoidal+%28%E2%88%9E%2C1%29-category">braided monoidal (∞,1)-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/symmetric+monoidal+%28%E2%88%9E%2C1%29-category">symmetric monoidal (∞,1)-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/closed+monoidal+%28%E2%88%9E%2C1%29-category">closed monoidal (∞,1)-category</a></p> </li> </ul> </li> </ul> <h2 id="related_concepts">Related concepts</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/braided+monoidal+category">braided monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/symmetric+monoidal+category">symmetric monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/closed+monoidal+category">closed monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/symmetric+closed+monoidal+category">symmetric closed monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/gs-monoidal+category">gs-monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/MonCat">MonCat</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/enriched+monoidal+category">enriched monoidal category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/tensor+category">tensor category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Drinfeld+center">Drinfeld center</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Picard+group">Picard group</a>, <a class="existingWikiWord" href="/nlab/show/Picard+2-group">Picard 2-group</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/multicategory">multicategory</a>, <a class="existingWikiWord" href="/nlab/show/bicategory">bicategory</a>, <a class="existingWikiWord" href="/nlab/show/enriched+category">enriched category</a>, <a class="existingWikiWord" href="/nlab/show/actegory">actegory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/module+category">module category</a>, <a class="existingWikiWord" href="/nlab/show/bimodule+category">bimodule category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/semisimple+category">semisimple category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+topos">monoidal topos</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/DisCoPy">DisCoPy</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+groupoid">monoidal groupoid</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/no-cloning+theorem">no-cloning theorem</a></p> </li> </ul> <h2 id="references">References</h2> <p>An early monograph:</p> <ul> <li id="EilKel66"><a class="existingWikiWord" href="/nlab/show/Samuel+Eilenberg">Samuel Eilenberg</a>, <a class="existingWikiWord" href="/nlab/show/G.+Max+Kelly">G. Max Kelly</a>, Section II.1 in: <em>Closed Categories</em>, in: <em><a class="existingWikiWord" href="/nlab/show/Proceedings+of+the+Conference+on+Categorical+Algebra+-+La+Jolla+1965">Proceedings of the Conference on Categorical Algebra - La Jolla 1965</a></em>, Springer (1966) 421-562 &lbrack;<a href="https://doi.org/10.1007/978-3-642-99902-4">doi:10.1007/978-3-642-99902-4</a>&rbrack;</li> </ul> <p>Early lecture notes:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Jean+B%C3%A9nabou">Jean Bénabou</a>, <em>Les catégories multiplicatives</em>, Séminaire de mathématiquepure pure <strong>27</strong>, Université de Louvain (1972) &lbrack;<a class="existingWikiWord" href="/nlab/files/Benabou-CategoriesMultiplicatives.pdf" title="pdf">pdf</a>&rbrack;</li> </ul> <p>Textbook accounts:</p> <ul> <li id="MacLane71"> <p><a class="existingWikiWord" href="/nlab/show/Saunders+MacLane">Saunders MacLane</a>, Section VII.1 of: <em><a class="existingWikiWord" href="/nlab/show/Categories+for+the+Working+Mathematician">Categories for the Working Mathematician</a></em>, Graduate texts in mathematics, Springer (1971, second ed. 1997) &lbrack;<a href="https://link.springer.com/book/10.1007/978-1-4757-4721-8">doi:10.1007/978-1-4757-4721-8</a>&rbrack;</p> </li> <li id="Borceux94"> <p><a class="existingWikiWord" href="/nlab/show/Francis+Borceux">Francis Borceux</a>, Section 6.1 of: <em>Handbook of Categorical Algebra</em> Vol. 2: <em>Categories and Structures</em> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">[</mo></mrow><annotation encoding="application/x-tex">[</annotation></semantics></math><a href="https://doi.org/10.1017/CBO9780511525865">doi:10.1017/CBO9780511525865</a><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">]</annotation></semantics></math>, Encyclopedia of Mathematics and its Applications <strong>50</strong>, Cambridge University Press (1994)</p> </li> <li id="EGNO15"> <p><a class="existingWikiWord" href="/nlab/show/Pavel+Etingof">Pavel Etingof</a>, <a class="existingWikiWord" href="/nlab/show/Shlomo+Gelaki">Shlomo Gelaki</a>, <a class="existingWikiWord" href="/nlab/show/Dmitri+Nikshych">Dmitri Nikshych</a>, <a class="existingWikiWord" href="/nlab/show/Victor+Ostrik">Victor Ostrik</a>, Chapter 2 of: <em>Tensor Categories</em>, AMS Mathematical Surveys and Monographs <strong>205</strong> (2015) &lbrack;<a href="https://bookstore.ams.org/surv-205">ISBN:978-1-4704-3441-0</a>, <a href="http://www-math.mit.edu/~etingof/egnobookfinal.pdf">pdf</a>&rbrack; (This has a focus on <a class="existingWikiWord" href="/nlab/show/tensor+categories">tensor categories</a>.)</p> </li> </ul> <p>Exposition of basics of monoidal categories and <a class="existingWikiWord" href="/nlab/show/categorical+algebra">categorical algebra</a>:</p> <ul> <li><em><a class="existingWikiWord" href="/nlab/show/geometry+of+physics+--+categories+and+toposes">geometry of physics – categories and toposes</a></em>, Section 2: <em><a href="geometry+of+physics+--+categories+and+toposes#BasicNotionsOfCategoricalAlgebra">Basic notions of categorical algebra</a></em></li> </ul> <p>History:</p> <p>A version of monoidal categories were introduced by <a class="existingWikiWord" href="/nlab/show/Jean+B%C3%A9nabou">Jean Bénabou</a> under the name ‘categorie avec multiplication’. However, he gave the coherence laws incorrectly, by stating that all diagrams of a certain form commute, when in fact not all these diagrams need commute. Mac Lane’s 1963 paper was the first to give a correct (and finite) axiomatisation, under the name ‘bicategory’ (not to be confused with the contemporary meaning of <em><a class="existingWikiWord" href="/nlab/show/bicategory">bicategory</a></em>). Mac Lane later wrote that, the current name is due to Eilenberg. It is used in the 1966 paper by Eilenberg and Kelly cited above.</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Jean+B%C3%A9nabou">Jean Bénabou</a>, <em>Catégories avec multiplication</em> , C. R. Acad. Sci. Paris <strong>256</strong> (1963) 1887-1890 &lbrack;<a href="http://gallica.bnf.fr/ark:/12148/bpt6k3208j/f1965.image">gallica</a>&rbrack;</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Jean+B%C3%A9nabou">Jean Bénabou</a>, <em>Algèbre élémentaire dans les catégories avec multiplication</em> , C. R. Acad. Sci. Paris <strong>258</strong> (1964) 771-774 &lbrack;<a href="gallica.bnf.fr/ark:/12148/bpt6k40102/f817.image">gallica</a>&rbrack;</p> </li> <li id="MacLane"> <p><a class="existingWikiWord" href="/nlab/show/Saunders+Mac+Lane">Saunders Mac Lane</a>, <em>Natural Associativity and Commutativity</em> , Rice University Studies <strong>49</strong> (1963) pp.28-46.</p> </li> </ul> <p>Shortly after Mac Lane’s definition appeared, Max Kelly showed how the coherence axioms could be whittled down to just two:</p> <ul> <li id="Kelly"><a class="existingWikiWord" href="/nlab/show/Max+Kelly">Max Kelly</a>, <em>On MacLane’s Conditions for Coherence of Natural Associativities, Commutativities, etc.</em>, Journal of Algebra <strong>1</strong> (1964) pp.397-402.</li> </ul> <p>For a quick history of monoidal categories including an explanation of why Benabou’s definition is incorrect, see Section 2 here:</p> <ul> <li id="BaezSinh"><a class="existingWikiWord" href="/nlab/show/John+Baez">John Baez</a>, <em>Hoàng Xuân Sính’s Thesis: Categorifying Group Theory</em>, Thang Long Journal of Science: Mathematics and Mathematical Sciences 2 (2023), pp. 1-35. (<a href="https://arxiv.org/abs/2308.05119">arXiv</a>)</li> </ul> <p>Lecture notes on the <a class="existingWikiWord" href="/nlab/show/higher+algebra">higher algebra</a> of monoidal categories:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Pavel+Etingof">Pavel Etingof</a>, <a class="existingWikiWord" href="/nlab/show/Shlomo+Gelaki">Shlomo Gelaki</a>, <a class="existingWikiWord" href="/nlab/show/Dmitri+Nikshych">Dmitri Nikshych</a>, <a class="existingWikiWord" href="/nlab/show/Victor+Ostrik">Victor Ostrik</a>, <em>Topics in Lie theory and Tensor categories</em>, Lecture notes (spring 2009) (<a href="http://ocw.mit.edu/courses/mathematics/18-769-topics-in-lie-theory-tensor-categories-spring-2009/lecture-notes/">web</a>)</li> </ul> <p>A brief discussion in the context of <a class="existingWikiWord" href="/nlab/show/enriched+category+theory">enriched category theory</a> is in</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Max+Kelly">Max Kelly</a>, <em>Basic concepts of enriched category theory</em>, London Math. Soc. Lec. Note Series <strong>64</strong>, Cambridge Univ. Press 1982, 245 pp.; remake: TAC reprints 10, &lbrack;<a href="http://www.tac.mta.ca/tac/reprints/articles/10/tr10abs.html">tac</a>,<a href="http://www.tac.mta.ca/tac/reprints/articles/10/tr10.pdf">pdf</a>&rbrack;</li> </ul> <p>A survey of some applications is in</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Ross+Street">Ross Street</a>, <em>Monoidal categories in, and linking, geometry and algebra</em>, Bull. Belg. Math. Soc. Simon Stevin <strong>19</strong> 5 (2012) 769-820 &lbrack;<a href="https://arxiv.org/abs/1201.2991">arXiv:1201.2991</a>, <a href="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">doi:10.36045/bbms/1354031551</a>&rbrack;</li> </ul> <p>(for more see also at <em><a class="existingWikiWord" href="/nlab/show/tensor+category">tensor category</a></em> and <em><a class="existingWikiWord" href="/nlab/show/fusion+category">fusion category</a></em> etc.).</p> <p>Quick surveys of relevant definitions include also</p> <ul> <li> <p>John Armstrong, <em><a href="http://unapologetic.wordpress.com/2007/06/28/monoidal-categories/">Monoidal categories</a></em></p> </li> <li> <p>Wikipedia <em><a href="http://en.wikipedia.org/wiki/Monoidal_category">Monoidal category</a>.</em></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/John+Baez">John Baez</a>, <em><a href="http://math.ucr.edu/home/baez/qg-fall2004/definitions.pdf">Some definitions everyone should know</a></em></p> </li> </ul> <p>For an elementary introduction to monoidal categories using <a class="existingWikiWord" href="/nlab/show/string+diagrams">string diagrams</a>, see:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/John+Baez">John Baez</a>, <a class="existingWikiWord" href="/nlab/show/Mike+Stay">Mike Stay</a>, <em><a href="http://math.ucr.edu/home/baez/rosetta.pdf">Physics, topology, logic and computation: a Rosetta Stone</a></em>, in <em>New Structures for Physics</em>, ed. <a class="existingWikiWord" href="/nlab/show/Bob+Coecke">Bob Coecke</a>, Lecture Notes in Physics vol. 813, Springer, Berlin, 2011, pp. 95-172.</li> </ul> <p>A more detailed tour of monoidal categories, also using <a class="existingWikiWord" href="/nlab/show/string+diagrams">string diagrams</a>, and including autonomous, balanced, braided, compact closed, pivotal, ribbon, rigid, sovereign, spherical, tortile, and traced monoidal categories:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Peter+Selinger">Peter Selinger</a>, <em><a href="http://www.mathstat.dal.ca/~selinger/papers.html#graphical">A survey of graphical languages for monoidal categories</a></em>.</li> </ul> <p>Textbook account with an eye towards <a class="existingWikiWord" href="/nlab/show/finite+quantum+mechanics+in+terms+of+dagger-compact+categories">finite quantum mechanics in terms of dagger-compact categories</a> and <a class="existingWikiWord" href="/nlab/show/quantum+computation">quantum computation</a>:</p> <ul> <li id="HeunenVicary19"><a class="existingWikiWord" href="/nlab/show/Chris+Heunen">Chris Heunen</a>, <a class="existingWikiWord" href="/nlab/show/Jamie+Vicary">Jamie Vicary</a>, <em>Categories for Quantum Theory</em>, Oxford University Press 2019 (<a href="https://global.oup.com/academic/product/categories-for-quantum-theory-9780198739616">ISBN:9780198739616</a>)</li> </ul> <p>Concerning the scalars:</p> <ul> <li id="KellyLaplaza80"> <p><a class="existingWikiWord" href="/nlab/show/Max+Kelly">Max Kelly</a>, <a class="existingWikiWord" href="/nlab/show/M.+L.+Laplaza">M. L. Laplaza</a>, <em>Coherence for compact closed categories</em>, Journal of Pure and Applied Algebra 19: 193–213 (1980), doi:<a href="https://doi.org/10.1016/0022-4049%2880%2990101-2">10.1016/0022-4049(80)90101-2</a>.</p> </li> <li id="AbramskyCoecke04"> <p><a class="existingWikiWord" href="/nlab/show/Samson+Abramsky">Samson Abramsky</a>, <a class="existingWikiWord" href="/nlab/show/Bob+Coecke">Bob Coecke</a>, <em>A categorical semantics of quantum protocols</em> , Proceedings of the 19th IEEE conference on Logic in Computer Science (LiCS’04). IEEE Computer Science Press (2004) &lbrack;<a href="http://arxiv.org/abs/quant-ph/0402130">arXiv:quant-ph/0402130</a>&rbrack;</p> </li> </ul> <p>On <a class="existingWikiWord" href="/nlab/show/monoidal+category">monoidal</a> <a class="existingWikiWord" href="/nlab/show/univalent+categories">univalent categories</a> in <a class="existingWikiWord" href="/nlab/show/univalent+foundations+of+mathematics">univalent foundations of mathematics</a> (<a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a> with the <a class="existingWikiWord" href="/nlab/show/univalence+axiom">univalence axiom</a>):</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Kobe+Wullaert">Kobe Wullaert</a>, <a class="existingWikiWord" href="/nlab/show/Ralph+Matthes">Ralph Matthes</a>, <a class="existingWikiWord" href="/nlab/show/Benedikt+Ahrens">Benedikt Ahrens</a>, <em>Univalent Monoidal Categories</em> &lbrack;<a href="https://arxiv.org/abs/2212.03146">arXiv:2212.03146</a>&rbrack;</li> </ul> <p>Some remarks on different monoidal structures on the <a class="existingWikiWord" href="/nlab/show/category+of+sets">category of sets</a>:</p> <ul> <li><a href="https://github.com/punkdit/categories/blob/26b751bbcbe6765fe447e805629ff6416f4c38b1/gmane/science/mathematics/categories/4477">Set as a monoidal category</a>, <a class="existingWikiWord" href="/nlab/show/categories+mailing+list">categories mailing list</a></li> </ul> <p>On an alternative definition of monoidal category based on a different kind of unit:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Joachim+Kock">Joachim Kock</a>, <em>Elementary remarks on units in monoidal categories</em>, Mathematical Proceedings of the Cambridge Philosophical Society. Vol. 144. No. 1. Cambridge University Press, 2008.</li> </ul> <p>which is further discussed in the context of <a class="existingWikiWord" href="/nlab/show/skew-monoidal+categories">skew-monoidal categories</a> in:</p> <ul> <li>Jim Andrianopoulos, <em>Remarks on units of skew monoidal categories</em>, Applied Categorical Structures 25.5 (2017): 863-873.</li> </ul> </body></html> </div> <div class="revisedby"> <p> Last revised on September 28, 2024 at 06:47:36. See the <a href="/nlab/history/monoidal+category" style="color: #005c19">history</a> of this page for a list of all contributions to it. </p> </div> <div class="navigation navfoot"> <a href="/nlab/edit/monoidal+category" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/4226/#Item_112">Discuss</a><span class="backintime"><a href="/nlab/revision/monoidal+category/170" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/diff/monoidal+category" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Changes from previous revision</a><a href="/nlab/history/monoidal+category" accesskey="S" class="navlink" id="history" rel="nofollow">History (170 revisions)</a> <a href="/nlab/show/monoidal+category/cite" style="color: black">Cite</a> <a href="/nlab/print/monoidal+category" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/monoidal+category" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10