CINXE.COM

free cocompletion 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> free cocompletion 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> free cocompletion </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/8657/#Item_34" 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="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> <h4 id="limits_and_colimits">Limits and colimits</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/limit">limits and colimits</a></strong></p> <h2 id="1categorical">1-Categorical</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/limit">limit and colimit</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/limits+and+colimits+by+example">limits and colimits by example</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/commutativity+of+limits+and+colimits">commutativity of limits and colimits</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/small+limit">small limit</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/filtered+colimit">filtered colimit</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/directed+colimit">directed colimit</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/sequential+colimit">sequential colimit</a></li> </ul> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/sifted+colimit">sifted colimit</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/connected+limit">connected limit</a>, <a class="existingWikiWord" href="/nlab/show/wide+pullback">wide pullback</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/preserved+limit">preserved limit</a>, <a class="existingWikiWord" href="/nlab/show/reflected+limit">reflected limit</a>, <a class="existingWikiWord" href="/nlab/show/created+limit">created limit</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/product">product</a>, <a class="existingWikiWord" href="/nlab/show/fiber+product">fiber product</a>, <a class="existingWikiWord" href="/nlab/show/base+change">base change</a>, <a class="existingWikiWord" href="/nlab/show/coproduct">coproduct</a>, <a class="existingWikiWord" href="/nlab/show/pullback">pullback</a>, <a class="existingWikiWord" href="/nlab/show/pushout">pushout</a>, <a class="existingWikiWord" href="/nlab/show/cobase+change">cobase change</a>, <a class="existingWikiWord" href="/nlab/show/equalizer">equalizer</a>, <a class="existingWikiWord" href="/nlab/show/coequalizer">coequalizer</a>, <a class="existingWikiWord" href="/nlab/show/join">join</a>, <a class="existingWikiWord" href="/nlab/show/meet">meet</a>, <a class="existingWikiWord" href="/nlab/show/terminal+object">terminal object</a>, <a class="existingWikiWord" href="/nlab/show/initial+object">initial object</a>, <a class="existingWikiWord" href="/nlab/show/direct+product">direct product</a>, <a class="existingWikiWord" href="/nlab/show/direct+sum">direct sum</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/finite+limit">finite limit</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/exact+functor">exact functor</a></li> </ul> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Kan+extension">Kan extension</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Yoneda+extension">Yoneda extension</a></li> </ul> </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 and coend</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fibered+limit">fibered limit</a></p> </li> </ul> <h2 id="2categorical">2-Categorical</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/2-limit">2-limit</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/inserter">inserter</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/isoinserter">isoinserter</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/equifier">equifier</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/inverter">inverter</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/PIE-limit">PIE-limit</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/2-pullback">2-pullback</a>, <a class="existingWikiWord" href="/nlab/show/comma+object">comma object</a></p> </li> </ul> <h2 id="1categorical_2">(∞,1)-Categorical</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-limit">(∞,1)-limit</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-pullback">(∞,1)-pullback</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/fiber+sequence">fiber sequence</a></li> </ul> </li> </ul> </li> </ul> <h3 id="modelcategorical">Model-categorical</h3> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+Kan+extension">homotopy Kan extension</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+limit">homotopy limit</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+product">homotopy product</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+equalizer">homotopy equalizer</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+fiber">homotopy fiber</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/mapping+cone">mapping cone</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+pullback">homotopy pullback</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+totalization">homotopy totalization</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+end">homotopy end</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+colimit">homotopy colimit</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+coproduct">homotopy coproduct</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+coequalizer">homotopy coequalizer</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+cofiber">homotopy cofiber</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/mapping+cocone">mapping cocone</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+pushout">homotopy pushout</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+realization">homotopy realization</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+coend">homotopy coend</a></p> </li> </ul> </li> </ul> <div> <p> <a href="/nlab/edit/infinity-limits+-+contents">Edit this sidebar</a> </p> </div></div></div> <h4 id="yoneda_lemma">Yoneda lemma</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/Yoneda+lemma">Yoneda lemma</a></strong></p> <p><strong>Ingredients</strong></p> <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/presheaf">presheaf</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/category+of+presheaves">category of presheaves</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/representable+presheaf">representable presheaf</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+embedding">Yoneda embedding</a></p> </li> </ul> <p><strong>Incarnations</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+lemma">Yoneda lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/enriched+Yoneda+lemma">enriched Yoneda lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/co-Yoneda+lemma">co-Yoneda lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+reduction">Yoneda reduction</a></p> </li> </ul> <p><strong>Properties</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/free+cocompletion">free cocompletion</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+extension">Yoneda extension</a></p> </li> </ul> <p><strong>Universal aspects</strong></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/universal+construction">universal construction</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/universal+element">universal element</a></p> </li> </ul> <p><strong>Classification</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/classifying+space">classifying space</a>, <a class="existingWikiWord" href="/nlab/show/classifying+stack">classifying stack</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/moduli+space">moduli space</a>, <a class="existingWikiWord" href="/nlab/show/moduli+stack">moduli stack</a>, <a class="existingWikiWord" href="/nlab/show/derived+moduli+space">derived moduli space</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/classifying+topos">classifying topos</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/subobject+classifier">subobject classifier</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/universal+principal+bundle">universal principal bundle</a>, <a class="existingWikiWord" href="/nlab/show/universal+principal+%E2%88%9E-bundle">universal principal ∞-bundle</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/classifying+morphism">classifying morphism</a></p> </li> </ul> <p><strong>Induced theorems</strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Tannaka+duality">Tannaka duality</a></li> </ul> <p>…</p> <p><strong>In higher category theory</strong></p> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+lemma+for+higher+categories">Yoneda lemma for higher categories</a>:</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+lemma+for+%28%E2%88%9E%2C1%29-categories">Yoneda lemma for (∞,1)-categories</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+lemma+for+bicategories">Yoneda lemma for bicategories</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+lemma+for+tricategories">Yoneda lemma for tricategories</a></p> </li> </ul> <div> <p> <a href="/nlab/edit/Yoneda+lemma+-+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='#technical_details'>Technical details</a></li> <ul> <li><a href='#proofs'>Proofs</a></li> </ul> <li><a href='#free_cocompletion_of_large_categories'>Free cocompletion of large categories</a></li> <li><a href='#free_cocompletion_as_a_pseudomonad'>Free cocompletion as a pseudomonad</a></li> <li><a href='#in_higher_category_theory'>In higher category theory</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>Passing from 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>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> to its <a class="existingWikiWord" href="/nlab/show/presheaf">presheaf</a> category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>PSh</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>:</mo><mo>=</mo><mo stretchy="false">[</mo><msup><mi>C</mi> <mi>op</mi></msup><mo>,</mo><mi>Set</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">PSh(C) := [C^{op},Set]</annotation></semantics></math> may be regarded as the operation of “freely adjoining <a class="existingWikiWord" href="/nlab/show/colimits">colimits</a> 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>”.</p> <p>A slightly more precise version of this statement is that the <a class="existingWikiWord" href="/nlab/show/Yoneda+embedding">Yoneda embedding</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Y</mi><mo>:</mo><mi>C</mi><mo>↪</mo><mi>PSh</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Y : C \hookrightarrow PSh(C) </annotation></semantics></math></div> <p>is the <strong><a class="existingWikiWord" href="/nlab/show/free+construction">free</a> <a class="existingWikiWord" href="/nlab/show/cocomplete+category">cocompletion</a></strong> 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>.</p> <p>The <a class="existingWikiWord" href="/nlab/show/universal+property">universal property</a> of the <a class="existingWikiWord" href="/nlab/show/Yoneda+embedding">Yoneda embedding</a> is expressed in terms of the <a class="existingWikiWord" href="/nlab/show/Yoneda+extension">Yoneda extension</a> of any <a class="existingWikiWord" href="/nlab/show/functor">functor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>:</mo><mi>C</mi><mo>→</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">F : C \to D</annotation></semantics></math> to a category <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> with colimits.</p> <p>There is also an alternative construction of the free cocomplete category, given by the <a class="existingWikiWord" href="/nlab/show/free+strict+cocompletion">free strict cocompletion</a>.</p> <h2 id="technical_details">Technical details</h2> <p>The rough statement is that the <a class="existingWikiWord" href="/nlab/show/Yoneda+embedding">Yoneda embedding</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>y</mi> <mi>S</mi></msub><mo>:</mo><mi>S</mi><mo>→</mo><msup><mi>Set</mi> <mrow><msup><mi>S</mi> <mi>op</mi></msup></mrow></msup></mrow><annotation encoding="application/x-tex">y_S: S \to Set^{S^{op}}</annotation></semantics></math></div> <p>of a <a class="existingWikiWord" href="/nlab/show/small+category">small category</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math> into the category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>Set</mi> <mrow><msup><mi>S</mi> <mi>op</mi></msup></mrow></msup></mrow><annotation encoding="application/x-tex">Set^{S^{op}}</annotation></semantics></math> of <a class="existingWikiWord" href="/nlab/show/presheaf">presheaves</a> on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math> is universal among functors from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math> into <a class="existingWikiWord" href="/nlab/show/cocomplete+category">cocomplete categories</a>. Technically, this should be understood in an appropriate <a class="existingWikiWord" href="/nlab/show/2-category">2-categorical</a> sense: given a <a class="existingWikiWord" href="/nlab/show/functor">functor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>:</mo><mi>S</mi><mo>→</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">F: S \to D</annotation></semantics></math> where <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> is (<a class="existingWikiWord" href="/nlab/show/small+colimit">small</a>-)cocomplete, there exists a unique (up to <a class="existingWikiWord" href="/nlab/show/isomorphism">isomorphism</a>) <a class="existingWikiWord" href="/nlab/show/cocontinuous+functor">cocontinuous</a> <a class="existingWikiWord" href="/nlab/show/extension">extension</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo stretchy="false">^</mo></mover><mo>:</mo><msup><mi>Set</mi> <mrow><msup><mi>S</mi> <mi>op</mi></msup></mrow></msup><mo>→</mo><mi>D</mi><mo>,</mo></mrow><annotation encoding="application/x-tex">\hat{F}: Set^{S^{op}} \to D,</annotation></semantics></math></div> <p>called the <a class="existingWikiWord" href="/nlab/show/Yoneda+extension">Yoneda extension</a>, meaning that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo stretchy="false">^</mo></mover><msub><mi>y</mi> <mi>S</mi></msub><mo>≅</mo><mi>F</mi></mrow><annotation encoding="application/x-tex">\hat{F} y_S \cong F</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo stretchy="false">^</mo></mover></mrow><annotation encoding="application/x-tex">\hat{F}</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/preserved+limit">preserves</a> <a class="existingWikiWord" href="/nlab/show/small+colimits">small colimits</a>.</p> <p>Put slightly differently: let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Cocomp</mi></mrow><annotation encoding="application/x-tex">Cocomp</annotation></semantics></math> denote the 2-category of cocomplete categories, cocontinuous functors, and natural transformations between them. Then for cocomplete <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>, the Yoneda embedding <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mi>S</mi><mo>:</mo><mi>S</mi><mo>→</mo><msup><mi>Set</mi> <mrow><msup><mi>S</mi> <mi>op</mi></msup></mrow></msup></mrow><annotation encoding="application/x-tex">y S: S \to Set^{S^{op}}</annotation></semantics></math> induces by restriction a functor</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>res</mi> <mrow><mi>y</mi><mi>S</mi></mrow></msub><mi>D</mi><mo>:</mo><mi>Cocomp</mi><mo stretchy="false">(</mo><msup><mi>Set</mi> <mrow><msup><mi>S</mi> <mi>op</mi></msup></mrow></msup><mo>,</mo><mi>D</mi><mo stretchy="false">)</mo><mo>→</mo><mi>Cat</mi><mo stretchy="false">(</mo><mi>S</mi><mo>,</mo><mi>D</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">res_{y S} D: Cocomp(Set^{S^{op}}, D) \to Cat(S, D)</annotation></semantics></math></div> <p>that is an <a class="existingWikiWord" href="/nlab/show/equivalence+of+categories">equivalence</a> for each <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>, one that is <a class="existingWikiWord" href="/nlab/show/2-natural+transformation">2-natural</a> in <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>. In fact we show that the Yoneda extension <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>↦</mo><mover><mi>F</mi><mo stretchy="false">^</mo></mover></mrow><annotation encoding="application/x-tex">F \mapsto \hat{F}</annotation></semantics></math> gives a functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>ext</mi> <mrow><mi>y</mi><mi>S</mi></mrow></msub><mi>D</mi><mo>:</mo><mi>Cat</mi><mo stretchy="false">(</mo><mi>S</mi><mo>,</mo><mi>D</mi><mo stretchy="false">)</mo><mo>→</mo><mi>Cocomp</mi><mo stretchy="false">(</mo><msup><mi>Set</mi> <mrow><msup><mi>S</mi> <mi>op</mi></msup></mrow></msup><mo>,</mo><mi>D</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">ext_{y S}D: Cat(S, D) \to Cocomp(Set^{S^{op}}, D)</annotation></semantics></math> that is a left adjoint to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>res</mi> <mrow><mi>y</mi><mi>S</mi></mrow></msub><mi>D</mi></mrow><annotation encoding="application/x-tex">res_{y S}D</annotation></semantics></math>, giving a 2-natural adjoint equivalence.</p> <p>As a first step, we construct the desired extension <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo stretchy="false">^</mo></mover></mrow><annotation encoding="application/x-tex">\hat{F}</annotation></semantics></math> as a <a class="existingWikiWord" href="/nlab/show/adjoint+functor">left adjoint</a> to the functor</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>D</mi><mo>→</mo><msup><mi>Set</mi> <mrow><msup><mi>S</mi> <mi>op</mi></msup></mrow></msup><mo>:</mo><mi>d</mi><mo>↦</mo><msub><mi>hom</mi> <mi>D</mi></msub><mo stretchy="false">(</mo><mi>F</mi><mo>−</mo><mo>,</mo><mi>d</mi><mo stretchy="false">)</mo><mo>.</mo></mrow><annotation encoding="application/x-tex">D \to Set^{S^{op}}: d \mapsto \hom_D(F-, d).</annotation></semantics></math></div> <p>Being a left adjoint, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo stretchy="false">^</mo></mover></mrow><annotation encoding="application/x-tex">\hat{F}</annotation></semantics></math> is cocontinuous.</p> <p>An explicit formula for the left adjoint is given by the <a class="existingWikiWord" href="/nlab/show/weighted+colimit">weighted colimit</a>, <a class="existingWikiWord" href="/nlab/show/end">coend</a>, or <a class="existingWikiWord" href="/nlab/show/tensor+product+of+functors">tensor product of functors</a> formula</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo stretchy="false">^</mo></mover><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo><mo>=</mo><mi>X</mi><msub><mo>⊗</mo> <mi>S</mi></msub><mi>F</mi><mo>=</mo><msup><mo>∫</mo> <mrow><mi>s</mi><mo>:</mo><mi>S</mi></mrow></msup><mi>X</mi><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">)</mo><mo>⋅</mo><mi>F</mi><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\hat{F}(X) = X \otimes_S F = \int^{s: S} X(s) \cdot F(s)</annotation></semantics></math></div> <p>where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>S</mi><mo>⋅</mo><mi>d</mi></mrow><annotation encoding="application/x-tex">S \cdot d</annotation></semantics></math> is notation for <a class="existingWikiWord" href="/nlab/show/power">copowering</a> (or tensoring) an object <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> of <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> by a set <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math> (in this case, a coproduct of an <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math>-indexed set of copies of <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>). This formula recurs frequently throughout this wiki; see also <a class="existingWikiWord" href="/nlab/show/nerve">nerve</a>, <a class="existingWikiWord" href="/nlab/show/Day+convolution">Day convolution</a>.</p> <p>This “free cocompletion” property generalizes to <a class="existingWikiWord" href="/nlab/show/enriched+category">enriched category</a> theory. If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math> is complete, cocomplete, symmetric monoidal closed, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math> is a small <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math>-enriched category, then the enriched presheaf category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>V</mi> <mrow><msup><mi>S</mi> <mi>op</mi></msup></mrow></msup></mrow><annotation encoding="application/x-tex">V^{S^{op}}</annotation></semantics></math> is a free <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math>-cocompletion of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math>. The explicit meaning is analogous to the case where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>V</mi><mo>=</mo><mi>Set</mi></mrow><annotation encoding="application/x-tex">V = Set</annotation></semantics></math>, where all ordinary category concepts are replaced by their <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math>-enriched analogues; in particular, the notion of “<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math>-cocontinuous functor” refers to preservation of enriched weighted colimits (not just ordinary conical colimits).</p> <p>If <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> is not small, then its free cocompletion still exists, but it is not the category of all 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>. Rather, it is the category of <a class="existingWikiWord" href="/nlab/show/small+presheaves">small 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>, i.e. presheaves that are small colimits of representables.</p> <h3 id="proofs">Proofs</h3> <div class="num_prop" id="FreeCocompletion"> <h6 id="proposition">Proposition</h6> <p>For <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> a <a class="existingWikiWord" href="/nlab/show/small+category">small category</a>, its <a class="existingWikiWord" href="/nlab/show/Yoneda+embedding">Yoneda embedding</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒞</mi><mover><mo>↪</mo><mi>y</mi></mover><mo stretchy="false">[</mo><msup><mi>𝒞</mi> <mi>op</mi></msup><mo>,</mo><mi>Set</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathcal{C} \overset{y}{\hookrightarrow} [\mathcal{C}^{op}, Set]</annotation></semantics></math> exhibits the <a class="existingWikiWord" href="/nlab/show/category+of+presheaves">category of presheaves</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">[</mo><msup><mi>𝒞</mi> <mi>op</mi></msup><mo>,</mo><mi>Set</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">[\mathcal{C}^{op}, Set]</annotation></semantics></math> as the <em>free co-completion</em> 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>, in that it is a <a class="existingWikiWord" href="/nlab/show/universal+morphism">universal morphism</a> (as in <a href="adjoint+functor#UniversalArrow">this Def.</a> but “up to natural isomorphism”) into a <a class="existingWikiWord" href="/nlab/show/cocomplete+category">cocomplete category</a>, in that:</p> <ol> <li> <p>for <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{D}</annotation></semantics></math> any <a class="existingWikiWord" href="/nlab/show/cocomplete+category">cocomplete category</a>;</p> </li> <li> <p>for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><mi>𝒞</mi><mo>⟶</mo><mi>𝒟</mi></mrow><annotation encoding="application/x-tex">F \;\colon\; \mathcal{C} \longrightarrow \mathcal{D}</annotation></semantics></math> any <a class="existingWikiWord" href="/nlab/show/functor">functor</a>;</p> </li> </ol> <p>there is a <a class="existingWikiWord" href="/nlab/show/functor">functor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo>˜</mo></mover><mspace width="thickmathspace"></mspace><mo lspace="verythinmathspace">:</mo><mspace width="thickmathspace"></mspace><mo stretchy="false">[</mo><msup><mi>𝒞</mi> <mi>op</mi></msup><mo>,</mo><mi>Set</mi><mo stretchy="false">]</mo><mo>⟶</mo><mi>𝒟</mi></mrow><annotation encoding="application/x-tex">\widetilde F \;\colon\; [\mathcal{C}^{op}, Set] \longrightarrow \mathcal{D}</annotation></semantics></math>, unique up to <a class="existingWikiWord" href="/nlab/show/natural+isomorphism">natural isomorphism</a>, such that</p> <ol> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo>˜</mo></mover></mrow><annotation encoding="application/x-tex">\widetilde F</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/preserved+limit">preserves</a> all <a class="existingWikiWord" href="/nlab/show/colimits">colimits</a>,</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo>˜</mo></mover></mrow><annotation encoding="application/x-tex">\widetilde F</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/extension">extends</a> <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> through the <a class="existingWikiWord" href="/nlab/show/Yoneda+embedding">Yoneda embedding</a>, in that the following <a class="existingWikiWord" href="/nlab/show/commuting+diagram">diagram commutes</a>, up to <a class="existingWikiWord" href="/nlab/show/natural+isomorphism">natural isomorphism</a>:</p> </li> </ol> <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><mi>𝒞</mi></mtd></mtr> <mtr><mtd></mtd> <mtd><msup><mrow></mrow> <mi>y</mi></msup><mo>↙</mo></mtd> <mtd><mo>⇙</mo></mtd> <mtd><msup><mo>↘</mo> <mpadded width="0"><mi>F</mi></mpadded></msup></mtd></mtr> <mtr><mtd><mpadded width="0"><mrow><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mspace width="negativethinmathspace"></mspace><mo stretchy="false">[</mo><msup><mi>𝒞</mi> <mi>op</mi></msup><mo>,</mo><mi>Set</mi><mo stretchy="false">]</mo></mrow></mpadded></mtd> <mtd></mtd> <mtd><munder><mo>⟶</mo><mover><mi>F</mi><mo>˜</mo></mover></munder></mtd> <mtd></mtd> <mtd><mi>𝒟</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ &amp;&amp; \mathcal{C} \\ &amp; {}^{y}\swarrow &amp;\swArrow&amp; \searrow^{\mathrlap{F}} \\ \mathrlap{ \!\!\!\!\!\!\!\!\!\!\!\!\! [\mathcal{C}^{op}, Set] } &amp;&amp; \underset{ \widetilde F }{\longrightarrow} &amp;&amp; \mathcal{D} } </annotation></semantics></math></div></div> <div class="proof"> <h6 id="proof">Proof</h6> <p>The last condition says that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo>˜</mo></mover></mrow><annotation encoding="application/x-tex">\widetilde F</annotation></semantics></math> is fixed on <a class="existingWikiWord" href="/nlab/show/representable+presheaves">representable presheaves</a>, up to isomorphism, by</p> <div class="maruku-equation" id="eq:YonedaRestriction"><span class="maruku-eq-number">(1)</span><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo>˜</mo></mover><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>≃</mo><mi>F</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> \widetilde F( y(c) ) \simeq F(c) </annotation></semantics></math></div> <p>and in fact <a class="existingWikiWord" href="/nlab/show/natural+isomorphism">naturally</a> so:</p> <div class="maruku-equation" id="eq:FunctorialYonedaRestriction"><span class="maruku-eq-number">(2)</span><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>c</mi> <mn>1</mn></msub></mtd> <mtd></mtd> <mtd><mover><mi>F</mi><mo>˜</mo></mover><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">(</mo><msub><mi>c</mi> <mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd> <mtd><mo>≃</mo></mtd> <mtd><mi>F</mi><mo stretchy="false">(</mo><msub><mi>c</mi> <mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mi>f</mi></mpadded></msup><mo maxsize="1.2em" minsize="1.2em">↓</mo></mtd> <mtd></mtd> <mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow></mpadded></msup><mo maxsize="1.2em" minsize="1.2em">↓</mo></mtd> <mtd></mtd> <mtd><msup><mo maxsize="1.2em" minsize="1.2em">↓</mo> <mpadded width="0"><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><msub><mi>c</mi> <mn>2</mn></msub></mtd> <mtd></mtd> <mtd><mover><mi>F</mi><mo>˜</mo></mover><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">(</mo><msub><mi>c</mi> <mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd> <mtd><mo>≃</mo></mtd> <mtd><mi>F</mi><mo stretchy="false">(</mo><msub><mi>c</mi> <mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ c_1&amp;&amp; \widetilde F( y(c_1) ) &amp;\simeq&amp; F(c_1) \\ {}^{\mathllap{f}}\big\downarrow &amp;&amp; {}^{\mathllap{ F(y(f)) }}\big\downarrow &amp;&amp; \big\downarrow^{\mathrlap{ F(f) }} \\ c_2 &amp;&amp; \widetilde F (y(c_2)) &amp;\simeq&amp; F(c_2) } </annotation></semantics></math></div> <p>But the <a class="existingWikiWord" href="/nlab/show/co-Yoneda+lemma">co-Yoneda lemma</a> expresses every <a class="existingWikiWord" href="/nlab/show/presheaf">presheaf</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>X</mi></mstyle><mo>∈</mo><mo stretchy="false">[</mo><msup><mi>𝒞</mi> <mi>op</mi></msup><mo>,</mo><mi>Set</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbf{X} \in [\mathcal{C}^{op}, Set]</annotation></semantics></math> as a <a class="existingWikiWord" href="/nlab/show/colimit">colimit</a> of <a class="existingWikiWord" href="/nlab/show/representable+presheaves">representable presheaves</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>X</mi></mstyle><mspace width="thickmathspace"></mspace><mo>≃</mo><mspace width="thickmathspace"></mspace><msup><mo>∫</mo> <mrow><mi>c</mi><mo>∈</mo><mi>𝒞</mi></mrow></msup><mi>y</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo>⋅</mo><mstyle mathvariant="bold"><mi>X</mi></mstyle><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \mathbf{X} \;\simeq\; \int^{c \in \mathcal{C}} y(c) \cdot \mathbf{X}(c) \,. </annotation></semantics></math></div> <p>Since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo stretchy="false">˜</mo></mover></mrow><annotation encoding="application/x-tex">\tilde F</annotation></semantics></math> is required to preserve any colimit and hence these particular colimits, <a class="maruku-eqref" href="#eq:YonedaRestriction">(1)</a> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>F</mi><mo>˜</mo></mover></mrow><annotation encoding="application/x-tex">\widetilde F</annotation></semantics></math> is fixed to act, up to isomorphism, as</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><mover><mi>F</mi><mo>˜</mo></mover><mo stretchy="false">(</mo><mstyle mathvariant="bold"><mi>X</mi></mstyle><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><mover><mi>F</mi><mo>˜</mo></mover><mrow><mo>(</mo><msup><mo>∫</mo> <mrow><mi>c</mi><mo>∈</mo><mi>𝒞</mi></mrow></msup><mi>y</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo>⋅</mo><mstyle mathvariant="bold"><mi>X</mi></mstyle><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo>)</mo></mrow></mtd> <mtd><mo>≔</mo><msup><mo>∫</mo> <mrow><mi>c</mi><mo>∈</mo><mi>𝒞</mi></mrow></msup><mi>F</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo>⋅</mo><mstyle mathvariant="bold"><mi>X</mi></mstyle><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mspace width="thickmathspace"></mspace><mspace width="thickmathspace"></mspace><mspace width="thickmathspace"></mspace><mspace width="thickmathspace"></mspace><mo>∈</mo><mi>𝒟</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \begin{aligned} \widetilde F(\mathbf{X}) &amp; = \widetilde F \left( \int^{c \in \mathcal{C}} y(c) \cdot \mathbf{X}(c) \right) &amp; \coloneqq \int^{c \in \mathcal{C}} F(c) \cdot \mathbf{X}(c) \;\;\;\;\in \mathcal{D} \end{aligned} </annotation></semantics></math></div> <p>(where the colimit (a <a class="existingWikiWord" href="/nlab/show/coend">coend</a>) on the right is computed in <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{D}</annotation></semantics></math>!).</p> </div> <h2 id="free_cocompletion_of_large_categories">Free cocompletion of large categories</h2> <p>In general, given a locally small (but possibly large) 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{A}</annotation></semantics></math>, we can define a locally small category of <em>small presheaves</em> on <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{A}</annotation></semantics></math> as the full subcategory of the functor category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Fun</mi><mo stretchy="false">(</mo><msup><mi>𝒜</mi> <mi mathvariant="normal">op</mi></msup><mo>,</mo><mo lspace="0em" rspace="thinmathspace">Set</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Fun(\mathcal{A}^{\mathrm{op}},\operatorname{Set})</annotation></semantics></math> spanned by those functors that are colimits of small diagrams of representables. Equivalently, a <em>small presheaf</em> is a functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>:</mo><msup><mi>𝒜</mi> <mi mathvariant="normal">op</mi></msup><mo>→</mo><mo lspace="0em" rspace="thinmathspace">Set</mo></mrow><annotation encoding="application/x-tex">F:\mathcal{A}^{\mathrm{op}} \to \operatorname{Set}</annotation></semantics></math> such that there exists a functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>γ</mi><mo>:</mo><mi>𝒞</mi><mo>→</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\gamma:\mathcal{C} \to \mathcal{A}</annotation></semantics></math> with <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> small and a presheaf <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>′</mo><mo>:</mo><msup><mi>𝒞</mi> <mi mathvariant="normal">op</mi></msup><mo>→</mo><mo lspace="0em" rspace="thinmathspace">Set</mo></mrow><annotation encoding="application/x-tex">F': \mathcal{C}^{\mathrm{op}}\to \operatorname{Set}</annotation></semantics></math> such that</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><msub><mo lspace="0em" rspace="thinmathspace">Lan</mo> <mi>γ</mi></msub><mi>F</mi><mo>′</mo><mo>.</mo></mrow><annotation encoding="application/x-tex">F=\operatorname{Lan}_{\gamma} F'.</annotation></semantics></math></div> <p>This process of free cocompletion defines a functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math> from the 2-category</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>CAT</mi><mo>=</mo><mo stretchy="false">[</mo><mi>locally</mi><mspace width="thickmathspace"></mspace><mi>small</mi><mspace width="thickmathspace"></mspace><mi>categories</mi><mo>,</mo><mspace width="thickmathspace"></mspace><mi>functors</mi><mo>,</mo><mspace width="thickmathspace"></mspace><mi>natural</mi><mspace width="thickmathspace"></mspace><mi>transformations</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex"> CAT = [locally \; small \; categories, \; functors, \; natural \; transformations ] </annotation></semantics></math></div> <p>to the 2-category</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Cocomp</mi><mo>=</mo><mo stretchy="false">[</mo><mi>locally</mi><mspace width="thickmathspace"></mspace><mi>small</mi><mspace width="thickmathspace"></mspace><mi>cocomplete</mi><mspace width="thickmathspace"></mspace><mi>categories</mi><mo>,</mo><mspace width="thickmathspace"></mspace><mi>cocontinuous</mi><mspace width="thickmathspace"></mspace><mi>functors</mi><mo>,</mo><mi>natural</mi><mspace width="thickmathspace"></mspace><mi>transformations</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex"> Cocomp = [locally \; small \; cocomplete \; categories, \; cocontinuous \; functors, natural \; transformations ] </annotation></semantics></math></div> <p>where, just to be clear, ‘cocomplete’ means having all <em>small</em> colimits, as usual. Moreover, this functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math> is part of a <a class="existingWikiWord" href="/nlab/show/pseudoadjunction">pseudoadjunction</a> where the right adjoint <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mo>:</mo><mi>Cocomp</mi><mo>→</mo><mi>CAT</mi></mrow><annotation encoding="application/x-tex">R: Cocomp \to CAT</annotation></semantics></math> assigns each locally small coccomplete category its underlying category, and so on.</p> <p>In the case where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>𝒜</mi> <mi mathvariant="normal">op</mi></msup></mrow><annotation encoding="application/x-tex">\mathcal{A}^{\mathrm{op}}</annotation></semantics></math> is <a class="existingWikiWord" href="/nlab/show/locally+presentable">locally presentable</a>, the category of small presheaves on <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{A}</annotation></semantics></math> is equivalent to the category of <a class="existingWikiWord" href="/nlab/show/accessible+functors">accessible functors</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>𝒜</mi> <mi mathvariant="normal">op</mi></msup><mo>→</mo><mo lspace="0em" rspace="thinmathspace">Set</mo></mrow><annotation encoding="application/x-tex">\mathcal{A}^{\mathrm{op}}\to \operatorname{Set}</annotation></semantics></math>. In this situation, the category of small functors has many nice properties and is often said to be <em>almost a topos</em>. In particular, under this assumption, the category of small presheaves is complete, cocomplete, and Cartesian-closed.</p> <p>See <a href="#DayLack">Day-Lack</a> for more details on all these matters. They handle the more general case of enriched categories.</p> <h2 id="free_cocompletion_as_a_pseudomonad">Free cocompletion as a pseudomonad</h2> <p><a class="existingWikiWord" href="/nlab/show/David+Corfield">David Corfield</a>: So is this ‘free cocompletion’ part of an adjunction between the category of categories and the category of cocomplete categories (modulo size worries?). Or should we think of it as part of a <a class="existingWikiWord" href="/nlab/show/pseudoadjunction">pseudoadjunction</a> between <em>2-categories</em>? (I would start a page on that, but how are naming conventions going in this area?)</p> <p><a class="existingWikiWord" href="/nlab/show/John+Baez">John Baez</a>: Equations between functors tends to hold only up to natural isomorphism. So, your first guess should not be that there’s an <em>adjunction</em> between the <em>categories</em> <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> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Cocomp</mi></mrow><annotation encoding="application/x-tex">Cocomp</annotation></semantics></math>, but rather, a <em>pseudoadjunction</em> between the <em>2-categories</em> <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> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Cocomp</mi></mrow><annotation encoding="application/x-tex">Cocomp</annotation></semantics></math>.</p> <p>This means there’s a forgetful 2-functor:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>R</mi><mo>:</mo><mi>Cocomp</mi><mo>→</mo><mi>CAT</mi></mrow><annotation encoding="application/x-tex"> R: Cocomp \to CAT </annotation></semantics></math></div> <p>together with a ‘free cocompletion’ 2-functor:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>L</mi><mo>:</mo><mi>CAT</mi><mo>→</mo><mi>Cocomp</mi></mrow><annotation encoding="application/x-tex"> L: CAT \to Cocomp </annotation></semantics></math></div> <p>And, it mean there’s an equivalence of categories</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>hom</mi> <mi>Cocomp</mi></msub><mo stretchy="false">(</mo><mi>F</mi><mi>C</mi><mo>,</mo><mi>D</mi><mo stretchy="false">)</mo><mo>≃</mo><msub><mi>hom</mi> <mi>CAT</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo>,</mo><mi>U</mi><mi>D</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> hom_{Cocomp} (F C, D) \simeq hom_{CAT} (C, U D) </annotation></semantics></math></div> <p>for every <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi><mo>∈</mo><mi>CAT</mi></mrow><annotation encoding="application/x-tex">C \in CAT</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>D</mi><mo>∈</mo><mi>Cocomp</mi></mrow><annotation encoding="application/x-tex">D \in Cocomp</annotation></semantics></math>. And finally, it means that this equivalence is <a class="existingWikiWord" href="/nlab/show/pseudonatural+transformation">pseudonatural</a> as a function 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> 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>.</p> <p>If we have a pseudonatural equivalence of categories</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>hom</mi> <mi>Cocomp</mi></msub><mo stretchy="false">(</mo><mi>F</mi><mi>C</mi><mo>,</mo><mi>D</mi><mo stretchy="false">)</mo><mo>≃</mo><msub><mi>hom</mi> <mi>CAT</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo>,</mo><mi>U</mi><mi>D</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> hom_{Cocomp} (F C, D) \simeq hom_{CAT} (C, U D) </annotation></semantics></math></div> <p>instead of a natural isomorphism of sets, then we say we have a ‘pseudoadjunction’ instead of an adjunction. A pseudoadjunction is the right generalization of adjunction when we go to 2-categories; if we were feeling in a modern mood we might just say ‘adjunction’ and expect people to know we meant ‘pseudo’.</p> <p>The details have been worked out by <a href="#DayLack">Day-Lack</a> in even more generality: they consider enriched categories. Note that the free cocompletion of a <em>small</em> 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> is the category of all 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>, but for a more general <em>locally small</em> category it’s just the category of small presheaves.</p> <p>In <a href="http://www.lacim.uqam.ca/~gambino/species.pdf">their work on species</a>, Fiore, Gambino, Hyland and Winskel confronted the size issues in another way. In one draft of this paper they had a very artful and sophisticated device for dealing with this size problem. In the latest draft they seem to have sidestepped it entirely: you’ll see they discuss the ‘free symmetric monoidal category on a category’ pseudomonad, but never the ‘free cocomplete category on a category’ pseudomonad, even though they <em>do</em> use the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>C</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\widehat{C}</annotation></semantics></math> construction all over the place. Somehow they’ve managed to avoid the need to consider this construction as a pseudomonad!</p> <p>Fiore, Gambino, Hyland and Winskel later exhibited the free cocompletion of a small category as a <a class="existingWikiWord" href="/nlab/show/relative+pseudomonad">relative pseudomonad</a> from the 2-category Cat of small categories into the 2-category CAT of locally-small categories (via the 2-category COC of locally-small cocomplete categories). See <a href="#FGHW">FGHW</a> for more details.</p> <h2 id="in_higher_category_theory">In higher category theory</h2> <p>One can ask for the notion of free cocompletion in the wider context of <a class="existingWikiWord" href="/nlab/show/higher+category+theory">higher category theory</a>.</p> <ul> <li>for <a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-category">(∞,1)-category</a> theory there is <a class="existingWikiWord" href="/nlab/show/free+%28%E2%88%9E%2C1%29-cocompletion">free (∞,1)-cocompletion</a>.</li> </ul> <h2 id="related_concepts">Related concepts</h2> <ul> <li> <p>free cocompletions</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/free+strict+cocompletion">free strict cocompletion</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/free+coproduct+completion">free coproduct completion</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/idempotent+completion">idempotent completion</a>, <a class="existingWikiWord" href="/nlab/show/Karoubi+envelope">Karoubi envelope</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Cauchy+completion">Cauchy completion</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/free+completion">free completion</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/free+bicompletion">free bicompletion</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/conservative+cocompletion">conservative cocompletion</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/ind-object">ind-object</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/sind-object">sind-object</a></p> </li> </ul> <h2 id="references">References</h2> <ul> <li id="DayLack"> <p><a class="existingWikiWord" href="/nlab/show/Brian+Day">Brian Day</a>, <a class="existingWikiWord" href="/nlab/show/Steve+Lack">Steve Lack</a>, <em>Limits of small functors</em> (<a href="https://arxiv.org/abs/math/0610439">web</a>)</p> </li> <li id="FGHW"> <p>Fiore, Gambino, Hyland and Winskel, <em>Relative pseudomonads, Kleisli bicategories, and substitution monoidal structures</em>, (<a href="https://arxiv.org/pdf/1612.03678.pdf">web</a>)</p> </li> <li id="PT"> <p><a class="existingWikiWord" href="/nlab/show/Paolo+Perrone">Paolo Perrone</a>, <a class="existingWikiWord" href="/nlab/show/Walter+Tholen">Walter Tholen</a>, <em>Kan extensions are partial colimits</em>, Applied Categorical Structures, 2022. (<a href="https://arxiv.org/abs/2101.04531">arXiv:2101.04531</a>)</p> </li> </ul> <p>On <a class="existingWikiWord" href="/nlab/show/strict+free+cocompletions">strict free cocompletions</a>:</p> <ul> <li>Erwan Beurier, Dominique Pastor, and René Guitart. <em>Presentations of clusters and strict free-cocompletions</em>. <a class="existingWikiWord" href="/nlab/show/Theory+and+Applications+of+Categories">Theory and Applications of Categories</a> 36.17 (2021): 492-513. (<a href="http://www.tac.mta.ca/tac/volumes/36/17/36-17abs.html">link</a>)</li> </ul> <p>This reference might also give helpful clues:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Daniel+Dugger">Daniel Dugger</a>, <em>Sheaves and Homotopy Theory</em> (<a href="http://www.uoregon.edu/~ddugger/cech.html">web</a>, <a href="http://ncatlab.org/nlab/files/cech.pdf">pdf</a>)</li> </ul> <p>A pedagogical explanation of the universal property of the <a class="existingWikiWord" href="/nlab/show/Yoneda+embedding">Yoneda embedding</a> is given starting on page 7. On page 8 there’s an explanation with lots of pictures how a presheaf is an “instruction for how to build a colimit”. Then on p. 9 the universal morphism that we are looking for here is identified as the one that “takes the instructions for building a colimit and actually <em>builds</em> it”.</p> <p>(This text, by the way, contains various other gems. A pity that it is left unfinished.)</p> <p>An early paper on free completions:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/V%C4%9Bra+Trnkov%C3%A1">Věra Trnková</a>. <em>Limits in categories and limit-preserving functors</em>, Commentationes Mathematicae Universitatis Carolinae 7.1 (1966): 1-73.</li> </ul> </body></html> </div> <div class="revisedby"> <p> Last revised on June 7, 2024 at 06:34:57. See the <a href="/nlab/history/free+cocompletion" 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/free+cocompletion" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/8657/#Item_34">Discuss</a><span class="backintime"><a href="/nlab/revision/free+cocompletion/75" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/diff/free+cocompletion" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Changes from previous revision</a><a href="/nlab/history/free+cocompletion" accesskey="S" class="navlink" id="history" rel="nofollow">History (75 revisions)</a> <a href="/nlab/show/free+cocompletion/cite" style="color: black">Cite</a> <a href="/nlab/print/free+cocompletion" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/free+cocompletion" 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