CINXE.COM
exact functor 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> exact functor 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> exact functor </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/1297/#Item_7" 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> <blockquote> <p>This entry is about the concept of “exact functors” in plain <a class="existingWikiWord" href="/nlab/show/category+theory">category theory</a>. For the different concept of that name in <a class="existingWikiWord" href="/nlab/show/triangulated+category">triangulated category</a> theory see at <em><a class="existingWikiWord" href="/nlab/show/triangulated+functor">triangulated functor</a></em>.</p> </blockquote> <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="homological_algebra">Homological algebra</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/homological+algebra">homological algebra</a></strong></p> <p>(also <a class="existingWikiWord" href="/nlab/show/nonabelian+homological+algebra">nonabelian homological algebra</a>)</p> <p><em><a class="existingWikiWord" href="/schreiber/show/Introduction+to+Homological+Algebra">Introduction</a></em></p> <p><strong>Context</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/additive+and+abelian+categories">additive and abelian categories</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Ab-enriched+category">Ab-enriched category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/pre-additive+category">pre-additive category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/additive+category">additive category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/pre-abelian+category">pre-abelian category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Grothendieck+category">Grothendieck category</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/abelian+sheaves">abelian sheaves</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/semi-abelian+category">semi-abelian category</a></p> </li> </ul> <p><strong>Basic definitions</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/kernel">kernel</a>, <a class="existingWikiWord" href="/nlab/show/cokernel">cokernel</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/complex">complex</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/differential">differential</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homology">homology</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/category+of+chain+complexes">category of chain complexes</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/chain+complex">chain complex</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/chain+homotopy">chain homotopy</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/chain+homology+and+cohomology">chain homology and cohomology</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homological+resolution">homological resolution</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cochain+on+a+simplicial+set">simplicial homology</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/generalized+homology">generalized homology</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a>,</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a>, <a class="existingWikiWord" href="/nlab/show/long+exact+sequence">long exact sequence</a>, <a class="existingWikiWord" href="/nlab/show/split+exact+sequence">split exact sequence</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/injective+object">injective object</a>, <a class="existingWikiWord" href="/nlab/show/projective+object">projective object</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/injective+resolution">injective resolution</a>, <a class="existingWikiWord" href="/nlab/show/projective+resolution">projective resolution</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/flat+resolution">flat resolution</a></p> </li> </ul> </li> </ul> <p><strong>Stable homotopy theory notions</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/derived+category">derived category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/triangulated+category">triangulated category</a>, <a class="existingWikiWord" href="/nlab/show/enhanced+triangulated+category">enhanced triangulated category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/stable+%28%E2%88%9E%2C1%29-category">stable (∞,1)-category</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/stable+model+category">stable model category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/pretriangulated+dg-category">pretriangulated dg-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/A-%E2%88%9E-category">A-∞-category</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-category+of+chain+complexes">(∞,1)-category of chain complexes</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/derived+functor">derived functor</a>, <a class="existingWikiWord" href="/nlab/show/derived+functor+in+homological+algebra">derived functor in homological algebra</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Tor">Tor</a>, <a class="existingWikiWord" href="/nlab/show/Ext">Ext</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+limit">homotopy limit</a>, <a class="existingWikiWord" href="/nlab/show/homotopy+colimit">homotopy colimit</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/lim%5E1+and+Milnor+sequences">lim^1 and Milnor sequences</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fr-code">fr-code</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/abelian+sheaf+cohomology">abelian sheaf cohomology</a></p> </li> </ul> <p><strong>Constructions</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/double+complex">double complex</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Koszul-Tate+resolution">Koszul-Tate resolution</a>, <a class="existingWikiWord" href="/nlab/show/BRST-BV+complex">BRST-BV complex</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/spectral+sequence">spectral sequence</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/spectral+sequence+of+a+filtered+complex">spectral sequence of a filtered complex</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/spectral+sequence+of+a+double+complex">spectral sequence of a double complex</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Grothendieck+spectral+sequence">Grothendieck spectral sequence</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Leray+spectral+sequence">Leray spectral sequence</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Serre+spectral+sequence">Serre spectral sequence</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Hochschild-Serre+spectral+sequence">Hochschild-Serre spectral sequence</a></p> </li> </ul> </li> </ul> </li> </ul> <p><strong>Lemmas</strong></p> <p><a class="existingWikiWord" href="/nlab/show/diagram+chasing">diagram chasing</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/3x3+lemma">3x3 lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/four+lemma">four lemma</a>, <a class="existingWikiWord" href="/nlab/show/five+lemma">five lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/snake+lemma">snake lemma</a>, <a class="existingWikiWord" href="/nlab/show/connecting+homomorphism">connecting homomorphism</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/horseshoe+lemma">horseshoe lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Baer%27s+criterion">Baer's criterion</a></p> </li> </ul> <p><a class="existingWikiWord" href="/nlab/show/Schanuel%27s+lemma">Schanuel's lemma</a></p> <p><strong>Homology theories</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/singular+homology">singular homology</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cyclic+homology">cyclic homology</a></p> </li> </ul> <p><strong>Theorems</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Dold-Kan+correspondence">Dold-Kan correspondence</a> / <a class="existingWikiWord" href="/nlab/show/monoidal+Dold-Kan+correspondence">monoidal</a>, <a class="existingWikiWord" href="/nlab/show/operadic+Dold-Kan+correspondence">operadic</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Moore+complex">Moore complex</a>, <a class="existingWikiWord" href="/nlab/show/Alexander-Whitney+map">Alexander-Whitney map</a>, <a class="existingWikiWord" href="/nlab/show/Eilenberg-Zilber+map">Eilenberg-Zilber map</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Eilenberg-Zilber+theorem">Eilenberg-Zilber theorem</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/cochain+on+a+simplicial+set">cochain on a simplicial set</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/universal+coefficient+theorem">universal coefficient theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/K%C3%BCnneth+theorem">Künneth theorem</a></p> </li> </ul> </div></div> </div> </div> <h1 id="contents">Contents</h1> <div class='maruku_toc'> <ul> <li><a href='#idea'>Idea</a></li> <li><a href='#Definition'>Definition</a></li> <li><a href='#properties'>Properties</a></li> <ul> <li><a href='#characterisations'>Characterisations</a></li> <ul> <li><a href='#general'>General</a></li> <li><a href='#between_categories_of_modules'>Between categories of modules</a></li> </ul> <li><a href='#OnAbelianCategories'>On abelian categories / in homological algebra</a></li> </ul> <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 left/right <em>exact functor</em> is a <a class="existingWikiWord" href="/nlab/show/functor">functor</a> that <a class="existingWikiWord" href="/nlab/show/preserved+limit">preserves</a> <a class="existingWikiWord" href="/nlab/show/finite+limits">finite limits</a>/finite <a class="existingWikiWord" href="/nlab/show/colimits">colimits</a>.</p> <p>The term originates in <a class="existingWikiWord" href="/nlab/show/homological+algebra">homological algebra</a>, see remark <a class="maruku-ref" href="#OriginOfTerminology"></a> below, where a central role is played by <a class="existingWikiWord" href="/nlab/show/exact+sequences">exact sequences</a> (originally of <a class="existingWikiWord" href="/nlab/show/modules">modules</a>, more generally in any <a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a>) and the fact that various <a class="existingWikiWord" href="/nlab/show/functors">functors</a> preserve or destroy exactness of sequences to some extent gave vital information on those functors.</p> <p>In this context, one says that an <strong>exact functor</strong> is one that preserves exact sequences. However, many functors are only “exact on one side or the other”. For instance, for all modules <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math> and <a class="existingWikiWord" href="/nlab/show/short+exact+sequences">short exact sequences</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><mi>A</mi><mo>→</mo><mi>B</mi><mo>→</mo><mi>C</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">0 \to A \to B \to C \to 0</annotation></semantics></math> of modules (over some ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>), the sequence</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><msub><mi>Mod</mi> <mi>R</mi></msub><mo stretchy="false">(</mo><mi>M</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>Mod</mi> <mi>R</mi></msub><mo stretchy="false">(</mo><mi>M</mi><mo>,</mo><mi>B</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>Mod</mi> <mi>R</mi></msub><mo stretchy="false">(</mo><mi>M</mi><mo>,</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">0 \to Mod_R(M, A) \to Mod_R(M,B) \to Mod_R(M,C)</annotation></semantics></math></div> <p>is exact – but note that there is no 0 on the right hand. Thus <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>=</mo><msub><mi>Mod</mi> <mi>R</mi></msub><mo stretchy="false">(</mo><mi>M</mi><mo>,</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(-) = Mod_R(M,-)</annotation></semantics></math> converts an exact sequence into a <em>left</em> exact sequence; such a functor is called a <strong>left exact functor</strong>. Dually, one has <strong>right exact functors</strong>.</p> <p>It is easy to see that an <a class="existingWikiWord" href="/nlab/show/additive+functor">additive functor</a> between <a class="existingWikiWord" href="/nlab/show/additive+categories">additive categories</a> is left exact in this sense if and only if it preserves <a class="existingWikiWord" href="/nlab/show/finite+limits">finite limits</a>.</p> <p>Since merely preserving left exact sequences does not require a functor to be additive, in a non-additive context one defines a <strong>left exact functor</strong> to be one which preserves finite limits, and dually. Below we give the <a href="#Definition">general definition</a> and then discuss the relation to the concept in homological algebra in the section <a href="#OnAbelianCategories">Properties - On abelian categories</a>.</p> <h2 id="Definition">Definition</h2> <p>A <a class="existingWikiWord" href="/nlab/show/functor">functor</a> between <a class="existingWikiWord" href="/nlab/show/finitely+complete+categories">finitely complete categories</a> is called <strong>left exact</strong> (or <a class="existingWikiWord" href="/nlab/show/flat+functor">flat</a>) if it preserves <a class="existingWikiWord" href="/nlab/show/finite+limits">finite limits</a>. Dually, a functor between finitely cocomplete categories is called <strong>right exact</strong> if it preserves <a class="existingWikiWord" href="/nlab/show/finite+colimits">finite colimits</a>. A functor is called <strong>exact</strong> if it is both left and right exact.</p> <p>Specifically, <a class="existingWikiWord" href="/nlab/show/Ab">Ab</a>-<a class="existingWikiWord" href="/nlab/show/enriched+functor">enriched functor</a>s between <a class="existingWikiWord" href="/nlab/show/abelian+categories">abelian categories</a> are exact if they preserve <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a>s.</p> <h2 id="properties">Properties</h2> <h3 id="characterisations">Characterisations</h3> <h4 id="general">General</h4> <div class="num_prop"> <h6 id="proposition">Proposition</h6> <ul> <li> <p>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>C</mi><mo>→</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">F : C \to D</annotation></semantics></math> between finitely cocomplete categories is right exact if and only if for all <a class="existingWikiWord" href="/nlab/show/objects">objects</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>d</mi><mo>∈</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">d \in D</annotation></semantics></math> the <a class="existingWikiWord" href="/nlab/show/comma+category">comma category</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">/</mo><mi>d</mi></mrow><annotation encoding="application/x-tex">F/d</annotation></semantics></math> is <a class="existingWikiWord" href="/nlab/show/filtered+category">filtered</a>.</p> </li> <li> <p>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>C</mi><mo>→</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">F : C \to D</annotation></semantics></math> between finitely complete categories is left exact if and only if for all <a class="existingWikiWord" href="/nlab/show/objects">objects</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>d</mi><mo>∈</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">d \in D</annotation></semantics></math> the <a class="existingWikiWord" href="/nlab/show/opposite+category">opposite</a> <a class="existingWikiWord" href="/nlab/show/comma+category">comma category</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">/</mo><mi>F</mi><msup><mo stretchy="false">)</mo> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">(d/F)^{op}</annotation></semantics></math> is <a class="existingWikiWord" href="/nlab/show/filtered+category">filtered</a>.</p> </li> </ul> </div> <p>In other language, this says that a functor between finitely complete categories is left exact if and only if it is (representably) <a class="existingWikiWord" href="/nlab/show/flat+functor">flat</a>. Conversely, one can show that a representably flat functor preserves all finite limits that exist in its domain.</p> <div class="num_prop"> <h6 id="proposition_2">Proposition</h6> <p>A functor between categories with finite limits preserves <a class="existingWikiWord" href="/nlab/show/finite+limit">finite limit</a>s if and only if:</p> <ul> <li> <p>it preserves <a class="existingWikiWord" href="/nlab/show/terminal+objects">terminal objects</a>, binary <a class="existingWikiWord" href="/nlab/show/product">product</a>s, and <a class="existingWikiWord" href="/nlab/show/equalizer">equalizer</a>s; or</p> </li> <li> <p>it preserves <a class="existingWikiWord" href="/nlab/show/terminal+object">terminal object</a>s and binary <a class="existingWikiWord" href="/nlab/show/pullback">pullback</a>s.</p> </li> </ul> </div> <p>Since these conditions frequently come up individually, it may be worthwhile listing them separately:</p> <ul> <li> <p><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> <strong>preserves terminal objects</strong> if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><msub><mi>t</mi> <mi>C</mi></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(t_C)</annotation></semantics></math> is terminal 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> whenever <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>t</mi> <mi>C</mi></msub></mrow><annotation encoding="application/x-tex">t_C</annotation></semantics></math> is terminal in <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> </li> <li> <p><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> <strong>preserves binary products</strong> if the pair of maps</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 stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mover><mo>←</mo><mrow><mi>F</mi><mo stretchy="false">(</mo><msub><mi>π</mi> <mn>1</mn></msub><mo stretchy="false">)</mo></mrow></mover><mi>F</mi><mo stretchy="false">(</mo><mi>c</mi><mo>×</mo><mi>d</mi><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><mi>F</mi><mo stretchy="false">(</mo><msub><mi>π</mi> <mn>2</mn></msub><mo stretchy="false">)</mo></mrow></mover><mi>F</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(c) \stackrel{F(\pi_1)}{\leftarrow} F(c \times d) \stackrel{F(\pi_2)}{\to} F(d)</annotation></semantics></math></div> <p>exhibits <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>c</mi><mo>×</mo><mi>d</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(c \times d)</annotation></semantics></math> as a product of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(c)</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(d)</annotation></semantics></math>, where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>π</mi> <mn>1</mn></msub><mo>:</mo><mi>c</mi><mo>×</mo><mi>d</mi><mo>→</mo><mi>c</mi></mrow><annotation encoding="application/x-tex">\pi_1: c \times d \to c</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>π</mi> <mn>2</mn></msub><mo>:</mo><mi>c</mi><mo>×</mo><mi>d</mi><mo>→</mo><mi>d</mi></mrow><annotation encoding="application/x-tex">\pi_2: c \times d \to d</annotation></semantics></math> are the product projections in <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> </li> <li> <p><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> <strong>preserves equalizers</strong> if the map</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo>:</mo><mi>F</mi><mo stretchy="false">(</mo><mi>e</mi><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">F(i): F(e) \to F(c)</annotation></semantics></math></div> <p>is the equalizer of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>,</mo><mi>F</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo>:</mo><mi>F</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mover><mo>→</mo><mo>→</mo></mover><mi>F</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(f), F(g): F(c) \stackrel{\to}{\to} F(d)</annotation></semantics></math>, whenever <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>i</mi><mo>:</mo><mi>e</mi><mo>→</mo><mi>c</mi></mrow><annotation encoding="application/x-tex">i: e \to c</annotation></semantics></math> is the equalizer of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>,</mo><mi>g</mi><mo>:</mo><mi>c</mi><mover><mo>→</mo><mo>→</mo></mover><mi>d</mi></mrow><annotation encoding="application/x-tex">f, g: c \stackrel{\to}{\to} d</annotation></semantics></math> in <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> </li> </ul> <div class="num_remark"> <h6 id="terminology">Terminology</h6> <p>Some author use the term “left exact” when <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> does not have all <a class="existingWikiWord" href="/nlab/show/finite+limits">finite limits</a>, defining it to mean a <a class="existingWikiWord" href="/nlab/show/flat+functor">flat functor</a>.</p> <p>‘Left exact’ is sometimes abbreviated <strong>lex</strong>. In particular, <a class="existingWikiWord" href="/nlab/show/Lex">Lex</a> is the 2-category of categories with <a class="existingWikiWord" href="/nlab/show/finite+limits">finite limits</a> and lex functors. See also <a class="existingWikiWord" href="/nlab/show/continuous+functor">continuous functor</a>. Similarly, but more rarely, ‘right exact’ is sometimes abbreviated as <strong>rex</strong>.</p> <p>Left exact functors correspond to <a class="existingWikiWord" href="/nlab/show/pro-representable+functors">pro-representable functors</a>, provided some smallness conditions are satisfied.</p> </div> <h4 id="between_categories_of_modules">Between categories of modules</h4> <p>Right exact functors between <a class="existingWikiWord" href="/nlab/show/categories+of+modules">categories of modules</a> are characterized by the <em><a class="existingWikiWord" href="/nlab/show/Eilenberg-Watts+theorem">Eilenberg-Watts theorem</a></em>. See there for more details.</p> <h3 id="OnAbelianCategories">On abelian categories / in homological algebra</h3> <p>In the context of <a class="existingWikiWord" href="/nlab/show/homological+algebra">homological algebra</a>, the notion of left/right exact functors is considered specifically in <a class="existingWikiWord" href="/nlab/show/abelian+categories">abelian categories</a>. In this context the above formulation is equivalently formulated in terms of the behaviour of the functor on <a class="existingWikiWord" href="/nlab/show/short+exact+sequences">short exact sequences</a>. We now discuss this case.</p> <div class="num_prop"> <h6 id="proposition_3">Proposition</h6> <p>A functor <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> between <a class="existingWikiWord" href="/nlab/show/abelian+categories">abelian categories</a> is left exact if and only if it preserves <a class="existingWikiWord" href="/nlab/show/direct+sums">direct sums</a> and <a class="existingWikiWord" href="/nlab/show/kernels">kernels</a>.</p> <p>A functor <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> between <a class="existingWikiWord" href="/nlab/show/abelian+categories">abelian categories</a> is right exact if and only if it preserves <a class="existingWikiWord" href="/nlab/show/direct+sums">direct sums</a> and <a class="existingWikiWord" href="/nlab/show/cokernels">cokernels</a>.</p> </div> <div class="num_cor" id="ExactFunctorPreservesExactSequences"> <h6 id="corollary">Corollary</h6> <p>In particular for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><mi>A</mi><mo>→</mo><mi>B</mi><mo>→</mo><mi>C</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">0 \to A \to B \to C \to 0</annotation></semantics></math> an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a> in the abelian 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>, we have that</p> <ul> <li> <p>if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> is left exact then</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><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"> 0 \to F(A) \to F(B) \to F(C) </annotation></semantics></math></div> <p>is an exact sequence 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>;</p> </li> <li> <p>if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> is right exact then</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 stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> F(A) \to F(B) \to F(C) \to 0 </annotation></semantics></math></div> <p>is an exact sequence 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>;</p> </li> <li> <p>if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> is exact then</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to F(A) \to F(B) \to F(C) \to 0 </annotation></semantics></math></div> <p>is an exact sequence 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>.</p> </li> </ul> <p>Also: if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> is exact then it preserves <a class="existingWikiWord" href="/nlab/show/chain+homology">chain homology</a>.</p> </div> <div class="proof"> <h6 id="proof">Proof</h6> <p>We discuss the first case. The second is formally dual. The third combines the two cases.</p> <p>For the first case notice that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><mi>A</mi><mover><mo>→</mo><mi>i</mi></mover><mi>B</mi><mover><mo>→</mo><mi>p</mi></mover><mi>C</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">0 \to A \stackrel{i}{\to} B \stackrel{p}{\to} C \to 0</annotation></semantics></math> being an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a> is equivalent to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math> being a <a class="existingWikiWord" href="/nlab/show/monomorphism">monomorphism</a> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math> being an <a class="existingWikiWord" href="/nlab/show/epimorphism">epimorphism</a>, hence to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">0 \to A</annotation></semantics></math> being the <a class="existingWikiWord" href="/nlab/show/kernel">kernel</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math> being the kernel of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">C \to 0</annotation></semantics></math> being the <a class="existingWikiWord" href="/nlab/show/cokernel">cokernel</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math>. Since the functor <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> is assumed to preserve this kernel-property, but not the cokernel property, it follows that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mn>0</mn><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(0) \to F(A)</annotation></semantics></math> is the kernel of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo></mrow></mover><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(A) \stackrel{F(i)}{\to} F(B)</annotation></semantics></math>, but not more than that. This means that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><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"> 0 \to F(A) \to F(B) \to F(C) </annotation></semantics></math></div> <p>is an exact sequence, as claimed.</p> </div> <div class="num_remark" id="OriginOfTerminology"> <h6 id="remark">Remark</h6> <p>The properties of corollary <a class="maruku-ref" href="#ExactFunctorPreservesExactSequences"></a> explain the “left”/“right”-terminology: a <em>left</em> exact functor preserves exactness of sequences to the left of a morphism (only), while a <em>right</em> exact functor preserves exactness to the right.</p> </div> <h2 id="related_concepts">Related concepts</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/LexCat">LexCat</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/derived+functor">derived functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/exact+%28%E2%88%9E%2C1%29-functor">exact (∞,1)-functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/satellite">satellite</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/exact+category">exact category</a></p> </li> </ul> <h2 id="references">References</h2> <p>Early use of <em>left exact</em> and <em>exact</em>:</p> <ul> <li id="CartanEilenberg56"> <p><a class="existingWikiWord" href="/nlab/show/Henri+Cartan">Henri Cartan</a>, <a class="existingWikiWord" href="/nlab/show/Samuel+Eilenberg">Samuel Eilenberg</a>, <em><a class="existingWikiWord" href="/nlab/show/Homological+Algebra">Homological Algebra</a></em>, Princeton Univ. Press (1956), Princeton Mathematical Series <strong>19</strong> (1999) [<a href="https://press.princeton.edu/books/paperback/9780691049915/homological-algebra-pms-19-volume-19">ISBN:9780691049915</a>, <a href="https://doi.org/10.1515/9781400883844">doi:10.1515/9781400883844</a>, <a href="http://www.math.stonybrook.edu/~mmovshev/BOOKS/homologicalalgeb033541mbp.pdf">pdf</a>]</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/A.+Grothendieck">A. Grothendieck</a>, 1959, <em>Technique de descente et théorèmes d’existence en géométrie algèbrique. II. Le théorème d’existence en théorie formelle des modules</em>, in Séminaire Bourbaki, Vol. 5 , Exp. No. 195, 369 – 390,</p> <p>Soc. Math. France <a href="http://www.numdam.org/numdam-bin/item?id=SB_1958-1960__5__369_0">Numdam</a>, Paris.</p> </li> </ul> <p>General discussion</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Francis+Borceux">Francis Borceux</a>, Section 6.1 in: <em><a class="existingWikiWord" href="/nlab/show/Handbook+of+Categorical+Algebra">Handbook of Categorical Algebra</a></em> Vol. 1: <em>Basic Category Theory</em> [<a href="https://doi.org/10.1017/CBO9780511525858">doi:10.1017/CBO9780511525858</a>]</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Masaki+Kashiwara">Masaki Kashiwara</a>, <a class="existingWikiWord" href="/nlab/show/Pierre+Schapira">Pierre Schapira</a>, Section 3.3 in: <em><a class="existingWikiWord" href="/nlab/show/Categories+and+Sheaves">Categories and Sheaves</a></em></p> </li> </ul> <p>See also:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Michael+Barr">Michael Barr</a>, <em>Right exact functors</em>, J. Pure Appl. Algebra <strong>4</strong> (1974) 1–8 [<a href="https://doi.org/10.1016/0022-4049(74)90025-5">doi:10.1016/0022-4049(74)90025-5</a>, <a href="https://www.math.mcgill.ca/barr/papers/right.exact.pdf">pdf</a>, <a class="existingWikiWord" href="/nlab/files/Barr-ExactFunctors.pdf" title="pdf">pdf</a>]</li> </ul> <p>A detailed discussion of how the property of a functor being exact is related to the property of it preserving homology in generalized situations:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Michael+Barr">Michael Barr</a>, <em>Preserving homology</em> , Theory and Applications of Categories, Vol. 16, 2006, No. 7, pp 132-143. (<a href="http://www.tac.mta.ca/tac/volumes/16/7/16-07abs.html">TAC</a>)</li> </ul> <p>Discussion of left exactness (or <a class="existingWikiWord" href="/nlab/show/flat+functor">flat functor</a>) in the context of <a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-category+theory">(∞,1)-category theory</a> is in</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Jacob+Lurie">Jacob Lurie</a>, def. 5.3.2.1 in <em><a class="existingWikiWord" href="/nlab/show/Higher+Topos+Theory">Higher Topos Theory</a></em></li> </ul> </body></html> </div> <div class="revisedby"> <p> Last revised on November 3, 2023 at 06:26:57. See the <a href="/nlab/history/exact+functor" 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/exact+functor" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/1297/#Item_7">Discuss</a><span class="backintime"><a href="/nlab/revision/exact+functor/36" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/diff/exact+functor" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Changes from previous revision</a><a href="/nlab/history/exact+functor" accesskey="S" class="navlink" id="history" rel="nofollow">History (36 revisions)</a> <a href="/nlab/show/exact+functor/cite" style="color: black">Cite</a> <a href="/nlab/print/exact+functor" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/exact+functor" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>