CINXE.COM
projective resolution 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> projective resolution 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> projective resolution </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/4267/#Item_33" 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>Projective and injective resolutions</title></head> <body> <div class="rightHandSide"> <div class="toc clickDown" tabindex="0"> <h3 id="context">Context</h3> <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> <h4 id="homotopy_theory">Homotopy theory</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/homotopy+theory">homotopy theory</a>, <a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-category+theory">(∞,1)-category theory</a>, <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a></strong></p> <p>flavors: <a class="existingWikiWord" href="/nlab/show/stable+homotopy+theory">stable</a>, <a class="existingWikiWord" href="/nlab/show/equivariant+homotopy+theory">equivariant</a>, <a class="existingWikiWord" href="/nlab/show/rational+homotopy+theory">rational</a>, <a class="existingWikiWord" href="/nlab/show/p-adic+homotopy+theory">p-adic</a>, <a class="existingWikiWord" href="/nlab/show/proper+homotopy+theory">proper</a>, <a class="existingWikiWord" href="/nlab/show/geometric+homotopy+theory">geometric</a>, <a class="existingWikiWord" href="/nlab/show/cohesive+homotopy+theory">cohesive</a>, <a class="existingWikiWord" href="/nlab/show/directed+homotopy+theory">directed</a>…</p> <p>models: <a class="existingWikiWord" href="/nlab/show/topological+homotopy+theory">topological</a>, <a class="existingWikiWord" href="/nlab/show/simplicial+homotopy+theory">simplicial</a>, <a class="existingWikiWord" href="/nlab/show/localic+homotopy+theory">localic</a>, …</p> <p>see also <strong><a class="existingWikiWord" href="/nlab/show/algebraic+topology">algebraic topology</a></strong></p> <p><strong>Introductions</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Introduction+to+Topology+--+2">Introduction to Basic Homotopy Theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Introduction+to+Homotopy+Theory">Introduction to Abstract Homotopy Theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/geometry+of+physics+--+homotopy+types">geometry of physics – homotopy types</a></p> </li> </ul> <p><strong>Definitions</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy">homotopy</a>, <a class="existingWikiWord" href="/nlab/show/higher+homotopy">higher homotopy</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+type">homotopy type</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Pi-algebra">Pi-algebra</a>, <a class="existingWikiWord" href="/nlab/show/spherical+object+and+Pi%28A%29-algebra">spherical object and Pi(A)-algebra</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+coherent+category+theory">homotopy coherent category theory</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopical+category">homotopical category</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/model+category">model category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/category+of+fibrant+objects">category of fibrant objects</a>, <a class="existingWikiWord" href="/nlab/show/cofibration+category">cofibration category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Waldhausen+category">Waldhausen category</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+category">homotopy category</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Ho%28Top%29">Ho(Top)</a></li> </ul> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-category">(∞,1)-category</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/homotopy+category+of+an+%28%E2%88%9E%2C1%29-category">homotopy category of an (∞,1)-category</a></li> </ul> </li> </ul> <p><strong>Paths and cylinders</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/left+homotopy">left homotopy</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/cylinder+object">cylinder object</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/mapping+cone">mapping cone</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/right+homotopy">right homotopy</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/path+object">path object</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/generalized+universal+bundle">universal bundle</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/interval+object">interval object</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+localization">homotopy localization</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/infinitesimal+interval+object">infinitesimal interval object</a></p> </li> </ul> </li> </ul> <p><strong>Homotopy groups</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+group">homotopy group</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/fundamental+group">fundamental group</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/fundamental+group+of+a+topos">fundamental group of a topos</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Brown-Grossman+homotopy+group">Brown-Grossman homotopy group</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/categorical+homotopy+groups+in+an+%28%E2%88%9E%2C1%29-topos">categorical homotopy groups in an (∞,1)-topos</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/geometric+homotopy+groups+in+an+%28%E2%88%9E%2C1%29-topos">geometric homotopy groups in an (∞,1)-topos</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fundamental+%E2%88%9E-groupoid">fundamental ∞-groupoid</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/fundamental+groupoid">fundamental groupoid</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/path+groupoid">path groupoid</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fundamental+%E2%88%9E-groupoid+in+a+locally+%E2%88%9E-connected+%28%E2%88%9E%2C1%29-topos">fundamental ∞-groupoid in a locally ∞-connected (∞,1)-topos</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fundamental+%E2%88%9E-groupoid+of+a+locally+%E2%88%9E-connected+%28%E2%88%9E%2C1%29-topos">fundamental ∞-groupoid of a locally ∞-connected (∞,1)-topos</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fundamental+%28%E2%88%9E%2C1%29-category">fundamental (∞,1)-category</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/fundamental+category">fundamental category</a></li> </ul> </li> </ul> <p><strong>Basic facts</strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/fundamental+group+of+the+circle+is+the+integers">fundamental group of the circle is the integers</a></li> </ul> <p><strong>Theorems</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/fundamental+theorem+of+covering+spaces">fundamental theorem of covering spaces</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Freudenthal+suspension+theorem">Freudenthal suspension theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Blakers-Massey+theorem">Blakers-Massey theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/higher+homotopy+van+Kampen+theorem">higher homotopy van Kampen theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/nerve+theorem">nerve theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Whitehead%27s+theorem">Whitehead's theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Hurewicz+theorem">Hurewicz theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Galois+theory">Galois theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+hypothesis">homotopy hypothesis</a>-theorem</p> </li> </ul> </div></div> </div> </div> <h1 id="projective_and_injective_resolutions">Projective and injective resolutions</h1> <div class='maruku_toc'> <ul> <li><a href='#idea'>Idea</a></li> <li><a href='#definition'>Definition</a></li> <ul> <li><a href='#ResolutionOfObject'>Resolution of an object</a></li> <li><a href='#FResolutions'><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>-Resolutions of an object</a></li> <li><a href='#ResolutionOfAChainComplex'>Resolution of a chain complex</a></li> </ul> <li><a href='#properties'>Properties</a></li> <ul> <li><a href='#ExistenceAndConstruction'>Existence and construction of resolutions for objects</a></li> <li><a href='#ExistenceAndConstructionOfResolutionsOfComplexes'>Existence and construction of resolutions of complexes</a></li> <li><a href='#FunctorialResolutions'>Functorial resolutions and derived functors</a></li> <li><a href='#DerivedHomFunctor'>Derived Hom-functor/<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ext</mi></mrow><annotation encoding="application/x-tex">Ext</annotation></semantics></math>-functor and extensions</a></li> <li><a href='#relation_to_syzygies'>Relation to syzygies</a></li> </ul> <li><a href='#examples'>Examples</a></li> <ul> <li><a href='#Lenght1ResolutionsOfAbelianGroups'>Length-1 resolutions</a></li> <li><a href='#ProjectiveResolutionsForGroupCocycles'>Projective resolutions adapted to abelian group cocycles</a></li> <li><a href='#ProjectiveResolutionsForGroupCohomology'>Projective resolutions adapted to general group cohomology</a></li> <ul> <li><a href='#propoition'>Propoition</a></li> </ul> <li><a href='#CohomologyOfCyclicGroups'>Cohomology of cyclic groups</a></li> </ul> <li><a href='#RelatedConcepts'>Related concepts</a></li> <li><a href='#references'>References</a></li> </ul> </div> <h2 id="idea">Idea</h2> <p>In the context of <a class="existingWikiWord" href="/nlab/show/homological+algebra">homological algebra</a> a <em>projective/injective</em> <a class="existingWikiWord" href="/nlab/show/resolution">resolution</a> of an <a class="existingWikiWord" href="/nlab/show/object">object</a> or <a class="existingWikiWord" href="/nlab/show/chain+complex">chain complex</a> in an <a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a> is a <a class="existingWikiWord" href="/nlab/show/resolution">resolution</a> by a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphic</a> chain complex that consists of <a class="existingWikiWord" href="/nlab/show/projective+objects">projective objects</a> or <a class="existingWikiWord" href="/nlab/show/injective+objects">injective objects</a>, respectively.</p> <p>Under suitable conditions these are precisely the <a class="existingWikiWord" href="/nlab/show/cofibrant+resolution">cofibrant resolution</a> or <a class="existingWikiWord" href="/nlab/show/fibrant+resolution">fibrant resolution</a> with respect to a standard <a class="existingWikiWord" href="/nlab/show/model+structure+on+chain+complexes">model structure on chain complexes</a>.</p> <p>For instance for non-negatively graded chain complexes of abelian groups there is a model structure with <a class="existingWikiWord" href="/nlab/show/weak+equivalences">weak equivalences</a> are the quasi-isomorphisms and the <a class="existingWikiWord" href="/nlab/show/fibrations">fibrations</a> are the positive-degreewise surjections. Here every object is a <a class="existingWikiWord" href="/nlab/show/fibrant+object">fibrant object</a> and hence no <a class="existingWikiWord" href="/nlab/show/fibrant+resolution">fibrant resolution</a> is necessary; while the <a class="existingWikiWord" href="/nlab/show/cofibrant+resolutions">cofibrant resolutions</a> are precisely the projective resolutions.</p> <p>Dually, for non-negatively graded chain complexes of abelian groups there is a model structure with <a class="existingWikiWord" href="/nlab/show/weak+equivalences">weak equivalences</a> are the quasi-isomorphisms and the <a class="existingWikiWord" href="/nlab/show/cofibrations">cofibrations</a> the positive-degreewise injections. Here every object is a <a class="existingWikiWord" href="/nlab/show/cofibrant+object">cofibrant object</a> and hence no <a class="existingWikiWord" href="/nlab/show/cofibrant+resolution">cofibrant resolution</a> is necessary; while the <a class="existingWikiWord" href="/nlab/show/fibrant+resolutions">fibrant resolutions</a> are precisely the projective resolutions.</p> <h2 id="definition">Definition</h2> <p>We first discuss, as is traditional, projective/injective resolutions of single objects, and then the general cases of projective/injective resolutions of chain complexes. This subsumes the previous case by regarding an object as a chain complex concentrated in degree 0.</p> <h3 id="ResolutionOfObject">Resolution of an object</h3> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> be an <a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a>.</p> <div class="num_defn" id="InjectiveResolution"> <h6 id="definition_2">Definition</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">X \in \mathcal{A}</annotation></semantics></math> an <a class="existingWikiWord" href="/nlab/show/object">object</a>, an <strong>injective resolution</strong> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/cochain+complex">cochain complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mo>•</mo></msup><mo>∈</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">J^\bullet \in Ch^\bullet(\mathcal{A})</annotation></semantics></math> (in non-negative degree) equipped with a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>i</mi><mo>:</mo><mi>X</mi><mover><mo>→</mo><mo>∼</mo></mover><msup><mi>J</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex"> i : X \stackrel{\sim}{\to} J^\bullet </annotation></semantics></math></div> <p>such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mi>n</mi></msup><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">J^n \in \mathcal{A}</annotation></semantics></math> is an <a class="existingWikiWord" href="/nlab/show/injective+object">injective object</a> for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math>.</p> </div> <div class="num_remark" id="InjectiveResolutionInComponents"> <h6 id="remark">Remark</h6> <p>In components the quasi-isomorphism of def. <a class="maruku-ref" href="#InjectiveResolution"></a> is a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mi>X</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>⋯</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>⋯</mi></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>i</mi> <mn>0</mn></msup></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msup><mi>J</mi> <mn>0</mn></msup></mtd> <mtd><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>0</mn></msup></mrow></mover></mtd> <mtd><msup><mi>J</mi> <mn>1</mn></msup></mtd> <mtd><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>1</mn></msup></mrow></mover></mtd> <mtd><mi>⋯</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>J</mi> <mi>n</mi></msup></mtd> <mtd><mover><mo>→</mo><mrow><msup><mi>d</mi> <mi>n</mi></msup></mrow></mover></mtd> <mtd><mi>⋯</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ X &\to& 0 &\to& \cdots &\to& 0 &\to& \cdots \\ \downarrow^{\mathrlap{i^0}} && \downarrow && && \downarrow \\ J^0 &\stackrel{d^0}{\to}& J^1 &\stackrel{d^1}{\to}& \cdots &\to& J^n &\stackrel{d^n}{\to}&\cdots } \,. </annotation></semantics></math></div> <p>Since the top complex is concentrated in degree 0, this being a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a> happens to be equivalent to 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><mi>X</mi><mover><mo>→</mo><mrow><msup><mi>i</mi> <mn>0</mn></msup></mrow></mover><msup><mi>J</mi> <mn>0</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>0</mn></msup></mrow></mover><msup><mi>J</mi> <mn>1</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>1</mn></msup></mrow></mover><msup><mi>J</mi> <mn>2</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>2</mn></msup></mrow></mover><mi>⋯</mi></mrow><annotation encoding="application/x-tex"> 0 \to X \stackrel{i^0}{\to} J^0 \stackrel{d^0}{\to} J^1 \stackrel{d^1}{\to} J^2 \stackrel{d^2}{\to} \cdots </annotation></semantics></math></div> <p>being an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a>. In this form one often finds the definition of injective resolution in the literature.</p> </div> <div class="num_defn" id="ProjectiveResolution"> <h6 id="definition_3">Definition</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">X \in \mathcal{A}</annotation></semantics></math> an <a class="existingWikiWord" href="/nlab/show/object">object</a>, a <strong>projective resolution</strong> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/chain+complex">chain complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mo>•</mo></msub><mo>∈</mo><msub><mi>Ch</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">J_\bullet \in Ch_\bullet(\mathcal{A})</annotation></semantics></math> (in non-negative degree) equipped with a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>p</mi><mo>:</mo><msub><mi>J</mi> <mo>•</mo></msub><mover><mo>→</mo><mo>∼</mo></mover><mi>X</mi></mrow><annotation encoding="application/x-tex"> p : J_\bullet \stackrel{\sim}{\to} X </annotation></semantics></math></div> <p>such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mi>n</mi></msub><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">J_n \in \mathcal{A}</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/projective+object">projective object</a> for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math>.</p> </div> <div class="num_remark" id="ProjectiveResolutionInComponents"> <h6 id="remark_2">Remark</h6> <p>In components the quasi-isomorphism of def. <a class="maruku-ref" href="#ProjectiveResolution"></a> is a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mi>⋯</mi></mtd> <mtd><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mi>n</mi></msub></mrow></mover></mtd> <mtd><msub><mi>J</mi> <mi>n</mi></msub></mtd> <mtd><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></mover></mtd> <mtd><mi>⋯</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><msub><mi>J</mi> <mn>1</mn></msub></mtd> <mtd><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>0</mn></msub></mrow></mover></mtd> <mtd><msub><mi>J</mi> <mn>0</mn></msub></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msub><mi>p</mi> <mn>0</mn></msub></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mi>⋯</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>⋯</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>X</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ \cdots &\stackrel{\partial_n}{\to}& J_n &\stackrel{\partial_{n-1}}{\to}& \cdots &\to& J_1 &\stackrel{\partial_0}{\to}& J_0 \\ && \downarrow && && \downarrow && \downarrow^{\mathrlap{p_0}} \\ \cdots &\to& 0 &\to& \cdots &\to& 0 &\to& X } \,. </annotation></semantics></math></div> <p>Since the bottom complex is concentrated in degree 0, this being a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a> happens to be equivalent to the sequence</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><msub><mi>J</mi> <mn>2</mn></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>1</mn></msub></mrow></mover><msub><mi>J</mi> <mn>1</mn></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>0</mn></msub></mrow></mover><msub><mi>J</mi> <mn>0</mn></msub><mover><mo>→</mo><mrow><msub><mi>p</mi> <mn>0</mn></msub></mrow></mover><mi>X</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> \cdots J_2 \stackrel{\partial_1}{\to} J_1 \stackrel{\partial_0}{\to} J_0 \stackrel{p_0}{\to} X \to 0 </annotation></semantics></math></div> <p>being an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a>. In this form one often finds the definition of projective resolution in the literature.</p> </div> <h3 id="FResolutions"><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>-Resolutions of an object</h3> <p>Projective and injective resolutions are typically used for computing the <a class="existingWikiWord" href="/nlab/show/derived+functor">derived functor</a> of some <a class="existingWikiWord" href="/nlab/show/additive+functor">additive functor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo lspace="verythinmathspace">:</mo><mi>𝒜</mi><mo>→</mo><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">F \colon \mathcal{A} \to \mathcal{B}</annotation></semantics></math>; see at <em><a class="existingWikiWord" href="/nlab/show/derived+functor+in+homological+algebra">derived functor in homological algebra</a></em>. While projective resolutions in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> are <em>sufficient</em> for computing <em>every</em> <a class="existingWikiWord" href="/nlab/show/left+derived+functor">left derived functor</a> on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Ch</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ch_\bullet(\mathcal{A})</annotation></semantics></math> and injective resolutions are sufficient for computing <em>every</em> <a class="existingWikiWord" href="/nlab/show/right+derived+functor">right derived functor</a> on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ch^\bullet(\mathcal{A})</annotation></semantics></math>, if one is interested just in a single 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> then such resolutions may be more than <em>necessary</em>. A weaker kind of resolution which is still sufficient is then often more convenient for applications. These <em><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>-projective resolutions</em> and <em><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>-injective resolutions</em>, respectively, we discuss here. A special case of both are <em><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>-<a class="existingWikiWord" href="/nlab/show/acyclic+resolutions">acyclic resolutions</a></em>.</p> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mspace width="thinmathspace"></mspace></mrow><annotation encoding="application/x-tex">\,</annotation></semantics></math></p> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi><mo>,</mo><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}, \mathcal{B}</annotation></semantics></math> be <a class="existingWikiWord" href="/nlab/show/abelian+categories">abelian categories</a> and let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo lspace="verythinmathspace">:</mo><mi>𝒜</mi><mo>→</mo><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">F \colon \mathcal{A} \to \mathcal{B}</annotation></semantics></math> be an <a class="existingWikiWord" href="/nlab/show/additive+functor">additive functor</a>.</p> <div class="num_defn" id="FInjectives"> <h6 id="definition_4">Definition</h6> <p>Assume that <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 <a class="existingWikiWord" href="/nlab/show/left+exact+functor">left exact</a>. An <a class="existingWikiWord" href="/nlab/show/additive+category">additive</a> <a class="existingWikiWord" href="/nlab/show/full+subcategory">full subcategory</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℐ</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{I} \subset \mathcal{A}</annotation></semantics></math> is called <strong><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>-injective</strong> (or: consisting of <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>-injective objects) if</p> <ol> <li> <p>for every object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A \in \mathcal{A}</annotation></semantics></math> there is a <a class="existingWikiWord" href="/nlab/show/monomorphism">monomorphism</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>→</mo><mover><mi>A</mi><mo stretchy="false">˜</mo></mover></mrow><annotation encoding="application/x-tex">A \to \tilde A</annotation></semantics></math> into an object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>A</mi><mo stretchy="false">˜</mo></mover><mo>∈</mo><mi>ℐ</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\tilde A \in \mathcal{I} \subset \mathcal{A}</annotation></semantics></math>;</p> </li> <li> <p>for every <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</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> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>,</mo><mi>B</mi><mo>∈</mo><mi>ℐ</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A, B \in \mathcal{I} \subset \mathcal{A}</annotation></semantics></math> also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi><mo>∈</mo><mi>ℐ</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">C \in \mathcal{I} \subset \mathcal{A}</annotation></semantics></math>;</p> </li> <li> <p>for every <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</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> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>∈</mo><mi>ℐ</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A\in \mathcal{I} \subset \mathcal{A}</annotation></semantics></math> also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" 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> is a short exact sequence in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">\mathcal{B}</annotation></semantics></math>.</p> </li> </ol> </div> <p>And dually:</p> <div class="num_defn" id="FProjectives"> <h6 id="definition_5">Definition</h6> <p>Assume that <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 <a class="existingWikiWord" href="/nlab/show/right+exact+functor">right exact</a>. An <a class="existingWikiWord" href="/nlab/show/additive+category">additive</a> <a class="existingWikiWord" href="/nlab/show/full+subcategory">full subcategory</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒫</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{P} \subset \mathcal{A}</annotation></semantics></math> is called <strong><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>-projective</strong> (or: consisting of <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>-projective objects) if</p> <ol> <li> <p>for every object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A \in \mathcal{A}</annotation></semantics></math> there is an <a class="existingWikiWord" href="/nlab/show/epimorphism">epimorphism</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>A</mi><mo stretchy="false">˜</mo></mover><mo>→</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">\tilde A \to A</annotation></semantics></math> from an object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>A</mi><mo stretchy="false">˜</mo></mover><mo>∈</mo><mi>𝒫</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\tilde A \in \mathcal{P} \subset \mathcal{A}</annotation></semantics></math>;</p> </li> <li> <p>for every <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</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> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>B</mi><mo>,</mo><mi>C</mi><mo>∈</mo><mi>𝒫</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">B, C \in \mathcal{P} \subset \mathcal{A}</annotation></semantics></math> also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>∈</mo><mi>𝒫</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A \in \mathcal{P} \subset \mathcal{A}</annotation></semantics></math>;</p> </li> <li> <p>for every <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</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> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi><mo>∈</mo><mi>𝒫</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">C\in \mathcal{P} \subset \mathcal{A}</annotation></semantics></math> also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" 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> is a short exact sequence in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">\mathcal{B}</annotation></semantics></math>.</p> </li> </ol> </div> <p>For instance (<a href="#Schapira">Schapira, def. 4.6.5</a>).</p> <p>With the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℐ</mi><mo>,</mo><mi>𝒫</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{I},\mathcal{P}\subset \mathcal{A}</annotation></semantics></math> as above, we say:</p> <div class="num_defn" id="FProjectivesResolution"> <h6 id="definition_6">Definition</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A \in \mathcal{A}</annotation></semantics></math>,</p> <ul> <li> <p>an <strong><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>-injective resolution</strong> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/cochain+complex">cochain complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>I</mi> <mo>•</mo></msup><mo>∈</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>ℐ</mi><mo stretchy="false">)</mo><mo>⊂</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">I^\bullet \in Ch^\bullet(\mathcal{I}) \subset Ch^\bullet(\mathcal{A})</annotation></semantics></math> and a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>A</mi><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><msup><mi>I</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex"> A \stackrel{\simeq_{qi}}{\to} I^\bullet </annotation></semantics></math></div></li> <li> <p>an <strong><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>-projective resolution</strong> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/chain+complex">chain complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Q</mi> <mo>•</mo></msub><mo>∈</mo><msub><mi>Ch</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒫</mi><mo stretchy="false">)</mo><mo>⊂</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Q_\bullet \in Ch_\bullet(\mathcal{P}) \subset Ch^\bullet(\mathcal{A})</annotation></semantics></math> and a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>Q</mi> <mo>•</mo></msub><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><mi>A</mi><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> Q_\bullet \stackrel{\simeq_{qi}}{\to} A \,. </annotation></semantics></math></div></li> </ul> </div> <p>Let now <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> have enough projectives / enough injectives, respectively.</p> <div class="num_example" id="FAcyclicObjectsAreFProjectiveObjects"> <h6 id="example">Example</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo lspace="verythinmathspace">:</mo><mi>𝒜</mi><mo>→</mo><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">F \colon \mathcal{A} \to \mathcal{B}</annotation></semantics></math> an <a class="existingWikiWord" href="/nlab/show/additive+functor">additive functor</a>, let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ac</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">Ac \subset \mathcal{A}</annotation></semantics></math> be the <a class="existingWikiWord" href="/nlab/show/full+subcategory">full subcategory</a> on the <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>-<a class="existingWikiWord" href="/nlab/show/acyclic+objects">acyclic objects</a>. Then</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 <a class="existingWikiWord" href="/nlab/show/left+exact+functor">left exact</a>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℐ</mi><mo>≔</mo><mi>Ac</mi></mrow><annotation encoding="application/x-tex">\mathcal{I} \coloneqq Ac</annotation></semantics></math> is a subcategory of <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>-injective objects;</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 <a class="existingWikiWord" href="/nlab/show/right+exact+functor">right exact</a>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒫</mi><mo>≔</mo><mi>Ac</mi></mrow><annotation encoding="application/x-tex">\mathcal{P} \coloneqq Ac</annotation></semantics></math> is a subcategory of <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>-projective objects.</p> </li> </ul> </div> <div class="proof"> <h6 id="proof">Proof</h6> <p>Consider the case that <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. The other case works dually.</p> <p>The first condition of def. <a class="maruku-ref" href="#FInjectives"></a> is satisfied because every <a class="existingWikiWord" href="/nlab/show/injective+object">injective object</a> is an <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>-<a class="existingWikiWord" href="/nlab/show/acyclic+object">acyclic object</a> and by assumption there are enough of these.</p> <p>For the second and third condition of def. <a class="maruku-ref" href="#FInjectives"></a> use that there is the <a class="existingWikiWord" href="/nlab/show/long+exact+sequence">long exact sequence</a> of <a class="existingWikiWord" href="/nlab/show/derived+functors">derived functors</a> prop. <a class="maruku-ref" href="#LongExactSequenceOfRightDerivedFunctorsFromShortExactSequence"></a></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>A</mi><mo>→</mo><mi>B</mi><mo>→</mo><mi>C</mi><mo>→</mo><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mn>2</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mn>2</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mn>2</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><mo>⋅</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to A \to B \to C \to R^1 F(A) \to R^1 F(B) \to R^1 F(C) \to R^2 F(A) \to R^2 F(B) \to R^2 F(C) \to \cdot \,. </annotation></semantics></math></div> <p>For the second condition, by assumption on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math> and definition of <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>-<a class="existingWikiWord" href="/nlab/show/acyclic+object">acyclic object</a> we have <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≃</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">R^n F(A) \simeq 0</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo><mo>≃</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">R^n F(B) \simeq 0</annotation></semantics></math> for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n \geq 1</annotation></semantics></math> and hence short exact sequences</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><mn>0</mn><mo>→</mo><msup><mi>R</mi> <mi>n</mi></msup><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 0 \to R^n F(C) \to 0 </annotation></semantics></math></div> <p>which imply that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mi>n</mi></msup><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">R^n F(C)\simeq 0</annotation></semantics></math> for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n \geq 1</annotation></semantics></math>, hence that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> is acyclic.</p> <p>Similarly, the third condition is equivalent to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≃</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">R^1 F(A) \simeq 0</annotation></semantics></math>.</p> </div> <div class="num_example" id="FAcyclicResolution"> <h6 id="example_2">Example</h6> <p>The <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>-projective/injective resolutions by <a class="existingWikiWord" href="/nlab/show/acyclic+objects">acyclic objects</a> as in example <a class="maruku-ref" href="#FAcyclicObjectsAreFProjectiveObjects"></a> are called <strong><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>-acyclic resolutions</strong>.</p> </div> <h3 id="ResolutionOfAChainComplex">Resolution of a chain complex</h3> <p>The above definition <a class="maruku-ref" href="#ProjectiveResolution"></a> of a projective resolution of an object has an immediate generalization to resolutions of chain complexes.</p> <div class="num_defn" id="ProjectiveResolutionOfChainComplex"> <h6 id="definition_7">Definition</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mo>•</mo></msub><mo>∈</mo><msub><mi>Ch</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_\bullet \in Ch_\bullet(\mathcal{A})</annotation></semantics></math> a <a class="existingWikiWord" href="/nlab/show/chain+complex">chain complex</a>, a <strong>projective resolution</strong> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> is an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a> of chain complexes</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mo>→</mo><msub><mi>Q</mi> <mrow><mo>•</mo><mo>,</mo><mn>2</mn></mrow></msub><mo>→</mo><msub><mi>Q</mi> <mrow><mo>•</mo><mo>,</mo><mn>1</mn></mrow></msub><mo>→</mo><msub><mi>Q</mi> <mrow><mo>•</mo><mo>,</mo><mn>0</mn></mrow></msub><mo>→</mo><msub><mi>C</mi> <mo>•</mo></msub><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> \cdots \to Q_{\bullet,2} \to Q_{\bullet,1} \to Q_{\bullet,0} \to C_\bullet \to 0 </annotation></semantics></math></div> <p>such that for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> the component <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Q</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><mo>→</mo><msub><mi>C</mi> <mi>n</mi></msub></mrow><annotation encoding="application/x-tex">Q_{n,\bullet} \to C_n</annotation></semantics></math> is a projective resolution of the object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mi>n</mi></msub></mrow><annotation encoding="application/x-tex">C_n</annotation></semantics></math>, according to def. <a class="maruku-ref" href="#ProjectiveResolution"></a>.</p> </div> <div class="num_remark"> <h6 id="remark_3">Remark</h6> <p>A projective resolution as above may in particular also be regarded as a <a class="existingWikiWord" href="/nlab/show/double+complex">double complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Q</mi> <mrow><mo>•</mo><mo>,</mo><mo>•</mo></mrow></msub></mrow><annotation encoding="application/x-tex">Q_{\bullet, \bullet}</annotation></semantics></math> equipped with a morphism of double complex to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">C_\bullet</annotation></semantics></math> regarded as a vertically constant double complex.</p> </div> <p>For purposes of computations one is often interested in the following stronger notion.</p> <p>For any chain complex <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">C_\bullet</annotation></semantics></math>, write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Z</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">Z_\bullet</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>B</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">B_\bullet</annotation></semantics></math>, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>H</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">H_\bullet</annotation></semantics></math> for the graded objects of <a class="existingWikiWord" href="/nlab/show/cycles">cycles</a>, <a class="existingWikiWord" href="/nlab/show/boundaries">boundaries</a> and <a class="existingWikiWord" href="/nlab/show/homology+groups">homology groups</a>, respectively, regarded as chain complexes with vanishing <a class="existingWikiWord" href="/nlab/show/differentials">differentials</a>.</p> <div class="num_defn" id="FullyProjectiveResolutionOfChainComplex"> <h6 id="definition_8">Definition</h6> <p>A projective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Q</mi> <mrow><mo>•</mo><mo>,</mo><mo>•</mo></mrow></msub><mo>→</mo><msub><mi>C</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">Q_{\bullet,\bullet} \to C_\bullet</annotation></semantics></math> of a chain complex <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">C_\bullet</annotation></semantics></math>, def. <a class="maruku-ref" href="#ProjectiveResolutionOfChainComplex"></a>, is called <strong>fully projective</strong> (or <strong>proper</strong>) if furthermore for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> the induced sequence of (horizontal) <a class="existingWikiWord" href="/nlab/show/cycles">cycles</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mo>→</mo><msub><mi>Z</mi> <mrow><mo>•</mo><mo>,</mo><mn>2</mn></mrow></msub><mo>→</mo><msub><mi>Z</mi> <mrow><mo>•</mo><mo>,</mo><mn>1</mn></mrow></msub><mo>→</mo><msub><mi>Z</mi> <mrow><mo>•</mo><mo>,</mo><mn>0</mn></mrow></msub><mo>→</mo><mi>Z</mi><mo stretchy="false">(</mo><mi>C</mi><msub><mo stretchy="false">)</mo> <mo>•</mo></msub><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> \cdots \to Z_{\bullet,2} \to Z_{\bullet,1} \to Z_{\bullet,0} \to Z(C)_\bullet \to 0 </annotation></semantics></math></div> <p>and (horizontal) <a class="existingWikiWord" href="/nlab/show/boundaries">boundaries</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mo>→</mo><msub><mi>B</mi> <mrow><mo>•</mo><mo>,</mo><mn>2</mn></mrow></msub><mo>→</mo><msub><mi>B</mi> <mrow><mo>•</mo><mo>,</mo><mn>1</mn></mrow></msub><mo>→</mo><msub><mi>B</mi> <mrow><mo>•</mo><mo>,</mo><mn>0</mn></mrow></msub><mo>→</mo><mi>B</mi><mo stretchy="false">(</mo><mi>C</mi><msub><mo stretchy="false">)</mo> <mo>•</mo></msub><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> \cdots \to B_{\bullet,2} \to B_{\bullet,1} \to B_{\bullet,0} \to B(C)_\bullet \to 0 </annotation></semantics></math></div> <p>and (horizontal) <a class="existingWikiWord" href="/nlab/show/homology+groups">homology groups</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mo>→</mo><msub><mi>H</mi> <mrow><mo>•</mo><mo>,</mo><mn>2</mn></mrow></msub><mo>→</mo><msub><mi>H</mi> <mrow><mo>•</mo><mo>,</mo><mn>1</mn></mrow></msub><mo>→</mo><msub><mi>H</mi> <mrow><mo>•</mo><mo>,</mo><mn>0</mn></mrow></msub><mo>→</mo><mi>H</mi><mo stretchy="false">(</mo><mi>C</mi><msub><mo stretchy="false">)</mo> <mo>•</mo></msub><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> \cdots \to H_{\bullet,2} \to H_{\bullet,1} \to H_{\bullet,0} \to H(C)_\bullet \to 0 </annotation></semantics></math></div> <p>are each projective resolutions, def. <a class="maruku-ref" href="#ProjectiveResolution"></a>, themselves.</p> </div> <h2 id="properties">Properties</h2> <h3 id="ExistenceAndConstruction">Existence and construction of resolutions for objects</h3> <p>We first discuss the existence of injective/projective resolutions, and then the <a class="existingWikiWord" href="/nlab/show/functor">functoriality</a> of their constructions.</p> <div class="num_prop" id="ExistenceOfInjectiveResolutions"> <h6 id="proposition">Proposition</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> be an <a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a> with <a class="existingWikiWord" href="/nlab/show/injective+object">enough injectives</a> (such as <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><a class="existingWikiWord" href="/nlab/show/Mod">Mod</a> for some <a class="existingWikiWord" href="/nlab/show/ring">ring</a> <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>).</p> <p>Then every object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">X \in \mathcal{A}</annotation></semantics></math> has an <a class="existingWikiWord" href="/nlab/show/injective+resolution">injective resolution</a>, def. <a class="maruku-ref" href="#InjectiveResolution"></a>.</p> </div> <div class="proof"> <h6 id="proof_2">Proof</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">X \in \mathcal{A}</annotation></semantics></math> be the given object. By remark <a class="maruku-ref" href="#InjectiveResolutionInComponents"></a> we need to construct an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a> of the form</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>X</mi><mo>→</mo><msup><mi>J</mi> <mn>0</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>0</mn></msup></mrow></mover><msup><mi>J</mi> <mn>1</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>1</mn></msup></mrow></mover><msup><mi>J</mi> <mn>2</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>2</mn></msup></mrow></mover><mi>⋯</mi><mo>→</mo><msup><mi>J</mi> <mi>n</mi></msup><mo>→</mo><mi>⋯</mi></mrow><annotation encoding="application/x-tex"> 0 \to X \to J^0 \stackrel{d^0}{\to} J^1 \stackrel{d^1}{\to} J^2 \stackrel{d^2}{\to} \cdots \to J^n \to \cdots </annotation></semantics></math></div> <p>such that all the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mo>⋅</mo></msup></mrow><annotation encoding="application/x-tex">J^\cdot</annotation></semantics></math> are <a class="existingWikiWord" href="/nlab/show/injective+objects">injective objects</a>.</p> <p>This we now construct by <a class="existingWikiWord" href="/nlab/show/induction">induction</a> on the degree <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math>.</p> <p>In the first step, by the assumption of enough enjectives we find an injective object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mn>0</mn></msup></mrow><annotation encoding="application/x-tex">J^0</annotation></semantics></math> and a <a class="existingWikiWord" href="/nlab/show/monomorphism">monomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>↪</mo><msup><mi>J</mi> <mn>0</mn></msup></mrow><annotation encoding="application/x-tex"> X \hookrightarrow J^0 </annotation></semantics></math></div> <p>hence an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a></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>X</mi><mo>→</mo><msup><mi>J</mi> <mn>0</mn></msup><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to X \to J^0 \,. </annotation></semantics></math></div> <p>Assume then by induction hypothesis that for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>→</mo><msup><mi>J</mi> <mn>0</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>0</mn></msup></mrow></mover><mi>⋯</mi><mo>→</mo><msup><mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></mover><msup><mi>J</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex"> X \to J^0 \stackrel{d^0}{\to} \cdots \to J^{n-1} \stackrel{d^{n-1}}{\to} J^n </annotation></semantics></math></div> <p>has been constructed, where all the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mo>⋅</mo></msup></mrow><annotation encoding="application/x-tex">J^\cdot</annotation></semantics></math> are injective objects. Forming 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><msup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">d^{n-1}</annotation></semantics></math> yields the <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a></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><msup><mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></mover><msup><mi>J</mi> <mi>n</mi></msup><mover><mo>→</mo><mi>p</mi></mover><msup><mi>J</mi> <mi>n</mi></msup><mo stretchy="false">/</mo><msup><mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to J^{n-1} \stackrel{d^{n-1}}{\to} J^n \stackrel{p}{\to} J^n/J^{n-1} \to 0 \,. </annotation></semantics></math></div> <p>By the assumption that there are enough injectives in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> we may now again find a monomorphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mi>n</mi></msup><mo stretchy="false">/</mo><msup><mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mover><mo>↪</mo><mi>i</mi></mover><msup><mi>J</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">J^n/J^{n-1} \stackrel{i}{\hookrightarrow} J^{n+1}</annotation></semantics></math> into an injective object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">J^{n+1}</annotation></semantics></math>. This being a monomorphism means that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></mover><msup><mi>J</mi> <mi>n</mi></msup><mover><mo>⟶</mo><mrow><msup><mi>d</mi> <mi>n</mi></msup><mo>≔</mo><mi>i</mi><mo>∘</mo><mi>p</mi></mrow></mover><msup><mi>J</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex"> J^{n-1} \stackrel{d^{n-1}}{\to} J^n \stackrel{d^n \coloneqq i \circ p}{\longrightarrow} J^{n+1} </annotation></semantics></math></div> <p>is <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact</a> in the middle term. Therefore we now have an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a></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>X</mi><mo>→</mo><msup><mi>J</mi> <mn>0</mn></msup><mo>→</mo><mi>⋯</mi><mo>→</mo><msup><mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></mover><msup><mi>J</mi> <mi>n</mi></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mi>n</mi></msup></mrow></mover><msup><mi>J</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex"> 0 \to X \to J^0 \to \cdots \to J^{n-1} \stackrel{d^{n-1}}{\to} J^n \stackrel{d^{n}}{\to} J^{n+1} </annotation></semantics></math></div> <p>which completes the <a class="existingWikiWord" href="/nlab/show/induction">induction</a> step.</p> </div> <p>The following proposition is <a class="existingWikiWord" href="/nlab/show/duality">formally dual</a> to prop. <a class="maruku-ref" href="#ExistenceOfInjectiveResolutions"></a>.</p> <div class="num_prop" id="ExistenceOfInjectiveResolutions"> <h6 id="proposition_2">Proposition</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> be an <a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a> with <a class="existingWikiWord" href="/nlab/show/projective+object">enough projectives</a> (such as <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><a class="existingWikiWord" href="/nlab/show/Mod">Mod</a> for some <a class="existingWikiWord" href="/nlab/show/ring">ring</a> <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>).</p> <p>Then every object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">X \in \mathcal{A}</annotation></semantics></math> has a <a class="existingWikiWord" href="/nlab/show/projective+resolution">projective resolution</a>, def. <a class="maruku-ref" href="#ProjectiveResolution"></a>.</p> </div> <div class="proof"> <h6 id="proof_3">Proof</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">X \in \mathcal{A}</annotation></semantics></math> be the given object. By remark <a class="maruku-ref" href="#ProjectiveResolutionInComponents"></a> we need to construct an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a> of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>2</mn></msub></mrow></mover><msub><mi>J</mi> <mn>2</mn></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>1</mn></msub></mrow></mover><msub><mi>J</mi> <mn>1</mn></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>0</mn></msub></mrow></mover><msub><mi>J</mi> <mn>0</mn></msub><mo>→</mo><mi>X</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> \cdots \stackrel{\partial_2}{\to} J_2 \stackrel{\partial_1}{\to} J_1 \stackrel{\partial_0}{\to} J_0 \to X \to 0 </annotation></semantics></math></div> <p>such that all the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mo>⋅</mo></msub></mrow><annotation encoding="application/x-tex">J_\cdot</annotation></semantics></math> are <a class="existingWikiWord" href="/nlab/show/projective+objects">projective objects</a>.</p> <p>This we we now construct by <a class="existingWikiWord" href="/nlab/show/induction">induction</a> on the degree <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math>.</p> <p>In the first step, by the assumption of enough projectives we find a projective object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">J_0</annotation></semantics></math> and an <a class="existingWikiWord" href="/nlab/show/epimorphism">epimorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mn>0</mn></msub><mo>→</mo><mi>X</mi></mrow><annotation encoding="application/x-tex"> J_0 \to X </annotation></semantics></math></div> <p>hence an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mn>0</mn></msub><mo>→</mo><mi>X</mi><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> J_0 \to X \to 0 \,. </annotation></semantics></math></div> <p>Assume then by induction hypothesis that for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mi>n</mi></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></mover><msub><mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>→</mo><mi>⋯</mi><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>0</mn></msub></mrow></mover><msub><mi>J</mi> <mn>0</mn></msub><mo>→</mo><mi>X</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> J_n \stackrel{\partial_{n-1}}{\to} J_{n-1} \to \cdots \stackrel{\partial_0}{\to} J_0 \to X \to 0 </annotation></semantics></math></div> <p>has been constructed, where all the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mo>⋅</mo></msub></mrow><annotation encoding="application/x-tex">J_\cdot</annotation></semantics></math> are projective objects. Forming 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><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">\partial_{n-1}</annotation></semantics></math> yields the <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a></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>ker</mi><mo stretchy="false">(</mo><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo><mover><mo>→</mo><mi>i</mi></mover><msub><mi>J</mi> <mi>n</mi></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></mover><msub><mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to ker(\partial_{n-1}) \stackrel{i}{\to} J_n \stackrel{\partial_{n-1}}{\to} J_{n-1} \to 0 \,. </annotation></semantics></math></div> <p>By the assumption that there are enough projectives in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> we may now again find an epimorphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>p</mi><mo>:</mo><msub><mi>J</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>→</mo><mi>ker</mi><mo stretchy="false">(</mo><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> p : J_{n+1} \to ker(\partial_{n-1})</annotation></semantics></math> out of a projective object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">J_{n+1}</annotation></semantics></math>. This being an epimorphism means that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mi>n</mi></msub><mo>≔</mo><mi>i</mi><mo>∘</mo><mi>p</mi></mrow></mover><msub><mi>J</mi> <mi>n</mi></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></mover></mrow><annotation encoding="application/x-tex"> J_{n+1} \stackrel{\partial_{n} \coloneqq i\circ p}{\to} J_n \stackrel{\partial_{n-1}}{\to} </annotation></semantics></math></div> <p>is <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact</a> in the middle term. Therefore we now have an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>J</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mi>n</mi></msub></mrow></mover><msub><mi>J</mi> <mi>n</mi></msub><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></mover><mi>⋯</mi><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>0</mn></msub></mrow></mover><msub><mi>J</mi> <mn>0</mn></msub><mo>→</mo><mi>X</mi><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> J_{n+1} \stackrel{\partial_n}{\to} J_n \stackrel{\partial_{n-1}}{\to} \cdots \stackrel{\partial_0}{\to} J_0 \to X \to 0 \,, </annotation></semantics></math></div> <p>which completes the <a class="existingWikiWord" href="/nlab/show/induction">induction</a> step.</p> </div> <div class="num_prop" id="MapsOutOfExactIntoInjectiveAreNullHomotopic"> <h6 id="proposition_3">Proposition</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mo>•</mo></msup><mo>:</mo><msup><mi>X</mi> <mo>•</mo></msup><mo>→</mo><msup><mi>J</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">f^\bullet : X^\bullet \to J^\bullet</annotation></semantics></math> be a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> of cochain complexes in non-negative degree, out of an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><msub><mo>≃</mo> <mi>qi</mi></msub><msup><mi>X</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">0 \simeq_{qi} X^\bullet</annotation></semantics></math> to a degreewise injective complex <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">J^\bullet</annotation></semantics></math>. Then there is a <a class="existingWikiWord" href="/nlab/show/null+homotopy">null homotopy</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>η</mi><mo>:</mo><mn>0</mn><mo>⇒</mo><msup><mi>f</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex"> \eta : 0 \Rightarrow f^\bullet </annotation></semantics></math></div></div> <div class="proof"> <h6 id="proof_4">Proof</h6> <p>By definition of <a class="existingWikiWord" href="/nlab/show/chain+homotopy">chain homotopy</a> we need to construct a sequence of morphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><msup><mi>η</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>:</mo><msup><mi>X</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>→</mo><msup><mi>J</mi> <mi>n</mi></msup><msub><mo stretchy="false">)</mo> <mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">(\eta^{n+1} : X^{n+1} \to J^{n})_{n \in \mathbb{N}}</annotation></semantics></math> such that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mi>n</mi></msup><mo>=</mo><msup><mi>η</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>∘</mo><msubsup><mi>d</mi> <mi>X</mi> <mi>n</mi></msubsup><mo>+</mo><msubsup><mi>d</mi> <mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>∘</mo><msup><mi>η</mi> <mi>n</mi></msup><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> f^n = \eta^{n+1} \circ d^n_X + d^{n-1}_J \circ \eta^n \,. </annotation></semantics></math></div> <p>for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>. We now construct this by <a class="existingWikiWord" href="/nlab/show/induction">induction</a> over <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>, where we take <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>η</mi> <mn>0</mn></msup><mo>≔</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\eta^0 \coloneqq 0</annotation></semantics></math>.</p> <p>Then in the induction step assume that for given <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> we have constructed <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>η</mi> <mrow><mo>•</mo><mo>≤</mo><mi>n</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\eta^{\bullet \leq n}</annotation></semantics></math> satisfying the above conditions.</p> <p>First define now</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>g</mi> <mi>n</mi></msup><mo>≔</mo><msup><mi>f</mi> <mi>n</mi></msup><mo>−</mo><msubsup><mi>d</mi> <mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>∘</mo><msup><mi>η</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex"> g^n \coloneqq f^n - d_J^{n-1} \circ \eta^n </annotation></semantics></math></div> <p>and observe that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msup><mi>g</mi> <mi>n</mi></msup><mo>∘</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><msup><mi>f</mi> <mi>n</mi></msup><mo>∘</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>−</mo><msubsup><mi>d</mi> <mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>∘</mo><msup><mi>η</mi> <mi>n</mi></msup><mo>∘</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>=</mo><msup><mi>f</mi> <mi>n</mi></msup><mo>∘</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>−</mo><msubsup><mi>d</mi> <mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>∘</mo><msup><mi>f</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mo>+</mo><msubsup><mi>d</mi> <mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>∘</mo><msubsup><mi>d</mi> <mi>J</mi> <mrow><mi>n</mi><mo>−</mo><mn>2</mn></mrow></msubsup><mo>∘</mo><msup><mi>η</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>=</mo><mn>0</mn><mo>+</mo><mn>0</mn></mtd></mtr> <mtr><mtd></mtd> <mtd><mn>0</mn></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \begin{aligned} g^n \circ d_X^{n-1} & = f^n \circ d^{n-1}_X - d^{n-1}_J \circ \eta^n \circ d^{n-1}_X \\ & = f^n \circ d^{n-1}_X - d^{n-1}_J \circ f^{n-1} + d^{n-1}_J \circ d^{n-2}_J \circ \eta^{n-1} \\ & = 0 + 0 \\ & 0 \end{aligned} \,. </annotation></semantics></math></div> <p>This means that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>g</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex">g^n</annotation></semantics></math> factors as</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mi>n</mi></msup><mo>→</mo><msup><mi>X</mi> <mi>n</mi></msup><mo stretchy="false">/</mo><mi>im</mi><mo stretchy="false">(</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><msup><mi>g</mi> <mi>n</mi></msup></mrow></mover><msup><mi>J</mi> <mi>n</mi></msup><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> X^n \to X^n / im(d^{n-1}_X) \stackrel{g^n}{\to} J^n \,, </annotation></semantics></math></div> <p>where the first map is the <a class="existingWikiWord" href="/nlab/show/projection">projection</a> to the <a class="existingWikiWord" href="/nlab/show/quotient">quotient</a>.</p> <p>Observe then that by exactness of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">X^\bullet</annotation></semantics></math> the morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mi>n</mi></msup><mo stretchy="false">/</mo><mi>im</mi><mo stretchy="false">(</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>X</mi> <mi>n</mi></msubsup></mrow></mover><msup><mi>X</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">X^n / im(d^{n-1}_X) \stackrel{d^n_X}{\to} X^{n+1}</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/monomorphism">monomorphism</a>. Together this gives us a diagram of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msup><mi>X</mi> <mi>n</mi></msup><mo stretchy="false">/</mo><mi>im</mi><mo stretchy="false">(</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo stretchy="false">)</mo></mtd> <mtd><mover><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>X</mi> <mi>n</mi></msubsup></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>g</mi> <mi>n</mi></msup></mrow></mpadded></msup></mtd> <mtd><msub><mo>↙</mo> <mpadded width="0"><mrow><msup><mi>η</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow></mpadded></msub></mtd></mtr> <mtr><mtd><msup><mi>J</mi> <mi>n</mi></msup></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \array{ X^n / im(d^{n-1}_X) &\stackrel{d^n_X}{\to}& X^{n+1} \\ \downarrow^{\mathrlap{g^n}} & \swarrow_{\mathrlap{\eta^{n+1}}} \\ J^n } \,, </annotation></semantics></math></div> <p>where the morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>η</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\eta^{n+1}</annotation></semantics></math> may be found due to the defining <a class="existingWikiWord" href="/nlab/show/right+lifting+property">right lifting property</a> of the <a class="existingWikiWord" href="/nlab/show/injective+object">injective object</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex">J^n</annotation></semantics></math> against the top monomorphism.</p> <p>Observing that the <a class="existingWikiWord" href="/nlab/show/commuting+diagram">commutativity</a> of this diagram is the chain homotopy condition involving <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>η</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex">\eta^n</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>η</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\eta^{n+1}</annotation></semantics></math>, this completes the induction step.</p> </div> <div class="num_remark"> <h6 id="remark_4">Remark</h6> <p>Without the assumption above that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>J</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">J^\bullet</annotation></semantics></math> is injective, such a null-homotopy indeed need not exist. Basic counterexamples are discussed in the section <a href="homotopy+category+of+chain+complexes#ChainHomotopiesThatOughtToExistButDoNot">Chain homotopies that ought to exist but do not</a> at <em><a class="existingWikiWord" href="/nlab/show/homotopy+category+of+chain+complexes">homotopy category of chain complexes</a></em>.</p> </div> <p>The formally dual statement of prop <a class="maruku-ref" href="#MapsOutOfExactIntoInjectiveAreNullHomotopic"></a> is the following.</p> <div class="num_prop" id="MapsProjectiveIntoExactAreNullHomotopic"> <h6 id="lemma">Lemma</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>f</mi> <mo>•</mo></msub><mo>:</mo><msub><mi>P</mi> <mo>•</mo></msub><mo>→</mo><msub><mi>Y</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">f_\bullet : P_\bullet \to Y_\bullet</annotation></semantics></math> be a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> of <a class="existingWikiWord" href="/nlab/show/chain+complexes">chain complexes</a> in non-negative degree, into an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><msub><mo>≃</mo> <mi>qi</mi></msub><msub><mi>Y</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">0 \simeq_{qi} Y_\bullet</annotation></semantics></math> from a degreewise <a class="existingWikiWord" href="/nlab/show/projective+object">projective</a> complex <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>P</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">P^\bullet</annotation></semantics></math>. Then there is a <a class="existingWikiWord" href="/nlab/show/null+homotopy">null homotopy</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>η</mi><mo>:</mo><mn>0</mn><mo>⇒</mo><msub><mi>f</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex"> \eta : 0 \Rightarrow f_\bullet </annotation></semantics></math></div></div> <div class="proof"> <h6 id="proof_5">Proof</h6> <p>This is formally dual to the proof of prop. <a class="maruku-ref" href="#MapsOutOfExactIntoInjectiveAreNullHomotopic"></a>.</p> </div> <p>The following proposition says that, when injectively resolving objects, the morphisms between these objects lift to the resolutions, uniquely up to chain homotopy.</p> <div class="num_prop" id="InjectiveResolutionOfCodomainRespectsMorphisms"> <h6 id="proposition_4">Proposition</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>:</mo><mi>X</mi><mo>→</mo><mi>Y</mi></mrow><annotation encoding="application/x-tex">f : X \to Y</annotation></semantics></math> be a morphism in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math>. Let</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>i</mi> <mi>Y</mi></msub><mo>:</mo><mi>Y</mi><mover><mo>→</mo><mo>∼</mo></mover><msup><mi>Y</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex"> i_Y : Y \stackrel{\sim}{\to} Y^\bullet </annotation></semantics></math></div> <p>be an injective resolution of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math> and</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>i</mi> <mi>X</mi></msub><mo>:</mo><mi>X</mi><mover><mo>→</mo><mo>∼</mo></mover><msup><mi>X</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex"> i_X : X \stackrel{\sim}{\to} X^\bullet </annotation></semantics></math></div> <p>any <a class="existingWikiWord" href="/nlab/show/monomorphism">monomorphism</a> that is a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a> (possibly but not necessarily an injective resolution). Then there is a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mo>•</mo></msup><mo>:</mo><msup><mi>X</mi> <mo>•</mo></msup><mo>→</mo><msup><mi>Y</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">f^\bullet : X^\bullet \to Y^\bullet</annotation></semantics></math> giving a <a class="existingWikiWord" href="/nlab/show/commuting+diagram">commuting diagram</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mi>X</mi></mtd> <mtd><mover><mo>→</mo><mo>∼</mo></mover></mtd> <mtd><msup><mi>X</mi> <mo>•</mo></msup></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mi>f</mi></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mo>•</mo></msup></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mi>Y</mi></mtd> <mtd><mover><mo>→</mo><mo>∼</mo></mover></mtd> <mtd><msup><mi>Y</mi> <mo>•</mo></msup></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ X &\stackrel{\sim}{\to}& X^\bullet \\ \downarrow^{\mathrlap{f}} && \downarrow^{\mathrlap{f^\bullet}} \\ Y &\stackrel{\sim}{\to}& Y^\bullet } \,. </annotation></semantics></math></div></div> <div class="proof"> <h6 id="proof_6">Proof</h6> <p>By definition of <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> we need to construct <a class="existingWikiWord" href="/nlab/show/morphisms">morphisms</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><msup><mi>f</mi> <mi>n</mi></msup><mo>:</mo><msup><mi>X</mi> <mi>n</mi></msup><mo>→</mo><msup><mi>Y</mi> <mi>n</mi></msup><msub><mo stretchy="false">)</mo> <mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">(f^n : X^n \to Y^n)_{n \in \mathbb{N}}</annotation></semantics></math> such that for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> the <a class="existingWikiWord" href="/nlab/show/diagrams">diagrams</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msup><mi>X</mi> <mi>n</mi></msup></mtd> <mtd><mover><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>X</mi> <mi>n</mi></msubsup></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mi>n</mi></msup></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><msup><mi>Y</mi> <mi>n</mi></msup></mtd> <mtd><mover><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>Y</mi> <mi>n</mi></msubsup></mrow></mover></mtd> <mtd><msup><mi>Y</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ X^{n} &\stackrel{d^n_X}{\to}& X^{n+1} \\ \downarrow^{\mathrlap{f^n}} && \downarrow^{\mathrlap{f^{n+1}}} \\ Y^{n} &\stackrel{d^n_Y}{\to}& Y^{n+1} } </annotation></semantics></math></div> <p><a class="existingWikiWord" href="/nlab/show/commuting+diagram">commute</a> (the defining condition on a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a>) and such that the diagram</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mi>X</mi></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>i</mi> <mi>X</mi></msub></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mn>0</mn></msup></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mi>f</mi></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mn>0</mn></msup></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mi>Y</mi></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>i</mi> <mi>Y</mi></msub></mrow></mover></mtd> <mtd><msup><mi>Y</mi> <mn>0</mn></msup></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ X &\stackrel{i_X}{\to}& X^0 \\ \downarrow^{f} && \downarrow^{\mathrlap{f^0}} \\ Y &\stackrel{i_Y}{\to}& Y^0 } </annotation></semantics></math></div> <p>commutes in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> (which makes the full diagram in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ch^\bullet(\mathcal{A})</annotation></semantics></math> commute).</p> <p>We construct these <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mo>•</mo></msup><mo>=</mo><mo stretchy="false">(</mo><msup><mi>f</mi> <mi>n</mi></msup><msub><mo stretchy="false">)</mo> <mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">f^\bullet = (f^n)_{n \in \mathbb{N}}</annotation></semantics></math> by <a class="existingWikiWord" href="/nlab/show/induction">induction</a>.</p> <p>To start the induction, the morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mn>0</mn></msup></mrow><annotation encoding="application/x-tex">f^0</annotation></semantics></math> in the first diagram above can be found by the defining <a class="existingWikiWord" href="/nlab/show/right+lifting+property">right lifting property</a> of the <a class="existingWikiWord" href="/nlab/show/injective+object">injective object</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>Y</mi> <mn>0</mn></msup></mrow><annotation encoding="application/x-tex">Y^0</annotation></semantics></math> against the <a class="existingWikiWord" href="/nlab/show/monomorphism">monomorphism</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>i</mi> <mi>X</mi></msub></mrow><annotation encoding="application/x-tex">i_X</annotation></semantics></math>.</p> <p>Assume then that for some <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> component maps <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mrow><mo>•</mo><mo>≤</mo><mi>n</mi></mrow></msup></mrow><annotation encoding="application/x-tex">f^{\bullet \leq n}</annotation></semantics></math> have been obtained such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>d</mi> <mi>Y</mi> <mi>k</mi></msubsup><mo>∘</mo><msup><mi>f</mi> <mi>k</mi></msup><mo>=</mo><msup><mi>f</mi> <mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>∘</mo><msubsup><mi>d</mi> <mi>X</mi> <mi>k</mi></msubsup></mrow><annotation encoding="application/x-tex">d^k_Y\circ f^k = f^{k+1}\circ d^k_X</annotation></semantics></math> for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>≤</mo><mi>k</mi><mo><</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">0 \leq k \lt n</annotation></semantics></math> . In order to construct <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">f^{n+1}</annotation></semantics></math> consider the following diagram, which we will describe/construct stepwise from left to right:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msup><mi>X</mi> <mi>n</mi></msup></mtd> <mtd><mover><mo>→</mo><mrow></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mi>n</mi></msup><mo stretchy="false">/</mo><mi>im</mi><mo stretchy="false">(</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo stretchy="false">)</mo></mtd> <mtd><mover><mo>↪</mo><mrow><msubsup><mi>d</mi> <mi>X</mi> <mi>n</mi></msubsup></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mtd></mtr> <mtr><mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mrow><msup><mi>f</mi> <mi>n</mi></msup></mrow></mpadded></msup><mo stretchy="false">↓</mo></mtd> <mtd><msup><mo>↘</mo> <mpadded width="0"><mrow><msup><mi>g</mi> <mi>n</mi></msup></mrow></mpadded></msup></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>h</mi> <mi>n</mi></msup></mrow></mpadded></msup></mtd> <mtd><msub><mo>↙</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow></mpadded></msub></mtd></mtr> <mtr><mtd><msup><mi>Y</mi> <mi>n</mi></msup></mtd> <mtd><munder><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>Y</mi> <mi>n</mi></msubsup></mrow></munder></mtd> <mtd><msup><mi>Y</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ X^n &\stackrel{}{\to}& X^n/im(d^{n-1}_X) &\stackrel{d^n_X}{\hookrightarrow}& X^{n+1} \\ {}^{\mathllap{f^n}}\downarrow & \searrow^{\mathrlap{g^n}} & \downarrow^{\mathrlap{h^n}} & \swarrow_{\mathrlap{f^{n+1}}} \\ Y^n &\underset{d^n_Y}{\to}& Y^{n+1} } \,. </annotation></semantics></math></div> <p>Here the morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex">f^n</annotation></semantics></math> on the left is given by induction assumption and we define the diagonal morphism to be the composite</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>g</mi> <mi>n</mi></msup><mo>≔</mo><msubsup><mi>d</mi> <mi>Y</mi> <mi>n</mi></msubsup><mo>∘</mo><msup><mi>f</mi> <mi>n</mi></msup><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> g^n \coloneqq d^n_Y \circ f^n \,. </annotation></semantics></math></div> <p>Observe then that by the chain map property of the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mrow><mo>•</mo><mo>≤</mo><mi>n</mi></mrow></msup></mrow><annotation encoding="application/x-tex">f^{\bullet \leq n}</annotation></semantics></math> we have</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msubsup><mi>d</mi> <mi>Y</mi> <mi>n</mi></msubsup><mo>∘</mo><msup><mi>f</mi> <mi>n</mi></msup><mo>∘</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>d</mi> <mi>Y</mi> <mi>n</mi></msubsup><mo>∘</mo><msubsup><mi>d</mi> <mi>Y</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo>∘</mo><msup><mi>f</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> d^n_Y \circ f^n \circ d^{n-1}_X = d^n_Y \circ d^{n-1}_Y \circ f^{n-1} = 0 </annotation></semantics></math></div> <p>and therefore <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>g</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex">g^n</annotation></semantics></math> factors through <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mi>n</mi></msup><mo stretchy="false">/</mo><mi>im</mi><mo stretchy="false">(</mo><msubsup><mi>d</mi> <mi>X</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msubsup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">X^n/im(d^{n-1}_X)</annotation></semantics></math> via some <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>h</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex">h^n</annotation></semantics></math> as indicated in the middle of the above diagram. Finally the morphism on the top right is a monomorphism by the fact that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">X^{\bullet}</annotation></semantics></math> is <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact</a> in positive degrees (being <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphic</a> to a complex concentrated in degree 0) and so a lift <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">f^{n+1}</annotation></semantics></math> as shown on the far right of the diagram exists by the defining lifting property of the injective object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>Y</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">Y^{n+1}</annotation></semantics></math>.</p> <p>The total outer diagram now commutes, being built from commuting sub-diagrams, and this is the required chain map property of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mrow><mo>•</mo><mo>≤</mo><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">f^{\bullet \leq n+1}</annotation></semantics></math> This completes the induction step.</p> </div> <div class="num_prop" id="HomotopyUniquenessOfResolutionOfMorphism"> <h6 id="proposition_5">Proposition</h6> <p>The morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>f</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">f_\bullet</annotation></semantics></math> in prop. <a class="maruku-ref" href="#InjectiveResolutionOfCodomainRespectsMorphisms"></a> is the unique one up to <a class="existingWikiWord" href="/nlab/show/chain+homotopy">chain homotopy</a> making the given diagram commute.</p> </div> <div class="proof"> <h6 id="proof_7">Proof</h6> <p>Given two chain maps <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>g</mi> <mn>1</mn> <mo>•</mo></msubsup><mo>,</mo><msubsup><mi>g</mi> <mo>•</mo> <mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">g_1^\bullet, g^2_\bullet</annotation></semantics></math> making the diagram commute, a <a class="existingWikiWord" href="/nlab/show/chain+homotopy">chain homotopy</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>g</mi> <mn>1</mn> <mo>•</mo></msubsup><mo>⇒</mo><msubsup><mi>g</mi> <mn>2</mn> <mo>•</mo></msubsup></mrow><annotation encoding="application/x-tex">g_1^\bullet \Rightarrow g_2^\bullet</annotation></semantics></math> is equivalently a <a class="existingWikiWord" href="/nlab/show/null+homotopy">null homotopy</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>⇒</mo><msubsup><mi>g</mi> <mn>2</mn> <mo>•</mo></msubsup><mo lspace="verythinmathspace" rspace="0em">−</mo><msubsup><mi>g</mi> <mn>1</mn> <mo>•</mo></msubsup></mrow><annotation encoding="application/x-tex">0 \Rightarrow g_2^\bullet - g_1^\bullet</annotation></semantics></math> of the difference, which sits in a square of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mi>X</mi></mtd> <mtd><munderover><mo>→</mo><mrow><msup><mi>h</mi> <mo>•</mo></msup></mrow><mo>∼</mo></munderover></mtd> <mtd><msup><mi>X</mi> <mo>•</mo></msup></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mn>0</mn></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mo>•</mo></msup><mo>≔</mo><msubsup><mi>g</mi> <mn>2</mn> <mo>•</mo></msubsup><mo lspace="verythinmathspace" rspace="0em">−</mo><msubsup><mi>g</mi> <mn>1</mn> <mo>•</mo></msubsup></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mi>Y</mi></mtd> <mtd><mover><mo>→</mo><mo>∼</mo></mover></mtd> <mtd><msup><mi>Y</mi> <mo>•</mo></msup></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ X &\underoverset{h^\bullet}{\sim}{\to}& X^\bullet \\ \downarrow^{\mathrlap{0}} && \downarrow^{\mathrlap{f^\bullet \coloneqq g_2^\bullet - g_1^\bullet}} \\ Y &\stackrel{\sim}{\to}& Y^\bullet } </annotation></semantics></math></div> <p>with the left vertical morphism being the <a class="existingWikiWord" href="/nlab/show/zero+morphism">zero morphism</a> (and the bottom an injective resolution). Hence we have to show that in such a diagram <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">f^\bullet</annotation></semantics></math> is null-homotopic.</p> <p>This we may reduce to the statement of prop. <a class="maruku-ref" href="#MapsOutOfExactIntoInjectiveAreNullHomotopic"></a> by considering instead of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">f^\bullet</annotation></semantics></math> the induced chain map of augmented complexes</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mn>0</mn></mtd> <mtd><mover><mo>→</mo><mrow></mrow></mover></mtd> <mtd><mi>X</mi></mtd> <mtd><mover><mo>→</mo><mrow><msup><mi>h</mi> <mn>0</mn></msup></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mn>0</mn></msup></mtd> <mtd><mover><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>X</mi> <mn>0</mn></msubsup></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mn>1</mn></msup></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>⋯</mi></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>2</mn></mrow></msup><mo>=</mo><mn>0</mn></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo>=</mo><mn>0</mn></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mrow><msup><mi>f</mi> <mn>0</mn></msup></mrow></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mrow><msup><mi>f</mi> <mn>1</mn></msup></mrow></msup></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>Y</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>Y</mi> <mn>0</mn></msup></mtd> <mtd><mover><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>J</mi> <mn>0</mn></msubsup></mrow></mover></mtd> <mtd><msup><mi>Y</mi> <mn>1</mn></msup></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>⋯</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \array{ 0 &\stackrel{}{\to}& X &\stackrel{h^0}{\to}& X^0 &\stackrel{d^0_X}{\to}& X^1 &\to& \cdots \\ \downarrow^{\mathrlap{f^{-2} = 0}} && \downarrow^{\mathrlap{f^{-1} = 0}} && \downarrow^{f^0} && \downarrow^{f^1} \\ 0 &\to& Y &\to& Y^0 &\stackrel{d^0_J}{\to}& Y^1 &\to& \cdots } \,, </annotation></semantics></math></div> <p>where the second square from the left commutes due to the commutativity of the original square of chain complexes in degree 0.</p> <p>Since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>h</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">h^\bullet</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a>, the top chain complex is <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact</a>, by remark <a class="maruku-ref" href="#InjectiveResolutionInComponents"></a>. Morover the bottom complex consists of <a class="existingWikiWord" href="/nlab/show/injective+objects">injective objects</a> from the second degree on (the former degree 0). Hence the induction in the proof of prop <a class="maruku-ref" href="#MapsOutOfExactIntoInjectiveAreNullHomotopic"></a> implies the existence of a <a class="existingWikiWord" href="/nlab/show/null+homotopy">null homotopy</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mn>0</mn></mtd> <mtd><mover><mo>→</mo><mrow></mrow></mover></mtd> <mtd><mi>X</mi></mtd> <mtd><mover><mo>→</mo><mrow></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mn>0</mn></msup></mtd> <mtd><mover><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>X</mi> <mn>0</mn></msubsup></mrow></mover></mtd> <mtd><msup><mi>X</mi> <mn>1</mn></msup></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>⋯</mi></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>2</mn></mrow></msup><mo>=</mo><mn>0</mn></mrow></mpadded></msup></mtd> <mtd><msub><mo>↙</mo> <mpadded width="0"><mrow><msup><mi>η</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo>=</mo><mn>0</mn></mrow></mpadded></msub></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msup><mi>f</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo>=</mo><mn>0</mn></mrow></mpadded></msup></mtd> <mtd><msub><mo>↙</mo> <mpadded width="0"><mrow><msup><mi>η</mi> <mn>0</mn></msup><mo>=</mo><mn>0</mn></mrow></mpadded></msub></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mrow><msup><mi>f</mi> <mn>0</mn></msup></mrow></msup></mtd> <mtd><msub><mo>↙</mo> <mpadded width="0"><mrow><msup><mi>η</mi> <mn>1</mn></msup></mrow></mpadded></msub></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mrow><msup><mi>f</mi> <mn>1</mn></msup></mrow></msup></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>Y</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>Y</mi> <mn>0</mn></msup></mtd> <mtd><mover><mo>→</mo><mrow><msubsup><mi>d</mi> <mi>Y</mi> <mn>0</mn></msubsup></mrow></mover></mtd> <mtd><msup><mi>Y</mi> <mn>1</mn></msup></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>⋯</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ 0 &\stackrel{}{\to}& X &\stackrel{}{\to}& X^0 &\stackrel{d^0_X}{\to}& X^1 &\to& \cdots \\ \downarrow^{\mathrlap{f^{-2} = 0}} &\swarrow_{\mathrlap{\eta^{-1} = 0}}& \downarrow^{\mathrlap{f^{-1} = 0}} &\swarrow_{\mathrlap{\eta^0 = 0} }& \downarrow^{f^0} &\swarrow_{\mathrlap{\eta^1}}& \downarrow^{f^1} \\ 0 &\to& Y &\to& Y^0 &\stackrel{d^0_Y}{\to}& Y^1 &\to& \cdots } </annotation></semantics></math></div> <p>starting with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>η</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\eta^{-1} = 0</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>η</mi> <mn>0</mn></msup><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\eta^{0 } = 0</annotation></semantics></math> (notice that the proof prop. <a class="maruku-ref" href="#MapsOutOfExactIntoInjectiveAreNullHomotopic"></a> was formulated exactly this way), which works because <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">f^{-1} = 0</annotation></semantics></math>. The de-augmentation <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">{</mo><msup><mi>f</mi> <mrow><mo>•</mo><mo>≥</mo><mn>0</mn></mrow></msup><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">\{f^{\bullet \geq 0}\}</annotation></semantics></math> of this is the desired <a class="existingWikiWord" href="/nlab/show/null+homotopy">null homotopy</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">f^\bullet</annotation></semantics></math>.</p> </div> <p>Sometimes one needs to construct resolutions of sequences of morphisms in a more controled way, for instance such that some degreewise exactness is preserved:</p> <div class="num_lemma" id="ProjectiveResolutionOfExactSequenceByExactSequence"> <h6 id="lemma_2">Lemma</h6> <p>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><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> a <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a> in an <a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a> with <a class="existingWikiWord" href="/nlab/show/projective+object">enough projectives</a>, there exists a <a class="existingWikiWord" href="/nlab/show/commuting+diagram">commuting diagram</a> of <a class="existingWikiWord" href="/nlab/show/chain+complexes">chain complexes</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><msub><mi>A</mi> <mo>•</mo></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><msub><mi>B</mi> <mo>•</mo></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><msub><mi>C</mi> <mo>•</mo></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msub><mi>f</mi> <mo>•</mo></msub></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msub><mi>g</mi> <mo>•</mo></msub></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msub><mi>h</mi> <mo>•</mo></msub></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>A</mi></mtd> <mtd><mover><mo>→</mo><mi>i</mi></mover></mtd> <mtd><mi>B</mi></mtd> <mtd><mover><mo>→</mo><mi>p</mi></mover></mtd> <mtd><mi>C</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ 0 &\to& A_\bullet &\to& B_\bullet &\to& C_\bullet &\to& 0 \\ && \downarrow^{\mathrlap{f_\bullet}} && \downarrow^{\mathrlap{g_\bullet}} && \downarrow^{\mathrlap{h_\bullet}} \\ 0 &\to& A &\stackrel{i}{\to}& B &\stackrel{p}{\to}& C &\to& 0 } </annotation></semantics></math></div> <p>where</p> <ul> <li>each vertical morphism is a projective resolution;</li> </ul> <p>and in addition</p> <ul> <li>the top row is again a short exact sequence of chain complexes.</li> </ul> </div> <p>This appears for instance in (<a href="#May">May, lemma 3.4</a>) or (<a href="#Murfet">Murfet, cor. 33</a>).</p> <div class="proof"> <h6 id="proof_8">Proof</h6> <p>By prop. <a class="maruku-ref" href="#ExistenceOfInjectiveResolutions"></a> we can choose <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>f</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">f_\bullet</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>h</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">h_\bullet</annotation></semantics></math>. The task is now to construct the third resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>g</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">g_\bullet</annotation></semantics></math> such as to obtain a short exact sequence of chain complexes, hence degreewise a short exact sequence, in the two row.</p> <p>To construct this, let for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>B</mi> <mi>n</mi></msub><mo>≔</mo><msub><mi>A</mi> <mi>n</mi></msub><mo>⊕</mo><mi>C</mi><mo>:</mo><mi>n</mi></mrow><annotation encoding="application/x-tex"> B_n \coloneqq A_n \oplus C:n </annotation></semantics></math></div> <p>be the <a class="existingWikiWord" href="/nlab/show/direct+sum">direct sum</a> and let the top horizontal morphisms be the canonical inclusion and projection maps of the direct sum.</p> <p>Let then furthermore (in <a class="existingWikiWord" href="/nlab/show/matrix+calculus">matrix calculus</a> notation)</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>g</mi> <mn>0</mn></msub><mo>=</mo><mrow><mo>(</mo><mrow><mtable><mtr><mtd><mo stretchy="false">(</mo><msub><mi>j</mi> <mn>0</mn></msub><msub><mo stretchy="false">)</mo> <mi>A</mi></msub></mtd> <mtd><mo stretchy="false">(</mo><msub><mi>j</mi> <mn>0</mn></msub><msub><mo stretchy="false">)</mo> <mi>B</mi></msub></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>:</mo><msub><mi>A</mi> <mn>0</mn></msub><mo>⊕</mo><msub><mi>C</mi> <mn>0</mn></msub><mo>→</mo><mi>B</mi></mrow><annotation encoding="application/x-tex"> g_0 = \left( \array{ (j_0)_A & (j_0)_B } \right) : A_0 \oplus C_0 \to B </annotation></semantics></math></div> <p>be given in the first component by the given composite</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><msub><mi>g</mi> <mn>0</mn></msub><msub><mo stretchy="false">)</mo> <mi>A</mi></msub><mo>:</mo><msub><mi>A</mi> <mn>0</mn></msub><mo>⊕</mo><msub><mi>C</mi> <mn>0</mn></msub><mover><mo>→</mo><mrow></mrow></mover><msub><mi>A</mi> <mn>0</mn></msub><mover><mo>→</mo><mrow><msub><mi>f</mi> <mn>0</mn></msub></mrow></mover><mi>A</mi><mover><mo>↪</mo><mi>i</mi></mover><mi>B</mi></mrow><annotation encoding="application/x-tex"> (g_0)_A : A_0 \oplus C_0 \stackrel{}{\to} A_0 \stackrel{f_0}{\to} A \stackrel{i}{\hookrightarrow} B </annotation></semantics></math></div> <p>and in the second component we take</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><msub><mi>j</mi> <mn>0</mn></msub><msub><mo stretchy="false">)</mo> <mi>C</mi></msub><mo>:</mo><msub><mi>A</mi> <mn>0</mn></msub><mo>⊕</mo><msub><mi>C</mi> <mn>0</mn></msub><mo>→</mo><msub><mi>C</mi> <mn>0</mn></msub><mover><mo>→</mo><mi>ζ</mi></mover><mi>B</mi></mrow><annotation encoding="application/x-tex"> (j_0)_C : A_0 \oplus C_0 \to C_0 \stackrel{\zeta}{\to} B </annotation></semantics></math></div> <p>to be given by a lift in</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd></mtd> <mtd></mtd> <mtd><mi>B</mi></mtd></mtr> <mtr><mtd></mtd> <mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mi>ζ</mi></mpadded></msup><mo>↗</mo></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mi>p</mi></mpadded></msup></mtd></mtr> <mtr><mtd><msub><mi>C</mi> <mn>0</mn></msub></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>h</mi> <mn>0</mn></msub></mrow></mover></mtd> <mtd><mi>C</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \array{ && B \\ & {}^{\mathllap{\zeta}}\nearrow & \downarrow^{\mathrlap{p}} \\ C_0 &\stackrel{h_0}{\to}& C } \,, </annotation></semantics></math></div> <p>which exists by the <a class="existingWikiWord" href="/nlab/show/left+lifting+property">left lifting property</a> of the <a class="existingWikiWord" href="/nlab/show/projective+object">projective object</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">C_0</annotation></semantics></math> (since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">C_\bullet</annotation></semantics></math> is a projective resolution) against the <a class="existingWikiWord" href="/nlab/show/epimorphism">epimorphism</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>p</mi><mo>:</mo><mi>B</mi><mo>→</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">p : B \to C</annotation></semantics></math> of the <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a>.</p> <p>In total this gives in degree 0</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>A</mi> <mn>0</mn></msub></mtd> <mtd><mo>↪</mo></mtd> <mtd><msub><mi>A</mi> <mn>0</mn></msub><mo>⊕</mo><msub><mi>C</mi> <mn>0</mn></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><msub><mi>C</mi> <mn>0</mn></msub></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msub><mi>f</mi> <mn>0</mn></msub></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mrow><mo stretchy="false">(</mo><mo stretchy="false">(</mo><msub><mi>g</mi> <mn>0</mn></msub><msub><mo stretchy="false">)</mo> <mi>A</mi></msub><mo>,</mo><mo stretchy="false">(</mo><msub><mi>g</mi> <mn>0</mn></msub><msub><mo stretchy="false">)</mo> <mi>C</mi></msub><mo stretchy="false">)</mo></mrow></mpadded></msup><mo stretchy="false">↓</mo></mtd> <mtd><msub><mo>↙</mo> <mi>ζ</mi></msub></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msub><mi>h</mi> <mn>0</mn></msub></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mi>A</mi></mtd> <mtd><mover><mo>↪</mo><mi>i</mi></mover></mtd> <mtd><mi>B</mi></mtd> <mtd><mover><mo>→</mo><mi>p</mi></mover></mtd> <mtd><mi>C</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ A_0 &\hookrightarrow& A_0 \oplus C_0 &\to& C_0 \\ \downarrow^{\mathrlap{f_0}} && {}^{\mathllap{((g_0)_A, (g_0)_C)}}\downarrow &\swarrow_{\zeta}& \downarrow^{\mathrlap{h_0}} \\ A &\stackrel{i}{\hookrightarrow}& B &\stackrel{p}{\to}& C } \,. </annotation></semantics></math></div> <p>Let then the <a class="existingWikiWord" href="/nlab/show/differentials">differentials</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>B</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">B_\bullet</annotation></semantics></math> be given by</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msubsup><mi>d</mi> <mi>k</mi> <mrow><msub><mi>B</mi> <mo>•</mo></msub></mrow></msubsup><mo>=</mo><mrow><mo>(</mo><mrow><mtable><mtr><mtd><msubsup><mi>d</mi> <mi>k</mi> <mrow><msub><mi>A</mi> <mo>•</mo></msub></mrow></msubsup></mtd> <mtd><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn><msup><mo stretchy="false">)</mo> <mi>k</mi></msup><msub><mi>e</mi> <mi>k</mi></msub></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><msubsup><mi>d</mi> <mi>k</mi> <mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow></msubsup></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>:</mo><msub><mi>A</mi> <mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>⊕</mo><msub><mi>C</mi> <mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>→</mo><msub><mi>A</mi> <mi>k</mi></msub><mo>⊕</mo><msub><mi>C</mi> <mi>k</mi></msub><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> d_k^{B_\bullet} = \left( \array{ d_k^{A_\bullet} & (-1)^k e_k \\ 0 & d_k^{C_\bullet} } \right) : A_{k+1} \oplus C_{k+1} \to A_k \oplus C_k \,, </annotation></semantics></math></div> <p>where the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">{</mo><msub><mi>e</mi> <mi>k</mi></msub><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">\{e_k\}</annotation></semantics></math> are constructed by <a class="existingWikiWord" href="/nlab/show/induction">induction</a> as follows. Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>e</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">e_0</annotation></semantics></math> be a lift in</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd></mtd> <mtd></mtd> <mtd></mtd> <mtd><msub><mi>A</mi> <mn>0</mn></msub></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mrow><msub><mi>e</mi> <mn>0</mn></msub></mrow></mpadded></msup><mo>↗</mo></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msub><mi>f</mi> <mn>0</mn></msub></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mi>ζ</mi><mo>∘</mo><msubsup><mi>d</mi> <mn>0</mn> <mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow></msubsup><mo lspace="verythinmathspace">:</mo></mtd> <mtd><msub><mi>C</mi> <mn>1</mn></msub></mtd> <mtd><mover><mo>→</mo><mrow></mrow></mover></mtd> <mtd><mi>A</mi></mtd> <mtd><mo>↪</mo><mi>B</mi></mtd> <mtd></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ & && A_0 \\ & & {}^{\mathllap{e_0}}\nearrow & \downarrow^{\mathrlap{f_0}} \\ \zeta \circ d^{C_\bullet}_0 \colon & C_1 &\stackrel{}{\to}& A &\hookrightarrow B& } </annotation></semantics></math></div> <p>which exists since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">C_1</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/projective+object">projective object</a> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>A</mi> <mn>0</mn></msub><mo>→</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">A_0 \to A</annotation></semantics></math> is an epimorphism by <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>A</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">A_\bullet</annotation></semantics></math> being a projective resolution. Here we are using that by exactness the bottom morphism indeed factors through <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> as indicated, because the definition of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ζ</mi></mrow><annotation encoding="application/x-tex">\zeta</annotation></semantics></math> and the chain complex property of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">C_\bullet</annotation></semantics></math> gives</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><mi>p</mi><mo>∘</mo><mi>ζ</mi><mo>∘</mo><msubsup><mi>d</mi> <mn>0</mn> <mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow></msubsup></mtd> <mtd><mo>=</mo><msub><mi>h</mi> <mn>0</mn></msub><mo>∘</mo><msubsup><mi>d</mi> <mn>0</mn> <mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow></msubsup></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>=</mo><mn>0</mn><mo>∘</mo><msub><mi>h</mi> <mn>1</mn></msub></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \begin{aligned} p \circ \zeta \circ d^{C_\bullet}_0 &= h_0 \circ d^{C_\bullet}_0 \\ & = 0 \circ h_1 \\ & = 0 \end{aligned} \,. </annotation></semantics></math></div> <p>Now in the induction step, assuming that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>e</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">e_{n-1}</annotation></semantics></math> has been been found satisfying the chain complex property, let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>e</mi> <mi>n</mi></msub></mrow><annotation encoding="application/x-tex">e_n</annotation></semantics></math> be a lift in</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd></mtd> <mtd></mtd> <mtd></mtd> <mtd><msub><mi>A</mi> <mi>n</mi></msub></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mrow><msub><mi>e</mi> <mi>n</mi></msub></mrow></mpadded></msup><mo>↗</mo></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msubsup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow> <mrow><msub><mi>A</mi> <mo>•</mo></msub></mrow></msubsup></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><msub><mi>e</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>∘</mo><msubsup><mi>d</mi> <mi>n</mi> <mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow></msubsup><mo lspace="verythinmathspace">:</mo></mtd> <mtd><msub><mi>C</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd> <mtd><mover><mo>↪</mo><mrow></mrow></mover></mtd> <mtd><mi>ker</mi><mo stretchy="false">(</mo><msubsup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow> <mrow><msub><mi>A</mi> <mo>•</mo></msub></mrow></msubsup><mo stretchy="false">)</mo><mo>=</mo><mi>im</mi><mo stretchy="false">(</mo><msubsup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow> <mrow><msub><mi>A</mi> <mo>•</mo></msub></mrow></msubsup><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><msub><mi>A</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \array{ & && A_n \\ & & {}^{\mathllap{e_{n}}}\nearrow & \downarrow^{\mathrlap{d^{A_\bullet}_{n-1}}} \\ e_{n-1}\circ d_n^{C_\bullet} \colon & C_{n+1} &\stackrel{}{\hookrightarrow}& ker(d^{A_\bullet}_{n-1}) = im(d^{A_\bullet}_{n-1})) &\to& A_{n-1} } \,, </annotation></semantics></math></div> <p>which again exists since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">C_{n+1}</annotation></semantics></math> is projective. That the bottom morphism factors as indicated is the chain complex property of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>e</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">e_{n-1}</annotation></semantics></math> inside <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>d</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow> <mrow><msub><mi>B</mi> <mo>•</mo></msub></mrow></msubsup></mrow><annotation encoding="application/x-tex">d^{B_\bullet}_{n-1}</annotation></semantics></math>.</p> <p>To see that the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>d</mi> <mrow><msub><mi>B</mi> <mo>•</mo></msub></mrow></msup></mrow><annotation encoding="application/x-tex">d^{B_\bullet}</annotation></semantics></math> defines this way indeed squares to 0 notice that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msubsup><mi>d</mi> <mi>n</mi> <mrow><msub><mi>B</mi> <mo>•</mo></msub></mrow></msubsup><mo>∘</mo><msubsup><mi>d</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow> <mrow><msub><mi>B</mi> <mo>•</mo></msub></mrow></msubsup><mo>=</mo><mrow><mo>(</mo><mrow><mtable><mtr><mtd><mn>0</mn></mtd> <mtd><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn><msup><mo stretchy="false">)</mo> <mi>n</mi></msup><mrow><mo>(</mo><msub><mi>e</mi> <mi>n</mi></msub><mo>∘</mo><msubsup><mi>d</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow> <mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow></msubsup><mo>−</mo><msubsup><mi>d</mi> <mi>n</mi> <mrow><msub><mi>A</mi> <mo>•</mo></msub></mrow></msubsup><mo>∘</mo><msub><mi>e</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mn>0</mn></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> d^{B_\bullet}_{n} \circ d^{B_\bullet}_{n+1} = \left( \array{ 0 & (-1)^{n}\left(e_{n} \circ d^{C_\bullet}_{n+1} - d^{A_\bullet}_n \circ e_{n+1} \right) \\ 0 & 0 } \right) \,. </annotation></semantics></math></div> <p>This vanishes by the very commutativity of the above diagram.</p> <p>This establishes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>g</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">g_\bullet</annotation></semantics></math> such that the above diagram commutes and the bottom row is degreewise a short exact sequence, in fact a <a class="existingWikiWord" href="/nlab/show/split+exact+sequence">split exact sequence</a>, by construction.</p> <p>To see that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>g</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">g_\bullet</annotation></semantics></math> is indeed a quasi-isomorphism, consider the <a class="existingWikiWord" href="/nlab/show/homology+long+exact+sequence">homology long exact sequence</a> associated to the short exact sequence of cochain complexes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><msub><mi>A</mi> <mo>•</mo></msub><mo>→</mo><msub><mi>B</mi> <mo>•</mo></msub><mo>→</mo><msub><mi>C</mi> <mo>•</mo></msub><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">0 \to A_\bullet \to B_\bullet \to C_\bullet \to 0</annotation></semantics></math>. In positive degrees it implies that the chain homology of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>B</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">B_\bullet</annotation></semantics></math> indeed vanishes. In degree 0 it gives the short sequence <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><msub><mi>H</mi> <mn>0</mn></msub><mo stretchy="false">(</mo><msub><mi>B</mi> <mo>•</mo></msub><mo stretchy="false">)</mo><mo>→</mo><mi>B</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">0 \to A \to H_0(B_\bullet) \to B\to 0</annotation></semantics></math> sitting in a commuting diagram</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>A</mi></mtd> <mtd><mo>↪</mo></mtd> <mtd><msub><mi>H</mi> <mn>0</mn></msub><mo stretchy="false">(</mo><msub><mi>B</mi> <mo>•</mo></msub><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>C</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mo>=</mo></mpadded></msup></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mo>=</mo></mpadded></msup></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>A</mi></mtd> <mtd><mo>↪</mo></mtd> <mtd><mi>B</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>C</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn><mspace width="thinmathspace"></mspace><mo>,</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ 0 &\to& A &\hookrightarrow& H_0(B_\bullet) &\to& C &\to& 0 \\ \downarrow && \downarrow^{\mathrlap{=}} && \downarrow && \downarrow^{\mathrlap{=}} && \downarrow \\ 0 &\to& A &\hookrightarrow& B &\to& C &\to& 0 \,, } </annotation></semantics></math></div> <p>where both rows are exact. That the middle vertical morphism is an <a class="existingWikiWord" href="/nlab/show/isomorphism">isomorphism</a> then follows by the <a class="existingWikiWord" href="/nlab/show/five+lemma">five lemma</a>.</p> </div> <p>The formally dual statement to lemma <a class="maruku-ref" href="#ProjectiveResolutionOfExactSequenceByExactSequence"></a> is the following.</p> <div class="num_lemma" id="InjectiveResolutionOfExactSequenceByExactSequence"> <h6 id="lemma_3">Lemma</h6> <p>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> a <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a> in an <a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a> with <a class="existingWikiWord" href="/nlab/show/injective+object">enough injectives</a>, there exists a <a class="existingWikiWord" href="/nlab/show/commuting+diagram">commuting diagram</a> of cochain complexes</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>A</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>B</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>C</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>A</mi> <mo>•</mo></msup></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>B</mi> <mo>•</mo></msup></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>C</mi> <mo>•</mo></msup></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ 0 &\to& A &\to& B &\to& C &\to& 0 \\ && \downarrow^{\mathrlap{}} && \downarrow^{\mathrlap{}} && \downarrow^{\mathrlap{}} \\ 0 &\to& A^\bullet &\to& B^\bullet &\to& C^\bullet &\to& 0 } </annotation></semantics></math></div> <p>where</p> <ul> <li>each vertical morphism is an injective resolution;</li> </ul> <p>and in addition</p> <ul> <li>the bottom row is again a short exact sequence of cochain complexes.</li> </ul> </div> <div class="proof"> <h6 id="proof_9">Proof</h6> <p>To construct this, let for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>B</mi> <mi>n</mi></msup><mo>≔</mo><msup><mi>A</mi> <mi>n</mi></msup><mo>⊕</mo><msup><mi>C</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex"> B^n \coloneqq A^n \oplus C^n </annotation></semantics></math></div> <p>be the <a class="existingWikiWord" href="/nlab/show/direct+sum">direct sum</a> and let the bottom horizontal morphisms be the canonical inclusion and projection maps of the direct sum.</p> <p>Let then furthermore (in <a class="existingWikiWord" href="/nlab/show/matrix+calculus">matrix calculus</a> notation)</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>j</mi> <mn>0</mn></msup><mo>=</mo><mrow><mo>(</mo><mrow><mtable><mtr><mtd><msubsup><mi>j</mi> <mi>A</mi> <mn>0</mn></msubsup></mtd></mtr> <mtr><mtd><msubsup><mi>j</mi> <mi>B</mi> <mn>0</mn></msubsup></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>:</mo><mi>B</mi><mo>→</mo><msup><mi>A</mi> <mn>0</mn></msup><mo>⊕</mo><msup><mi>C</mi> <mn>0</mn></msup></mrow><annotation encoding="application/x-tex"> j^0 = \left( \array{ j^0_A \\ j^0_B } \right) : B \to A^0 \oplus C^0 </annotation></semantics></math></div> <p>be given in the second component by the given composite</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msubsup><mi>j</mi> <mi>B</mi> <mn>0</mn></msubsup><mo>:</mo><mi>B</mi><mo>→</mo><mi>C</mi><mo>→</mo><msup><mi>C</mi> <mn>0</mn></msup></mrow><annotation encoding="application/x-tex"> j^0_B : B \to C \to C^0 </annotation></semantics></math></div> <p>and in the first component we take</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msubsup><mi>j</mi> <mi>A</mi> <mn>0</mn></msubsup><mo>:</mo><mi>B</mi><mo>→</mo><msup><mi>A</mi> <mn>0</mn></msup></mrow><annotation encoding="application/x-tex"> j^0_A : B \to A^0 </annotation></semantics></math></div> <p>to be given by a lift in</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mi>A</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>A</mi> <mn>0</mn></msup></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd><msub><mo>↗</mo> <mpadded width="0"><mrow><msubsup><mi>j</mi> <mi>A</mi> <mn>0</mn></msubsup></mrow></mpadded></msub></mtd></mtr> <mtr><mtd><mi>B</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \array{ A &\to& A^0 \\ \downarrow & \nearrow_{\mathrlap{j^0_A}} \\ B } \,, </annotation></semantics></math></div> <p>which exists by the <a class="existingWikiWord" href="/nlab/show/right+lifting+property">right lifting property</a> of the <a class="existingWikiWord" href="/nlab/show/injective+object">injective object</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>A</mi> <mn>0</mn></msup></mrow><annotation encoding="application/x-tex">A^0</annotation></semantics></math> (since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>A</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">A^\bullet</annotation></semantics></math> is an injective resolution) against the <a class="existingWikiWord" href="/nlab/show/monomorphism">monomorphism</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>→</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">A \to B</annotation></semantics></math> of the <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a>.</p> <p>Let the differentials be given by (…).</p> <p>This establishes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>j</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">j^\bullet</annotation></semantics></math> such that the above diagram commutes and the bottom row is degreewise a short exact sequence, in fact a <a class="existingWikiWord" href="/nlab/show/split+exact+sequence">split exact sequence</a>, by construction.</p> <p>To see that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>j</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">j^\bullet</annotation></semantics></math> is indeed a quasi-isomorphism, consider the <a class="existingWikiWord" href="/nlab/show/homology+long+exact+sequence">homology long exact sequence</a> associated to the short exact sequence of cochain complexes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><msup><mi>A</mi> <mo>•</mo></msup><mo>→</mo><msup><mi>B</mi> <mo>•</mo></msup><mo>→</mo><msup><mi>C</mi> <mo>•</mo></msup><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">0 \to A^\bullet \to B^\bullet \to C^\bullet \to 0</annotation></semantics></math> (…).</p> </div> <h3 id="ExistenceAndConstructionOfResolutionsOfComplexes">Existence and construction of resolutions of complexes</h3> <div class="num_defn"> <h6 id="definition_9">Definition</h6> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> has <a class="existingWikiWord" href="/nlab/show/projective+object">enough projectives</a>, then every chain complex <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mo>•</mo></msub><mo>∈</mo><msub><mi>Ch</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_\bullet \in Ch_\bullet(\mathcal{A})</annotation></semantics></math> has a fully projective (proper) resolution, def. <a class="maruku-ref" href="#FullyProjectiveResolutionOfChainComplex"></a>.</p> </div> <div class="proof"> <h6 id="proof_10">Proof</h6> <p>Notice that for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> we have <a class="existingWikiWord" href="/nlab/show/short+exact+sequences">short exact sequences</a> of <a class="existingWikiWord" href="/nlab/show/chains">chains</a>, <a class="existingWikiWord" href="/nlab/show/cycles">cycles</a>, <a class="existingWikiWord" href="/nlab/show/boundaries">boundaries</a> and <a class="existingWikiWord" href="/nlab/show/homology+groups">homology groups</a> as</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>B</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>Z</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>H</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to B_n(C) \to Z_n(C) \to H_n(C) \to 0 </annotation></semantics></math></div><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>Z</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>C</mi> <mi>n</mi></msub><mo>→</mo><msub><mi>B</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to Z_n(C) \to C_n \to B_{n-1}(C) \to 0 \,. </annotation></semantics></math></div> <p>Now by prop. <a class="maruku-ref" href="#ExistenceOfInjectiveResolutions"></a> we find for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> projective resolutions of the objects <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>H</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">H_n(C)</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>B</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">B_n(C)</annotation></semantics></math>:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>H</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><msub><mi>H</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> H_{n,\bullet} \stackrel{\simeq_{qi}}{\to} H_n(C) </annotation></semantics></math></div><div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>B</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><msub><mi>B</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> B_{n,\bullet} \stackrel{\simeq_{qi}}{\to} B_n(C) \,. </annotation></semantics></math></div> <p>Moreover, by prop. <a class="maruku-ref" href="#ProjectiveResolutionOfExactSequenceByExactSequence"></a> we find for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> a projective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Z</mi> <mrow><mi>p</mi><mo>,</mo><mo>•</mo></mrow></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><msub><mi>Z</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Z_{p,\bullet}(C) \stackrel{\simeq_{qi}}{\to} Z_n(C)</annotation></semantics></math> of the object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Z</mi> <mi>p</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Z_p(C)</annotation></semantics></math> such that its fits into a <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a> of chain complexes with the previous two chosen resolutions:</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>B</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>Z</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>H</mi> <mrow><mi>n</mi><mo>,</mo><mn>0</mn></mrow></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to B_{n,\bullet}(C) \to Z_{n,\bullet}(C) \to H_{n,0}(C) \to 0 \,. </annotation></semantics></math></div> <p>Analogously, we find for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math> a projective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><mo>→</mo><msub><mi>C</mi> <mi>n</mi></msub></mrow><annotation encoding="application/x-tex">C_{n,\bullet} \to C_n</annotation></semantics></math> that sits in a short exact 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>Z</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><mo>→</mo><msub><mi>C</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><mo>→</mo><msub><mi>B</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn><mo>,</mo><mo>•</mo></mrow></msub><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to Z_{n,\bullet} \to C_{n,\bullet} \to B_{n+1,\bullet} \to 0 \,. </annotation></semantics></math></div> <p>Using the exactness of these sequences one checks now that</p> <ol> <li> <p>The <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">{</mo><msub><mi>C</mi> <mrow><mi>n</mi><mo>,</mo><mo>•</mo></mrow></msub><msub><mo stretchy="false">}</mo> <mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\{C_{n,\bullet}\}_{n \in \mathbb{N}}</annotation></semantics></math> arrange into a <a class="existingWikiWord" href="/nlab/show/double+complex">double complex</a> by taking the horizontal differential to be the composite</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>→</mo><msub><mi>B</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>k</mi></mrow></msub><mo>↪</mo><msub><mi>Z</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>k</mi></mrow></msub><mo>→</mo><msub><mi>C</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>k</mi></mrow></msub><mspace width="thinmathspace"></mspace><mo>;</mo></mrow><annotation encoding="application/x-tex"> C_{n,k} \to B_{n+1,k} \hookrightarrow Z_{n+1,k} \to C_{n+1,k} \,; </annotation></semantics></math></div></li> <li> <p>this <a class="existingWikiWord" href="/nlab/show/double+complex">double complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mrow><mo>•</mo><mo>,</mo><mo>•</mo></mrow></msub></mrow><annotation encoding="application/x-tex">C_{\bullet,\bullet}</annotation></semantics></math> is indeed a fully projective resolution of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">C_\bullet</annotation></semantics></math>.</p> </li> </ol> </div> <h3 id="FunctorialResolutions">Functorial resolutions and derived functors</h3> <p>We discuss how the injective/projective resolutions constructed in <em><a href="#ExistenceAndConstruction">Existence and construction</a></em> are <a class="existingWikiWord" href="/nlab/show/functor">functorial</a> if regarded in the <a class="existingWikiWord" href="/nlab/show/homotopy+category+of+chain+complexes">homotopy category of chain complexes</a> and how this yields the construction of <em><a class="existingWikiWord" href="/nlab/show/derived+functors+in+homological+algebra">derived functors in homological algebra</a></em>.</p> <p>Write</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo lspace="verythinmathspace" rspace="0em">+</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo><mo>↪</mo><mi>𝒦</mi><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> \mathcal{K}^{+}(\mathcal{A}) \hookrightarrow \mathcal{K}(\mathcal{A}) </annotation></semantics></math></div> <p>for the <a class="existingWikiWord" href="/nlab/show/full+subcategory">full subcategory</a> of the <a class="existingWikiWord" href="/nlab/show/homotopy+category+of+chain+complexes">homotopy category of chain complexes</a> on the one bounded above or bounded below, respectively. Write</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><msub><mi>ℐ</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo><mo>↪</mo><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> \mathcal{K}^+(\mathcal{I}_{\mathcal{A}}) \hookrightarrow \mathcal{K}^+(\mathcal{A}) </annotation></semantics></math></div> <p>for the <a class="existingWikiWord" href="/nlab/show/full+subcategory">full subcategory</a> on the degreewise <a class="existingWikiWord" href="/nlab/show/injective+object">injective</a> complexes, and</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo>−</mo></msup><mo stretchy="false">(</mo><msub><mi>𝒫</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo><mo>↪</mo><msup><mi>𝒦</mi> <mo>−</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> \mathcal{K}^-(\mathcal{P}_{\mathcal{A}}) \hookrightarrow \mathcal{K}^-(\mathcal{A}) </annotation></semantics></math></div> <p>for the full subcategory on the degreewise <a class="existingWikiWord" href="/nlab/show/projective+object">projective</a> objects.</p> <div class="num_theorem" id="InjectiveResolutionFunctors"> <h6 id="theorem">Theorem</h6> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> has <a href="injective+object#EnoughInjectives">enough injectives</a> then there exists a <a class="existingWikiWord" href="/nlab/show/functor">functor</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>P</mi><mo>:</mo><mi>𝒜</mi><mo>→</mo><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><msub><mi>ℐ</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> P : \mathcal{A} \to \mathcal{K}^+(\mathcal{I}_{\mathcal{A}}) </annotation></semantics></math></div> <p>together with a <a class="existingWikiWord" href="/nlab/show/natural+isomorphisms">natural isomorphisms</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mn>0</mn></msup><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>∘</mo><mi>P</mi><mo>≃</mo><msub><mi>id</mi> <mi>𝒜</mi></msub></mrow><annotation encoding="application/x-tex"> H^0(-) \circ P \simeq id_{\mathcal{A}} </annotation></semantics></math></div> <p>and</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>∘</mo><mi>P</mi><mo>≃</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> H^{n \geq 1}(-) \circ P \simeq 0 \,. </annotation></semantics></math></div></div> <div class="proof"> <h6 id="proof_11">Proof</h6> <p>By prop. <a class="maruku-ref" href="#ExistenceOfInjectiveResolutions"></a> every object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mo>•</mo></msup><mo>∈</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">X^\bullet \in Ch^\bullet(\mathcal{A})</annotation></semantics></math> has an injective resolution. Proposition <a class="maruku-ref" href="#InjectiveResolutionOfCodomainRespectsMorphisms"></a> says that for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>→</mo><msup><mi>X</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">X \to X^\bullet</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>→</mo><msup><mover><mi>X</mi><mo stretchy="false">˜</mo></mover> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">X \to \tilde X^\bullet</annotation></semantics></math> two resolutions the there is a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mo>•</mo></msup><mo>→</mo><msup><mover><mi>X</mi><mo stretchy="false">˜</mo></mover> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">X^\bullet \to \tilde X^\bullet</annotation></semantics></math> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}^+()</annotation></semantics></math> and prop. <a class="maruku-ref" href="#HomotopyUniquenessOfResolutionOfMorphism"></a> says that this morphism is unique in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}^+(\mathcal{A})</annotation></semantics></math>. In particular it is therefore an <a class="existingWikiWord" href="/nlab/show/isomorphism">isomorphism</a> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}^+(\mathcal{A})</annotation></semantics></math> (since the composite with the reverse lifted morphism, also being unique, has to be the identity).</p> <p>So choose one such injective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>P</mi><mo stretchy="false">(</mo><mi>X</mi><msup><mo stretchy="false">)</mo> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">P(X)^\bullet</annotation></semantics></math> for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">X^\bullet</annotation></semantics></math>.</p> <p>Then for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>:</mo><mi>X</mi><mo>→</mo><mi>Y</mi></mrow><annotation encoding="application/x-tex">f : X \to Y</annotation></semantics></math> any morphism in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math>, proposition <a class="maruku-ref" href="#ExistenceOfInjectiveResolutions"></a> again says that it can be lifted to a morphism between <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>P</mi><mo stretchy="false">(</mo><mi>X</mi><msup><mo stretchy="false">)</mo> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">P(X)^\bullet</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>P</mi><mo stretchy="false">(</mo><mi>Y</mi><msup><mo stretchy="false">)</mo> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">P(Y)^\bullet</annotation></semantics></math> and proposition <a class="maruku-ref" href="#InjectiveResolutionOfCodomainRespectsMorphisms"></a> says that there is a unique such image in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}^+(\mathcal{A})</annotation></semantics></math> for morphism making the given diagram commute.</p> <p>This implies that this assignment of morphisms is <a class="existingWikiWord" href="/nlab/show/functor">functorial</a>, since then also the composites are unique.</p> </div> <p>Dually we have:</p> <div class="num_theorem" id="ProjectiveResolutionFunctors"> <h6 id="theorem_2">Theorem</h6> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> has <a href="projectice+object#EnoughInjectives">enough projectives</a> then there exists a <a class="existingWikiWord" href="/nlab/show/functor">functor</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Q</mi><mo>:</mo><mi>𝒜</mi><mo>→</mo><msup><mi>𝒦</mi> <mo>−</mo></msup><mo stretchy="false">(</mo><msub><mi>𝒫</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Q : \mathcal{A} \to \mathcal{K}^-(\mathcal{P}_{\mathcal{A}}) </annotation></semantics></math></div> <p>together with a <a class="existingWikiWord" href="/nlab/show/natural+isomorphisms">natural isomorphisms</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>H</mi> <mn>0</mn></msub><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>∘</mo><mi>P</mi><mo>≃</mo><msub><mi>id</mi> <mi>𝒜</mi></msub></mrow><annotation encoding="application/x-tex"> H_0(-) \circ P \simeq id_{\mathcal{A}} </annotation></semantics></math></div> <p>and</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>H</mi> <mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow></msub><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo><mo>∘</mo><mi>P</mi><mo>≃</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> H_{n \geq 1}(-) \circ P \simeq 0 \,. </annotation></semantics></math></div></div> <p>This is sufficient for the definition and construction of (non-total) <a class="existingWikiWord" href="/nlab/show/derived+functors">derived functors</a> in the next definition <a class="maruku-ref" href="#RightDerivedFunctorOfLeftExactFunctor"></a>. But since that definition is but a model and just for a special case of derived functors, the reader might want to keep the following definition and remark in mind, for conceptual orientation.</p> <div class="num_defn"> <h6 id="definition_10">Definition</h6> <p>Given an <a class="existingWikiWord" href="/nlab/show/additive+functor">additive functor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>:</mo><mi>𝒜</mi><mo>→</mo><mi>𝒜</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">F : \mathcal{A} \to \mathcal{A}'</annotation></semantics></math>, it canonically induces a functor</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>Ch</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">)</mo><mo lspace="verythinmathspace">:</mo><msub><mi>Ch</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>Ch</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Ch_\bullet(F) \colon Ch_\bullet(\mathcal{A}) \to Ch_\bullet(\mathcal{A}') </annotation></semantics></math></div> <p>between <a class="existingWikiWord" href="/nlab/show/categories+of+chain+complexes">categories of chain complexes</a> (its “prolongation”) by applying it to each <a class="existingWikiWord" href="/nlab/show/chain+complex">chain complex</a> and to all the diagrams in the definition of a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a>. Similarly it preserves <a class="existingWikiWord" href="/nlab/show/chain+homotopies">chain homotopies</a> and hence it passes to the quotient given by the strong <a class="existingWikiWord" href="/nlab/show/homotopy+category+of+chain+complexes">homotopy category of chain complexes</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>𝒦</mi><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">)</mo><mo lspace="verythinmathspace">:</mo><mi>𝒦</mi><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo><mo>→</mo><mi>𝒦</mi><mo stretchy="false">(</mo><mi>𝒜</mi><mo>′</mo><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \mathcal{K}(F) \colon \mathcal{K}(\mathcal{A}) \to \mathcal{K}(\mathcal{A}') \,. </annotation></semantics></math></div></div> <div class="num_remark"> <h6 id="remark_5">Remark</h6> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">\mathcal{A}'</annotation></semantics></math> have <a class="existingWikiWord" href="/nlab/show/projective+object">enough projectives</a>, then their <a class="existingWikiWord" href="/nlab/show/derived+categories">derived categories</a> are</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>𝒟</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo><mo>≃</mo><msub><mi>𝒦</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><msub><mi>𝒫</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> \mathcal{D}_\bullet(\mathcal{A}) \simeq \mathcal{K}_\bullet(\mathcal{P}_{\mathcal{A}}) </annotation></semantics></math></div> <p>and</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>𝒟</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo><mo>≃</mo><msup><mi>𝒦</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><msub><mi>ℐ</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> \mathcal{D}^\bullet(\mathcal{A}) \simeq \mathcal{K}^\bullet(\mathcal{I}_{\mathcal{A}}) </annotation></semantics></math></div> <p>etc. One wants to accordingly <em>derive</em> from <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> a functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>𝒟</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>𝒟</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{D}_\bullet(\mathcal{A}) \to \mathcal{D}_\bullet(\mathcal{A})</annotation></semantics></math> between these derived categories. It is immediate to achive this on the domain category, there we can simply precompose and form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi><mo>→</mo><msub><mi>𝒟</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo><mo>≃</mo><mi>𝒦</mi><mo stretchy="false">(</mo><msub><mi>𝒫</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo><mo>↪</mo><mi>𝒦</mi><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><mi>𝒦</mi><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">)</mo></mrow></mover><mi>𝒦</mi><mo stretchy="false">(</mo><mi>𝒜</mi><mo>′</mo><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \mathcal{A} \to \mathcal{D}_\bullet(\mathcal{A}) \simeq \mathcal{K}(\mathcal{P}_{\mathcal{A}}) \hookrightarrow \mathcal{K}(\mathcal{A}) \stackrel{\mathcal{K}(F)}{\to} \mathcal{K}(\mathcal{A}') \,. </annotation></semantics></math></div> <p>But the resulting composite lands in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒦</mi><mo stretchy="false">(</mo><mi>𝒜</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}(\mathcal{A}')</annotation></semantics></math> and in general does not factor through the inclusion <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>𝒟</mi> <mo>•</mo></msub><mo stretchy="false">(</mo><mi>𝒜</mi><mo>′</mo><mo stretchy="false">)</mo><mo>=</mo><mi>𝒦</mi><mo stretchy="false">(</mo><msub><mi>𝒫</mi> <mrow><mi>𝒜</mi><mo>′</mo></mrow></msub><mo stretchy="false">)</mo><mo>↪</mo><mi>𝒦</mi><mo stretchy="false">(</mo><mi>𝒜</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{D}_\bullet(\mathcal{A}') = \mathcal{K}(\mathcal{P}_{\mathcal{A}'}) \hookrightarrow \mathcal{K}(\mathcal{A}')</annotation></semantics></math>.</p> <p>By applying a projective resolution functor <em>on chain complexes</em>, one can enforce this factorization. However, by definition of <a class="existingWikiWord" href="/nlab/show/resolution">resolution</a>, the resulting chain complex is <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphic</a> to the one obtained by the above composite.</p> <p>This means that if one is only interested in the “weak chain homology type” of the chain complex in the image of a <a class="existingWikiWord" href="/nlab/show/derived+functor">derived functor</a>, then forming <a class="existingWikiWord" href="/nlab/show/chain+homology">chain homology</a> groups of the chain complexes in the images of the above composite gives the desired information. This is what def. <a class="maruku-ref" href="#RightDerivedFunctorOfLeftExactFunctor"></a> and def. <a class="maruku-ref" href="#LeftDerivedFunctorOfRightExactFunctor"></a> below do.</p> </div> <div class="num_defn" id="RightDerivedFunctorOfLeftExactFunctor"> <h6 id="definition_11">Definition</h6> <p>Let</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>:</mo><mi>𝒜</mi><mo>→</mo><mi>𝒜</mi><mo>′</mo></mrow><annotation encoding="application/x-tex"> F : \mathcal{A} \to \mathcal{A}' </annotation></semantics></math></div> <p>be a <a class="existingWikiWord" href="/nlab/show/left+exact+functor">left exact functor</a> between <a class="existingWikiWord" href="/nlab/show/abelian+categories">abelian categories</a> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> has <a href="inhective+object#EnoughInjectives">enough injectives</a>. For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> the <strong><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>th <a class="existingWikiWord" href="/nlab/show/right+derived+functor">right derived functor</a></strong> of <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 the composite</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo>:</mo><mi>𝒜</mi><mover><mo>→</mo><mi>P</mi></mover><msup><mi>K</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><msub><mi>ℐ</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><mi>𝒦</mi><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">)</mo></mrow></mover><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo>′</mo><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo></mrow></mover><mi>𝒜</mi><mo>′</mo><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> R^n F : \mathcal{A} \stackrel{P}{\to} K^+(\mathcal{I}_{\mathcal{A}}) \stackrel{\mathcal{K}(F)}{\to} \mathcal{K}^+(\mathcal{A}') \stackrel{H^n(-)}{\to} \mathcal{A}' \,, </annotation></semantics></math></div> <p>where</p> <ul> <li> <p><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> is the injective resolution functor of theorem <a class="maruku-ref" href="#InjectiveResolutionFunctors"></a>;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒦</mi><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}(F)</annotation></semantics></math> is the evident prolongation of <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> to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}^+(\mathcal{A})</annotation></semantics></math>;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">H^n(-)</annotation></semantics></math> is the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/chain+homology">chain homology</a> functor. Hence</p> </li> </ul> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo stretchy="false">)</mo><mo stretchy="false">(</mo><msup><mi>X</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>≔</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><mi>P</mi><mo stretchy="false">(</mo><mi>X</mi><msup><mo stretchy="false">)</mo> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> (R^n F)(X^\bullet) \coloneqq H^n(F(P(X)^\bullet)) \,. </annotation></semantics></math></div></div> <p>Dually:</p> <div class="num_defn" id="LeftDerivedFunctorOfRightExactFunctor"> <h6 id="definition_12">Definition</h6> <p>Let</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>:</mo><mi>𝒜</mi><mo>→</mo><mi>𝒜</mi><mo>′</mo></mrow><annotation encoding="application/x-tex"> F : \mathcal{A} \to \mathcal{A}' </annotation></semantics></math></div> <p>be a <a class="existingWikiWord" href="/nlab/show/right+exact+functor">right exact functor</a> between <a class="existingWikiWord" href="/nlab/show/abelian+categories">abelian categories</a> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> has <a href="projective+object#EnoughProjectives">enough projectives</a>. For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> the <strong><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>th <a class="existingWikiWord" href="/nlab/show/left+derived+functor">left derived functor</a></strong> of <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 the composite</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>L</mi> <mi>n</mi></msub><mi>F</mi><mo>:</mo><mi>𝒜</mi><mover><mo>→</mo><mi>Q</mi></mover><msup><mi>K</mi> <mo>−</mo></msup><mo stretchy="false">(</mo><msub><mi>𝒫</mi> <mi>𝒜</mi></msub><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><mi>𝒦</mi><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">)</mo></mrow></mover><msup><mi>𝒦</mi> <mo>−</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo>′</mo><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><msub><mi>H</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo></mrow></mover><mi>𝒜</mi><mo>′</mo><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> L_n F : \mathcal{A} \stackrel{Q}{\to} K^-(\mathcal{P}_{\mathcal{A}}) \stackrel{\mathcal{K}(F)}{\to} \mathcal{K}^-(\mathcal{A}') \stackrel{H_n(-)}{\to} \mathcal{A}' \,, </annotation></semantics></math></div> <p>where</p> <ul> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Q</mi></mrow><annotation encoding="application/x-tex">Q</annotation></semantics></math> is the projective resolution functor of theorem <a class="maruku-ref" href="#ProjectiveResolutionFunctors"></a>;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒦</mi><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}(F)</annotation></semantics></math> is the evident prolongation of <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> to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>𝒦</mi> <mo>+</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathcal{K}^+(\mathcal{A})</annotation></semantics></math>;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>H</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">H_n(-)</annotation></semantics></math> is the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/chain+homology">chain homology</a> functor. Hence</p> </li> </ul> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><msub><mi>L</mi> <mi>n</mi></msub><mi>F</mi><mo stretchy="false">)</mo><mo stretchy="false">(</mo><msub><mi>X</mi> <mo>•</mo></msub><mo stretchy="false">)</mo><mo>≔</mo><msub><mi>H</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><mi>Q</mi><mo stretchy="false">(</mo><mi>X</mi><msub><mo stretchy="false">)</mo> <mo>•</mo></msub><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> (L_n F)(X_\bullet) \coloneqq H_n(F(Q(X)_\bullet)) \,. </annotation></semantics></math></div></div> <p>We discuss now the basic general properties of such derived functors.</p> <div class="num_prop" id="BasicPropertiesOfDerivedFunctors"> <h6 id="proposition_6">Proposition</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo lspace="verythinmathspace">:</mo><mi>𝒜</mi><mo>→</mo><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">F \colon \mathcal{A} \to \mathcal{B}</annotation></semantics></math> a <a class="existingWikiWord" href="/nlab/show/left+exact+functor">left exact functor</a> in the presence of <a class="existingWikiWord" href="/nlab/show/injective+object">enough injectives</a>. Then for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">X \in \mathcal{A}</annotation></semantics></math> there is a <a class="existingWikiWord" href="/nlab/show/natural+isomorphism">natural isomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mn>0</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo><mo>≃</mo><mi>F</mi><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> R^0F(X) \simeq F(X) \,. </annotation></semantics></math></div> <p>Dually, of <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 a <a class="existingWikiWord" href="/nlab/show/right+exact+functor">right exact functor</a> in the presence of <a class="existingWikiWord" href="/nlab/show/projective+object">enough projectives</a>, then</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>L</mi> <mn>0</mn></msub><mi>F</mi><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo><mo>≃</mo><mi>F</mi><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> L_0 F(X) \simeq F(X) \,. </annotation></semantics></math></div></div> <div class="proof"> <h6 id="proof_12">Proof</h6> <p>We discuss the first statement, the second is formally dual.</p> <p>By remark <a class="maruku-ref" href="#InjectiveResolutionInComponents"></a> an injective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><msup><mi>X</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">X \stackrel{\simeq_{qi}}{\to} X^\bullet</annotation></semantics></math> is equivalently an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a> of the form</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>X</mi><mo>↪</mo><msup><mi>X</mi> <mn>0</mn></msup><mo>→</mo><msup><mi>X</mi> <mn>1</mn></msup><mo>→</mo><mi>⋯</mi><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to X \hookrightarrow X^0 \to X^1 \to \cdots \,. </annotation></semantics></math></div> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> is left exact then it preserves this excact sequence by definition of left exactness, and hence</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>X</mi><mo stretchy="false">)</mo><mo>↪</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mn>0</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mn>1</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mi>⋯</mi></mrow><annotation encoding="application/x-tex"> 0 \to F(X) \hookrightarrow F(X^0) \to F(X^1) \to \cdots </annotation></semantics></math></div> <p>is an exact sequence. But this means that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mn>0</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo><mo>≔</mo><mi>ker</mi><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mn>0</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mn>1</mn></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>≃</mo><mi>F</mi><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> R^0 F(X) \coloneqq ker(F(X^0) \to F(X^1)) \simeq F(X) \,. </annotation></semantics></math></div></div> <div class="num_prop" id="LongExactSequenceOfRightDerivedFunctorsFromShortExactSequence"> <h6 id="proposition_7">Proposition</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi><mo>,</mo><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}, \mathcal{B}</annotation></semantics></math> be <a class="existingWikiWord" href="/nlab/show/abelian+categories">abelian categories</a> and assume that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> has <a class="existingWikiWord" href="/nlab/show/injective+object">enough injectives</a>.</p> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>:</mo><mi>𝒜</mi><mo>→</mo><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">F : \mathcal{A} \to \mathcal{B}</annotation></semantics></math> be a <a class="existingWikiWord" href="/nlab/show/left+exact+functor">left exact functor</a> and let</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>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></div> <p>be a <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math>.</p> <p>Then there is a <a class="existingWikiWord" href="/nlab/show/long+exact+sequence">long exact sequence</a> of images of these objects under the right derived functors <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mo>•</mo></msup><mi>F</mi><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">R^\bullet F(-)</annotation></semantics></math> of def. <a class="maruku-ref" href="#RightDerivedFunctorOfLeftExactFunctor"></a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>R</mi> <mn>0</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>R</mi> <mn>0</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>R</mi> <mn>0</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>δ</mi> <mn>0</mn></msub></mrow></mover></mtd> <mtd><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mtd> <mtd><mover><mo>→</mo><mrow><msub><mi>δ</mi> <mn>1</mn></msub></mrow></mover></mtd> <mtd><msup><mi>R</mi> <mn>2</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>⋯</mi></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mo>≃</mo></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mo>≃</mo></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mo>≃</mo></mpadded></msup></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ 0 &\to& R^0F (A) &\to& R^0 F(B) &\to& R^0 F(C) &\stackrel{\delta_0}{\to}& R^1 F(A) &\to& R^1 F(B) &\to& R^1F(C) &\stackrel{\delta_1}{\to}& R^2 F(A) &\to& \cdots \\ && \downarrow^{\mathrlap{\simeq}} && \downarrow^{\mathrlap{\simeq}} && \downarrow^{\mathrlap{\simeq}} \\ 0 &\to& F(A) &\to& F(B) &\to& F(C) } </annotation></semantics></math></div> <p>in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">\mathcal{B}</annotation></semantics></math>.</p> </div> <div class="proof"> <h6 id="proof_13">Proof</h6> <p>By lemma <a class="maruku-ref" href="#InjectiveResolutionOfExactSequenceByExactSequence"></a> we can find an injective resolution</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><msup><mi>A</mi> <mo>•</mo></msup><mo>→</mo><msup><mi>B</mi> <mo>•</mo></msup><mo>→</mo><msup><mi>C</mi> <mo>•</mo></msup><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to A^\bullet \to B^\bullet \to C^\bullet \to 0 </annotation></semantics></math></div> <p>of the given exact sequence which is itself again an exact sequence of cochain complexes.</p> <p>Since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>A</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex">A^n</annotation></semantics></math> is an <a class="existingWikiWord" href="/nlab/show/injective+object">injective object</a> for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>, its component sequences <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>→</mo><msup><mi>A</mi> <mi>n</mi></msup><mo>→</mo><msup><mi>B</mi> <mi>n</mi></msup><mo>→</mo><msup><mi>C</mi> <mi>n</mi></msup><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">0 \to A^n \to B^n \to C^n \to 0</annotation></semantics></math> are indeed <a class="existingWikiWord" href="/nlab/show/split+exact+sequences">split exact sequences</a> (see the discussion there). Splitness is preserved by a 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> and so it follows 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><msup><mover><mi>A</mi><mo stretchy="false">˜</mo></mover> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mover><mi>B</mi><mo stretchy="false">˜</mo></mover> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mover><mi>C</mi><mo stretchy="false">˜</mo></mover> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to F(\tilde A^\bullet) \to F(\tilde B^\bullet) \to F(\tilde C^\bullet) \to 0 </annotation></semantics></math></div> <p>is a again short exact sequence of cochain complexes, now in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">\mathcal{B}</annotation></semantics></math>. Hence we have the corresponding <a class="existingWikiWord" href="/nlab/show/homology+long+exact+sequence">homology long exact sequence</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mo>→</mo><msup><mi>H</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>A</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>B</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>C</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mover><mo>→</mo><mi>δ</mi></mover><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>A</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>B</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>C</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mover><mo>→</mo><mi>δ</mi></mover><msup><mi>H</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>A</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>B</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>C</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><mi>⋯</mi><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \cdots \to H^{n-1}(F(A^\bullet)) \to H^{n-1}(F(B^\bullet)) \to H^{n-1}(F(C^\bullet)) \stackrel{\delta}{\to} H^n(F(A^\bullet)) \to H^n(F(B^\bullet)) \to H^n(F(C^\bullet)) \stackrel{\delta}{\to} H^{n+1}(F(A^\bullet)) \to H^{n+1}(F(B^\bullet)) \to H^{n+1}(F(C^\bullet)) \to \cdots \,. </annotation></semantics></math></div> <p>But by construction of the resolutions and by def. <a class="maruku-ref" href="#RightDerivedFunctorOfLeftExactFunctor"></a> this is equal to</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mo>→</mo><msup><mi>R</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mover><mo>→</mo><mi>δ</mi></mover><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mover><mo>→</mo><mi>δ</mi></mover><msup><mi>R</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mi>F</mi><mo stretchy="false">(</mo><mi>B</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>R</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mi>F</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo><mo>→</mo><mi>⋯</mi><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \cdots \to R^{n-1}F(A) \to R^{n-1}F(B) \to R^{n-1}F(C) \stackrel{\delta}{\to} R^{n}F(A) \to R^{n}F(B) \to R^{n}F(C) \stackrel{\delta}{\to} R^{n+1}F(A) \to R^{n+1}F(B) \to R^{n+1}F(C) \to \cdots \,. </annotation></semantics></math></div> <p>Finally the equivalence of the first three terms with <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><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">F(A) \to F(B) \to F(C)</annotation></semantics></math> is given by prop. <a class="maruku-ref" href="#BasicPropertiesOfDerivedFunctors"></a>.</p> </div> <div class="num_remark"> <h6 id="remark_6">Remark</h6> <p>Prop. <a class="maruku-ref" href="#LongExactSequenceOfRightDerivedFunctorsFromShortExactSequence"></a> implies that one way to interpret <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">R^1 F(A)</annotation></semantics></math> is as a “measure for how a <a class="existingWikiWord" href="/nlab/show/left+exact+functor">left exact functor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> fails to be an <a class="existingWikiWord" href="/nlab/show/exact+functor">exact functor</a>”. For, with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>→</mo><mi>B</mi><mo>→</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">A \to B \to C</annotation></semantics></math> any <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a>, this proposition gives the exact 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><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><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> 0 \to F(A) \to F(B) \to F(C) \to R^1 F(A) </annotation></semantics></math></div> <p>and hence <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" 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></mrow><annotation encoding="application/x-tex">0 \to F(A) \to F(B) \to F(C) \to </annotation></semantics></math> is a short exact sequence itself precisely if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mn>1</mn></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≃</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">R^1 F(A) \simeq 0</annotation></semantics></math>.</p> </div> <p>In fact we even have the following.</p> <div class="num_prop"> <p>Let <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> be an <a class="existingWikiWord" href="/nlab/show/additive+functor">additive functor</a> which is an <a class="existingWikiWord" href="/nlab/show/exact+functor">exact functor</a>. Then</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mrow><mo>≥</mo><mn>1</mn></mrow></msup><mi>F</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> R^{\geq 1} F = 0 </annotation></semantics></math></div> <p>and</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>L</mi> <mrow><mo>≥</mo><mn>1</mn></mrow></msub><mi>F</mi><mo>=</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> L_{\geq 1} F = 0 \,. </annotation></semantics></math></div></div> <div class="proof"> <h6 id="proof_14">Proof</h6> <p>Because an <a class="existingWikiWord" href="/nlab/show/exact+functor">exact functor</a> preserves all <a class="existingWikiWord" href="/nlab/show/exact+sequences">exact sequences</a>. If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mo>•</mo></msub><mo>→</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">Y_\bullet \to A</annotation></semantics></math> is a projective resolution then also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>Y</mi><msub><mo stretchy="false">)</mo> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">F(Y)_\bullet</annotation></semantics></math> is exact in all positive degrees, and hence <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>L</mi> <mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow></msub><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><msub><mi>H</mi> <mrow><mi>n</mi><mo>≥</mo></mrow></msub><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><mi>Y</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">L_{n\geq 1} F(A) ) H_{n \geq}(F(Y)) = 0</annotation></semantics></math>. Dually for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi></mrow><annotation encoding="application/x-tex">R^n F</annotation></semantics></math>.</p> </div> <p>We now discuss how the derived functor of an additive 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> may also be computed not necessarily with genuine injective/projective resolutions, but with (just) <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>-injective/<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>-projective resolutions, such as <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>-acyclic resolutions, as defined <a href="#FResolutions">above</a>.</p> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> be an <a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a> with <a class="existingWikiWord" href="/nlab/show/injective+object">enough injectives</a>. Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo lspace="verythinmathspace">:</mo><mi>𝒜</mi><mo>→</mo><mi>ℬ</mi></mrow><annotation encoding="application/x-tex">F \colon \mathcal{A} \to \mathcal{B}</annotation></semantics></math> be an <a class="existingWikiWord" href="/nlab/show/additive+functor">additive</a> <a class="existingWikiWord" href="/nlab/show/left+exact+functor">left exact functor</a> with <a class="existingWikiWord" href="/nlab/show/right+derived+functor">right derived functor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>R</mi> <mo>•</mo></msub><mi>F</mi></mrow><annotation encoding="application/x-tex">R_\bullet F</annotation></semantics></math>, def. <a class="maruku-ref" href="#RightDerivedFunctorOfLeftExactFunctor"></a>. Finally let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℐ</mi><mo>⊂</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{I} \subset \mathcal{A}</annotation></semantics></math> be a subcategory of <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>-injective objects, def. <a class="maruku-ref" href="#FInjectives"></a>.</p> <div class="num_lemma" id="FPreservesNullnessOfFInjectiveComplexes"> <h6 id="lemma_4">Lemma</h6> <p>If a <a class="existingWikiWord" href="/nlab/show/cochain+complex">cochain complex</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>A</mi> <mo>•</mo></msup><mo>∈</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>ℐ</mi><mo stretchy="false">)</mo><mo>⊂</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">A^\bullet \in Ch^\bullet(\mathcal{I}) \subset Ch^\bullet(\mathcal{A})</annotation></semantics></math> is <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphic</a> to 0,</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mo>•</mo></msup><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><mn>0</mn></mrow><annotation encoding="application/x-tex"> X^\bullet \stackrel{\simeq_{qi}}{\to} 0 </annotation></semantics></math></div> <p>then also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>∈</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>ℬ</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(X^\bullet) \in Ch^\bullet(\mathcal{B})</annotation></semantics></math> is quasi-isomorphic to 0</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><msup><mi>X</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> F(X^\bullet) \stackrel{\simeq_{qi}}{\to} 0 \,. </annotation></semantics></math></div></div> <div class="proof"> <h6 id="proof_15">Proof</h6> <p>Consider the following collection of <a class="existingWikiWord" href="/nlab/show/short+exact+sequences">short exact sequences</a> obtained from the <a class="existingWikiWord" href="/nlab/show/long+exact+sequence">long exact sequence</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>X</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">X^\bullet</annotation></semantics></math>:</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><msup><mi>X</mi> <mn>0</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>0</mn></msup></mrow></mover><msup><mi>X</mi> <mn>1</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>1</mn></msup></mrow></mover><mi>im</mi><mo stretchy="false">(</mo><msup><mi>d</mi> <mn>1</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to X^0 \stackrel{d^0}{\to} X^1 \stackrel{d^1}{\to} im(d^1) \to 0 </annotation></semantics></math></div><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>im</mi><mo stretchy="false">(</mo><msup><mi>d</mi> <mn>1</mn></msup><mo stretchy="false">)</mo><mo>→</mo><msup><mi>X</mi> <mn>2</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>2</mn></msup></mrow></mover><mi>im</mi><mo stretchy="false">(</mo><msup><mi>d</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to im(d^1) \to X^2 \stackrel{d^2}{\to} im(d^2) \to 0 </annotation></semantics></math></div><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>im</mi><mo stretchy="false">(</mo><msup><mi>d</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mo>→</mo><msup><mi>X</mi> <mn>3</mn></msup><mover><mo>→</mo><mrow><msup><mi>d</mi> <mn>3</mn></msup></mrow></mover><mi>im</mi><mo stretchy="false">(</mo><msup><mi>d</mi> <mn>3</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to im(d^2) \to X^3 \stackrel{d^3}{\to} im(d^3) \to 0 </annotation></semantics></math></div> <p>and so on. Going by <a class="existingWikiWord" href="/nlab/show/induction">induction</a> through this list and using the second condition in def. <a class="maruku-ref" href="#FInjectives"></a> we have that all the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>im</mi><mo stretchy="false">(</mo><msup><mi>d</mi> <mi>n</mi></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">im(d^n)</annotation></semantics></math> are in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℐ</mi></mrow><annotation encoding="application/x-tex">\mathcal{I}</annotation></semantics></math>. Then the third condition in def. <a class="maruku-ref" href="#FInjectives"></a> says that all the sequences</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>im</mi><mo stretchy="false">(</mo><msup><mi>d</mi> <mi>n</mi></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mi>n</mi></msup><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><mi>im</mi><mo stretchy="false">(</mo><msup><mi>d</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to F(im(d^n)) \to F(X^n+1) \to F(im(d^{n+1})) \to 0 </annotation></semantics></math></div> <p>are <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">exact</a>. But 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><msup><mi>X</mi> <mn>0</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mn>1</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mo>→</mo><mi>⋯</mi></mrow><annotation encoding="application/x-tex"> 0 \to F(X^0)\to F(X^1) \to F(X^2) \to \cdots </annotation></semantics></math></div> <p>is exact, hence that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><msup><mi>X</mi> <mo>•</mo></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(X^\bullet)</annotation></semantics></math> is quasi-isomorphic to 0.</p> </div> <div class="num_theorem" id="DerivedFFromFInjectiveResolution"> <h6 id="theorem_3">Theorem</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A \in \mathcal{A}</annotation></semantics></math> an object with <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>-injective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><msubsup><mi>I</mi> <mi>F</mi> <mo>•</mo></msubsup></mrow><annotation encoding="application/x-tex">A \stackrel{\simeq_{qi}}{\to} I_F^\bullet</annotation></semantics></math>, def. <a class="maruku-ref" href="#FProjectivesResolution"></a>, we have for each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> an <a class="existingWikiWord" href="/nlab/show/isomorphism">isomorphism</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≃</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><msubsup><mi>I</mi> <mi>F</mi> <mo>•</mo></msubsup><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> R^n F(A) \simeq H^n(F(I_F^\bullet)) </annotation></semantics></math></div> <p>between the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>th right derived functor, def. <a class="maruku-ref" href="#RightDerivedFunctorOfLeftExactFunctor"></a> of <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> evaluated on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> and the <a class="existingWikiWord" href="/nlab/show/cochain+cohomology">cochain cohomology</a> of <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> applied to the <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>-injective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>I</mi> <mi>F</mi> <mo>•</mo></msubsup></mrow><annotation encoding="application/x-tex">I_F^\bullet</annotation></semantics></math>.</p> </div> <div class="proof"> <h6 id="proof_16">Proof</h6> <p>By prop. <a class="maruku-ref" href="#ExistenceOfInjectiveResolutions"></a> we can also find an injective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><msup><mi>I</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">A \stackrel{\simeq_{qi}}{\to} I^\bullet</annotation></semantics></math>. By prop. <a class="maruku-ref" href="#InjectiveResolutionOfCodomainRespectsMorphisms"></a> there is a lift of the identity on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> to a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>I</mi> <mi>F</mi> <mo>•</mo></msubsup><mo>→</mo><msup><mi>I</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">I^\bullet_F \to I^\bullet</annotation></semantics></math> such that the <a class="existingWikiWord" href="/nlab/show/diagram">diagram</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mi>A</mi></mtd> <mtd><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover></mtd> <mtd><msubsup><mi>I</mi> <mi>F</mi> <mo>•</mo></msubsup></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mi>id</mi></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mi>f</mi></mpadded></msup></mtd></mtr> <mtr><mtd><mi>A</mi></mtd> <mtd><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover></mtd> <mtd><msup><mi>I</mi> <mo>•</mo></msup></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ A &\stackrel{\simeq_{qi}}{\to}& I_F^\bullet \\ \downarrow^{\mathrlap{id}} && \downarrow^{\mathrlap{f}} \\ A &\stackrel{\simeq_{qi}}{\to}& I^\bullet } </annotation></semantics></math></div> <p><a class="existingWikiWord" href="/nlab/show/commuting+diagram">commutes</a> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ch^\bullet(\mathcal{A})</annotation></semantics></math>. Therefore by the <a class="existingWikiWord" href="/nlab/show/2-out-of-3">2-out-of-3</a> property of <a class="existingWikiWord" href="/nlab/show/quasi-isomorphisms">quasi-isomorphisms</a> it follows that <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 a quasi-isomorphism</p> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Cone</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>∈</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Cone(f) \in Ch^\bullet(\mathcal{A})</annotation></semantics></math> be the <a class="existingWikiWord" href="/nlab/show/mapping+cone">mapping cone</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math> and let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>I</mi> <mo>•</mo></msup><mo>→</mo><mi>Cone</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">I^\bullet \to Cone(f)</annotation></semantics></math> be the canonical <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> into it. By the explicit formulas for mapping cones, we have that</p> <ol> <li> <p>there is an <a class="existingWikiWord" href="/nlab/show/isomorphism">isomorphism</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>Cone</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>≃</mo><mi>Cone</mi><mo stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(Cone(f)) \simeq Cone(F(f))</annotation></semantics></math>;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Cone</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>∈</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>ℐ</mi><mo stretchy="false">)</mo><mo>⊂</mo><msup><mi>Ch</mi> <mo>•</mo></msup><mo stretchy="false">(</mo><mi>𝒜</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Cone(f) \in Ch^\bullet(\mathcal{I})\subset Ch^\bullet(\mathcal{A})</annotation></semantics></math> (because <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>-injective objects are closed under <a class="existingWikiWord" href="/nlab/show/direct+sum">direct sum</a>).</p> </li> </ol> <p>The first implies that we have a <a class="existingWikiWord" href="/nlab/show/homology+exact+sequence">homology exact sequence</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mo>→</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><msup><mi>I</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><msubsup><mi>I</mi> <mi>F</mi> <mo>•</mo></msubsup><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mi>Cone</mi><mo stretchy="false">(</mo><mi>f</mi><msup><mo stretchy="false">)</mo> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><msup><mi>I</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><msubsup><mi>I</mi> <mi>F</mi> <mo>•</mo></msubsup><mo stretchy="false">)</mo><mo>→</mo><msup><mi>H</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>Cone</mi><mo stretchy="false">(</mo><mi>f</mi><msup><mo stretchy="false">)</mo> <mo>•</mo></msup><mo stretchy="false">)</mo><mo>→</mo><mi>⋯</mi><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \cdots \to H^n(I^\bullet) \to H^n(I_F^\bullet) \to H^n(Cone(f)^\bullet) \to H^{n+1}(I^\bullet) \to H^{n+1}(I_F^\bullet) \to H^{n+1}(Cone(f)^\bullet) \to \cdots \,. </annotation></semantics></math></div> <p>Observe that with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>f</mi> <mo>•</mo></msup></mrow><annotation encoding="application/x-tex">f^\bullet</annotation></semantics></math> a quasi-isomorphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Cone</mi><mo stretchy="false">(</mo><msup><mi>f</mi> <mo>•</mo></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Cone(f^\bullet)</annotation></semantics></math> is quasi-isomorphic to 0. Therefore The second item above implies with lemma <a class="maruku-ref" href="#FPreservesNullnessOfFInjectiveComplexes"></a> that also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>Cone</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(Cone(f))</annotation></semantics></math> is quasi-isomorphic to 0. This finally means that the above homology exact sequences consists of exact pieces of the form</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><mo stretchy="false">(</mo><msup><mi>R</mi> <mi>n</mi></msup><mi>F</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≔</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><msup><mi>I</mi> <mo>•</mo></msup><mo stretchy="false">)</mo><mover><mo>→</mo><mo>≃</mo></mover><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><msubsup><mi>I</mi> <mi>F</mi> <mo>•</mo></msubsup><mo stretchy="false">)</mo><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to (R^n F(A)\coloneqq H^n(I^\bullet) \stackrel{\simeq}{\to} H^n(I_F^\bullet) \to 0 \,. </annotation></semantics></math></div></div> <h3 id="DerivedHomFunctor">Derived Hom-functor/<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ext</mi></mrow><annotation encoding="application/x-tex">Ext</annotation></semantics></math>-functor and extensions</h3> <p>Consider the <a class="existingWikiWord" href="/nlab/show/derived+functor">derived functor</a> of the <a class="existingWikiWord" href="/nlab/show/hom+functor">hom functor</a>.</p> <div class="num_defn" id="ExtFunctorAsRightDerivedContravariantHom"> <h6 id="definition_13">Definition</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A \in \mathcal{A}</annotation></semantics></math>, write</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>Ext</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≔</mo><msup><mi>R</mi> <mi>n</mi></msup><mi>Hom</mi><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Ext^n(-,A) \coloneqq R^n Hom(-,A) </annotation></semantics></math></div> <p>for the <a class="existingWikiWord" href="/nlab/show/right+derived+functor">right derived functor</a>, def. <a class="maruku-ref" href="#RightDerivedFunctorOfLeftExactFunctor"></a>.</p> </div> <p>We discuss the use of projective resolutions in the computation of <a class="existingWikiWord" href="/nlab/show/Ext">Ext</a>-functors and <a class="existingWikiWord" href="/nlab/show/group+extensions">group extensions</a>.</p> <div class="num_defn" id="Extensions"> <h6 id="definition_14">Definition</h6> <p>Given <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>,</mo><mi>G</mi><mo>∈</mo><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">A, G \in \mathcal{A}</annotation></semantics></math>, an <strong><a class="existingWikiWord" href="/nlab/show/extension">extension</a></strong> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> by <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a> of the form</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>A</mi><mo>→</mo><mover><mi>G</mi><mo stretchy="false">^</mo></mover><mo>→</mo><mi>G</mi><mo>→</mo><mn>0</mn><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> 0 \to A \to \hat G \to G \to 0 \,. </annotation></semantics></math></div> <p>Two extensions <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mover><mi>G</mi><mo stretchy="false">^</mo></mover> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\hat G_1</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mover><mi>G</mi><mo stretchy="false">^</mo></mover> <mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\hat G_2</annotation></semantics></math> are called <em>equivalent</em> if there is a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>:</mo><msub><mover><mi>G</mi><mo stretchy="false">^</mo></mover> <mn>1</mn></msub><mo>→</mo><msub><mover><mi>G</mi><mo stretchy="false">^</mo></mover> <mn>2</mn></msub></mrow><annotation encoding="application/x-tex">f : \hat G_1 \to \hat G_2</annotation></semantics></math> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> such that we have a <a class="existingWikiWord" href="/nlab/show/commuting+diagram">commuting diagram</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd></mtd> <mtd></mtd> <mtd><msub><mover><mi>G</mi><mo stretchy="false">^</mo></mover> <mn>1</mn></msub></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>↗</mo></mtd> <mtd></mtd> <mtd><mo>↘</mo></mtd></mtr> <mtr><mtd><mi>A</mi></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mi>f</mi></mpadded></msup></mtd> <mtd></mtd> <mtd><mi>G</mi></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>↘</mo></mtd> <mtd></mtd> <mtd><mo>↗</mo></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><msub><mover><mi>G</mi><mo stretchy="false">^</mo></mover> <mn>2</mn></msub></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ && \hat G_1 \\ & \nearrow && \searrow \\ A &&\downarrow^{\mathrlap{f}}&& G \\ & \searrow && \nearrow \\ && \hat G_2 } \,. </annotation></semantics></math></div> <p>Write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ext</mi><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ext(G,A)</annotation></semantics></math> for the set of <a class="existingWikiWord" href="/nlab/show/equivalence+classes">equivalence classes</a> of extensions of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> by <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>.</p> </div> <div class="num_remark" id="MorphismOfExtensionIsIsomorphism"> <h6 id="remark_7">Remark</h6> <p>By the <a class="existingWikiWord" href="/nlab/show/short+five+lemma">short five lemma</a> a morphism <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> as above is necessarily an <a class="existingWikiWord" href="/nlab/show/isomorphism">isomorphism</a> and hence we indeed have an <a class="existingWikiWord" href="/nlab/show/equivalence+relation">equivalence relation</a>.</p> </div> <div class="num_defn" id="MapFromExtensionsToExtGroup"> <h6 id="definition_15">Definition</h6> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>𝒜</mi></mrow><annotation encoding="application/x-tex">\mathcal{A}</annotation></semantics></math> has <a class="existingWikiWord" href="/nlab/show/projective+object">enough projectives</a>, define a function</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Extr</mi><mo lspace="verythinmathspace">:</mo><mi>Ext</mi><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>Ext</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Extr \colon Ext(G,A) \to Ext^1(G,A) </annotation></semantics></math></div> <p>from the group of extensions, def. <a class="maruku-ref" href="#Extensions"></a>, to the first <a class="existingWikiWord" href="/nlab/show/Ext+functor">Ext functor</a> group as follows. Choose any projective resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mo>•</mo></msub><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><mi>G</mi></mrow><annotation encoding="application/x-tex">Y_\bullet \stackrel{\simeq_{qi}}{\to} G</annotation></semantics></math>, which exists by prop. <a class="maruku-ref" href="#ExistenceOfInjectiveResolutions"></a>. Regard then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>→</mo><mover><mi>G</mi><mo stretchy="false">^</mo></mover><mo>→</mo><mi>G</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">A \to \hat G \to G\to 0</annotation></semantics></math> as a resolution</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><mi>⋯</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>A</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mover><mi>G</mi><mo stretchy="false">^</mo></mover></mtd></mtr> <mtr><mtd></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mi>⋯</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>G</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ \cdots &\to& 0 &\to& 0 &\to& A &\to& \hat G \\ && \downarrow && \downarrow && \downarrow && \downarrow \\ \cdots &\to& 0 &\to& 0 &\to& 0 &\to& G } </annotation></semantics></math></div> <p>of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math>, by remark <a class="maruku-ref" href="#ProjectiveResolutionInComponents"></a>. By prop. <a class="maruku-ref" href="#InjectiveResolutionOfCodomainRespectsMorphisms"></a> there exists then a <a class="existingWikiWord" href="/nlab/show/commuting+diagram">commuting diagram</a> of the form</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>Y</mi> <mn>2</mn></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msubsup><mo>∂</mo> <mn>1</mn> <mi>Y</mi></msubsup></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>1</mn></msub></mtd> <mtd><mover><mo>→</mo><mi>c</mi></mover></mtd> <mtd><mi>A</mi></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msubsup><mo>∂</mo> <mn>0</mn> <mi>Y</mi></msubsup></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>0</mn></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><mover><mi>G</mi><mo stretchy="false">^</mo></mover></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mi>G</mi></mtd> <mtd><mover><mo>→</mo><mi>id</mi></mover></mtd> <mtd><mi>G</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ Y_2 &\to& 0 \\ \downarrow^{\mathrlap{\partial_1^{Y}}} && \downarrow \\ Y_1 &\stackrel{c}{\to}& A \\ \downarrow^{\mathrlap{\partial_0^Y}} && \downarrow \\ Y_0 &\to& \hat G \\ \downarrow && \downarrow \\ G &\stackrel{id}{\to}& G } </annotation></semantics></math></div> <p>lifting the identity map on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> to a <a class="existingWikiWord" href="/nlab/show/chain+map">chain map</a> between the two resolutions.</p> <p>By the commutativity of the top square, the morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math> is 1-<a class="existingWikiWord" href="/nlab/show/cocycle">cocycle</a> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Hom</mi><mo stretchy="false">(</mo><msub><mi>Y</mi> <mo>•</mo></msub><mo>,</mo><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Hom(Y_\bullet,N)</annotation></semantics></math>, hence defines an element in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>Ext</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≔</mo><msup><mi>H</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>Hom</mi><mo stretchy="false">(</mo><msub><mi>Y</mi> <mo>•</mo></msub><mo>,</mo><mi>N</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ext^1(G,A) \coloneqq H^1(Hom(Y_\bullet,N))</annotation></semantics></math>.</p> </div> <div class="num_prop"> <h6 id="proposition_8">Proposition</h6> <p>The construction of def. <a class="maruku-ref" href="#MapFromExtensionsToExtGroup"></a> is indeed well defined in that it is independent of the choice of projective resolution as well as of the choice of chain map between the projective resolutions.</p> </div> <div class="proof"> <h6 id="proof_17">Proof</h6> <p>First consider the same projective resolution but another lift <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>c</mi><mo stretchy="false">˜</mo></mover></mrow><annotation encoding="application/x-tex">\tilde c</annotation></semantics></math> of the identity. By prop. <a class="maruku-ref" href="#HomotopyUniquenessOfResolutionOfMorphism"></a> any other choice <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>c</mi><mo stretchy="false">˜</mo></mover></mrow><annotation encoding="application/x-tex">\tilde c</annotation></semantics></math> fitting into a commuting diagram as above is related by a <a class="existingWikiWord" href="/nlab/show/chain+homotopy">chain homotopy</a> to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math>.</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>Y</mi> <mn>2</mn></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msubsup><mo>∂</mo> <mn>1</mn> <mi>Y</mi></msubsup></mrow></mpadded></msup></mtd> <mtd><msub><mo>↗</mo> <mrow><msub><mi>η</mi> <mn>1</mn></msub><mo>=</mo><mn>0</mn></mrow></msub></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>1</mn></msub></mtd> <mtd><mover><mo>→</mo><mrow><mi>c</mi><mo>−</mo><mover><mi>c</mi><mo stretchy="false">˜</mo></mover></mrow></mover></mtd> <mtd><mi>A</mi></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><msubsup><mo>∂</mo> <mn>0</mn> <mi>Y</mi></msubsup></mrow></mpadded></msup></mtd> <mtd><msub><mo>↗</mo> <mrow><msub><mi>η</mi> <mn>0</mn></msub></mrow></msub></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>0</mn></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><mover><mi>G</mi><mo stretchy="false">^</mo></mover></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd><msub><mo>↗</mo> <mrow></mrow></msub></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mi>G</mi></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>G</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ Y_2 &\to& 0 \\ \downarrow^{\mathrlap{\partial_1^{Y}}} &\nearrow_{\eta_1 = 0}& \downarrow \\ Y_1 &\stackrel{c - \tilde c}{\to}& A \\ \downarrow^{\mathrlap{\partial_0^Y}} &\nearrow_{\eta_0}& \downarrow \\ Y_0 &\to& \hat G \\ \downarrow &\nearrow_{}& \downarrow \\ G &\to& G } \,. </annotation></semantics></math></div> <p>The chain homotopy condition here says that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>−</mo><mover><mi>c</mi><mo stretchy="false">˜</mo></mover><mo>=</mo><msub><mi>η</mi> <mn>0</mn></msub><mo>∘</mo><msubsup><mo>∂</mo> <mn>0</mn> <mi>Y</mi></msubsup></mrow><annotation encoding="application/x-tex"> c - \tilde c = \eta_0 \circ \partial^{Y}_0 </annotation></semantics></math></div> <p>and hence that in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Hom</mi><mo stretchy="false">(</mo><msub><mi>Y</mi> <mo>•</mo></msub><mo>,</mo><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Hom(Y_\bullet,N)</annotation></semantics></math> we have that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>d</mi><msub><mi>η</mi> <mn>0</mn></msub><mo>=</mo><mi>c</mi><mo>−</mo><mover><mi>c</mi><mo stretchy="false">˜</mo></mover></mrow><annotation encoding="application/x-tex">d \eta_0 = c - \tilde c</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/coboundary">coboundary</a>. Therefore for the given choice of resolution <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">Y_\bullet</annotation></semantics></math> we have obtained a well-defined map</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Ext</mi><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><msup><mi>Ext</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> Ext(G,A) \to Ext^1(G,A) \,. </annotation></semantics></math></div> <p>If moreover <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Y</mi><msub><mo>′</mo> <mo>•</mo></msub><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><mi>G</mi></mrow><annotation encoding="application/x-tex">Y'_\bullet \stackrel{\simeq_{qi}}{\to} G</annotation></semantics></math> is another projective resolution, with respect to which we define such a map as above, then lifting the identity map on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> to a chain map between these resolutions in both directions, by prop. <a class="maruku-ref" href="#InjectiveResolutionOfCodomainRespectsMorphisms"></a>, establishes an isomorphism between the resulting maps, and hence the construction is independent also of the choice of resolution.</p> </div> <div class="num_prop" id="ExtensionFromAnElementOfExt1"> <h6 id="definition_16">Definition</h6> <p>Define a function</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Rec</mi><mo lspace="verythinmathspace">:</mo><msup><mi>Ext</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>→</mo><mi>Ext</mi><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Rec \colon Ext^1(G,A) \to Ext(G,A) </annotation></semantics></math></div> <p>as follows. For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mo>•</mo></msub><mo>→</mo><mi>G</mi></mrow><annotation encoding="application/x-tex">Y_\bullet \to G</annotation></semantics></math> a projective resolution of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">[</mo><mi>c</mi><mo stretchy="false">]</mo><mo>∈</mo><msup><mi>Ext</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≃</mo><msup><mi>H</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><msub><mi>Hom</mi> <mi>𝒜</mi></msub><mo stretchy="false">(</mo><msub><mi>F</mi> <mo>•</mo></msub><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">[c] \in Ext^1(G,A) \simeq H^1(Hom_{\mathcal{A}}(F_\bullet,A))</annotation></semantics></math> an element of the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ext</mi></mrow><annotation encoding="application/x-tex">Ext</annotation></semantics></math>-group, let</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>Y</mi> <mn>2</mn></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>1</mn></msub></mtd> <mtd><mover><mo>→</mo><mi>c</mi></mover></mtd> <mtd><mi>A</mi></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>0</mn></msub></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mi>G</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ Y_2 &\to& 0 \\ \downarrow && \downarrow \\ Y_1 &\stackrel{c}{\to}& A \\ \downarrow \\ Y_0 \\ \downarrow \\ G } </annotation></semantics></math></div> <p>be a representative. By the commutativity of the top square this restricts to a morphism</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mtd> <mtd><mover><mo>→</mo><mi>c</mi></mover></mtd> <mtd><mi>A</mi></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>0</mn></msub></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mi>G</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \array{ Y_1/Y_2 &\stackrel{c}{\to}& A \\ \downarrow \\ Y_0 \\ \downarrow \\ G } \,, </annotation></semantics></math></div> <p>where now the left column is itself an extension of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> by the <a class="existingWikiWord" href="/nlab/show/cokernel">cokernel</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mrow><annotation encoding="application/x-tex">Y_1/Y_2</annotation></semantics></math> (because by exactness the kernel of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo>→</mo><msub><mi>Y</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">Y_1 \to Y_0</annotation></semantics></math> is the image of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mn>2</mn></msub></mrow><annotation encoding="application/x-tex">Y_2</annotation></semantics></math> so that the kernel of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub><mo>→</mo><msub><mi>Y</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">Y_1/Y_2 \to Y_0</annotation></semantics></math> is zero). Form then the <a class="existingWikiWord" href="/nlab/show/pushout">pushout</a> of the horizontal map along the two vertical maps. This yields</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mtd> <mtd><mover><mo>→</mo><mi>c</mi></mover></mtd> <mtd><mi>A</mi></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>0</mn></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><msub><mi>Y</mi> <mn>0</mn></msub><munder><mo lspace="thinmathspace" rspace="thinmathspace">∐</mo> <mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mrow></munder><mi>A</mi></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mi>G</mi></mtd> <mtd><mover><mo>→</mo><mi>id</mi></mover></mtd> <mtd><mi>G</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ Y_1/Y_2 &\stackrel{c}{\to}& A \\ \downarrow && \downarrow \\ Y_0 &\to& Y_0 \coprod_{Y_1/Y_2} A \\ \downarrow && \downarrow \\ G &\stackrel{id}{\to}& G } \,. </annotation></semantics></math></div> <p>Here the bottom right is indeed <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math>, by the <a class="existingWikiWord" href="/nlab/show/pasting+law">pasting law</a> for pushouts and using that the left vertical composite is the <a class="existingWikiWord" href="/nlab/show/zero+morphism">zero morphism</a>. Moreover, the top right morphism is indeed a monomorphism as it is the pushout of a map of modules along an <a class="existingWikiWord" href="/nlab/show/injection">injection</a>. Similarly the bottom right morphism is an epimorphism.</p> <p>Hence <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>→</mo><msub><mi>Y</mi> <mn>0</mn></msub><msub><mo lspace="thinmathspace" rspace="thinmathspace">∐</mo> <mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mrow></msub><msub><mi>Y</mi> <mn>0</mn></msub><mo>→</mo><mi>G</mi></mrow><annotation encoding="application/x-tex">A \to Y_0 \coprod_{Y_1/Y_2} Y_0 \to G</annotation></semantics></math> is an element in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ext</mi><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ext(G,A)</annotation></semantics></math> which we assign to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math>.</p> </div> <div class="num_prop"> <h6 id="proposition_9">Proposition</h6> <p>The construction of def. <a class="maruku-ref" href="#ExtensionFromAnElementOfExt1"></a> is indeed well defined in that it is independent of the choice of projective resolution as well as of the choice of representative of the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ext</mi></mrow><annotation encoding="application/x-tex">Ext</annotation></semantics></math>-element.</p> </div> <div class="proof"> <h6 id="proof_18">Proof</h6> <p>The coproduct <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Y</mi> <mn>0</mn></msub><msub><mo lspace="thinmathspace" rspace="thinmathspace">∐</mo> <mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mrow></msub><mi>A</mi></mrow><annotation encoding="application/x-tex">Y_0 \coprod_{Y_1/Y_2} A</annotation></semantics></math> is equivalently</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>coker</mi><mo stretchy="false">(</mo><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub><mover><mo>→</mo><mrow><mo stretchy="false">(</mo><mi>incl</mi><mo>,</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mi>c</mi><mo stretchy="false">)</mo></mrow></mover><msub><mi>Y</mi> <mn>0</mn></msub><mo>⊕</mo><mi>A</mi><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> coker(Y_1/Y_2 \stackrel{(incl,-c)}{\to} Y_0 \oplus A) \,. </annotation></semantics></math></div> <p>For a different representative <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mover><mi>c</mi><mo stretchy="false">˜</mo></mover></mrow><annotation encoding="application/x-tex">\tilde c</annotation></semantics></math> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">[</mo><mi>c</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">[c]</annotation></semantics></math> there is by construction a</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>Y</mi> <mn>1</mn></msub></mtd> <mtd><mover><mo>→</mo><mrow><mover><mi>c</mi><mo stretchy="false">˜</mo></mover><mo>−</mo><mi>c</mi></mrow></mover></mtd> <mtd><mi>A</mi></mtd></mtr> <mtr><mtd><msup><mrow></mrow> <mpadded width="0" lspace="-100%width"><mrow><msub><mo>∂</mo> <mn>0</mn></msub></mrow></mpadded></msup><mo stretchy="false">↓</mo></mtd> <mtd><msub><mo>↗</mo> <mi>λ</mi></msub></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>0</mn></msub></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ Y_1 &\stackrel{\tilde c - c}{\to}& A \\ {}^{\mathllap{\partial_0}}\downarrow & \nearrow_{\lambda} \\ Y_0 } \,. </annotation></semantics></math></div> <p>Define from this a map between the two cokernels induced by the <a class="existingWikiWord" href="/nlab/show/commuting+diagram">commuting diagram</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mtd> <mtd><mover><mo>→</mo><mi>id</mi></mover></mtd> <mtd><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mtd></mtr> <mtr><mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><mo stretchy="false">(</mo><mi>id</mi><mo>,</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mi>c</mi><mo stretchy="false">)</mo></mrow></mpadded></msup></mtd> <mtd></mtd> <mtd><msup><mo stretchy="false">↓</mo> <mpadded width="0"><mrow><mo stretchy="false">(</mo><mi>id</mi><mo>,</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mover><mi>c</mi><mo stretchy="false">˜</mo></mover><mo stretchy="false">)</mo></mrow></mpadded></msup></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>0</mn></msub><mo>⊕</mo><mi>A</mi></mtd> <mtd><mover><mo>→</mo><mrow><mo>(</mo><mrow><mtable><mtr><mtd><mi>id</mi></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mi>λ</mi></mtd> <mtd><mi>id</mi></mtd></mtr></mtable></mrow><mo>)</mo></mrow></mover></mtd> <mtd><msub><mi>Y</mi> <mn>0</mn></msub><mo>⊕</mo><mi>A</mi></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \array{ Y_1/Y_2 &\stackrel{id}{\to}& Y_1/Y_2 \\ \downarrow^{\mathrlap{(id,-c)}} && \downarrow^{\mathrlap{(id,-\tilde c)}} \\ Y_0 \oplus A &\stackrel{\left(\array{ id & 0 \\ \lambda & id }\right)}{\to}& Y_0 \oplus A } \,. </annotation></semantics></math></div> <p>By construction this respects the inclusion of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mover><mo>↪</mo><mrow><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>id</mi><mo stretchy="false">)</mo></mrow></mover><msub><mi>Y</mi> <mn>0</mn></msub><mo>⊕</mo><mi>A</mi><mo>→</mo><msub><mi>Y</mi> <mn>0</mn></msub><msub><mo lspace="thinmathspace" rspace="thinmathspace">∐</mo> <mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mrow></msub><mi>A</mi></mrow><annotation encoding="application/x-tex">A \stackrel{(0,id)}{\hookrightarrow} Y_0 \oplus A \to Y_0 \coprod_{Y_1/Y_2} A</annotation></semantics></math>. It also manifestly respects the projection to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math>. Therefore this defines a morphism and hence by remark <a class="maruku-ref" href="#MorphismOfExtensionIsIsomorphism"></a> even an isomorphism of extensions.</p> </div> <div class="num_prop"> <h6 id="proposition_10">Proposition</h6> <p>The functions</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>Extr</mi><mo lspace="verythinmathspace">:</mo><mi>Ext</mi><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>↔</mo><msup><mi>Ext</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo lspace="verythinmathspace">:</mo><mi>Rec</mi></mrow><annotation encoding="application/x-tex"> Extr \colon Ext(G,A) \leftrightarrow Ext^1(G,A) \colon Rec </annotation></semantics></math></div> <p>from def. <a class="maruku-ref" href="#MapFromExtensionsToExtGroup"></a> to def. <a class="maruku-ref" href="#ExtensionFromAnElementOfExt1"></a> are <a class="existingWikiWord" href="/nlab/show/inverses">inverses</a> of each other and hence exhibit a <a class="existingWikiWord" href="/nlab/show/bijection">bijection</a> between extensions of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> by <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>Ext</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ext^1(G,A)</annotation></semantics></math>.</p> </div> <div class="proof"> <h6 id="proof_19">Proof</h6> <p>By straightforward unwinding of the definitions.</p> <p>In one direction, starting with a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>∈</mo><msup><mi>Ext</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">c \in Ext^1(G,A)</annotation></semantics></math> and constructing the extension by pushout, the resulting pushout diagram</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable><mtr><mtd><msub><mi>Y</mi> <mn>1</mn></msub></mtd> <mtd><mover><mo>→</mo><mi>c</mi></mover></mtd> <mtd><mi>A</mi></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><msub><mi>Y</mi> <mn>0</mn></msub></mtd> <mtd><mo>→</mo></mtd> <mtd><msub><mi>Y</mi> <mn>0</mn></msub><munderover><mo lspace="thinmathspace" rspace="thinmathspace">∐</mo> <mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mrow> <mi>c</mi></munderover><mi>A</mi></mtd></mtr> <mtr><mtd><mo stretchy="false">↓</mo></mtd> <mtd></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mi>G</mi></mtd> <mtd><mover><mo>→</mo><mi>id</mi></mover></mtd> <mtd><mi>G</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex"> \array{ Y_1 &\stackrel{c}{\to}& A \\ \downarrow && \downarrow \\ Y_0 &\to& Y_0 \coprod^c_{Y_1/Y_2} A \\ \downarrow && \downarrow \\ G &\stackrel{id}{\to}& G } </annotation></semantics></math></div> <p>at the same time exhibits <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> as the cocycle extracted from the extension <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>→</mo><msub><mi>Y</mi> <mn>0</mn></msub><msubsup><mo lspace="thinmathspace" rspace="thinmathspace">∐</mo> <mrow><msub><mi>Y</mi> <mn>1</mn></msub><mo stretchy="false">/</mo><msub><mi>Y</mi> <mn>2</mn></msub></mrow> <mi>c</mi></msubsup><mi>A</mi><mo>→</mo><mi>G</mi></mrow><annotation encoding="application/x-tex">A \to Y_0 \coprod^c_{Y_1/Y_2} A \to G</annotation></semantics></math>.</p> <p>Conversely, when starting with an extension <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>→</mo><mover><mi>G</mi><mo stretchy="false">^</mo></mover><mo>→</mo><mi>G</mi></mrow><annotation encoding="application/x-tex">A \to \hat G \to G</annotation></semantics></math> then extracting a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math> by a choice of projective resolution and constructing from that another extension by pushout, the <a class="existingWikiWord" href="/nlab/show/universal+property">universal property</a> of the pushout yields a morphism of exensions, which by remark <a class="maruku-ref" href="#MorphismOfExtensionIsIsomorphism"></a> is an isomorphism of extensions, hence an equality in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ext</mi><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ext(G,A)</annotation></semantics></math>.</p> </div> <h3 id="relation_to_syzygies">Relation to syzygies</h3> <p>(…) <a class="existingWikiWord" href="/nlab/show/syzygy">syzygy</a> (…)</p> <h2 id="examples">Examples</h2> <h3 id="Lenght1ResolutionsOfAbelianGroups">Length-1 resolutions</h3> <div class="num_prop"> <h6 id="proposition_11">Proposition</h6> <p>Assuming the <a class="existingWikiWord" href="/nlab/show/axiom+of+choice">axiom of choice</a>, over <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mo>=</mo><mi>ℤ</mi></mrow><annotation encoding="application/x-tex">R = \mathbb{Z}</annotation></semantics></math> hence in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>Mod</mi><mo>=</mo></mrow><annotation encoding="application/x-tex">R Mod = </annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/Ab">Ab</a> every object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> has a <a class="existingWikiWord" href="/nlab/show/projective+resolution">projective resolution</a>, even a <a class="existingWikiWord" href="/nlab/show/free+resolution">free resolution</a>, of length 1, hence a <a class="existingWikiWord" href="/nlab/show/short+exact+sequence">short exact sequence</a></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>F</mi> <mn>1</mn></msub><mo>→</mo><msub><mi>F</mi> <mn>0</mn></msub><mo>→</mo><mi>A</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> 0 \to F_1 \to F_0 \to A \to 0 </annotation></semantics></math></div> <p>with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>F</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">F_1</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>F</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">F_0</annotation></semantics></math> being <a class="existingWikiWord" href="/nlab/show/free+abelian+groups">free abelian groups</a>.</p> </div> <div class="proof"> <h6 id="proof_20">Proof</h6> <p>By the discussion at <a href="free+module#SubmodulesOfFreeModules">free modules - submodules of free modules</a> a <a class="existingWikiWord" href="/nlab/show/subgroup">subgroup</a> of a <a class="existingWikiWord" href="/nlab/show/free+abelian+group">free abelian group</a> is again free. Therefore for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>p</mi><mo lspace="verythinmathspace">:</mo><msub><mi>F</mi> <mn>0</mn></msub><mo>→</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">p \colon F_0 \to A</annotation></semantics></math> the surjection out of the free group <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>F</mi> <mn>0</mn></msub><mo>≔</mo><mi>F</mi><mo stretchy="false">(</mo><mi>U</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F_0 \coloneqq F(U(A))</annotation></semantics></math> on the underlying set of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>, setting <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>F</mi> <mn>1</mn></msub><mo>≔</mo><mi>ker</mi><mo stretchy="false">(</mo><mi>p</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F_1 \coloneqq ker(p)</annotation></semantics></math> yields the desired short exact sequence.</p> </div> <p>The same argument holds true for <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> any <a class="existingWikiWord" href="/nlab/show/principal+ideal+domain">principal ideal domain</a>.</p> <h3 id="ProjectiveResolutionsForGroupCocycles">Projective resolutions adapted to abelian group cocycles</h3> <p>(…)</p> <h3 id="ProjectiveResolutionsForGroupCohomology">Projective resolutions adapted to general group cohomology</h3> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> be a <a class="existingWikiWord" href="/nlab/show/discrete+group">discrete group</a>. Write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbb{Z}[G]</annotation></semantics></math> for the <a class="existingWikiWord" href="/nlab/show/group+ring">group ring</a> over <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math>. Notice from <em><a href="module#AbelianGroupsWithGAction">module – Abelian groups with G-action as modules over the group ring</a></em> that linear <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/actions">actions</a> on <a class="existingWikiWord" href="/nlab/show/abelian+groups">abelian groups</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> are equivalently <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbb{Z}[G]</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/module">module</a> structures in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>.</p> <p>We discuss how <a class="existingWikiWord" href="/nlab/show/cocycles">cocycles</a> in the <a class="existingWikiWord" href="/nlab/show/group+cohomology">group cohomology</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> with <a class="existingWikiWord" href="/nlab/show/coefficients">coefficients</a> in such a <a class="existingWikiWord" href="/nlab/show/module">module</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> are naturally encoded in morphisms out of projective resolutions of the trivial <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbb{Z}[G]</annotation></semantics></math>-module.</p> <div class="num_defn" id="AugmentationMap"> <h6 id="definition_17">Definition</h6> <p>Write</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>ϵ</mi><mo lspace="verythinmathspace">:</mo><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo><mo>→</mo><mi>ℤ</mi></mrow><annotation encoding="application/x-tex"> \epsilon \colon \mathbb{Z}[G] \to \mathbb{Z} </annotation></semantics></math></div> <p>for the <a class="existingWikiWord" href="/nlab/show/homomorphism">homomorphism</a> of <a class="existingWikiWord" href="/nlab/show/abelian+groups">abelian groups</a> which forms the sum of <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>-<a class="existingWikiWord" href="/nlab/show/coefficients">coefficients</a> of the <a class="existingWikiWord" href="/nlab/show/formal+linear+combinations">formal linear combinations</a> that constitute the group ring</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>ϵ</mi><mo lspace="verythinmathspace">:</mo><mi>r</mi><mo>↦</mo><munder><mo lspace="thinmathspace" rspace="thinmathspace">∑</mo> <mrow><mi>g</mi><mo>∈</mo><mi>G</mi></mrow></munder><msub><mi>r</mi> <mi>g</mi></msub><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \epsilon \colon r \mapsto \sum_{g \in G} r_g \,. </annotation></semantics></math></div> <p>This is called the <a class="existingWikiWord" href="/nlab/show/augmentation">augmentation</a> map.</p> </div> <div class="num_defn" id="ProjectiveResolutionForZAsZGModule"> <h6 id="definition_18">Definition</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math> let</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msubsup><mi>Q</mi> <mi>n</mi> <mi>u</mi></msubsup><mo>≔</mo><mi>F</mi><mo stretchy="false">(</mo><mi>U</mi><mo stretchy="false">(</mo><mi>G</mi><msup><mo stretchy="false">)</mo> <mrow><msup><mo>×</mo> <mi>n</mi></msup></mrow></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Q^u_n \coloneqq F(U(G)^{\times^{n}}) </annotation></semantics></math></div> <p>be the <a class="existingWikiWord" href="/nlab/show/free+module">free module</a> over the <a class="existingWikiWord" href="/nlab/show/group+ring">group ring</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbb{Z}[G]</annotation></semantics></math> on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/tuples">tuples</a> of elements of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> (hence <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>Q</mi> <mn>0</mn> <mi>u</mi></msubsup><mo>≃</mo><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">Q^u_0 \simeq \mathbb{Z}[G]</annotation></semantics></math> is the free module on a single generator).</p> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n \geq 1</annotation></semantics></math> let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo lspace="verythinmathspace">:</mo><msubsup><mi>Q</mi> <mi>n</mi> <mi>u</mi></msubsup><mo>→</mo><msubsup><mi>Q</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow> <mi>u</mi></msubsup></mrow><annotation encoding="application/x-tex">\partial_{n-1} \colon Q^u_n \to Q^u_{n-1}</annotation></semantics></math> be given on <a class="existingWikiWord" href="/nlab/show/basis">basis</a> elements by</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">(</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">)</mo><mo>≔</mo><msub><mi>g</mi> <mn>1</mn></msub><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>2</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo><mo>+</mo><munderover><mo lspace="thinmathspace" rspace="thinmathspace">∑</mo> <mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></munderover><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn><msup><mo stretchy="false">)</mo> <mi>i</mi></msup><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>i</mi></msub><msub><mi>g</mi> <mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>g</mi> <mrow><mi>i</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo><mo>+</mo><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn><msup><mo stretchy="false">)</mo> <mi>n</mi></msup><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">]</mo><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \partial_{n-1} (g_1, \cdots, g_n) \coloneqq g_1 [g_2, \cdots, g_n] + \sum_{i = 1}^{n-1} (-1)^i [g_1, \cdots, g_i g_{i+1}, g_{i+2}, \cdots, g_n] + (-1)^n [g_1, \cdots, g_{n-1}] \,, </annotation></semantics></math></div> <p>where in the first summand we have the coefficient <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>g</mi> <mn>1</mn></msub><mo>∈</mo><mi>G</mi><mo>↪</mo><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">g_1 \in G \hookrightarrow \mathbb{Z}[G]</annotation></semantics></math> times the basis element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>2</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">[g_2, \cdots, g_n]</annotation></semantics></math> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>U</mi><mo stretchy="false">(</mo><mi>G</mi><msup><mo stretchy="false">)</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(U(G)^{n-1})</annotation></semantics></math>.</p> <p>In particular</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mo>∂</mo> <mn>0</mn></msub><mo lspace="verythinmathspace">:</mo><mo stretchy="false">[</mo><mi>g</mi><mo stretchy="false">]</mo><mo>↦</mo><mi>g</mi><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo><mo>−</mo><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo><mo>=</mo><mi>g</mi><mo>−</mo><mi>e</mi><mo>∈</mo><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo><mspace width="thinmathspace"></mspace><mo>.</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \partial_0 \colon [g] \mapsto g[*] - [*] = g-e \in \mathbb{Z}[G] \,. \,. </annotation></semantics></math></div> <p>Write furthermore <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Q</mi> <mi>n</mi></msub></mrow><annotation encoding="application/x-tex">Q_n</annotation></semantics></math> for the <a class="existingWikiWord" href="/nlab/show/quotient">quotient</a> module <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>Q</mi> <mi>n</mi> <mi>u</mi></msubsup><mo>→</mo><msup><mi>Q</mi> <mi>n</mi></msup></mrow><annotation encoding="application/x-tex">Q^u_n \to Q^n</annotation></semantics></math> which is the <a class="existingWikiWord" href="/nlab/show/cokernel">cokernel</a> of the inclusion of those elements for which one of the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>g</mi> <mi>i</mi></msub></mrow><annotation encoding="application/x-tex">g_i</annotation></semantics></math> is the unit element.</p> </div> <div class="num_prop"> <h6 id="proposition_12">Proposition</h6> <p>The construction in def. <a class="maruku-ref" href="#ProjectiveResolutionForZAsZGModule"></a> defines <a class="existingWikiWord" href="/nlab/show/chain+complexes">chain complexes</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>Q</mi> <mo>•</mo> <mi>u</mi></msubsup></mrow><annotation encoding="application/x-tex">Q^u_\bullet</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Q</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">Q_\bullet</annotation></semantics></math> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbb{Z}[G]</annotation></semantics></math>-modules. Moreover, with the augmentation map of def. <a class="maruku-ref" href="#AugmentationMap"></a> these are projective resolutions</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>ϵ</mi><mo lspace="verythinmathspace">:</mo><msubsup><mi>Q</mi> <mo>•</mo> <mi>u</mi></msubsup><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><mi>ℤ</mi></mrow><annotation encoding="application/x-tex"> \epsilon \colon Q^u_\bullet \stackrel{\simeq_{qi}}{\to} \mathbb{Z} </annotation></semantics></math></div><div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>ϵ</mi><mo lspace="verythinmathspace">:</mo><msub><mi>Q</mi> <mo>•</mo></msub><mover><mo>→</mo><mrow><msub><mo>≃</mo> <mi>qi</mi></msub></mrow></mover><mi>ℤ</mi></mrow><annotation encoding="application/x-tex"> \epsilon \colon Q_\bullet \stackrel{\simeq_{qi}}{\to} \mathbb{Z} </annotation></semantics></math></div> <p>of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi></mrow><annotation encoding="application/x-tex">\mathbb{Z}</annotation></semantics></math> equipped with the trivial <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbb{Z}[G]</annotation></semantics></math>-module structure in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbb{Z}[G]</annotation></semantics></math><a class="existingWikiWord" href="/nlab/show/Mod">Mod</a>.</p> </div> <div class="proof"> <h6 id="proof_21">Proof</h6> <p>The proof that we have indeed a chain complex is much like the proof of the existence of the <a class="existingWikiWord" href="/nlab/show/alternating+face+map+complex">alternating face map complex</a> of a <a class="existingWikiWord" href="/nlab/show/simplicial+group">simplicial group</a>, because writing</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msubsup><mo>∂</mo> <mi>n</mi> <mn>0</mn></msubsup><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo><mo>≔</mo><msub><mi>g</mi> <mn>1</mn></msub><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>2</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex"> \partial^0_n [g_1, \cdots, g_n] \coloneqq g_1 [g_2, \cdots, g_n] </annotation></semantics></math></div><div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msubsup><mo>∂</mo> <mi>n</mi> <mi>i</mi></msubsup><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo><mo>≔</mo><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>i</mi></msub><msub><mi>g</mi> <mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>g</mi> <mrow><mi>i</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo><mspace width="thickmathspace"></mspace><mspace width="thickmathspace"></mspace><mi>for</mi><mn>1</mn><mo>≤</mo><mi>i</mi><mo>≤</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex"> \partial^i_n [g_1, \cdots, g_n] \coloneqq [g_1, \cdots, g_i g_{i+1}, g_{i+2}, \cdots, g_n] \;\; for 1 \leq i \leq n-1 </annotation></semantics></math></div><div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mo>∂</mo> <mi>n</mi></msub><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo><mo>≔</mo><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex"> \partial_n [g_1, \cdots, g_n] \coloneqq [g_1, \cdots, g_{n-1}] </annotation></semantics></math></div> <p>one finds that these satisfy the <a class="existingWikiWord" href="/nlab/show/simplicial+identities">simplicial identities</a> and that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mo>∂</mo> <mi>n</mi></msub><mo>=</mo><msubsup><mo lspace="thinmathspace" rspace="thinmathspace">∑</mo> <mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow> <mi>n</mi></msubsup><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn><msup><mo stretchy="false">)</mo> <mi>i</mi></msup><msubsup><mo>∂</mo> <mi>n</mi> <mi>i</mi></msubsup></mrow><annotation encoding="application/x-tex">\partial_n = \sum_{i = 0}^n (-1)^i \partial^i_n</annotation></semantics></math>.</p> <p>That the augmentation map is a <a class="existingWikiWord" href="/nlab/show/quasi-isomorphism">quasi-isomorphism</a> is equivalent, by remark <a class="maruku-ref" href="#ProjectiveResolutionInComponents"></a>, to the <a class="existingWikiWord" href="/nlab/show/augmentation">augmentation</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>⋯</mi><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>2</mn></msub></mrow></mover><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><msup><mo stretchy="false">]</mo> <mn>2</mn></msup><mover><mo>→</mo><mrow><msub><mo>∂</mo> <mn>1</mn></msub></mrow></mover><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo><mover><mo>→</mo><mi>ϵ</mi></mover><mi>ℤ</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex"> \cdots \stackrel{\partial_2}{\to} \mathbb{Z}[G]^2 \stackrel{\partial_1}{\to} \mathbb{Z}[G] \stackrel{\epsilon}{\to} \mathbb{Z} \to 0 </annotation></semantics></math></div> <p>being an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a>. In fact we show that it is a <a class="existingWikiWord" href="/nlab/show/split+exact+sequence">split exact sequence</a> by constructing for the canonical chain map to the 0-complex a <a class="existingWikiWord" href="/nlab/show/null+homotopy">null homotopy</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>s</mi> <mo>•</mo></msub></mrow><annotation encoding="application/x-tex">s_\bullet</annotation></semantics></math>. To that end, let</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>s</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msub><mo lspace="verythinmathspace">:</mo><mi>ℤ</mi><mo>→</mo><msubsup><mi>Q</mi> <mn>0</mn> <mi>u</mi></msubsup></mrow><annotation encoding="application/x-tex"> s_{-1} \colon \mathbb{Z} \to Q^u_0 </annotation></semantics></math></div> <p>be given by sending <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn><mo>∈</mo><mi>ℤ</mi></mrow><annotation encoding="application/x-tex">1 \in \mathbb{Z}</annotation></semantics></math> to the single basis element in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>Q</mi> <mn>0</mn> <mi>u</mi></msubsup><mo>≔</mo><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo><mo>≃</mo><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">Q^u_0 \coloneqq \mathbb{Z}[G][*] \simeq \mathbb{Z}[G]</annotation></semantics></math>, and let for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>s</mi> <mi>n</mi></msub><mo lspace="verythinmathspace">:</mo><msubsup><mi>Q</mi> <mi>n</mi> <mi>u</mi></msubsup><mo>→</mo><msubsup><mi>Q</mi> <mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow> <mi>u</mi></msubsup></mrow><annotation encoding="application/x-tex"> s_n \colon Q^u_n \to Q^u_{n+1} </annotation></semantics></math></div> <p>be given on basis elements by</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>s</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">[</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo>≔</mo><mo stretchy="false">[</mo><mi>g</mi><mo>,</mo><msub><mi>g</mi> <mn>1</mn></msub><mo>,</mo><mi>⋯</mi><mo>,</mo><msub><mi>g</mi> <mi>n</mi></msub><mo stretchy="false">]</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> s_n(g[g_1, \cdots, g_n]) \coloneqq [g, g_1, \cdots, g_n] \,. </annotation></semantics></math></div> <p>In the lowest degrees we have</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>ϵ</mi><mo>∘</mo><msub><mi>s</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>id</mi> <mi>ℤ</mi></msub></mrow><annotation encoding="application/x-tex"> \epsilon \circ s_{-1} = id_{\mathbb{Z}} </annotation></semantics></math></div> <p>because</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>ϵ</mi><mo stretchy="false">(</mo><msub><mi>s</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msub><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>=</mo><mi>ϵ</mi><mo stretchy="false">(</mo><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo>=</mo><mi>ϵ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex"> \epsilon(s_{-1}(1)) = \epsilon([*]) = \epsilon(e) = 1 </annotation></semantics></math></div> <p>and</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mo>∂</mo> <mn>0</mn></msub><mo>∘</mo><msub><mi>s</mi> <mn>0</mn></msub><mo>+</mo><msub><mi>s</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msub><mo>∘</mo><mi>ϵ</mi><mo>=</mo><msub><mi>id</mi> <mrow><msubsup><mi>Q</mi> <mn>0</mn> <mi>u</mi></msubsup></mrow></msub></mrow><annotation encoding="application/x-tex"> \partial_0 \circ s_0 + s_{-1}\circ \epsilon = id_{Q^u_0} </annotation></semantics></math></div> <p>because for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi><mo>∈</mo><mi>G</mi></mrow><annotation encoding="application/x-tex">g \in G</annotation></semantics></math> we have</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msub><mo>∂</mo> <mn>0</mn></msub><mo stretchy="false">(</mo><msub><mi>s</mi> <mn>0</mn></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>+</mo><msub><mi>s</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msub><mo stretchy="false">(</mo><mi>ϵ</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><msub><mo>∂</mo> <mn>0</mn></msub><mo stretchy="false">(</mo><mo stretchy="false">[</mo><mi>g</mi><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo>+</mo><msub><mi>s</mi> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msub><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>=</mo><mi>g</mi><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo><mo>−</mo><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo><mo>+</mo><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>=</mo><mi>g</mi><mo stretchy="false">[</mo><mo>*</mo><mo stretchy="false">]</mo></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \begin{aligned} \partial_0 (s_0(g[*])) + s_{-1}(\epsilon(g[*])) & = \partial_0( [g] ) + s_{-1}(1) \\ & = g[*] - [*] + [*] \\ & = g[*] \end{aligned} \,. </annotation></semantics></math></div> <p>For all remaining <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n \geq 1</annotation></semantics></math> we find</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mo>∂</mo> <mi>n</mi></msub><mo>∘</mo><msub><mi>s</mi> <mi>n</mi></msub><mo>+</mo><msub><mi>s</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>∘</mo><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>id</mi> <mrow><msubsup><mi>Q</mi> <mi>n</mi> <mi>u</mi></msubsup></mrow></msub></mrow><annotation encoding="application/x-tex"> \partial_n \circ s_n + s_{n-1} \circ \partial_{n-1} = id_{Q^u_n} </annotation></semantics></math></div> <p>by a lengthy but straightforward computation. This shows that every cycle is a boundary, hence that we have a resolution.</p> <p>Finally, since the chain complex <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>Q</mi> <mo>•</mo> <mi>u</mi></msubsup></mrow><annotation encoding="application/x-tex">Q^u_\bullet</annotation></semantics></math> consists by construction degreewise of <a class="existingWikiWord" href="/nlab/show/free+modules">free modules</a> hence in particular of a <a class="existingWikiWord" href="/nlab/show/projective+module">projective module</a>, it is a projective resolution.</p> </div> <div class="num_prop"> <h6 id="propoition">Propoition</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> an <a class="existingWikiWord" href="/nlab/show/abelian+group">abelian group</a> equipped with a linear <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/action">action</a> and for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>∈</mo><mi>ℕ</mi></mrow><annotation encoding="application/x-tex">n \in \mathbb{N}</annotation></semantics></math>, the degree-<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/group+cohomology">group cohomology</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msubsup><mi>H</mi> <mi>grp</mi> <mi>n</mi></msubsup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">H^n_{grp}(G, A)</annotation></semantics></math> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> with <a class="existingWikiWord" href="/nlab/show/coefficients">coefficients</a> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> is equivalently given by</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msubsup><mi>H</mi> <mi>Grp</mi> <mi>n</mi></msubsup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>≃</mo><msubsup><mi>Ext</mi> <mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow> <mi>n</mi></msubsup><mo stretchy="false">(</mo><mi>ℤ</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>≃</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><msub><mi>Hom</mi> <mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow></msub><mo stretchy="false">(</mo><msubsup><mi>Q</mi> <mi>n</mi> <mi>u</mi></msubsup><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd></mtd> <mtd><mo>≃</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><msub><mi>Hom</mi> <mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow></msub><mo stretchy="false">(</mo><msub><mi>Q</mi> <mi>n</mi></msub><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mspace width="thinmathspace"></mspace><mo>.</mo></mtd></mtr></mtable></mrow><mspace width="thinmathspace"></mspace><mo>,</mo></mrow><annotation encoding="application/x-tex"> \begin{aligned} H^n_{Grp}(G,A) & \simeq Ext^n_{\mathbb{Z}[G]}(\mathbb{Z}, A) \\ & \simeq H^n(Hom_{\mathbb{Z}[G]}(Q^u_n, A)) \\ & \simeq H^n(Hom_{\mathbb{Z}[G]}(Q_n, A)) \,. \end{aligned} \,, </annotation></semantics></math></div> <p>where on the right we canonically regard <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>∈</mo><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">A \in \mathbb{Z}[G]</annotation></semantics></math><a class="existingWikiWord" href="/nlab/show/Mod">Mod</a>.</p> </div> <div class="proof"> <h6 id="proof_22">Proof</h6> <p>By the <a class="existingWikiWord" href="/nlab/show/free+functor">free functor</a> <a class="existingWikiWord" href="/nlab/show/adjunction">adjunction</a> we have that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>Hom</mi> <mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow></msub><mo stretchy="false">(</mo><msubsup><mi>F</mi> <mi>n</mi> <mi>u</mi></msubsup><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≃</mo><msub><mi>Hom</mi> <mi>Set</mi></msub><mo stretchy="false">(</mo><mi>U</mi><mo stretchy="false">(</mo><mi>G</mi><msup><mo stretchy="false">)</mo> <mrow><mo>×</mo><mi>n</mi></mrow></msup><mo>,</mo><mi>U</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> Hom_{\mathbb{Z}[G]}(F^u_n, A) \simeq Hom_{Set}(U(G)^{\times n}, U(A)) </annotation></semantics></math></div> <p>is the set of <a class="existingWikiWord" href="/nlab/show/functions">functions</a> from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>-tuples of elements of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> to elements of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>. It is immediate to check that these are in 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><msub><mi>Hom</mi> <mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow></msub><mo stretchy="false">(</mo><msub><mo>∂</mo> <mi>n</mi></msub><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Hom_{\mathbb{Z}[G]}(\partial_{n}, A)</annotation></semantics></math> precisely if they are <a class="existingWikiWord" href="/nlab/show/cocycles">cocycles</a> in the <a class="existingWikiWord" href="/nlab/show/group+cohomology">group cohomology</a> (by comparison with the explicit formulas there) and that they are group cohomology <a class="existingWikiWord" href="/nlab/show/coboundaries">coboundaries</a> precisely if they are in the <a class="existingWikiWord" href="/nlab/show/image">image</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>Hom</mi> <mrow><mi>ℤ</mi><mo stretchy="false">[</mo><mi>G</mi><mo stretchy="false">]</mo></mrow></msub><mo stretchy="false">(</mo><msub><mo>∂</mo> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Hom_{\mathbb{Z}[G]}(\partial_{n-1}, A)</annotation></semantics></math>. This establishes the first equivalences.</p> <p>Similarly one finds that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><mi>Hom</mi><mo stretchy="false">(</mo><msub><mi>F</mi> <mi>n</mi></msub><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">H^n(Hom(F_n, A)))</annotation></semantics></math> is the sub-group of <em>normalized</em> cocycles. By the discussion at <em><a class="existingWikiWord" href="/nlab/show/group+cohomology">group cohomology</a></em> these already support the entire group cohomology (every cocycle is comologous to a normalized one).</p> </div> <h3 id="CohomologyOfCyclicGroups">Cohomology of cyclic groups</h3> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi><mo>=</mo><msub><mi>C</mi> <mi>k</mi></msub></mrow><annotation encoding="application/x-tex">G = C_k</annotation></semantics></math> be a <a class="existingWikiWord" href="/nlab/show/cyclic+group">cyclic group</a> of finite <a class="existingWikiWord" href="/nlab/show/order">order</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math>, with generator <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math>. We discuss the <a class="existingWikiWord" href="/nlab/show/group+cohomology">group cohomology</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math>, as discussed at <em><a href="http://ncatlab.org/nlab/show/group+cohomology#InTermsOfHomologicalAlgebra">group cohomology - In terms of homological algebra</a></em>.</p> <p>Define special elements in the <a class="existingWikiWord" href="/nlab/show/group+algebra">group algebra</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mi>G</mi></mrow><annotation encoding="application/x-tex">\mathbb{Z}G</annotation></semantics></math>:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>N</mi><mo>≔</mo><mn>1</mn><mo>+</mo><mi>g</mi><mo>+</mo><msup><mi>g</mi> <mn>2</mn></msup><mo>+</mo><mi>…</mi><mo>+</mo><msup><mi>g</mi> <mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">N \coloneqq 1 + g + g^2 + \ldots + g^{k-1}</annotation></semantics></math></div><div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mspace width="thinmathspace"></mspace></mrow><annotation encoding="application/x-tex">\,</annotation></semantics></math></div><div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>D</mi><mo>≔</mo><mi>g</mi><mo>−</mo><mn>1</mn><mo>,</mo></mrow><annotation encoding="application/x-tex">D \coloneqq g - 1,</annotation></semantics></math></div> <p>and denote the corresponding multiplications by these elements by the same letters <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>N</mi><mo>,</mo><mi>D</mi><mo lspace="verythinmathspace">:</mo><mi>ℤ</mi><mi>G</mi><mo>→</mo><mi>ℤ</mi><mi>G</mi></mrow><annotation encoding="application/x-tex">N, D \colon \mathbb{Z}G \to \mathbb{Z}G</annotation></semantics></math>.</p> <p>Then a very simple and useful projective resolution of the trivial <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mi>G</mi></mrow><annotation encoding="application/x-tex">\mathbb{Z}G</annotation></semantics></math>-module <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi></mrow><annotation encoding="application/x-tex">\mathbb{Z}</annotation></semantics></math> is based on an <a class="existingWikiWord" href="/nlab/show/exact+sequence">exact sequence</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mi>G</mi></mrow><annotation encoding="application/x-tex">\mathbb{Z}G</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/modules">modules</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>…</mi><mover><mo>→</mo><mi>N</mi></mover><mi>ℤ</mi><mi>G</mi><mover><mo>→</mo><mi>D</mi></mover><mi>ℤ</mi><mi>G</mi><mover><mo>→</mo><mi>N</mi></mover><mi>ℤ</mi><mi>G</mi><mover><mo>→</mo><mi>D</mi></mover><mi>ℤ</mi><mi>G</mi><mo>→</mo><mi>ℤ</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\ldots \stackrel{N}{\to} \mathbb{Z}G \stackrel{D}{\to} \mathbb{Z}G \stackrel{N}{\to} \mathbb{Z}G \stackrel{D}{\to} \mathbb{Z}G \to \mathbb{Z} \to 0</annotation></semantics></math></div> <p>where the last map <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mi>G</mi><mo>→</mo><mi>ℤ</mi></mrow><annotation encoding="application/x-tex">\mathbb{Z}G \to \mathbb{Z}</annotation></semantics></math> is induced from the trivial group homomorphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">G \to 1</annotation></semantics></math>, hence is the map that forms the sum of all <a class="existingWikiWord" href="/nlab/show/coefficients">coefficients</a> of all group elements.</p> <p>It follows from this resolution that the <a class="existingWikiWord" href="/nlab/show/cochain+cohomology">cohomology groups</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><msub><mi>C</mi> <mi>k</mi></msub><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">H^n(C_k, A)</annotation></semantics></math> for a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mi>k</mi></msub></mrow><annotation encoding="application/x-tex">C_k</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/module">module</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> are periodic of order 2:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mrow><mi>n</mi><mo>+</mo><mn>2</mn></mrow></msup><mo stretchy="false">(</mo><msub><mi>C</mi> <mi>k</mi></msub><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>≅</mo><msup><mi>H</mi> <mi>n</mi></msup><mo stretchy="false">(</mo><msub><mi>C</mi> <mi>k</mi></msub><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex"> H^{n+2}(C_k, A) \cong H^n(C_k, A) </annotation></semantics></math></div> <p>for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n \geq 1</annotation></semantics></math>. More precisely,</p> <div class="num_prop"> <h6 id="proposition_13">Proposition</h6> <p>For <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi><mo>=</mo><msub><mi>C</mi> <mi>k</mi></msub></mrow><annotation encoding="application/x-tex">G = C_k</annotation></semantics></math>, we have</p> <ul> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mn>0</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>=</mo><msup><mi>A</mi> <mi>G</mi></msup><mo>=</mo><mi>ker</mi><mo stretchy="false">(</mo><mi>D</mi><mo stretchy="false">)</mo><mo lspace="verythinmathspace">:</mo><mi>A</mi><mo>→</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">H^0(G, A) = A^G = \ker(D) \colon A \to A</annotation></semantics></math>,</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mrow><mn>2</mn><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>=</mo><mi>ker</mi><mo stretchy="false">(</mo><mi>N</mi><mo stretchy="false">)</mo><mo stretchy="false">/</mo><mi>im</mi><mo stretchy="false">(</mo><mi>D</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">H^{2 j + 1}(G, A) = \ker(N)/im(D)</annotation></semantics></math> for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>j</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">j \geq 0</annotation></semantics></math>,</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mrow><mn>2</mn><mi>j</mi></mrow></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><mi>A</mi><mo stretchy="false">)</mo><mo>=</mo><mi>ker</mi><mo stretchy="false">(</mo><mi>D</mi><mo stretchy="false">)</mo><mo stretchy="false">/</mo><mi>im</mi><mo stretchy="false">(</mo><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">H^{2 j}(G, A) = \ker(D)/im(N)</annotation></semantics></math> for <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>j</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">j \geq 1</annotation></semantics></math>.</p> </li> </ul> </div> <p>A well-known calculation in the cohomology of cyclic groups is <strong><a class="existingWikiWord" href="/nlab/show/Hilbert%27s+Theorem+90">Hilbert's Theorem 90</a></strong>.</p> <div class="num_theorem"> <h6 id="theorem_4">Theorem</h6> <p>Suppose <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>K</mi></mrow><annotation encoding="application/x-tex">K</annotation></semantics></math> be a finite <a class="existingWikiWord" href="/nlab/show/Galois+extension">Galois extension</a> of a <a class="existingWikiWord" href="/nlab/show/field">field</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math>, with a cyclic <a class="existingWikiWord" href="/nlab/show/Galois+group">Galois group</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi><mo>=</mo><mo stretchy="false">⟨</mo><mi>g</mi><mo stretchy="false">⟩</mo></mrow><annotation encoding="application/x-tex">G = \langle g \rangle</annotation></semantics></math> of order <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math>. Regard the <a class="existingWikiWord" href="/nlab/show/multiplicative+group">multiplicative group</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>K</mi> <mo>*</mo></msup></mrow><annotation encoding="application/x-tex">K^\ast</annotation></semantics></math> as a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math>-module. Then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>H</mi> <mn>1</mn></msup><mo stretchy="false">(</mo><mi>G</mi><mo>,</mo><msup><mi>K</mi> <mo>*</mo></msup><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">H^1(G, K^\ast) = 0</annotation></semantics></math>.</p> </div> <div class="proof"> <h6 id="proof_23">Proof</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>σ</mi><mo>∈</mo><mi>ℤ</mi><mi>G</mi></mrow><annotation encoding="application/x-tex">\sigma \in \mathbb{Z}G</annotation></semantics></math>, and denote the action of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>σ</mi></mrow><annotation encoding="application/x-tex">\sigma</annotation></semantics></math> on an element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>β</mi><mo>∈</mo><mi>K</mi></mrow><annotation encoding="application/x-tex">\beta \in K</annotation></semantics></math> by exponential notation <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>β</mi> <mi>σ</mi></msup></mrow><annotation encoding="application/x-tex">\beta^\sigma</annotation></semantics></math>. The action of the element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>N</mi><mo>∈</mo><mi>ℤ</mi><mi>G</mi></mrow><annotation encoding="application/x-tex">N \in \mathbb{Z}G</annotation></semantics></math> is</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msup><mi>β</mi> <mi>N</mi></msup><mo>=</mo><msup><mi>β</mi> <mrow><mn>1</mn><mo>+</mo><mi>g</mi><mo>+</mo><mi>…</mi><mo>+</mo><msup><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></msup><mo>=</mo><mi>β</mi><mo>⋅</mo><msup><mi>β</mi> <mi>g</mi></msup><mo>⋅</mo><mi>…</mi><msup><mi>β</mi> <mrow><msup><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></msup></mrow><annotation encoding="application/x-tex">\beta^N = \beta^{1 + g + \ldots + g^{n-1}} = \beta \cdot \beta^g \cdot \ldots \beta^{g^{n-1}}</annotation></semantics></math></div> <p>which is precisely the <em>norm</em> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>β</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">N(\beta)</annotation></semantics></math>. We are to show that if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>β</mi><mo stretchy="false">)</mo><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">N(\beta) = 1</annotation></semantics></math>, then there exists <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>α</mi><mo>∈</mo><mi>K</mi></mrow><annotation encoding="application/x-tex">\alpha \in K</annotation></semantics></math> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>β</mi><mo>=</mo><mi>α</mi><mo stretchy="false">/</mo><mi>g</mi><mo stretchy="false">(</mo><mi>α</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\beta = \alpha/g(\alpha)</annotation></semantics></math>. By the lemma that follows, the homomorphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn><mo>,</mo><mi>g</mi><mo>,</mo><mi>…</mi><mo>,</mo><msup><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup><mo>:</mo><msup><mi>K</mi> <mo>*</mo></msup><mo>→</mo><msup><mi>K</mi> <mo>*</mo></msup></mrow><annotation encoding="application/x-tex">1, g, \ldots, g^{n-1}: K^\ast \to K^\ast</annotation></semantics></math> are, when considered as elements in a vector space of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>K</mi></mrow><annotation encoding="application/x-tex">K</annotation></semantics></math>-valued functions, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>K</mi></mrow><annotation encoding="application/x-tex">K</annotation></semantics></math>-linearly independent. It follows in particular that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mn>1</mn><mo>+</mo><mi>β</mi><mi>g</mi><mo>+</mo><msup><mi>β</mi> <mrow><mn>1</mn><mo>+</mo><mi>g</mi></mrow></msup><msup><mi>g</mi> <mn>2</mn></msup><mo>+</mo><mi>…</mi><mo>+</mo><msup><mi>β</mi> <mrow><mn>1</mn><mo>+</mo><mi>g</mi><mo>+</mo><mi>…</mi><mo>+</mo><msup><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>2</mn></mrow></msup></mrow></msup><msup><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">1 + \beta g + \beta^{1+g}g^2 + \ldots + \beta^{1 + g + \ldots + g^{n-2}}g^{n-1}</annotation></semantics></math></div> <p>is not identically zero, and therefore there exists <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>θ</mi><mo>∈</mo><msup><mi>K</mi> <mo>*</mo></msup></mrow><annotation encoding="application/x-tex">\theta \in K^\ast</annotation></semantics></math> such that the element</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>α</mi><mo>=</mo><mi>θ</mi><mo>+</mo><mi>β</mi><msup><mi>θ</mi> <mi>g</mi></msup><mo>+</mo><msup><mi>β</mi> <mrow><mn>1</mn><mo>+</mo><mi>g</mi></mrow></msup><msup><mi>θ</mi> <mrow><msup><mi>g</mi> <mn>2</mn></msup></mrow></msup><mo>+</mo><mi>…</mi><mo>+</mo><msup><mi>β</mi> <mrow><mn>1</mn><mo>+</mo><mi>g</mi><mo>+</mo><mi>…</mi><mo>+</mo><msup><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>2</mn></mrow></msup></mrow></msup><msup><mi>θ</mi> <mrow><msup><mi>g</mi> <mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></msup></mrow><annotation encoding="application/x-tex">\alpha = \theta + \beta \theta^g + \beta^{1+g}\theta^{g^2} + \ldots + \beta^{1 + g + \ldots + g^{n-2}}\theta^{g^{n-1}}</annotation></semantics></math></div> <p>is non-zero. Using the fact that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>β</mi><mo stretchy="false">)</mo><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">N(\beta) = 1</annotation></semantics></math>, one may easily calculate that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>β</mi><msup><mi>α</mi> <mi>g</mi></msup><mo>=</mo><mi>α</mi></mrow><annotation encoding="application/x-tex">\beta \alpha^g = \alpha</annotation></semantics></math>, as was to be shown.</p> </div> <p>The next result may be thought of as establishing “independence of characters” (where “<a class="existingWikiWord" href="/nlab/show/group+character">characters</a>” are valued in the <a class="existingWikiWord" href="/nlab/show/multiplicative+group">multiplicative group</a> of a field):</p> <div class="num_lemma"> <h6 id="lemma_5">Lemma</h6> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>K</mi></mrow><annotation encoding="application/x-tex">K</annotation></semantics></math> be a <a class="existingWikiWord" href="/nlab/show/field">field</a>, let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> be a <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a>, and let <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>…</mi><mo>,</mo><msub><mi>χ</mi> <mi>n</mi></msub><mo lspace="verythinmathspace">:</mo><mi>G</mi><mo>→</mo><msup><mi>K</mi> <mo>*</mo></msup></mrow><annotation encoding="application/x-tex">\chi_1, \ldots, \chi_n \colon G \to K^\ast</annotation></semantics></math> be distinct monoid <a class="existingWikiWord" href="/nlab/show/homomorphisms">homomorphisms</a>. Then the <a class="existingWikiWord" href="/nlab/show/functions">functions</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>χ</mi> <mi>i</mi></msub></mrow><annotation encoding="application/x-tex">\chi_i</annotation></semantics></math>, considered as functions valued in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>K</mi></mrow><annotation encoding="application/x-tex">K</annotation></semantics></math>, are <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>K</mi></mrow><annotation encoding="application/x-tex">K</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/linear+independence">linearly independent</a>.</p> </div> <div class="proof"> <h6 id="proof_24">Proof</h6> <p>A single <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>χ</mi><mo lspace="verythinmathspace">:</mo><mi>G</mi><mo>→</mo><msup><mi>K</mi> <mo>*</mo></msup></mrow><annotation encoding="application/x-tex">\chi \colon G \to K^\ast</annotation></semantics></math> obviously forms a linearly independent set. Now suppose we have an equation</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>a</mi> <mn>1</mn></msub><msub><mi>χ</mi> <mn>1</mn></msub><mo>+</mo><mi>…</mi><mo>+</mo><msub><mi>a</mi> <mi>n</mi></msub><msub><mi>χ</mi> <mi>n</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">a_1 \chi_1 + \ldots + a_n \chi_n = 0</annotation></semantics></math></div> <p>where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>a</mi> <mi>i</mi></msub><mo>∈</mo><mi>K</mi></mrow><annotation encoding="application/x-tex">a_i \in K</annotation></semantics></math>, and assume <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math> is as small as possible. In particular, no <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>a</mi> <mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math> is equal to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math>, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>n</mi><mo>≥</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">n \geq 2</annotation></semantics></math>. Choose <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi><mo>∈</mo><mi>G</mi></mrow><annotation encoding="application/x-tex">g \in G</annotation></semantics></math> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>χ</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo>≠</mo><msub><mi>χ</mi> <mn>2</mn></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_1(g) \neq \chi_2(g)</annotation></semantics></math>. Then for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>h</mi><mo>∈</mo><mi>G</mi></mrow><annotation encoding="application/x-tex">h \in G</annotation></semantics></math> we have</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>a</mi> <mn>1</mn></msub><msub><mi>χ</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>g</mi><mi>h</mi><mo stretchy="false">)</mo><mo>+</mo><mi>…</mi><mo>+</mo><msub><mi>a</mi> <mi>n</mi></msub><msub><mi>χ</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>g</mi><mi>h</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">a_1 \chi_1(g h) + \ldots + a_n \chi_n(g h) = 0</annotation></semantics></math></div> <p>so that</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>a</mi> <mn>1</mn></msub><msub><mi>χ</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><msub><mi>χ</mi> <mn>1</mn></msub><mo>+</mo><mi>…</mi><mo>+</mo><msub><mi>a</mi> <mi>n</mi></msub><msub><mi>χ</mi> <mi>n</mi></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><msub><mi>χ</mi> <mi>n</mi></msub><mo>=</mo><mn>0</mn><mo>.</mo></mrow><annotation encoding="application/x-tex">a_1 \chi_1(g) \chi_1 + \ldots + a_n \chi_n(g)\chi_n = 0.</annotation></semantics></math></div> <p>Dividing equation 2 by <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>χ</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_1(g)</annotation></semantics></math> and subtracting from it equation 1, the first term cancels, and we are left with a shorter relation</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><msub><mi>a</mi> <mn>2</mn></msub><mfrac><mrow><msub><mi>χ</mi> <mn>2</mn></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo></mrow><mrow><msub><mi>χ</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo></mrow></mfrac><mo>−</mo><msub><mi>a</mi> <mn>2</mn></msub><mo stretchy="false">)</mo><msub><mi>χ</mi> <mn>2</mn></msub><mo>+</mo><mi>…</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">(a_2\frac{\chi_2(g)}{\chi_1(g)} - a_2)\chi_2 + \ldots = 0</annotation></semantics></math></div> <p>which is a <a class="existingWikiWord" href="/nlab/show/contradiction">contradiction</a>.</p> </div> <h2 id="RelatedConcepts">Related concepts</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/projective+object">projective object</a>, <a class="existingWikiWord" href="/nlab/show/projective+presentation">projective presentation</a>, <a class="existingWikiWord" href="/nlab/show/projective+cover">projective cover</a>, <strong>projective resolution</strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/projective+module">projective module</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/injective+object">injective object</a>, <a class="existingWikiWord" href="/nlab/show/injective+presentation">injective presentation</a>, <a class="existingWikiWord" href="/nlab/show/injective+envelope">injective envelope</a>, <a class="existingWikiWord" href="/nlab/show/injective+resolution">injective resolution</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/injective+module">injective module</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/free+object">free object</a>, <a class="existingWikiWord" href="/nlab/show/free+resolution">free resolution</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/free+module">free module</a></li> </ul> </li> <li> <p>flat object, <a class="existingWikiWord" href="/nlab/show/flat+resolution">flat resolution</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/flat+module">flat module</a></li> </ul> </li> </ul> <h2 id="references">References</h2> <ul> <li id="HiltonStammbach71"> <p><a class="existingWikiWord" href="/nlab/show/Peter+Hilton">Peter Hilton</a>, <a class="existingWikiWord" href="/nlab/show/Urs+Stammbach">Urs Stammbach</a>, p. 129 of: <em>A course in homological algebra</em>, Springer-Verlag, New York, 1971, Graduate Texts in Mathematics, Vol. 4 (<a href="https://link.springer.com/book/10.1007/978-1-4419-8566-8">doi:10.1007/978-1-4419-8566-8</a>, <a href="https://web.math.rochester.edu/people/faculty/doug/otherpapers/hilton-stammbach.pdf">pdf</a>)</p> </li> <li id="Schapira"> <p><a class="existingWikiWord" href="/nlab/show/Pierre+Schapira">Pierre Schapira</a>, section 4.5 of: <em>Categories and homological algebra</em> (2011) (<a href="http://people.math.jussieu.fr/~schapira/lectnotes/HomAl.pdf">pdf</a>)</p> </li> <li id="May"> <p><a class="existingWikiWord" href="/nlab/show/Peter+May">Peter May</a>, sections 3.1 and 4.2 in: <em>Notes on Tor and Ext</em> (<a href="http://www.math.uchicago.edu/~may/MISC/TorExt.pdf">pdf</a>)</p> </li> <li id="Murfet"> <p><a class="existingWikiWord" href="/nlab/show/Daniel+Murfet">Daniel Murfet</a>, section 4 of: <em>Derived functors</em> (<a href="http://therisingsea.org/notes/DerivedFunctors.pdf">pdf</a>)</p> </li> </ul> </body></html> </div> <div class="revisedby"> <p> Last revised on October 19, 2023 at 08:56:53. See the <a href="/nlab/history/projective+resolution" 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/projective+resolution" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/4267/#Item_33">Discuss</a><span class="backintime"><a href="/nlab/revision/projective+resolution/64" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/diff/projective+resolution" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Changes from previous revision</a><a href="/nlab/history/projective+resolution" accesskey="S" class="navlink" id="history" rel="nofollow">History (64 revisions)</a> <a href="/nlab/show/projective+resolution/cite" style="color: black">Cite</a> <a href="/nlab/print/projective+resolution" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/projective+resolution" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>