CINXE.COM
adjunction (changes) 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> adjunction (changes) in nLab </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="robots" content="noindex,nofollow" /> <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> adjunction (changes) </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/diff/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/8578/#Item_31" 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"> <p class="show_diff"> Showing changes from revision #84 to #85: <ins class="diffins">Added</ins> | <del class="diffdel">Removed</del> | <del class="diffmod">Chan</del><ins class="diffmod">ged</ins> </p> <blockquote> <p>This page is about adjunctions in general <a class='existingWikiWord' href='/nlab/show/diff/2-category'>2-categories</a>. Specifically for the common case of adjunctions in <a class='existingWikiWord' href='/nlab/show/diff/Cat'>Cat</a> see at <em><a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functors</a></em>. For the notion of “adjunction of a set to a field” in <a class='existingWikiWord' href='/nlab/show/diff/field+theory'>field theory</a>, see <a class='existingWikiWord' href='/nlab/show/diff/field+extension'>field extension</a>.</p> </blockquote> <div class='rightHandSide'> <div class='toc clickDown' tabindex='0'> <h3 id='context'>Context</h3> <h4 id='2category_theory'>2-Category theory</h4> <div class='hide'> <p><strong><a class='existingWikiWord' href='/nlab/show/diff/2-category+theory'>2-category theory</a></strong></p> <p><strong>Definitions</strong></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/2-category'>2-category</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/strict+2-category'>strict 2-category</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/bicategory'>bicategory</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/enriched+bicategory'>enriched bicategory</a></p> </li> </ul> <p><strong>Transfors between 2-categories</strong></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/2-functor'>2-functor</a></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/pseudofunctor'>pseudofunctor</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/lax+functor'>lax functor</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/equivalence+of+2-categories'>equivalence of 2-categories</a></p> </li> </ul> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/strict+2-natural+transformation'>2-natural transformation</a></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/lax+natural+transformation'>lax natural transformation</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/icon'>icon</a></p> </li> </ul> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/modification'>modification</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/Yoneda+lemma+for+bicategories'>Yoneda lemma for bicategories</a></p> </li> </ul> <p><strong>Morphisms in 2-categories</strong></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/fully+faithful+morphism'>fully faithful morphism</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/faithful+morphism'>faithful morphism</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/conservative+morphism'>conservative morphism</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/pseudomonic+morphism'>pseudomonic morphism</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/discrete+morphism'>discrete morphism</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/eso+morphism'>eso morphism</a></p> </li> </ul> <p><strong>Structures in 2-categories</strong></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/adjunction'>adjunction</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/mate'>mate</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/monad'>monad</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/cartesian+object'>cartesian object</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/fibration+in+a+2-category'>fibration in a 2-category</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/codiscrete+cofibration'>codiscrete cofibration</a></p> </li> </ul> <p><strong>Limits in 2-categories</strong></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/2-limit'>2-limit</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/2-pullback'>2-pullback</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/comma+object'>comma object</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/inserter'>inserter</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/inverter'>inverter</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/equifier'>equifier</a></p> </li> </ul> <p><strong>Structures on 2-categories</strong></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/2-monad'>2-monad</a></p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/lax-idempotent+2-monad'>lax-idempotent 2-monad</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/2-monad'>pseudomonad</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/pseudoalgebra+for+a+2-monad'>pseudoalgebra for a 2-monad</a></p> </li> </ul> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/monoidal+bicategory'>monoidal 2-category</a></p> <ul> <li><a class='existingWikiWord' href='/nlab/show/diff/cartesian+bicategory'>cartesian bicategory</a></li> </ul> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/Gray+tensor+product'>Gray tensor product</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/2-category+equipped+with+proarrows'>proarrow equipment</a></p> </li> </ul> </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><li><a href='#properties'>Properties</a><ul><li><a href='#relation_to_monads'>Relation to monads</a></li></ul></li><li><a href='#examples'>Examples</a><ul><li><a href='#AdjointFunctors'>Adjoint functors</a></li><li><a href='#enriched_adjoint_functors'>Enriched adjoint functors</a></li><li><a href='#AdjointInfinityOneFunctors'>Adjoint <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_1' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo stretchy='false'>(</mo><mn>∞</mn><mo>,</mo><mn>1</mn><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>(\infty,1)</annotation></semantics></math>-functors</a></li></ul></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 <a class='existingWikiWord' href='/nlab/show/diff/pair'>pair</a> of <a class='existingWikiWord' href='/nlab/show/diff/1-morphism'>1-morphisms</a> in a <a class='existingWikiWord' href='/nlab/show/diff/2-category'>2-category</a> form an <strong>adjunction</strong> if they are <strong>dual</strong> to each other (<a href='#Lambek82'>Lambek (1982)</a>, cf. <a href='geometry+of+physics+--+categories+and+toposes#CategoryTheoryIsTheoryOfDuality'>here</a>) in a precise sense.</p> <p>There are two archetypical classes of examples:</p> <ul> <li> <p>If <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_2' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> is a <a class='existingWikiWord' href='/nlab/show/diff/monoidal+category'>monoidal category</a> and <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_3' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mstyle mathvariant='bold'><mi>B</mi></mstyle><mi>A</mi></mrow><annotation encoding='application/x-tex'>\mathbf{B}A</annotation></semantics></math> denotes the <a class='existingWikiWord' href='/nlab/show/diff/singleton'>one-</a><a class='existingWikiWord' href='/nlab/show/diff/object'>object</a> 2-category whose single <a class='existingWikiWord' href='/nlab/show/diff/hom-category'>hom-category</a> is <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_4' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> (the <a class='existingWikiWord' href='/nlab/show/diff/delooping'>delooping</a> of <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_5' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math>), then the notion of adjoint morphisms in <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_6' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mstyle mathvariant='bold'><mi>B</mi></mstyle><mi>A</mi></mrow><annotation encoding='application/x-tex'>\mathbf{B}A</annotation></semantics></math> coincides precisely with the notion of <a class='existingWikiWord' href='/nlab/show/diff/dualizable+object'>dual objects</a> in <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_7' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math>, subsuming, in turn, classical examples such as <a class='existingWikiWord' href='/nlab/show/diff/dual+vector+space'>dual vector spaces</a> in the case that <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_8' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi><mo>=</mo></mrow><annotation encoding='application/x-tex'>A = </annotation></semantics></math> <a class='existingWikiWord' href='/nlab/show/diff/FinDimVect'>FinDimVect</a>.</p> </li> <li> <p>Adjunctions in the <a class='existingWikiWord' href='/nlab/show/diff/2-category'>2-category</a> <a class='existingWikiWord' href='/nlab/show/diff/Cat'>Cat</a> of <a class='existingWikiWord' href='/nlab/show/diff/category'>categories</a> are <em><a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functors</a></em>.</p> <ul> <li> <p>Notice that essentially everything that makes <a class='existingWikiWord' href='/nlab/show/diff/category+theory'>category theory</a> nontrivial and interesting, beyond <a class='existingWikiWord' href='/nlab/show/diff/groupoid'>groupoid</a>-theory, is governed by the concept of <a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functors</a>. In particular <a class='existingWikiWord' href='/nlab/show/diff/universal+construction'>universal constructions</a> such as <a class='existingWikiWord' href='/nlab/show/diff/limit'>limits and colimits</a>, <a class='existingWikiWord' href='/nlab/show/diff/Kan+extension'>Kan extensions</a>, (<a class='existingWikiWord' href='/nlab/show/diff/end'>co</a>)<a class='existingWikiWord' href='/nlab/show/diff/end'>ends</a> are examples of adjunctions in <a class='existingWikiWord' href='/nlab/show/diff/Cat'>Cat</a>.</p> </li> <li> <p>Similarly, for <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_9' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>V</mi></mrow><annotation encoding='application/x-tex'>V</annotation></semantics></math> any <a class='existingWikiWord' href='/nlab/show/diff/cosmos'>cosmos for enrichment</a>, adjunctions in the 2-category <a class='existingWikiWord' href='/nlab/show/diff/category+of+V-enriched+categories'>VCat</a> of <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_10' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>V</mi></mrow><annotation encoding='application/x-tex'>V</annotation></semantics></math>-<a class='existingWikiWord' href='/nlab/show/diff/enriched+category'>enriched categories</a> are equivalently <a class='existingWikiWord' href='/nlab/show/diff/enriched+adjoint+functor'>enriched adjoint functors</a>. Already in simple cases such <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_11' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>V</mi><mo>=</mo></mrow><annotation encoding='application/x-tex'>V = </annotation></semantics></math> <a class='existingWikiWord' href='/nlab/show/diff/truth+value'>truth values</a> this subsumes classical concepts such as that of <a class='existingWikiWord' href='/nlab/show/diff/Galois+connection'>Galois connections</a>.</p> </li> <li> <p>Remarkably, even adjunctions in the <a class='existingWikiWord' href='/nlab/show/diff/homotopy+2-category'>homotopy 2-category</a> of <a class='existingWikiWord' href='/nlab/show/diff/%28infinity%2C1%29-category'>$(\infty,1)$-categories</a> are equivalent to <a class='existingWikiWord' href='/nlab/show/diff/adjoint+%28infinity%2C1%29-functor'>adjoint $\infty$-functors</a>, see the examples <a href='#AdjointInfinityOneFunctors'>below</a>.</p> </li> </ul> <p>These classes of examples make adjunctions a key notion in <em><a class='existingWikiWord' href='/nlab/show/diff/formal+category+theory'>formal category theory</a></em>.</p> </li> </ul> <p>Finally, the notion of <em>adjunction</em> may usefully be thought of as a generalization of the notion of <em><a class='existingWikiWord' href='/nlab/show/diff/equivalence+in+a+2-category'>equivalence in a 2-category</a></em>: an adjoint <a class='existingWikiWord' href='/nlab/show/diff/1-morphism'>1-morphism</a> need not be <a class='existingWikiWord' href='/nlab/show/diff/inverse'>invertible</a> (even up to <a class='existingWikiWord' href='/nlab/show/diff/2-isomorphism'>2-isomorphism</a>) but it does have, in a precise sense, <em>a left inverse from below</em> or <em>a right inverse from above</em>.</p> <p>If an adjoint 1-morphisms happens to be a genuine <a class='existingWikiWord' href='/nlab/show/diff/equivalence+in+a+2-category'>equivalence in a 2-category</a>, then the adjunction is called an <em><a class='existingWikiWord' href='/nlab/show/diff/adjoint+equivalence'>adjoint equivalence</a></em>.</p> <h2 id='Definition'>Definition</h2> <p>\begin{defn} \label{DefinitionAdjunction} An <em>adjunction</em> in a <a class='existingWikiWord' href='/nlab/show/diff/2-category'>2-category</a> is</p> <ul> <li> <p>a <a class='existingWikiWord' href='/nlab/show/diff/pair'>pair</a> of <a class='existingWikiWord' href='/nlab/show/diff/object'>objects</a> <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_12' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>C</mi></mrow><annotation encoding='application/x-tex'>C</annotation></semantics></math> and <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_13' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>D</mi></mrow><annotation encoding='application/x-tex'>D</annotation></semantics></math></p> </li> <li> <p>a <a class='existingWikiWord' href='/nlab/show/diff/pair'>pair</a> of <a class='existingWikiWord' href='/nlab/show/diff/1-morphism'>1-morphisms</a></p> <p><math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_14' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>L</mi><mo lspace='verythinmathspace'>:</mo><mi>C</mi><mo>⟶</mo><mi>D</mi></mrow><annotation encoding='application/x-tex'>L \colon C \longrightarrow D</annotation></semantics></math> (the <em><a class='existingWikiWord' href='/nlab/show/diff/left+adjoint'>left adjoint</a></em>)</p> <p><math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_15' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>R</mi><mo lspace='verythinmathspace'>:</mo><mi>D</mi><mo>⟶</mo><mi>C</mi></mrow><annotation encoding='application/x-tex'>R \colon D \longrightarrow C</annotation></semantics></math> (the <em><a class='existingWikiWord' href='/nlab/show/diff/right+adjoint'>right adjoint</a></em>)</p> </li> <li> <p>a <a class='existingWikiWord' href='/nlab/show/diff/pair'>pair</a> of <a class='existingWikiWord' href='/nlab/show/diff/2-morphism'>2-morphisms</a></p> <p><math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_16' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>η</mi><mo lspace='verythinmathspace'>:</mo><msub><mn>1</mn> <mi>C</mi></msub><mo>⟶</mo><mi>R</mi><mo>∘</mo><mi>L</mi></mrow><annotation encoding='application/x-tex'>\eta \colon 1_C \longrightarrow R \circ L</annotation></semantics></math> (the <em><a class='existingWikiWord' href='/nlab/show/diff/unit+of+an+adjunction'>adjunction unit</a></em>)</p> <p><math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_17' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>ϵ</mi><mo lspace='verythinmathspace'>:</mo><mi>L</mi><mo>∘</mo><mi>R</mi><mo>⟶</mo><msub><mn>1</mn> <mi>D</mi></msub></mrow><annotation encoding='application/x-tex'>\epsilon \colon L \circ R \longrightarrow 1_D</annotation></semantics></math> (the <em><a class='existingWikiWord' href='/nlab/show/diff/unit+of+an+adjunction'>adjunction counit</a></em>)</p> </li> </ul> <p>such that the following equivalent conditions hold:</p> <ul> <li><strong><a class='existingWikiWord' href='/nlab/show/diff/triangle+identities'>triangle identity</a></strong> the following <a class='existingWikiWord' href='/nlab/show/diff/commutative+diagram'>diagrams commute</a> in the <a class='existingWikiWord' href='/nlab/show/diff/hom-category'>hom-categories</a> (where “<math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_18' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>⋅</mo></mrow><annotation encoding='application/x-tex'>\cdot</annotation></semantics></math>” denotes <a class='existingWikiWord' href='/nlab/show/diff/whiskering'>whiskering</a>):</li> </ul> <p>\begin{centre} \begin{tikzcd} L \ar[r, L \cdot \eta] \ar[dr, swap, \mathrm{id}] & L \circ R \circ L \ar[d, \epsilon \cdot L] \ & L \end{tikzcd} \end{centre}</p> <p>\begin{centre} \begin{tikzcd} R \ar[r, \eta \cdot R] \ar[dr, swap, id] & R \circ L \circ R \ar[d, R \cdot \epsilon] \ & R \end{tikzcd} \end{centre}</p> <ul> <li><strong><a class='existingWikiWord' href='/nlab/show/diff/triangle+identities'>zig-zag law</a></strong> the following <a class='existingWikiWord' href='/nlab/show/diff/equality'>equality</a> of <a class='existingWikiWord' href='/nlab/show/diff/2-morphism'>2-morphisms</a>:</li> </ul> <p>\begin{tikzcd}[row sep=10pt] C \ar[rr, bend left=40, {\mathrm{id}}, {\ }{name=s1, swap}] \ar[r, L{description}, {\ }{name=t1, pos=.9}] \ar[from=s1, to=t1, Rightarrow, { \eta }{swap}] & D \ar[rr, bend right=40, {\mathrm{id}}{swap}, {\ }{name=t2}] \ar[r, R{description}] & C \ar[r, L{description}, {\ }{swap, name=s2, pos=.1}] \ar[from=s2, to=t2, Rightarrow, { \epsilon }]<br /> & D &=& C \ar[r, bend left=40, {L}, {\ }{name=s3, swap}] \ar[r, bend right=40, {L}{swap}, {\ }{name=t3}] \ar[from=s3, to=t3, Rightarrow, {\mathrm{id}}] & D \end{tikzcd}</p> <p>\begin{tikzcd}[row sep=10pt] D \ar[rr, bend right=40, {\mathrm{id}}{swap}, {\ }{name=s1}] \ar[r, R{description}, {\ }{name=t1, pos=.9, swap}] \ar[from=t1, to=s1, Rightarrow, { \epsilon }{swap, pos=.3}] & C \ar[rr, bend left=40, {\mathrm{id}}, {\ }{name=t2, swap}] \ar[r, L{description}] & D \ar[r, R{description}, {\ }{name=s2, pos=.1}] \ar[from=t2, to=s2, Rightarrow, { \eta }{pos=.8}]<br /> & C &=& D \ar[r, bend left=40, {R}, {\ }{name=s3, swap}] \ar[r, bend right=40, {R}{swap}, {\ }{name=t3}] \ar[from=s3, to=t3, Rightarrow, {\mathrm{id}}] & C \end{tikzcd}</p> <p id='InTermsOfStringDiagrams'> In terms of <a class='existingWikiWord' href='/nlab/show/diff/string+diagram'>string diagrams</a> the above data entering the definition looks like</p> <p><img alt='String diagram for a left adjoint (for 'Adjunction')' src='/nlab/files/adjunction-L.png' /> <img alt='String diagram of a right adjoint (for 'Adjunction')' src='/nlab/files/adjunction-R.png' /> <img alt='String diagram of an adjunction unit (for 'Adjunction')' src='/nlab/files/adjunction-unit.png' /> <img alt='String diagram of an adjunction co-unit (for 'Adjunction')' src='/nlab/files/adjunction-co-unit.png' /></p> <p>(where 1-cells read from right to left and 2-cells from bottom to top), and the <a class='existingWikiWord' href='/nlab/show/diff/triangle+identities'>zig-zag identities</a> appear as moves “pulling zigzags straight” (hence the name):</p> <p><img alt='String diagram of first zigzag identity (for 'Adjunction')' src='/nlab/files/adjunction-up-string.png' /> <img alt='' src='/nlab/files/adjunction-down-string.png' /></p> <p>Often, arrows on strings are used to distinguish <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_19' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>L</mi></mrow><annotation encoding='application/x-tex'>L</annotation></semantics></math> and <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_20' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>R</mi></mrow><annotation encoding='application/x-tex'>R</annotation></semantics></math>, and most or all other labels are left implicit; so the zigzag identities, for instance, become:</p> <p><img alt='Minimal string diagram of first zigzag identity (for 'Adjunction')' src='/nlab/files/adjunction-up-string-minimal.png' /> <img alt='Minimal string diagram of second zigzag identity (for 'Adjunction')' src='/nlab/files/adjunction-down-string-minimal.png' /></p> <p>\end{defn}</p> <h2 id='properties'>Properties</h2> <h3 id='relation_to_monads'>Relation to monads</h3> <p>See at <em><a href='monad#RelationBetweenAdjunctionsAndMonads'>monad – Relation between adjunctions and monads</a></em>.</p> <h2 id='examples'>Examples</h2> <h3 id='AdjointFunctors'>Adjoint functors</h3> <p>\begin{proposition}\label{AdjunctionsInCatAreAdjointFunctors} An adjunction in the 2-category <a class='existingWikiWord' href='/nlab/show/diff/Cat'>Cat</a> of <a class='existingWikiWord' href='/nlab/show/diff/category'>categories</a>, <a class='existingWikiWord' href='/nlab/show/diff/functor'>functors</a> and <a class='existingWikiWord' href='/nlab/show/diff/natural+transformation'>natural transformations</a> is equivalently a pair of <a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functors</a>. \end{proposition} See also the proof <a href='adjoint+functor#AdjointnessInTermsOfHomIsomorphismEquivalentToAdjunctionInCat'>here</a> at <em><a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functor</a></em>. \begin{proof} Suppose given functors <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_21' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>L</mi><mspace width='thinmathspace' /><mo lspace='verythinmathspace'>:</mo><mspace width='thinmathspace' /><mi>C</mi><mo>→</mo><mi>D</mi></mrow><annotation encoding='application/x-tex'>L \,\colon\, C \to D</annotation></semantics></math>, <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_22' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>R</mi><mo>:</mo><mi>D</mi><mo>→</mo><mi>C</mi></mrow><annotation encoding='application/x-tex'>R: D \to C</annotation></semantics></math> and the structure of a pair of <a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functors</a> in the form of a natural isomorphism of <a class='existingWikiWord' href='/nlab/show/diff/hom-set'>hom-sets</a> (<a href='adjoint+functor#InTermsOfHomIsomorphism'>here</a>)</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_23' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>d</mi></mrow></msub><mspace width='thickmathspace' /><mo lspace='verythinmathspace'>:</mo><mspace width='thickmathspace' /><msub><mi>hom</mi> <mi>D</mi></msub><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi><mo stretchy='false'>)</mo><mo>≅</mo><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy='false'>(</mo><mi>c</mi><mo>,</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'> \Psi_{c, d} \;\colon\; \hom_D(L(c), d) \cong \hom_C(c, R(d)) </annotation></semantics></math></div> <p>Now the idea is that, in the spirit of the (proof of the) <a class='existingWikiWord' href='/nlab/show/diff/Yoneda+lemma'>Yoneda lemma</a>, we would like <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_24' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>Ψ</mi></mrow><annotation encoding='application/x-tex'>\Psi</annotation></semantics></math> to be determined by what it does to <a class='existingWikiWord' href='/nlab/show/diff/identity+morphism'>identity morphisms</a>. With that in mind, define the <a class='existingWikiWord' href='/nlab/show/diff/unit+of+an+adjunction'>adjunction unit</a> <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_25' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>η</mi><mo lspace='verythinmathspace'>:</mo><msub><mn>1</mn> <mi>C</mi></msub><mo>→</mo><mi>R</mi><mi>L</mi></mrow><annotation encoding='application/x-tex'>\eta \colon 1_C \to R L</annotation></semantics></math> by the formula <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_26' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>η</mi> <mi>c</mi></msub><mo>=</mo><msub><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo></mrow></msub><mo stretchy='false'>(</mo><msub><mn>1</mn> <mrow><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo></mrow></msub><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\eta_c = \Psi_{c, L(c)}(1_{L(c)})</annotation></semantics></math>. Dually, define the counit <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_27' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>ε</mi><mspace width='thinmathspace' /><mo lspace='verythinmathspace'>:</mo><mspace width='thinmathspace' /><mi>L</mi><mi>R</mi><mo>→</mo><msub><mn>1</mn> <mi>D</mi></msub></mrow><annotation encoding='application/x-tex'>\varepsilon \,\colon\, L R \to 1_D</annotation></semantics></math> by the formula</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_28' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>ε</mi> <mi>d</mi></msub><mspace width='thinmathspace' /><mo>≔</mo><mspace width='thinmathspace' /><msubsup><mi>Ψ</mi> <mrow><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup><mo stretchy='false'>(</mo><msub><mn>1</mn> <mrow><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo></mrow></msub><mo stretchy='false'>)</mo><mspace width='thinmathspace' /><mo>.</mo></mrow><annotation encoding='application/x-tex'> \varepsilon_d \,\coloneqq\, \Psi^{-1}_{R(d), d}(1_{R(d)}) \,. </annotation></semantics></math></div> <p>Then given <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_29' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>g</mi><mspace width='thinmathspace' /><mo lspace='verythinmathspace'>:</mo><mspace width='thinmathspace' /><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mo>→</mo><mi>d</mi></mrow><annotation encoding='application/x-tex'>g \,\colon\, L(c) \to d</annotation></semantics></math>, the claim is that</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_30' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>d</mi></mrow></msub><mo stretchy='false'>(</mo><mi>g</mi><mo stretchy='false'>)</mo><mspace width='thinmathspace' /><mo>=</mo><mspace width='thinmathspace' /><mo stretchy='false'>(</mo><mi>c</mi><mover><mo>→</mo><mrow><msub><mi>η</mi> <mi>c</mi></msub></mrow></mover><mi>R</mi><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mover><mo>→</mo><mrow><mi>R</mi><mo stretchy='false'>(</mo><mi>g</mi><mo stretchy='false'>)</mo></mrow></mover><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mspace width='thinmathspace' /><mo>.</mo></mrow><annotation encoding='application/x-tex'> \Psi_{c, d}(g) \,=\, (c \stackrel{\eta_c}{\to} R(L(c)) \stackrel{R(g)}{\to} R(d)) \,. </annotation></semantics></math></div> <p>This may be left as an exercise in the yoga of the Yoneda lemma, applied to <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_31' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>hom</mi> <mi>D</mi></msub><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mo>,</mo><mo lspace='verythinmathspace' rspace='0em'>−</mo><mo stretchy='false'>)</mo><mo>→</mo><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy='false'>(</mo><mi>c</mi><mo>,</mo><mi>R</mi><mo stretchy='false'>(</mo><mo lspace='verythinmathspace' rspace='0em'>−</mo><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\hom_D(L(c), -) \to \hom_C(c, R(-))</annotation></semantics></math>. By <a class='existingWikiWord' href='/nlab/show/diff/duality'>formal duality</a>, given <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_32' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>f</mi><mspace width='thinmathspace' /><mo lspace='verythinmathspace'>:</mo><mspace width='thinmathspace' /><mi>c</mi><mo>→</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>f \,\colon\, c \to R(d)</annotation></semantics></math>,</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_33' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msubsup><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup><mo stretchy='false'>(</mo><mi>f</mi><mo stretchy='false'>)</mo><mo>=</mo><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mover><mo>→</mo><mrow><mi>L</mi><mo stretchy='false'>(</mo><mi>f</mi><mo stretchy='false'>)</mo></mrow></mover><mi>L</mi><mo stretchy='false'>(</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mover><mo>→</mo><mrow><msub><mi>ε</mi> <mi>d</mi></msub></mrow></mover><mi>d</mi><mo stretchy='false'>)</mo><mspace width='thinmathspace' /><mo>.</mo></mrow><annotation encoding='application/x-tex'> \Psi^{-1}_{c, d}(f) = (L(c) \stackrel{L(f)}{\to} L(R(d)) \stackrel{\varepsilon_d}{\to} d) \,. </annotation></semantics></math></div> <p>(We spell out the Yoneda-lemma proof of this dual form <a href='#YonedaLemmaArgument'>below</a>.)</p> <p>Finally, these operations should obviously be mutually inverse, but that can again be entirely encapsulated Yoneda-wise in terms of the effect on identity maps. Thus, if <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_34' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>η</mi> <mi>c</mi></msub><mo>≔</mo><msub><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo></mrow></msub><mo stretchy='false'>(</mo><msub><mn>1</mn> <mrow><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo></mrow></msub><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\eta_c \coloneqq \Psi_{c, L(c)}(1_{L(c)})</annotation></semantics></math>, via the recipe just given for <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_35' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msup><mi>Ψ</mi> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding='application/x-tex'>\Psi^{-1}</annotation></semantics></math> we recover</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_36' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mn>1</mn> <mrow><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo></mrow></msub><mo>=</mo><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mover><mo>→</mo><mrow><mi>L</mi><mo stretchy='false'>(</mo><msub><mi>η</mi> <mi>c</mi></msub><mo stretchy='false'>)</mo></mrow></mover><mi>L</mi><mi>R</mi><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mover><mo>→</mo><mrow><msub><mi>ε</mi> <mrow><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo></mrow></msub></mrow></mover><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>1_{L(c)} = (L(c) \stackrel{L(\eta_c)}{\to} L R L(c) \stackrel{\varepsilon_{L(c)}}{\to} L(c))</annotation></semantics></math></div> <p>and this is one of the famous <a class='existingWikiWord' href='/nlab/show/diff/triangle+identities'>triangle identities</a>: <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_37' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mn>1</mn> <mi>L</mi></msub><mo>=</mo><mo stretchy='false'>(</mo><mi>L</mi><mover><mo>→</mo><mrow><mi>L</mi><mi>η</mi></mrow></mover><mi>L</mi><mi>R</mi><mi>L</mi><mover><mo>→</mo><mrow><mi>ε</mi><mi>L</mi></mrow></mover><mi>L</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>1_L = (L \stackrel{L \eta}{\to} L R L \stackrel{\varepsilon L}{\to} L)</annotation></semantics></math>. Here, juxtaposition of functors and natural transformations denotes neither functor application, nor vertical composition, nor horizontal composition, but <a class='existingWikiWord' href='/nlab/show/diff/whiskering'>whiskering</a>. By duality, we have the other <a class='existingWikiWord' href='/nlab/show/diff/triangle+identities'>triangle identity</a> <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_38' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mn>1</mn> <mi>R</mi></msub><mo>=</mo><mo stretchy='false'>(</mo><mi>R</mi><mover><mo>→</mo><mrow><mi>η</mi><mi>R</mi></mrow></mover><mi>R</mi><mi>L</mi><mi>R</mi><mover><mo>→</mo><mrow><mi>R</mi><mi>ε</mi></mrow></mover><mi>R</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>1_R = (R \stackrel{\eta R}{\to} R L R \stackrel{R \varepsilon}{\to} R)</annotation></semantics></math>. These two triangular equations are enough to guarantee that the recipes for <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_39' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>Ψ</mi></mrow><annotation encoding='application/x-tex'>\Psi</annotation></semantics></math> and <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_40' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msup><mi>Ψ</mi> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding='application/x-tex'>\Psi^{-1}</annotation></semantics></math> indeed yield mutual inverses.</p> <p>In conclusion it is perfectly sufficient to define an adjoint pair of functors in <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_41' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>Cat</mi></mrow><annotation encoding='application/x-tex'>Cat</annotation></semantics></math> as given by unit and counit transformations <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_42' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>η</mi><mo>:</mo><msub><mn>1</mn> <mi>C</mi></msub><mo>→</mo><mi>R</mi><mi>L</mi></mrow><annotation encoding='application/x-tex'>\eta: 1_C \to R L</annotation></semantics></math>, <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_43' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>ε</mi><mo>:</mo><mi>L</mi><mi>R</mi><mo>→</mo><msub><mn>1</mn> <mi>D</mi></msub></mrow><annotation encoding='application/x-tex'>\varepsilon: L R \to 1_D</annotation></semantics></math>, satisfying the triangle identities above. \end{proof}</p> <p>\begin{remark} The definition of adjunctions via <a class='existingWikiWord' href='/nlab/show/diff/unit+of+an+adjunction'>units</a> and <a class='existingWikiWord' href='/nlab/show/diff/unit+of+an+adjunction'>counits</a> is an “elementary” definition (so that by implication, the formulation in terms of hom-isomorphismsunctor#InTermsOfHomIsomorphism) is not elementary) in the sense that while the <a class='existingWikiWord' href='/nlab/show/diff/hom-functor'>hom-functor</a> formulation relies on some notion of <a class='existingWikiWord' href='/nlab/show/diff/hom-set'>hom-*set*</a>, the formulation in terms of units and counits is purely in the <a class='existingWikiWord' href='/nlab/show/diff/predicate+logic'>first-order</a> <a class='existingWikiWord' href='/nlab/show/diff/language'>language</a> of <a class='existingWikiWord' href='/nlab/show/diff/category'>categories</a> and makes no reference to a model of <a class='existingWikiWord' href='/nlab/show/diff/set+theory'>set theory</a>. The definition via (co)units therefore gives us a definition of adjunctions even if an assumption of <a class='existingWikiWord' href='/nlab/show/diff/locally+small+category'>local smallness</a> is not made. \end{remark}</p> <p>\begin{proof}\label{YonedaLemmaArgument} <strong>(Yoneda-lemma argument)</strong> \linebreak We claim that <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_44' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msubsup><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup><mspace width='thinmathspace' /><mo lspace='verythinmathspace'>:</mo><mspace width='thinmathspace' /><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy='false'>(</mo><mi>c</mi><mo>,</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mo>→</mo><msub><mi>hom</mi> <mi>D</mi></msub><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\Psi^{-1}_{c, d} \,\colon\, \hom_C(c, R(d)) \to \hom_D(L(c), d)</annotation></semantics></math> can be defined by the formula</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_45' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msubsup><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup><mo stretchy='false'>(</mo><mi>f</mi><mo>:</mo><mi>c</mi><mo>→</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mo>=</mo><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mover><mo>→</mo><mrow><mi>L</mi><mo stretchy='false'>(</mo><mi>f</mi><mo stretchy='false'>)</mo></mrow></mover><mi>L</mi><mo stretchy='false'>(</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mover><mo>→</mo><mrow><msub><mi>ε</mi> <mi>d</mi></msub></mrow></mover><mi>d</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\Psi^{-1}_{c, d}(f: c \to R(d)) = (L(c) \stackrel{L(f)}{\to} L(R(d)) \stackrel{\varepsilon_d}{\to} d)</annotation></semantics></math></div> <p>where <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_46' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>ε</mi> <mi>d</mi></msub><mo>≔</mo><msubsup><mi>Ψ</mi> <mrow><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup><mo stretchy='false'>(</mo><msub><mn>1</mn> <mrow><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo></mrow></msub><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\varepsilon_d \coloneqq \Psi^{-1}_{R(d), d}(1_{R(d)})</annotation></semantics></math>. This is by appeal to the proof of the Yoneda lemma applied to the transformation</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_47' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msubsup><mi>Ψ</mi> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup><mo>:</mo><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy='false'>(</mo><mo lspace='verythinmathspace' rspace='0em'>−</mo><mo>,</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mo>→</mo><msub><mi>hom</mi> <mi>D</mi></msub><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mo lspace='verythinmathspace' rspace='0em'>−</mo><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\Psi^{-1}_{-, d}: \hom_C(-, R(d)) \to \hom_D(L(-), d)</annotation></semantics></math></div> <p>For the naturality of <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_48' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msup><mi>Ψ</mi> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding='application/x-tex'>\Psi^{-1}</annotation></semantics></math> in the argument <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_49' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo stretchy='false'>(</mo><mo lspace='verythinmathspace' rspace='0em'>−</mo><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>(-)</annotation></semantics></math> would imply that given <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_50' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>f</mi><mo>:</mo><mi>c</mi><mo>→</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>f: c \to R(d)</annotation></semantics></math>, we have a commutative square</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_51' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy='false'>(</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo>,</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo></mtd> <mtd><mover><mo>→</mo><mrow><msubsup><mi>Ψ</mi> <mrow><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup></mrow></mover></mtd> <mtd><msub><mi>hom</mi> <mi>D</mi></msub><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi><mo stretchy='false'>)</mo></mtd></mtr> <mtr><mtd><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy='false'>(</mo><mi>f</mi><mo>,</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mo maxsize='1.2em' minsize='1.2em'>↓</mo></mtd> <mtd /> <mtd><mo maxsize='1.2em' minsize='1.2em'>↓</mo><msub><mi>hom</mi> <mi>D</mi></msub><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>f</mi><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi><mo stretchy='false'>)</mo></mtd></mtr> <mtr><mtd><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy='false'>(</mo><mi>c</mi><mo>,</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo></mtd> <mtd><munder><mo>→</mo><mrow><msubsup><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup></mrow></munder></mtd> <mtd><msub><mi>hom</mi> <mi>D</mi></msub><mo stretchy='false'>(</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>c</mi><mo stretchy='false'>)</mo><mo>,</mo><mi>d</mi><mo stretchy='false'>)</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\array{ \hom_C(R(d), R(d)) & \stackrel{\Psi^{-1}_{R(d), d}}{\to} & \hom_D(L(R(d)), d) \\ \hom_C(f, R(d)) \big\downarrow & & \big\downarrow \hom_D(L(f), d) \\ \hom_C(c, R(d)) & \underset{\Psi^{-1}_{c, d}}{\to} & \hom_D(L(c), d) } </annotation></semantics></math></div> <p>Chasing the element <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_52' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mn>1</mn> <mrow><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>1_{R(d)}</annotation></semantics></math> down and then across, we get <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_53' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>f</mi><mo>:</mo><mi>c</mi><mo>→</mo><mi>R</mi><mo stretchy='false'>(</mo><mi>d</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>f: c \to R(d)</annotation></semantics></math> and then <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_54' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msubsup><mi>Ψ</mi> <mrow><mi>c</mi><mo>,</mo><mi>d</mi></mrow> <mrow><mo lspace='verythinmathspace' rspace='0em'>−</mo><mn>1</mn></mrow></msubsup><mo stretchy='false'>(</mo><mi>f</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\Psi^{-1}_{c, d}(f)</annotation></semantics></math>. Chasing across and then down, we get <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_55' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>ε</mi> <mi>d</mi></msub></mrow><annotation encoding='application/x-tex'>\varepsilon_d</annotation></semantics></math> and then <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_56' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>ε</mi> <mi>d</mi></msub><mo>∘</mo><mi>L</mi><mo stretchy='false'>(</mo><mi>f</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\varepsilon_d \circ L(f)</annotation></semantics></math>. This completes the verification of the claim. \end{proof}</p> <p>\begin{corollary} An adjunction in its <a class='existingWikiWord' href='/nlab/show/diff/core+groupoid'>core</a> <a class='existingWikiWord' href='/nlab/show/diff/2-groupoid'>2-groupoid</a> <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_57' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>Core</mi><mo stretchy='false'>(</mo><mi>Cat</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>Core(Cat)</annotation></semantics></math> is an <a class='existingWikiWord' href='/nlab/show/diff/adjoint+equivalence'>adjoint equivalence</a>. \end{corollary}</p> <h3 id='enriched_adjoint_functors'>Enriched adjoint functors</h3> <p>Similarly one sees: \begin{example}\label{EnrichedAdjointFunctors} For <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_58' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>V</mi></mrow><annotation encoding='application/x-tex'>V</annotation></semantics></math> a <a class='existingWikiWord' href='/nlab/show/diff/cosmos'>cosmos for enrichment</a>, an adjunction in the <a class='existingWikiWord' href='/nlab/show/diff/2-category'>2-category</a> <a class='existingWikiWord' href='/nlab/show/diff/category+of+V-enriched+categories'>VCat</a> of <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_59' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>V</mi></mrow><annotation encoding='application/x-tex'>V</annotation></semantics></math>-<a class='existingWikiWord' href='/nlab/show/diff/enriched+category'>enriched categories</a> is equivalently a pair <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_60' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>V</mi></mrow><annotation encoding='application/x-tex'>V</annotation></semantics></math>-<a class='existingWikiWord' href='/nlab/show/diff/enriched+functor'>enriched functors</a>. \end{example}</p> <p>\begin{example} Let <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_61' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>U</mi><mspace width='thinmathspace' /><mo lspace='verythinmathspace'>:</mo><mspace width='thinmathspace' /><mi>Grp</mi><mo>→</mo><mi>Set</mi></mrow><annotation encoding='application/x-tex'>U \,\colon\, Grp \to Set</annotation></semantics></math> from <a class='existingWikiWord' href='/nlab/show/diff/Grp'>Grp</a> to <a class='existingWikiWord' href='/nlab/show/diff/Set'>Set</a> denote the usual <a class='existingWikiWord' href='/nlab/show/diff/forgetful+functor'>forgetful functor</a> from <a class='existingWikiWord' href='/nlab/show/diff/Grp'>Grp</a> to <a class='existingWikiWord' href='/nlab/show/diff/Set'>Set</a>. When we say “<math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_62' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>F</mi><mo stretchy='false'>(</mo><mi>X</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>F(X)</annotation></semantics></math> is the <a class='existingWikiWord' href='/nlab/show/diff/free+group'>free group</a> generated by a set <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_63' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>X</mi></mrow><annotation encoding='application/x-tex'>X</annotation></semantics></math>”, we mean there is a function <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_64' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>η</mi> <mi>X</mi></msub><mspace width='thinmathspace' /><mo lspace='verythinmathspace'>:</mo><mspace width='thinmathspace' /><mi>X</mi><mo>→</mo><mi>U</mi><mo stretchy='false'>(</mo><mi>F</mi><mo stretchy='false'>(</mo><mi>X</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>\eta_X \,\colon\, X \to U(F(X))</annotation></semantics></math> which is universal among functions from <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_65' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>X</mi></mrow><annotation encoding='application/x-tex'>X</annotation></semantics></math> to the underlying set of a group, which means in turn that given a function <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_66' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>f</mi><mo>:</mo><mi>X</mi><mo>→</mo><mi>U</mi><mo stretchy='false'>(</mo><mi>G</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>f: X \to U(G)</annotation></semantics></math>, there is a unique group homomorphism <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_67' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>g</mi><mo lspace='verythinmathspace'>:</mo><mi>F</mi><mo stretchy='false'>(</mo><mi>X</mi><mo stretchy='false'>)</mo><mo>→</mo><mi>G</mi></mrow><annotation encoding='application/x-tex'>g \colon F(X) \to G</annotation></semantics></math> such that</p> <div class='maruku-equation'><math class='maruku-mathml' display='block' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_68' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>f</mi><mo>=</mo><mo stretchy='false'>(</mo><mi>X</mi><mover><mo>→</mo><mrow><msub><mi>η</mi> <mi>X</mi></msub></mrow></mover><mi>U</mi><mo stretchy='false'>(</mo><mi>F</mi><mo stretchy='false'>(</mo><mi>X</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo><mover><mo>→</mo><mrow><mi>U</mi><mo stretchy='false'>(</mo><mi>g</mi><mo stretchy='false'>)</mo></mrow></mover><mi>U</mi><mo stretchy='false'>(</mo><mi>G</mi><mo stretchy='false'>)</mo><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'> f = (X \stackrel{\eta_X}{\to} U(F(X)) \stackrel{U(g)}{\to} U(G)) </annotation></semantics></math></div> <p>Here <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_69' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msub><mi>η</mi> <mi>X</mi></msub></mrow><annotation encoding='application/x-tex'>\eta_X</annotation></semantics></math> is a component of what we call the <a class='existingWikiWord' href='/nlab/show/diff/unit+of+an+adjunction'>unit of the adjunction</a> <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_70' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>F</mi><mo>⊣</mo><mi>U</mi></mrow><annotation encoding='application/x-tex'>F \dashv U</annotation></semantics></math>, and the equation above is a recipe for the relationship between the map <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_71' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>g</mi><mo>:</mo><mi>F</mi><mo stretchy='false'>(</mo><mi>X</mi><mo stretchy='false'>)</mo><mo>→</mo><mi>G</mi></mrow><annotation encoding='application/x-tex'>g: F(X) \to G</annotation></semantics></math> and the map <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_72' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>f</mi><mo>:</mo><mi>X</mi><mo>→</mo><mi>U</mi><mo stretchy='false'>(</mo><mi>G</mi><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>f: X \to U(G)</annotation></semantics></math> in terms of the unit. \end{example}</p> <h3 id='AdjointInfinityOneFunctors'>Adjoint <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_73' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo stretchy='false'>(</mo><mn>∞</mn><mo>,</mo><mn>1</mn><mo stretchy='false'>)</mo></mrow><annotation encoding='application/x-tex'>(\infty,1)</annotation></semantics></math>-functors</h3> <p>\begin{proposition} \label{AdjointInfinityFunctorsInHomotopy2Category} An adjunction in the <a class='existingWikiWord' href='/nlab/show/diff/homotopy+2-category+of+%28%E2%88%9E%2C1%29-categories'>homotopy 2-category of $(\infty,1)$-categories</a> is equivalently a pair of <a class='existingWikiWord' href='/nlab/show/diff/adjoint+%28infinity%2C1%29-functor'>adjoint $(\infty,1)$-functors</a>. \end{proposition} (<a href='adjoint+infinity1-functor#RiehlVerity15'>Riehl & Verity 2015, Rem. 4.4.5</a>; <a href='adjoint+infinity1-functor#RVElements'>Riehl & Verity 2022, Prop. F.5.6</a>; see <a href='adjoint+infinity1-functor#InTheHomotopy2Category'>there</a> for more).</p> <p>\begin{remark} In view of Prop. \ref{AdjunctionsInCatAreAdjointFunctors}, the remarkable aspect of Prop. \ref{AdjointInfinityFunctorsInHomotopy2Category} is that the <a class='existingWikiWord' href='/nlab/show/diff/homotopy+2-category+of+%28%E2%88%9E%2C1%29-categories'>homotopy 2-category of $\infty$-categories</a> is sufficient to detect adjointness of <a class='existingWikiWord' href='/nlab/show/diff/%28infinity%2C1%29-functor'>$\infty$-functors</a>, which would, <em>a priori</em>, be defined as a kind of <a class='existingWikiWord' href='/nlab/show/diff/higher+homotopy'>higher homotopy</a>-<a class='existingWikiWord' href='/nlab/show/diff/coherence+law'>coherent</a> adjointness in the full <a class='existingWikiWord' href='/nlab/show/diff/%28infinity%2C2%29-category'>$(\infty,2)$-category</a> <a class='existingWikiWord' href='/nlab/show/diff/%28infinity%2C1%29Cat'>$Cat_{(\infty,1)}$</a>. For more on this reduction of homotopy-coherent adjunctions to plain adjunctions see <a href='adjoint+infinity1-functor#RiehlVerity16'>Riehl & Verity 2016, Thm. 4.3.11, 4.4.11</a>. \end{remark}</p> <h2 id='related_concepts'>Related concepts</h2> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functor</a>, <a class='existingWikiWord' href='/nlab/show/diff/adjoint+%28infinity%2C1%29-functor'>adjoint (∞,1)-functor</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/left+adjoint'>left adjoint</a>, <a class='existingWikiWord' href='/nlab/show/diff/right+adjoint'>right adjoint</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/duality'>duality</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/adjunct'>adjunct</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/dual+adjunction'>dual adjunction</a>, <a class='existingWikiWord' href='/nlab/show/diff/Galois+connection'>Galois connection</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/monoidal+adjunction'>monoidal adjunction</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/enriched+adjoint+functor'>enriched adjunction</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/derived+adjunction'>derived adjunction</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/adjoint+monad'>adjoint monad</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/heteromorphism'>heteromorphism</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/adjoint+string'>adjoint string</a></p> <ul> <li><a class='existingWikiWord' href='/nlab/show/diff/adjoint+triple'>adjoint triple</a>, <a class='existingWikiWord' href='/nlab/show/diff/adjoint+quadruple'>adjoint quadruple</a></li> </ul> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/ambidextrous+adjunction'>ambidextrous adjunction</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/adjoint+modality'>adjoint cylinder</a></p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/adjoint+logic'>adjoint logic</a></p> </li><ins class='diffins'> </ins><ins class='diffins'><li> <p><a class='existingWikiWord' href='/nlab/show/diff/two-variable+adjunction'>two-variable adjunction</a></p> </li></ins> </ul> <h2 id='references'>References</h2> <p>Adjunctions in 2-categories were introduced (together with the notion of <a class='existingWikiWord' href='/nlab/show/diff/strict+2-category'>strict 2-categories</a> itself) in:</p> <ul> <li><a class='existingWikiWord' href='/nlab/show/diff/Jean-Marie+Maranda'>Jean-Marie Maranda</a>, pp. 762 in: <em>Formal categories</em>, Canadian Journal of Mathematics <strong>17</strong> (1965) 758-801 [[doi:10.4153/CJM-1965-076-0](https://doi.org/10.4153/CJM-1965-076-0), <a href='https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A7C463460EB8CAC64C2CA340F870CF80/S0008414X00039729a.pdf/formal-categories.pdf'>pdf</a>]</li> </ul> <p>Though see also the following, which uses more modern terminology:</p> <ul> <li><a class='existingWikiWord' href='/nlab/show/diff/Max+Kelly'>Max Kelly</a>, §2 in: <em>Adjunction for enriched categories</em>, in: <em>Reports of the Midwest Category Seminar III</em>, Lecture Notes in Mathematics <strong>106</strong>, Springer (1969) [[doi:10.1007/BFb0059145](https://doi.org/10.1007/BFb0059145)]</li> </ul> <p>A thorough 2-categorical account is contained in:</p> <ul> <li> <p>Claude Auderset: <em>Adjonctions et monades au niveau des <math class='maruku-mathml' display='inline' id='mathml_4508c08189b913268f96fd23b0eecf7c54974733_74' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mn>2</mn></mrow><annotation encoding='application/x-tex'>2 </annotation></semantics></math>-catégories</em>, <a class='existingWikiWord' href='/nlab/show/diff/Cahiers'>Cahiers</a> de topologie et géométrie différentielle <strong>15</strong> 1 (1974) 3-20.</p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/Stephen+Schanuel'>Stephen Schanuel</a>, <a class='existingWikiWord' href='/nlab/show/diff/Ross+Street'>Ross Street</a>: <em>The free adjunction</em>, <a class='existingWikiWord' href='/nlab/show/diff/Cahiers'>Cahiers</a> de topologie et géométrie différentielle catégoriques <strong>27</strong> 1 (1986) 81-8</p> </li> </ul> <p>Review:</p> <ul> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/Saunders+Mac+Lane'>Saunders MacLane</a>, §XII.4 of: <em><a class='existingWikiWord' href='/nlab/show/diff/Categories+for+the+Working+Mathematician'>Categories for the Working Mathematician</a></em>, Graduate Texts in Mathematics <strong>5</strong> Springer (second ed. 1997) [[doi:10.1007/978-1-4757-4721-8](https://link.springer.com/book/10.1007/978-1-4757-4721-8)]</p> </li> <li id='Lack10'> <p><a class='existingWikiWord' href='/nlab/show/diff/Stephen+Lack'>Steve Lack</a>, §2.1 in: <em>A 2-categories companion</em>, in: <em><a class='existingWikiWord' href='/nlab/show/diff/Towards+Higher+Categories'>Towards Higher Categories</a></em>, The IMA Volumes in Mathematics and its Applications <strong>152</strong> Springer (2010) [[arXiv:math.CT/0702535](http://arxiv.org/abs/math.CT/0702535), <a href='https://doi.org/10.1007/978-1-4419-1524-5_4'>doi:10.1007/978-1-4419-1524-5_4</a>]</p> </li> <li id='JohnsonYau20'> <p><a class='existingWikiWord' href='/nlab/show/diff/Niles+Johnson'>Niles Johnson</a>, <a class='existingWikiWord' href='/nlab/show/diff/Donald+Yau'>Donald Yau</a>, Chapter 6 of: <em>2-Dimensional Categories</em>, Oxford University Press 2021 (<a href='http://arxiv.org/abs/2002.06055'>arXiv:2002.06055</a>, <a href='https://oxford.universitypressscholarship.com/view/10.1093/oso/9780198871378.001.0001/oso-9780198871378'>doi:10.1093/oso/9780198871378.001.0001</a>)</p> </li> </ul> <p>Fr the special case of <a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functors</a> see any text on <a class='existingWikiWord' href='/nlab/show/diff/category+theory'>category theory</a> (and see the references at <em><a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functor</a></em>), for instance:</p> <ul> <li id='Borceux94'> <p><a class='existingWikiWord' href='/nlab/show/diff/Francis+Borceux'>Francis Borceux</a>, Vol 1, Section 3 of <em><a class='existingWikiWord' href='/nlab/show/diff/Handbook+of+Categorical+Algebra'>Handbook of Categorical Algebra</a></em></p> </li> <li> <p><em><a class='existingWikiWord' href='/nlab/show/diff/geometry+of+physics+--+categories+and+toposes'>geometry of physics -- categories and toposes</a> – <a href='https://ncatlab.org/nlab/show/geometry+of+physics+--+categories+and+toposes#Adjunctions'>Adjunctions</a></em></p> </li> </ul> <p>For some early history and illustrative examples see</p> <ul> <li id='Lambek82'> <p><a class='existingWikiWord' href='/nlab/show/diff/Joachim+Lambek'>Joachim Lambek</a>, <em>The Influence of Heraclitus on Modern Mathematics</em>, In <em>Scientific Philosophy Today: Essays in Honor of Mario Bunge</em>, edited by Joseph Agassi and Robert S Cohen, 111–21. Boston: D. Reidel Publishing Co. (1982) (<a href='https://link.springer.com/chapter/10.1007/978-94-009-8462-2_6'>doi:10.1007/978-94-009-8462-2_6</a>)</p> <p>(more along these lines at <em><a class='existingWikiWord' href='/nlab/show/diff/objective+and+subjective+logic'>objective logic</a></em>).</p> </li> </ul> <p>The fundamental role of <a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functors</a> in <a class='existingWikiWord' href='/nlab/show/diff/logic'>logic</a>/<a class='existingWikiWord' href='/nlab/show/diff/type+theory'>type theory</a> originates with the observaiton that <a class='existingWikiWord' href='/nlab/show/diff/substitution'>substitution</a> forms an <a class='existingWikiWord' href='/nlab/show/diff/adjoint+triple'>adjoint triple</a> with <a class='existingWikiWord' href='/nlab/show/diff/existential+quantifier'>existential quantification</a> and <a class='existingWikiWord' href='/nlab/show/diff/universal+quantifier'>universal quantification</a>:</p> <ul> <li id='Lawvere69'> <p><a class='existingWikiWord' href='/nlab/show/diff/William+Lawvere'>William Lawvere</a>, <em>Adjointness in Foundations</em>, (<a href='http://www.emis.de/journals/TAC/reprints/articles/16/tr16abs.html'>tac:16</a>), Dialectica 23 (1969), 281-296</p> </li> <li> <p><a class='existingWikiWord' href='/nlab/show/diff/William+Lawvere'>William Lawvere</a>, <em>Quantifiers and sheaves</em>, Actes, Congrès intern, math., 1970. Tome 1, p. 329 à 334 (<a href='http://www.mathunion.org/ICM/ICM1970.1/Main/icm1970.1.0329.0334.ocr.pdf'>pdf</a>)</p> </li> </ul> <p>Adjunctions in <a class='existingWikiWord' href='/nlab/show/diff/programming+language'>programming languages</a> (though mainly again just <a class='existingWikiWord' href='/nlab/show/diff/adjoint+functor'>adjoint functors</a>):</p> <ul> <li id='Hinze12'> <p>Ralf Hinze, <em>Generic Programming with Adjunctions</em>, In: J. Gibbons (ed.) <em>Generic and Indexed Programming</em> Lecture Notes in Computer Science, vol 7470. Springer 2012 (<a href='http://www.cs.ox.ac.uk/ralf.hinze/LN.pdf'>pdf</a>, <a href='http://www.cs.ox.ac.uk/ralf.hinze/SSGIP10/Slides.pdf'>slides</a> <a href='https://doi.org/10.1007/978-3-642-32202-0_2'>doi:10.1007/978-3-642-32202-0_2</a>)</p> </li> <li> <p>Jeremy Gibbons, Fritz Henglein, Ralf Hinze, Nicolas Wu, <em>Relational Algebra by Way of Adjunctions</em>, Proceedings of the ACM on Programming Languages archive Volume 2 Issue ICFP, September 2018 Article No. 86 (<a href='https://www.cs.ox.ac.uk/jeremy.gibbons/publications/reladj.pdf'>pdf</a>, <a href='https://dl.acm.org/citation.cfm?doid=3243631.3236781'>doi:10.1145/3236781</a>)</p> </li> </ul> <p>See also</p> <ul> <li> <p>Wikipedia, <em><a href='http://en.wikipedia.org/wiki/Adjoint_functors'>Adjoint Functors</a></em></p> </li> <li> <p>Catsters, <em>Adjunctions</em> (<a href='http://www.youtube.com/watch?v=loOJxIOmShE&feature=channel_page'>YouTube</a>)</p> </li> </ul> <hr /> <p> </p> </div> <div class="revisedby"> <p> Last revised on January 9, 2025 at 23:33:33. See the <a href="/nlab/history/adjunction" 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/adjunction" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/8578/#Item_31">Discuss</a><span class="backintime"><a href="/nlab/revision/diff/adjunction/84" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/adjunction" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Hide changes</a><a href="/nlab/history/adjunction" accesskey="S" class="navlink" id="history" rel="nofollow">History (84 revisions)</a> <a href="/nlab/show/adjunction/cite" style="color: black">Cite</a> <a href="/nlab/print/adjunction" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/adjunction" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>