CINXE.COM

cohesive homotopy type theory 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> cohesive homotopy type theory 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> cohesive homotopy type theory </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/3380/#Item_38" title="Discuss this page in its dedicated thread on the nForum" style="color: black">Discuss this page</a> | <form accept-charset="utf-8" action="/nlab/search" id="navigationSearchForm" method="get"> <fieldset class="search"><input type="text" id="searchField" name="query" value="Search" style="display:inline-block; float: left;" onfocus="this.value == 'Search' ? this.value = '' : true" onblur="this.value == '' ? this.value = 'Search' : true" /></fieldset> </form> <span id='navEnd'></span> </div> <div id="revision"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xml:lang="en" lang="en"> <head><meta http-equiv="Content-type" content="application/xhtml+xml;charset=utf-8" /><title>Contents</title></head> <body> <blockquote> <p>under construction</p> </blockquote> <div class="rightHandSide"> <div class="toc clickDown" tabindex="0"> <h3 id="context">Context</h3> <h4 id="type_theory">Type theory</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/natural+deduction">natural deduction</a></strong> <a class="existingWikiWord" href="/nlab/show/metalanguage">metalanguage</a>, <a class="existingWikiWord" href="/nlab/show/practical+foundations">practical foundations</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/judgement">judgement</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/hypothetical+judgement">hypothetical judgement</a>, <a class="existingWikiWord" href="/nlab/show/sequent">sequent</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/antecedents">antecedents</a><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊢</mo></mrow><annotation encoding="application/x-tex">\vdash</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/consequent">consequent</a>, <a class="existingWikiWord" href="/nlab/show/succedents">succedents</a></li> </ul> </li> </ul> <ol> <li><a class="existingWikiWord" href="/nlab/show/type+formation+rule">type formation rule</a></li> <li><a class="existingWikiWord" href="/nlab/show/term+introduction+rule">term introduction rule</a></li> <li><a class="existingWikiWord" href="/nlab/show/term+elimination+rule">term elimination rule</a></li> <li><a class="existingWikiWord" href="/nlab/show/computation+rule">computation rule</a></li> </ol> <p><strong><a class="existingWikiWord" href="/nlab/show/type+theory">type theory</a></strong> (<a class="existingWikiWord" href="/nlab/show/dependent+type+theory">dependent</a>, <a class="existingWikiWord" href="/nlab/show/intensional+type+theory">intensional</a>, <a class="existingWikiWord" href="/nlab/show/observational+type+theory">observational type theory</a>, <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a>)</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/calculus+of+constructions">calculus of constructions</a></li> </ul> <p><strong><a class="existingWikiWord" href="/nlab/show/syntax">syntax</a></strong> <a class="existingWikiWord" href="/nlab/show/object+language">object language</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/theory">theory</a>, <a class="existingWikiWord" href="/nlab/show/axiom">axiom</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/proposition">proposition</a>/<a class="existingWikiWord" href="/nlab/show/type">type</a> (<a class="existingWikiWord" href="/nlab/show/propositions+as+types">propositions as types</a>)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/definition">definition</a>/<a class="existingWikiWord" href="/nlab/show/proof">proof</a>/<a class="existingWikiWord" href="/nlab/show/program">program</a> (<a class="existingWikiWord" href="/nlab/show/proofs+as+programs">proofs as programs</a>)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/theorem">theorem</a></p> </li> </ul> <div> <p><strong><a class="existingWikiWord" href="/nlab/show/computational+trinitarianism">computational trinitarianism</a></strong> = <br /> <strong><a class="existingWikiWord" href="/nlab/show/propositions+as+types">propositions as types</a></strong> +<strong><a class="existingWikiWord" href="/nlab/show/programs+as+proofs">programs as proofs</a></strong> +<strong><a class="existingWikiWord" href="/nlab/show/relation+between+type+theory+and+category+theory">relation type theory/category theory</a></strong></p> <table><thead><tr><th><a class="existingWikiWord" href="/nlab/show/logic">logic</a></th><th><a class="existingWikiWord" href="/nlab/show/set+theory">set theory</a> (<a class="existingWikiWord" href="/nlab/show/internal+logic+of+set+theory">internal logic</a> of)</th><th><a class="existingWikiWord" href="/nlab/show/category+theory">category theory</a></th><th><a class="existingWikiWord" href="/nlab/show/type+theory">type theory</a></th></tr></thead><tbody><tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/proposition">proposition</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/set">set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/object">object</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/type">type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/predicate">predicate</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/family+of+sets">family of sets</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/display+morphism">display morphism</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/dependent+type">dependent type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/proof">proof</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/element">element</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/generalized+element">generalized element</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/term">term</a>/<a class="existingWikiWord" href="/nlab/show/program">program</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/cut+rule">cut rule</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/composition">composition</a> of <a class="existingWikiWord" href="/nlab/show/classifying+morphisms">classifying morphisms</a> / <a class="existingWikiWord" href="/nlab/show/pullback">pullback</a> of <a class="existingWikiWord" href="/nlab/show/display+maps">display maps</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/substitution">substitution</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/introduction+rule">introduction rule</a> for <a class="existingWikiWord" href="/nlab/show/implication">implication</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/counit">counit</a> for hom-tensor adjunction</td><td style="text-align: left;">lambda</td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/elimination+rule">elimination rule</a> for <a class="existingWikiWord" href="/nlab/show/implication">implication</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/unit">unit</a> for hom-tensor adjunction</td><td style="text-align: left;">application</td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/cut+elimination">cut elimination</a> for <a class="existingWikiWord" href="/nlab/show/implication">implication</a></td><td style="text-align: left;"></td><td style="text-align: left;">one of the <a class="existingWikiWord" href="/nlab/show/zigzag+identities">zigzag identities</a> for hom-tensor adjunction</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/beta+reduction">beta reduction</a></td></tr> <tr><td style="text-align: left;">identity elimination for <a class="existingWikiWord" href="/nlab/show/implication">implication</a></td><td style="text-align: left;"></td><td style="text-align: left;">the other <a class="existingWikiWord" href="/nlab/show/zigzag+identity">zigzag identity</a> for hom-tensor adjunction</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/eta+conversion">eta conversion</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/true">true</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/singleton">singleton</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/terminal+object">terminal object</a>/<a class="existingWikiWord" href="/nlab/show/%28-2%29-truncated+object">(-2)-truncated object</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/h-level+0">h-level 0</a>-<a class="existingWikiWord" href="/nlab/show/type">type</a>/<a class="existingWikiWord" href="/nlab/show/unit+type">unit type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/false">false</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/empty+set">empty set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/initial+object">initial object</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/empty+type">empty type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/proposition">proposition</a>, <a class="existingWikiWord" href="/nlab/show/truth+value">truth value</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/subsingleton">subsingleton</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/subterminal+object">subterminal object</a>/<a class="existingWikiWord" href="/nlab/show/%28-1%29-truncated+object">(-1)-truncated object</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/h-proposition">h-proposition</a>, <a class="existingWikiWord" href="/nlab/show/mere+proposition">mere proposition</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/logical+conjunction">logical conjunction</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/cartesian+product">cartesian product</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/product">product</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/product+type">product type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/disjunction">disjunction</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/disjoint+union">disjoint union</a> (<a class="existingWikiWord" href="/nlab/show/support">support</a> of)</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/coproduct">coproduct</a> (<a class="existingWikiWord" href="/nlab/show/%28-1%29-truncation">(-1)-truncation</a> of)</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/sum+type">sum type</a> (<a class="existingWikiWord" href="/nlab/show/bracket+type">bracket type</a> of)</td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/implication">implication</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/function+set">function set</a> (into <a class="existingWikiWord" href="/nlab/show/subsingleton">subsingleton</a>)</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/internal+hom">internal hom</a> (into <a class="existingWikiWord" href="/nlab/show/subterminal+object">subterminal object</a>)</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/function+type">function type</a> (into <a class="existingWikiWord" href="/nlab/show/h-proposition">h-proposition</a>)</td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/negation">negation</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/function+set">function set</a> into <a class="existingWikiWord" href="/nlab/show/empty+set">empty set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/internal+hom">internal hom</a> into <a class="existingWikiWord" href="/nlab/show/initial+object">initial object</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/function+type">function type</a> into <a class="existingWikiWord" href="/nlab/show/empty+type">empty type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/universal+quantification">universal quantification</a></td><td style="text-align: left;">indexed <a class="existingWikiWord" href="/nlab/show/cartesian+product">cartesian product</a> (of family of <a class="existingWikiWord" href="/nlab/show/subsingletons">subsingletons</a>)</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/dependent+product">dependent product</a> (of family of <a class="existingWikiWord" href="/nlab/show/subterminal+objects">subterminal objects</a>)</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/dependent+product+type">dependent product type</a> (of family of <a class="existingWikiWord" href="/nlab/show/h-propositions">h-propositions</a>)</td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/existential+quantification">existential quantification</a></td><td style="text-align: left;">indexed <a class="existingWikiWord" href="/nlab/show/disjoint+union">disjoint union</a> (<a class="existingWikiWord" href="/nlab/show/support">support</a> of)</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/dependent+sum">dependent sum</a> (<a class="existingWikiWord" href="/nlab/show/%28-1%29-truncation">(-1)-truncation</a> of)</td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/dependent+sum+type">dependent sum type</a> (<a class="existingWikiWord" href="/nlab/show/bracket+type">bracket type</a> of)</td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/logical+equivalence">logical equivalence</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/bijection+set">bijection set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/object+of+isomorphisms">object of isomorphisms</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/equivalence+type">equivalence type</a></td></tr> <tr><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/support+set">support set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/support+object">support object</a>/<a class="existingWikiWord" href="/nlab/show/%28-1%29-truncation">(-1)-truncation</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/propositional+truncation">propositional truncation</a>/<a class="existingWikiWord" href="/nlab/show/bracket+type">bracket type</a></td></tr> <tr><td style="text-align: left;"></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/n-image">n-image</a> of <a class="existingWikiWord" href="/nlab/show/morphism">morphism</a> into <a class="existingWikiWord" href="/nlab/show/terminal+object">terminal object</a>/<a class="existingWikiWord" href="/nlab/show/n-truncation">n-truncation</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/n-truncation+modality">n-truncation modality</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/equality">equality</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/diagonal+function">diagonal function</a>/<a class="existingWikiWord" href="/nlab/show/diagonal+subset">diagonal subset</a>/<a class="existingWikiWord" href="/nlab/show/diagonal+relation">diagonal relation</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/path+space+object">path space object</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/identity+type">identity type</a>/<a class="existingWikiWord" href="/nlab/show/path+type">path type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/completely+presented+set">completely presented set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/set">set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/discrete+object">discrete object</a>/<a class="existingWikiWord" href="/nlab/show/0-truncated+object">0-truncated object</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/h-level+2">h-level 2</a>-<a class="existingWikiWord" href="/nlab/show/type">type</a>/<a class="existingWikiWord" href="/nlab/show/set">set</a>/<a class="existingWikiWord" href="/nlab/show/h-set">h-set</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/set">set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/set">set</a> with <a class="existingWikiWord" href="/nlab/show/equivalence+relation">equivalence relation</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/groupoid+object+in+an+%28infinity%2C1%29-category">internal 0-groupoid</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/Bishop+set">Bishop set</a>/<a class="existingWikiWord" href="/nlab/show/setoid">setoid</a> with its <a class="existingWikiWord" href="/nlab/show/pseudo-equivalence+relation">pseudo-equivalence relation</a> an actual <a class="existingWikiWord" href="/nlab/show/equivalence+relation">equivalence relation</a></td></tr> <tr><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/equivalence+class">equivalence class</a>/<a class="existingWikiWord" href="/nlab/show/quotient+set">quotient set</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/quotient">quotient</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/quotient+type">quotient type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/induction">induction</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/colimit">colimit</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/inductive+type">inductive type</a>, <a class="existingWikiWord" href="/nlab/show/W-type">W-type</a>, <a class="existingWikiWord" href="/nlab/show/M-type">M-type</a></td></tr> <tr><td style="text-align: left;">higher <a class="existingWikiWord" href="/nlab/show/induction">induction</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/%28infinity%2C1%29-colimit">higher colimit</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/higher+inductive+type">higher inductive type</a></td></tr> <tr><td style="text-align: left;">-</td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/0-truncated">0-truncated</a> <a class="existingWikiWord" href="/nlab/show/%28infinity%2C1%29-colimit">higher colimit</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/quotient+inductive+type">quotient inductive type</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/coinduction">coinduction</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/limit">limit</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/coinductive+type">coinductive type</a></td></tr> <tr><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/preset">preset</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/type">type</a> without <a class="existingWikiWord" href="/nlab/show/identity+types">identity types</a></td></tr> <tr><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/set">set</a> of <a class="existingWikiWord" href="/nlab/show/truth+values">truth values</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/subobject+classifier">subobject classifier</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/type+of+propositions">type of propositions</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/domain+of+discourse">domain of discourse</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/universe">universe</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/object+classifier">object classifier</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/type+universe">type universe</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/modality">modality</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/closure+operator">closure operator</a>, (<a class="existingWikiWord" href="/nlab/show/idempotent+monad">idempotent</a>) <a class="existingWikiWord" href="/nlab/show/monad">monad</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/modal+type+theory">modal type theory</a>, <a class="existingWikiWord" href="/nlab/show/monad+%28in+computer+science%29">monad (in computer science)</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/linear+logic">linear logic</a></td><td style="text-align: left;"></td><td style="text-align: left;">(<a class="existingWikiWord" href="/nlab/show/symmetric+monoidal+category">symmetric</a>, <a class="existingWikiWord" href="/nlab/show/closed+monoidal+category">closed</a>) <a class="existingWikiWord" href="/nlab/show/monoidal+category">monoidal category</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/linear+type+theory">linear type theory</a>/<a class="existingWikiWord" href="/nlab/show/quantum+computation">quantum computation</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/proof+net">proof net</a></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/string+diagram">string diagram</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/quantum+circuit">quantum circuit</a></td></tr> <tr><td style="text-align: left;">(absence of) <a class="existingWikiWord" href="/nlab/show/contraction+rule">contraction rule</a></td><td style="text-align: left;"></td><td style="text-align: left;">(absence of) <a class="existingWikiWord" href="/nlab/show/diagonal">diagonal</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/no-cloning+theorem">no-cloning theorem</a></td></tr> <tr><td style="text-align: left;"></td><td style="text-align: left;"></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/synthetic+mathematics">synthetic mathematics</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/domain+specific+embedded+programming+language">domain specific embedded programming language</a></td></tr> </tbody></table> </div> <p><strong><a class="existingWikiWord" href="/nlab/show/homotopy+levels">homotopy levels</a></strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/type+theory">type theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/2-type+theory">2-type theory</a>, <a class="existingWikiWord" href="/michaelshulman/show/2-categorical+logic">2-categorical logic</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a>, <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory+-+contents">homotopy type theory - contents</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/homotopy+type">homotopy type</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/univalence">univalence</a>, <a class="existingWikiWord" href="/nlab/show/function+extensionality">function extensionality</a>, <a class="existingWikiWord" href="/nlab/show/internal+logic+of+an+%28%E2%88%9E%2C1%29-topos">internal logic of an (∞,1)-topos</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cohesive+homotopy+type+theory">cohesive homotopy type theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/directed+homotopy+type+theory">directed homotopy type theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/HoTT+methods+for+homotopy+theorists">HoTT methods for homotopy theorists</a></p> </li> </ul> </li> </ul> <p><strong><a class="existingWikiWord" href="/nlab/show/semantics">semantics</a></strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/internal+logic">internal logic</a>, <a class="existingWikiWord" href="/nlab/show/categorical+semantics">categorical semantics</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/display+map">display map</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/internal+logic+of+a+topos">internal logic of a topos</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Mitchell-Benabou+language">Mitchell-Benabou language</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Kripke-Joyal+semantics">Kripke-Joyal semantics</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/internal+logic+of+an+%28%E2%88%9E%2C1%29-topos">internal logic of an (∞,1)-topos</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/type-theoretic+model+category">type-theoretic model category</a></li> </ul> </li> </ul> <div> <p> <a href="/nlab/edit/type+theory+-+contents">Edit this sidebar</a> </p> </div></div></div> <h4 id="cohesive_toposes">Cohesive <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>∞</mn></mrow><annotation encoding="application/x-tex">\infty</annotation></semantics></math>-Toposes</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/cohesive+topos">cohesive topos</a></strong></p> <p><strong><a class="existingWikiWord" href="/nlab/show/cohesive+%28%E2%88%9E%2C1%29-topos">cohesive (∞,1)-topos</a></strong></p> <p><strong><a class="existingWikiWord" href="/nlab/show/cohesive+homotopy+type+theory">cohesive homotopy type theory</a></strong></p> <p><strong>Backround</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-topos+theory">(∞,1)-topos theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/higher+geometry">higher geometry</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/motivation+for+cohesive+toposes">motivation for cohesive toposes</a></p> </li> </ul> <p><strong>Definition</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/locally+connected+topos">locally connected topos</a> / <a class="existingWikiWord" href="/nlab/show/locally+%E2%88%9E-connected+%28%E2%88%9E%2C1%29-topos">locally ∞-connected (∞,1)-topos</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/connected+topos">connected topos</a> / <a class="existingWikiWord" href="/nlab/show/%E2%88%9E-connected+%28%E2%88%9E%2C1%29-topos">∞-connected (∞,1)-topos</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/strongly+connected+topos">strongly connected topos</a> / <a class="existingWikiWord" href="/nlab/show/strongly+%E2%88%9E-connected+%28%E2%88%9E%2C1%29-topos">strongly ∞-connected (∞,1)-topos</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/totally+connected+topos">totally connected topos</a> / <a class="existingWikiWord" href="/nlab/show/totally+%E2%88%9E-connected+%28%E2%88%9E%2C1%29-topos">totally ∞-connected (∞,1)-topos</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/local+topos">local topos</a> / <a class="existingWikiWord" href="/nlab/show/local+%28%E2%88%9E%2C1%29-topos">local (∞,1)-topos</a>.</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cohesive+topos">cohesive topos</a> / <a class="existingWikiWord" href="/nlab/show/cohesive+%28%E2%88%9E%2C1%29-topos">cohesive (∞,1)-topos</a></p> </li> </ul> <p><strong>Presentation over a site</strong></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/locally+connected+site">locally connected site</a> / <a class="existingWikiWord" href="/nlab/show/locally+%E2%88%9E-connected+site">locally ∞-connected site</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/connected+site">connected site</a> / <a class="existingWikiWord" href="/nlab/show/%E2%88%9E-connected+site">∞-connected site</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/strongly+connected+site">strongly connected site</a> / <a class="existingWikiWord" href="/nlab/show/strongly+%E2%88%9E-connected+site">strongly ∞-connected site</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/totally+connected+site">totally connected site</a> / <a class="existingWikiWord" href="/nlab/show/totally+%E2%88%9E-connected+site">totally ∞-connected site</a></p> </li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/local+site">local site</a> / <a class="existingWikiWord" href="/nlab/show/%E2%88%9E-local+site">∞-local site</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cohesive+site">cohesive site</a>, <a class="existingWikiWord" href="/nlab/show/%E2%88%9E-cohesive+site">∞-cohesive site</a></p> </li> </ul> <p><strong>Models</strong></p> <ul> <li> <p><strong><a class="existingWikiWord" href="/nlab/show/discrete+%E2%88%9E-groupoid">discrete ∞-groupoid</a></strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/discrete+space">discrete space</a>, <a class="existingWikiWord" href="/nlab/show/discrete+group">discrete group</a>, <a class="existingWikiWord" href="/nlab/show/discrete+groupoid">discrete groupoid</a></li> </ul> </li> <li> <p><strong><a class="existingWikiWord" href="/nlab/show/D-topological+%E2%88%9E-groupoid">D-topological ∞-groupoid</a></strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/topological+space">topological space</a>, <a class="existingWikiWord" href="/nlab/show/topological+groupoid">topological groupoid</a>, <a class="existingWikiWord" href="/nlab/show/topological+group">topological group</a></li> </ul> </li> <li> <p><strong><a class="existingWikiWord" href="/nlab/show/smooth+%E2%88%9E-groupoid">smooth ∞-groupoid</a></strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/smooth+space">smooth space</a>, <a class="existingWikiWord" href="/nlab/show/diffeological+space">diffeological space</a>, <a class="existingWikiWord" href="/nlab/show/smooth+manifold">smooth manifold</a>, <a class="existingWikiWord" href="/nlab/show/Lie+group">Lie group</a>, <a class="existingWikiWord" href="/nlab/show/Lie+groupoid">Lie groupoid</a>, <a class="existingWikiWord" href="/nlab/show/differentiable+stack">differentiable stack</a>, <a class="existingWikiWord" href="/nlab/show/Lie+2-group">Lie 2-group</a>, <a class="existingWikiWord" href="/nlab/show/Lie+2-groupoid">Lie 2-groupoid</a>, <a class="existingWikiWord" href="/nlab/show/smooth+%E2%88%9E-groupoid">smooth ∞-groupoid</a></li> </ul> </li> <li> <p><strong><a class="existingWikiWord" href="/nlab/show/synthetic+differential+%E2%88%9E-groupoid">synthetic differential ∞-groupoid</a></strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Lie+algebra">Lie algebra</a>, <a class="existingWikiWord" href="/nlab/show/Lie+algebroid">Lie algebroid</a>, <a class="existingWikiWord" href="/nlab/show/%E2%88%9E-Lie+algebra">∞-Lie algebra</a>, <a class="existingWikiWord" href="/nlab/show/%E2%88%9E-Lie+algebroid">∞-Lie algebroid</a></li> </ul> </li> <li> <p><strong><a class="existingWikiWord" href="/nlab/show/super+%E2%88%9E-groupoid">super ∞-groupoid</a></strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/superalgebra">superalgebra</a>, <a class="existingWikiWord" href="/nlab/show/super+Lie+algebra">super Lie algebra</a>, <a class="existingWikiWord" href="/nlab/show/super+L-%E2%88%9E+algebra">super L-∞ algebra</a></li> </ul> </li> <li> <p><strong><a class="existingWikiWord" href="/nlab/show/smooth+super+%E2%88%9E-groupoid">smooth super ∞-groupoid</a></strong></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/superpoint">superpoint</a>, <a class="existingWikiWord" href="/nlab/show/supergeometry">supergeometry</a>, <a class="existingWikiWord" href="/nlab/show/supermanifold">supermanifold</a>, <a class="existingWikiWord" href="/nlab/show/super+Lie+group">super Lie group</a>, <a class="existingWikiWord" href="/nlab/show/super+%E2%88%9E-groupoid">super ∞-groupoid</a>, <a class="existingWikiWord" href="/nlab/show/synthetic+differential+super+%E2%88%9E-groupoid">synthetic differential super ∞-groupoid</a></li> </ul> </li> <li> <p><strong><a class="existingWikiWord" href="/nlab/show/cohesion+of+global-+over+G-equivariant+homotopy+theory">cohesion of global- over G-equivariant homotopy theory</a></strong></p> </li> </ul> </div></div> </div> </div> <h1 id="contents">Contents</h1> <div class='maruku_toc'> <ul> <li><a href='#idea'>Idea</a></li> <li><a href='#TheAxioms'>The Axioms</a></li> <ul> <li><a href='#a_codiscrete_objects'>A) Codiscrete objects</a></li> <li><a href='#b_discrete_objects'>B) Discrete objects</a></li> <li><a href='#c_cohesion'>C) Cohesion</a></li> </ul> <li><a href='#as_a_multimodal_type_theory'>As a multimodal type theory</a></li> <ul> <li><a href='#the_mode_theory_of_cohesion'>The mode theory of cohesion</a></li> <li><a href='#the_modal_type_theory'>The modal type theory</a></li> </ul> <li><a href='#example_phenomena'>Example phenomena</a></li> <ul> <li><a href='#GeometricSpacesAndTheirHomotopyTypes'>Geometric spaces and their cohesive homotopy types</a></li> </ul> <li><a href='#Structures'>Structures in cohesive homotopy type theory</a></li> <ul> <li><a href='#cohomology'>Cohomology</a></li> <li><a href='#flat_cohomology_and_local_systems'>Flat cohomology and local systems</a></li> <li><a href='#de_rham_cohomology'>de Rham cohomology</a></li> <li><a href='#differential_cohomology'>Differential cohomology</a></li> </ul> <li><a href='#related_concepts'>Related concepts</a></li> <li><a href='#References'>References</a></li> </ul> </div> <h2 id="idea">Idea</h2> <p>By <em>cohesive homotopy type theory</em> one will mean a <a class="existingWikiWord" href="/nlab/show/modal+type+theory">modal</a> <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a> implementing <a class="existingWikiWord" href="/nlab/show/cohesive+homotopy+theory">cohesive homotopy theory</a> via an <a class="existingWikiWord" href="/nlab/show/adjoint+triple">adjoint triple</a> of <a class="existingWikiWord" href="/nlab/show/modal+operators">modal operators</a> (<a class="existingWikiWord" href="/nlab/show/shape+modality">shape modality</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊣</mo></mrow><annotation encoding="application/x-tex">\dashv</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/flat+modality">flat modality</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊣</mo></mrow><annotation encoding="application/x-tex">\dashv</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/sharp+modality">sharp modality</a>), hence with <a class="existingWikiWord" href="/nlab/show/relation+between+category+theory+and+type+theory">categorical semantics</a> in <a class="existingWikiWord" href="/nlab/show/cohesive+%28infinity%2C1%29-topos">cohesive <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"> <semantics> <mrow> <mn>∞</mn> </mrow> <annotation encoding="application/x-tex">\infty</annotation> </semantics> </math>-toposes</a>.</p> <p>A first formulation of cohesive homotopy type theory &lbrack;<a href="#SchreiberShulman2012">Schreiber &amp; Shulman (2012)</a>&rbrack; added the required <a class="existingWikiWord" href="/nlab/show/adjoint+triple">adjoint triple</a> of <a class="existingWikiWord" href="/nlab/show/modal+operators">modal operators</a> as <a class="existingWikiWord" href="/nlab/show/axioms">axioms</a> to plain <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a>.</p> <p>Another approach &lbrack;<a href="#Shulman15">Shulman (2015)</a>&rbrack; is to change the underlying rules of <a class="existingWikiWord" href="/nlab/show/dependent+type+theory">dependent type theory</a> itself by adjoining <a class="existingWikiWord" href="/nlab/show/syntax">syntax</a> for <a class="existingWikiWord" href="/nlab/show/flat+modality">flat</a>-<a class="existingWikiWord" href="/nlab/show/modal+type">modal</a> <a class="existingWikiWord" href="/nlab/show/contexts">contexts</a> (“crisp contexts”).</p> <p>This second approach, via a modified type theory with crisp contexts (which has meanwhile be implemented in actual <a class="existingWikiWord" href="/nlab/show/proof+assistants">proof assistants</a> such as <em><a class="existingWikiWord" href="/nlab/show/Agda-flat">Agda-flat</a></em>), better lends itself to producing <a class="existingWikiWord" href="/nlab/show/proofs">proofs</a> internal to the theory and is what most authors now mean by (real-)cohesive homotopy type theory, see e.g. developments in: <a href="#Myers19">Myers (2019)</a>, <a href="#Myers21">Myers (2021)</a>, <a href="#MyersRiley23">Myers &amp; Riley (2023)</a>.</p> <p>In any case, <em>Cohesive homotopy type theory</em> is an <a class="existingWikiWord" href="/nlab/show/axiom">axiomatic</a> <a class="existingWikiWord" href="/nlab/show/theory">theory</a> of the <a class="existingWikiWord" href="/nlab/show/higher+geometry">higher geometry</a> of <a class="existingWikiWord" href="/nlab/show/cohesive+homotopy+theory">cohesive homotopy theory</a>, i.e. of the <a class="existingWikiWord" href="/nlab/show/homotopy+theory">homotopy theory</a> of <a class="existingWikiWord" href="/nlab/show/differential+topology">differential topology</a>:</p> <p>In its <a class="existingWikiWord" href="/nlab/show/categorical+semantics">categorical semantics</a>, the <a class="existingWikiWord" href="/nlab/show/types">types</a> in cohesive HoTT are interpreted as <em><a class="existingWikiWord" href="/nlab/show/cohesive+topos">cohesive</a> <a class="existingWikiWord" href="/nlab/show/homotopy+types">homotopy types</a></em>, hence as <a class="existingWikiWord" href="/nlab/show/cohesive+%E2%88%9E-groupoids">cohesive ∞-groupoids</a>, such as for instance <a class="existingWikiWord" href="/nlab/show/smooth+%E2%88%9E-groupoids">smooth ∞-groupoids</a>. See also at <em><a class="existingWikiWord" href="/nlab/show/motivation+for+cohesive+toposes">motivation for cohesive toposes</a></em> for a non-technical discussion.</p> <h2 id="TheAxioms">The Axioms</h2> <p>We discuss the formulation in <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a> of the <a href="http://ncatlab.org/nlab/show/cohesive+%28infinity%2C1%29-topos#InternalDefinition">internal axioms</a> on a <a class="existingWikiWord" href="/nlab/show/cohesive+%28%E2%88%9E%2C1%29-topos">cohesive (∞,1)-topos</a>.</p> <p>Cohesive homotopy type theory is a <a class="existingWikiWord" href="/nlab/show/modal+type+theory">modal type theory</a> which adds to <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a> an <a class="existingWikiWord" href="/nlab/show/adjoint+triple">adjoint triple</a> of <a class="existingWikiWord" href="/nlab/show/modalities">modalities</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><mo>♭</mo><mo>⊣</mo><mo>♯</mo></mrow><annotation encoding="application/x-tex"> &amp;#643; \dashv \flat \dashv \sharp </annotation></semantics></math></div> <p>called</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/shape+modality">shape modality</a><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊣</mo></mrow><annotation encoding="application/x-tex">\dashv</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/flat+modality">flat modality</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊣</mo></mrow><annotation encoding="application/x-tex">\dashv</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/sharp+modality">sharp modality</a>,</li> </ul> <p>where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ʃ</mi></mrow><annotation encoding="application/x-tex">&amp;#643;</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>♯</mo></mrow><annotation encoding="application/x-tex">\sharp</annotation></semantics></math> are <a class="existingWikiWord" href="/nlab/show/idempotent+monad">idempotent</a> <a class="existingWikiWord" href="/nlab/show/monads+%28in+computer+science%29">monads</a> and where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>♭</mo></mrow><annotation encoding="application/x-tex">\flat</annotation></semantics></math> is an idempotent <a class="existingWikiWord" href="/nlab/show/comonad">comonad</a>, subject to some compatibility condition.</p> <h3 id="a_codiscrete_objects">A) Codiscrete objects</h3> <p><strong>Axiom A.</strong> <em>The ambient <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a> has a <a class="existingWikiWord" href="/nlab/show/geometric+embedding">left-exact</a> <a class="existingWikiWord" href="/nlab/show/reflective+sub-%28%E2%88%9E%2C1%29-category">reflective sub-(∞,1)-category</a>, to be called the <a class="existingWikiWord" href="/nlab/show/base+%28%E2%88%9E%2C1%29-topos">base (∞,1)-topos</a> “of <a class="existingWikiWord" href="/nlab/show/codiscrete+objects">codiscrete objects</a>”.</em></p> <p>Coq code at <a href="https://github.com/mikeshulman/HoTT/blob/master/Coq/Subcategories/Codiscrete.v">Codiscrete.v</a></p> <p>We write</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><mo>♯</mo><mi>X</mi></mrow><annotation encoding="application/x-tex"> X \to \sharp X </annotation></semantics></math></div> <p>for the <a class="existingWikiWord" href="/nlab/show/reflector">reflector</a> into codiscrete objects.</p> <p>The homotopy type theory of the <a class="existingWikiWord" href="/nlab/show/codiscrete+objects">codiscrete objects</a> we call the <em>external</em> theory.</p> <h3 id="b_discrete_objects">B) Discrete objects</h3> <p><strong>Axiom B.</strong> There is also a <a class="existingWikiWord" href="/nlab/show/coreflective+sub-%28%E2%88%9E%2C1%29-category">coreflective sub-(∞,1)-category</a> of <em><a class="existingWikiWord" href="/nlab/show/discrete+objects">discrete objects</a></em> such that with the codiscrete reflection it makes the ambient theory that of a <a class="existingWikiWord" href="/nlab/show/local+%28%E2%88%9E%2C1%29-topos">local (∞,1)-topos</a>.</p> <p><a class="existingWikiWord" href="/nlab/show/Coq">Coq</a> code at <a href="https://github.com/mikeshulman/HoTT/blob/master/Coq/Subcategories/LocalTopos.v">LocalTopos.v</a>.</p> <p>The coreflector from discrete objects we write</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo>♭</mo><mi>A</mi><mo>→</mo><mi>A</mi><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \flat A \to A \,. </annotation></semantics></math></div> <h3 id="c_cohesion">C) Cohesion</h3> <p><strong>Axiom C</strong> The discrete objects are also reflective, the reflector is <a class="existingWikiWord" href="/nlab/show/left+adjoint">left adjoint</a> to the coreflector and preserves <a class="existingWikiWord" href="/nlab/show/product+types">product types</a>.</p> <p><a class="existingWikiWord" href="/nlab/show/Coq">Coq</a> code at <a href="https://github.com/mikeshulman/HoTT/blob/master/Coq/Subcategories/CohesiveTopos.v">CohesiveTopos.v</a>.</p> <p>We write</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><mi>Π</mi><mi>X</mi></mrow><annotation encoding="application/x-tex"> X \to \Pi X </annotation></semantics></math></div> <p>for the reflector into <a class="existingWikiWord" href="/nlab/show/discrete+objects">discrete objects</a>.</p> <h2 id="as_a_multimodal_type_theory">As a multimodal type theory</h2> <p>There is another way to define cohesive homotopy type theory, as a <a class="existingWikiWord" href="/nlab/show/multimodal+type+theory">multimodal type theory</a>. Multimodal type theories were first introduced in <a href="#GKNB21">Gratzer, Kavvos, Nuyts, &amp; Birkedal 2021</a> and consists of a <a class="existingWikiWord" href="/nlab/show/strict+2-category">strict 2-category</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℳ</mi></mrow><annotation encoding="application/x-tex">\mathcal{M}</annotation></semantics></math> called the <em>mode theory</em>, whose objects are called <em>modes</em> and whose 1-cells are called <em>modalities</em>. For each mode <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>m</mi><mo>∈</mo><mi>ℳ</mi></mrow><annotation encoding="application/x-tex">m \in \mathcal{M}</annotation></semantics></math>, there is a type theory at mode <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math>, and for each 1-cell between objects there is a type theoretic <a class="existingWikiWord" href="/nlab/show/modality">modality</a> in the type theory, which comes with its associated <a class="existingWikiWord" href="/nlab/show/context+lock">context lock</a>.</p> <h3 id="the_mode_theory_of_cohesion">The mode theory of cohesion</h3> <p>The mode theory <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{M}</annotation></semantics></math> of cohesive homotopy type theory consists of</p> <ul> <li> <p>two modes, the crisp or discrete mode <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{d} \in \mathcal{M}</annotation></semantics></math> and the cohesive mode <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{c} \in \mathcal{M}</annotation></semantics></math>,</p> </li> <li> <p>1-cells <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>p</mi> <mo>!</mo></msub><mo>,</mo><msub><mi>p</mi> <mo>*</mo></msub><mo>:</mo><mi>𝒸</mi><mo>→</mo><mi>𝒹</mi></mrow><annotation encoding="application/x-tex">p_!, p_*:\mathcal{c} \to \mathcal{d}</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>p</mi> <mo>*</mo></msup><mo>,</mo><msup><mi>p</mi> <mo>!</mo></msup><mo>:</mo><mi>𝒹</mi><mo>→</mo><mi>𝒸</mi></mrow><annotation encoding="application/x-tex">p^*, p^!:\mathcal{d} \to \mathcal{c}</annotation></semantics></math>,</p> </li> <li> <p>2-cells</p> <ul> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>η</mi> <mrow><msub><mi>p</mi> <mo>!</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub><mo>:</mo><msub><mi mathvariant="normal">id</mi> <mi>𝒸</mi></msub><mo>⇒</mo><msup><mi>p</mi> <mo>*</mo></msup><mo>∘</mo><msub><mi>p</mi> <mo>!</mo></msub></mrow><annotation encoding="application/x-tex">\eta_{p_! \dashv p^*}: \mathrm{id}_\mathcal{c} \Rightarrow p^* \circ p_!</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>ϵ</mi> <mrow><msub><mi>p</mi> <mo>!</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub><mo>:</mo><msub><mi>p</mi> <mo>!</mo></msub><mo>∘</mo><msup><mi>p</mi> <mo>*</mo></msup><mo>⇒</mo><msub><mi mathvariant="normal">id</mi> <mi>𝒹</mi></msub></mrow><annotation encoding="application/x-tex">\epsilon_{p_! \dashv p^*}: p_! \circ p^* \Rightarrow \mathrm{id}_\mathcal{d}</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>η</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup><mo>⊣</mo><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub><mo>:</mo><msub><mi mathvariant="normal">id</mi> <mi>𝒹</mi></msub><mo>⇒</mo><msub><mi>p</mi> <mo>*</mo></msub><mo>∘</mo><msup><mi>p</mi> <mo>*</mo></msup></mrow><annotation encoding="application/x-tex">\eta_{p^* \dashv p_*}: \mathrm{id}_\mathcal{d} \Rightarrow p_* \circ p^*</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>ϵ</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup><mo>⊣</mo><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub><mo>:</mo><msup><mi>p</mi> <mo>*</mo></msup><mo>∘</mo><msub><mi>p</mi> <mo>*</mo></msub><mo>⇒</mo><msub><mi mathvariant="normal">id</mi> <mi>𝒸</mi></msub></mrow><annotation encoding="application/x-tex">\epsilon_{p^* \dashv p_*}: p^* \circ p_* \Rightarrow \mathrm{id}_\mathcal{c}</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>η</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>!</mo></msup></mrow></msub><mo>:</mo><msub><mi mathvariant="normal">id</mi> <mi>𝒸</mi></msub><mo>⇒</mo><msup><mi>p</mi> <mo>!</mo></msup><mo>∘</mo><msub><mi>p</mi> <mo>*</mo></msub></mrow><annotation encoding="application/x-tex">\eta_{p_* \dashv p^!}: \mathrm{id}_\mathcal{c} \Rightarrow p^! \circ p_*</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>ϵ</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>!</mo></msup></mrow></msub><mo>:</mo><msub><mi>p</mi> <mo>*</mo></msub><mo>∘</mo><msup><mi>p</mi> <mo>!</mo></msup><mo>⇒</mo><msub><mi mathvariant="normal">id</mi> <mi>𝒹</mi></msub></mrow><annotation encoding="application/x-tex">\epsilon_{p_* \dashv p^!}: p_* \circ p^! \Rightarrow \mathrm{id}_\mathcal{d}</annotation></semantics></math></p> </li> </ul> </li> <li> <p>which satisfy the following <a class="existingWikiWord" href="/nlab/show/triangle+identities">triangle identities</a>:</p> <ul> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>p</mi> <mo>*</mo></msup><msub><mi>ϵ</mi> <mrow><msub><mi>p</mi> <mo>!</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub><mo>⋅</mo><msub><mi>η</mi> <mrow><msub><mi>p</mi> <mo>!</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub><msup><mi>p</mi> <mo>*</mo></msup><mo>=</mo><msub><mi mathvariant="normal">id</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub></mrow><annotation encoding="application/x-tex">p^* \epsilon_{p_! \dashv p^*} \cdot \eta_{p_! \dashv p^*} p^* = \mathrm{id}_{p^*}</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>ϵ</mi> <mrow><msub><mi>p</mi> <mo>!</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub><msub><mi>p</mi> <mo>!</mo></msub><mo>⋅</mo><msub><mi>p</mi> <mo>!</mo></msub><msub><mi>η</mi> <mrow><msub><mi>p</mi> <mo>!</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub><mo>=</mo><msub><mi mathvariant="normal">id</mi> <mrow><msub><mi>p</mi> <mo>!</mo></msub></mrow></msub></mrow><annotation encoding="application/x-tex">\epsilon_{p_! \dashv p^*} p_! \cdot p_! \eta_{p_! \dashv p^*} = \mathrm{id}_{p_!}</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>p</mi> <mo>*</mo></msub><msub><mi>ϵ</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup><mo>⊣</mo><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub><mo>⋅</mo><msub><mi>η</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup><mo>⊣</mo><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub><msub><mi>p</mi> <mo>*</mo></msub><mo>=</mo><msub><mi mathvariant="normal">id</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub></mrow><annotation encoding="application/x-tex">p_* \epsilon_{p^* \dashv p_*} \cdot \eta_{p^* \dashv p_*} p_* = \mathrm{id}_{p_*}</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>ϵ</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup><mo>⊣</mo><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub><msup><mi>p</mi> <mo>*</mo></msup><mo>⋅</mo><msup><mi>p</mi> <mo>*</mo></msup><msub><mi>η</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup><mo>⊣</mo><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub><mo>=</mo><msub><mi mathvariant="normal">id</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub></mrow><annotation encoding="application/x-tex">\epsilon_{p^* \dashv p_*} p^* \cdot p^* \eta_{p^* \dashv p_*} = \mathrm{id}_{p^*}</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>p</mi> <mo>!</mo></msup><msub><mi>ϵ</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>!</mo></msup></mrow></msub><mo>⋅</mo><msub><mi>η</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>!</mo></msup></mrow></msub><msup><mi>p</mi> <mo>!</mo></msup><mo>=</mo><msub><mi mathvariant="normal">id</mi> <mrow><msup><mi>p</mi> <mo>!</mo></msup></mrow></msub></mrow><annotation encoding="application/x-tex">p^! \epsilon_{p_* \dashv p^!} \cdot \eta_{p_* \dashv p^!} p^! = \mathrm{id}_{p^!}</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>ϵ</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>!</mo></msup></mrow></msub><msub><mi>p</mi> <mo>*</mo></msub><mo>⋅</mo><msub><mi>p</mi> <mo>*</mo></msub><msub><mi>η</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>!</mo></msup></mrow></msub><mo>=</mo><msub><mi mathvariant="normal">id</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub></mrow><annotation encoding="application/x-tex">\epsilon_{p_* \dashv p^!} p_* \cdot p_* \eta_{p_* \dashv p^!} = \mathrm{id}_{p_*}</annotation></semantics></math></p> </li> </ul> </li> </ul> <p>which makes the 1-cells into an <a class="existingWikiWord" href="/nlab/show/adjoint+quadruple">adjoint quadruple</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><msub><mi>p</mi> <mo>!</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>*</mo></msup><mo>⊣</mo><msub><mi>p</mi> <mo>*</mo></msub><mo>⊣</mo><msup><mi>p</mi> <mo>!</mo></msup></mrow><annotation encoding="application/x-tex">p_! \dashv p^* \dashv p_* \dashv p^!</annotation></semantics></math></div> <p>The notations for the adjoint quadruple are derived from the introduction of <a href="#Shulman15">Shulman 2015</a>, but are traditionally expressed as</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 mathvariant="normal">Disc</mi><mo>⊣</mo><mi>Γ</mi><mo>⊣</mo><mi mathvariant="normal">Codisc</mi></mrow><annotation encoding="application/x-tex">\Pi \dashv \mathrm{Disc} \dashv \Gamma \dashv \mathrm{Codisc}</annotation></semantics></math></div> <p>(i.e. see <a class="existingWikiWord" href="/nlab/show/cohesive+infinity-topos">cohesive infinity-topos</a>). However, we do not use the above notations because <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Π</mi></mrow><annotation encoding="application/x-tex">\Pi</annotation></semantics></math> conflicts with the use 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">\Pi</annotation></semantics></math> for the <a class="existingWikiWord" href="/nlab/show/dependent+product+type">dependent product type</a> (i.e. <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Π</mi><mi>x</mi><mo>:</mo><mi>A</mi><mo>.</mo><mi>B</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\Pi x:A.B(x)</annotation></semantics></math>) and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Γ</mi></mrow><annotation encoding="application/x-tex">\Gamma</annotation></semantics></math> conflicts with the use 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">\Gamma</annotation></semantics></math> to express arbitrary contexts in <a class="existingWikiWord" href="/nlab/show/inference+rules">inference rules</a> in <a class="existingWikiWord" href="/nlab/show/dependent+type+theory">dependent type theory</a>.</p> <p>The <a class="existingWikiWord" href="/nlab/show/sharp+modality">sharp</a>, <a class="existingWikiWord" href="/nlab/show/flat+modality">flat</a>, and <a class="existingWikiWord" href="/nlab/show/shape+modality">shape</a> endo-modalities on the cohesive mode can be defined as composites of the modalities above:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo>♯</mo><mo>≔</mo><msub><mi>p</mi> <mo>*</mo></msub><mo>∘</mo><msup><mi>p</mi> <mo>!</mo></msup><mo>:</mo><mi>𝒸</mi><mo>→</mo><mi>𝒸</mi><mspace width="2em"></mspace><mo>♭</mo><mo>≔</mo><msub><mi>p</mi> <mo>*</mo></msub><mo>∘</mo><msup><mi>p</mi> <mo>*</mo></msup><mo>:</mo><mi>𝒸</mi><mo>→</mo><mi>𝒸</mi><mspace width="2em"></mspace><mo lspace="0em" rspace="thinmathspace">&#x283;</mo><mo>≔</mo><msub><mi>p</mi> <mo>!</mo></msub><mo>∘</mo><msup><mi>p</mi> <mo>*</mo></msup><mo>:</mo><mi>𝒸</mi><mo>→</mo><mi>𝒸</mi></mrow><annotation encoding="application/x-tex">\sharp \coloneqq p_* \circ p^!:\mathcal{c} \to \mathcal{c} \qquad \flat \coloneqq p_* \circ p^*:\mathcal{c} \to \mathcal{c} \qquad \esh \coloneqq p_! \circ p^*:\mathcal{c} \to \mathcal{c}</annotation></semantics></math></div> <p>yielding the <a class="existingWikiWord" href="/nlab/show/adjoint+triple">adjoint triple</a></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mo lspace="0em" rspace="thinmathspace">&#x283;</mo><mo>⊣</mo><mo>♭</mo><mo>⊣</mo><mo>♯</mo></mrow><annotation encoding="application/x-tex">\esh \dashv \flat \dashv \sharp</annotation></semantics></math></div> <h3 id="the_modal_type_theory">The modal type theory</h3> <p>In the multimodal type theory associated with cohesive homotopy type theory, there are two type judgments:</p> <ul> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">type</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow><annotation encoding="application/x-tex">A \; \mathrm{type} \; \mathrm{at} \; \mathcal{d}</annotation></semantics></math> which says that <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 type in the crisp mode;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">type</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow><annotation encoding="application/x-tex">A \; \mathrm{type} \; \mathrm{at} \; \mathcal{c}</annotation></semantics></math> which says that <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 type in the cohesive mode.</p> </li> </ul> <p>Similarly, there are two term judgments:</p> <ul> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>:</mo><mi>A</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow><annotation encoding="application/x-tex">a:A \; \mathrm{at} \; \mathcal{d}</annotation></semantics></math> which says that <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 term of type <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> in the crisp mode;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>:</mo><mi>A</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow><annotation encoding="application/x-tex">a:A \; \mathrm{at} \; \mathcal{c}</annotation></semantics></math> which says that <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 term of type <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> in the cohesive mode.</p> </li> </ul> <p>and two context judgments:</p> <ul> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Γ</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow><annotation encoding="application/x-tex">\Gamma \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{d}</annotation></semantics></math> which says 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">\Gamma</annotation></semantics></math> is a context in the crisp mode;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Γ</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow><annotation encoding="application/x-tex">\Gamma \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{c}</annotation></semantics></math> which says 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">\Gamma</annotation></semantics></math> is a context in the cohesive mode.</p> </li> </ul> <p>as well as two separate judgments each for <a class="existingWikiWord" href="/nlab/show/judgmental+equality">judgmental equality</a> of types and terms:</p> <ul> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>≡</mo><mi>B</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">type</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow><annotation encoding="application/x-tex">A \equiv B \; \mathrm{type} \; \mathrm{at} \; \mathcal{d}</annotation></semantics></math> which says that <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> are judgmentally equal types in the crisp mode;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>≡</mo><mi>B</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">type</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow><annotation encoding="application/x-tex">A \equiv B \; \mathrm{type} \; \mathrm{at} \; \mathcal{c}</annotation></semantics></math> which says that <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> are judgmentally equal types in the cohesive mode;</p> </li> <li> <p><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>A</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow><annotation encoding="application/x-tex">a \equiv b:A \; \mathrm{at} \; \mathcal{d}</annotation></semantics></math> which says that <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> are judgmentally equal terms of type <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> in the crisp mode;</p> </li> <li> <p><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>A</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow><annotation encoding="application/x-tex">a \equiv b:A \; \mathrm{at} \; \mathcal{c}</annotation></semantics></math> which says that <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> are judgmentally equal terms of type <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> in the cohesive mode.</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Γ</mi><mo>≡</mo><mi>Δ</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow><annotation encoding="application/x-tex">\Gamma \equiv \Delta \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{d}</annotation></semantics></math> which says 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">\Gamma</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Δ</mi></mrow><annotation encoding="application/x-tex">\Delta</annotation></semantics></math> are judgmentally equal contexts in the crisp mode;</p> </li> <li> <p><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Γ</mi><mo>≡</mo><mi>Δ</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow><annotation encoding="application/x-tex">\Gamma \equiv \Delta \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{c}</annotation></semantics></math> which says 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">\Gamma</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Δ</mi></mrow><annotation encoding="application/x-tex">\Delta</annotation></semantics></math> are judgmentally equal contexts in the cohesive mode;</p> </li> </ul> <p>The <a href="#GKNB21">original papers</a> on <a class="existingWikiWord" href="/nlab/show/multimodal+type+theory">multimodal type theory</a> use the symbol @ instead of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">at</mi></mrow><annotation encoding="application/x-tex">\mathrm{at}</annotation></semantics></math> but it doesn’t seem to be possible to put @ inside of latex math mode on the nLab, whether directly or inside the mathrm command.</p> <p>Then we have the rules for the <a class="existingWikiWord" href="/nlab/show/context+locks">context locks</a> of the <a class="existingWikiWord" href="/nlab/show/modalities">modalities</a> of cohesive homotopy type theory:</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mfrac><mrow><mi>Γ</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow><mrow><mi>Γ</mi><mo>,</mo><msub><mi mathvariant="normal">lock</mi> <mrow><msub><mi>p</mi> <mo>!</mo></msub></mrow></msub><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow></mfrac><mspace width="2em"></mspace><mfrac><mrow><mi>Γ</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow><mrow><mi>Γ</mi><mo>,</mo><msub><mi mathvariant="normal">lock</mi> <mrow><msup><mi>p</mi> <mo>*</mo></msup></mrow></msub><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow></mfrac><mspace width="2em"></mspace><mfrac><mrow><mi>Γ</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow><mrow><mi>Γ</mi><mo>,</mo><msub><mi mathvariant="normal">lock</mi> <mrow><msub><mi>p</mi> <mo>*</mo></msub></mrow></msub><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow></mfrac><mspace width="2em"></mspace><mfrac><mrow><mi>Γ</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒸</mi></mrow><mrow><mi>Γ</mi><mo>,</mo><msub><mi mathvariant="normal">lock</mi> <mrow><msup><mi>p</mi> <mo>!</mo></msup></mrow></msub><mspace width="thickmathspace"></mspace><mi mathvariant="normal">ctx</mi><mspace width="thickmathspace"></mspace><mi mathvariant="normal">at</mi><mspace width="thickmathspace"></mspace><mi>𝒹</mi></mrow></mfrac></mrow><annotation encoding="application/x-tex">\frac{\Gamma \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{d}}{\Gamma, \mathrm{lock}_{p_!} \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{c}} \qquad \frac{\Gamma \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{c}}{\Gamma, \mathrm{lock}_{p^*} \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{d}} \qquad \frac{\Gamma \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{d}}{\Gamma, \mathrm{lock}_{p_*} \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{c}} \qquad \frac{\Gamma \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{c}}{\Gamma, \mathrm{lock}_{p^!} \; \mathrm{ctx} \; \mathrm{at} \; \mathcal{d}}</annotation></semantics></math></div> <p>The <a href="#GKNB21">original papers</a> also used a lock symbol that the author does not know how to replicate on the nLab.</p> <p>(…)</p> <p>(<a href="#KS23">Kolomatskaia &amp; Shulman 2023</a> might also be useful here in defining the type theory)</p> <h2 id="example_phenomena">Example phenomena</h2> <p>Before looking at the consequences of the axioms formally, we mention some example phenomena to illustrate the meaning of the axioms.</p> <h3 id="GeometricSpacesAndTheirHomotopyTypes">Geometric spaces and their cohesive homotopy types</h3> <p>We indicate one central aspect of geometric homotopy theory that is not visible in plain <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a>, but is captured by its cohesive refinement.</p> <p>The standard <a class="existingWikiWord" href="/nlab/show/interval">interval</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>I</mi><mo>=</mo><mo stretchy="false">[</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">I = [0,1]</annotation></semantics></math> in <a class="existingWikiWord" href="/nlab/show/Top">topological spaces</a> plays two rather different roles, depending on what kind of equivalence between spaces is considered. To make this more vivid, it serves to think of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">[</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">[0,1]</annotation></semantics></math> as equipped even with its canonical structure of a <a class="existingWikiWord" href="/nlab/show/smooth+manifold">smooth manifold</a> (<a class="existingWikiWord" href="/nlab/show/manifold+with+boundary">with boundary</a>).</p> <p>The canonical map <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>I</mi><mo>→</mo><mo>*</mo></mrow><annotation encoding="application/x-tex">I \to *</annotation></semantics></math> to the <a class="existingWikiWord" href="/nlab/show/point">point</a> is certainly not a <a class="existingWikiWord" href="/nlab/show/diffeomorphism">diffeomorphism</a>, and from the point of view of <a class="existingWikiWord" href="/nlab/show/differential+geometry">differential geometry</a> the interval carries non-trivial structure. Notably its endpoints <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>,</mo><mn>1</mn><mo>:</mo><mi>I</mi></mrow><annotation encoding="application/x-tex">0,1 : I</annotation></semantics></math> are not equivalent points (<a class="existingWikiWord" href="/nlab/show/terms">terms</a>) in differential geometry, but are distinct. From the point of view of differential geometry the interval is a <a class="existingWikiWord" href="/nlab/show/homotopy+n-type">homotopy 0-type</a> (has <a class="existingWikiWord" href="/nlab/show/h-level">h-level</a> 2) – but one that is in some way equipped with geometric structure.</p> <p>This geometric structure, however, induces also a notion of <em><a class="existingWikiWord" href="/nlab/show/path+groupoid">geometric paths</a></em> in the interval, such that any two of its points are connected by such a path, after all. In other words, one can form the smooth <a class="existingWikiWord" href="/nlab/show/fundamental+%E2%88%9E-groupoid">fundamental ∞-groupoid</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Π</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\Pi(I)</annotation></semantics></math> of the interval and regard <em>that</em> as a <a class="existingWikiWord" href="/nlab/show/homotopy+type">homotopy type</a> <em>without</em> further geometric structure (a <a class="existingWikiWord" href="/nlab/show/discrete+%E2%88%9E-groupoid">discrete ∞-groupoid</a>). This <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Π</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\Pi(I)</annotation></semantics></math> is an <em><a class="existingWikiWord" href="/nlab/show/interval+type">interval type</a></em>, while <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math> itself is not.</p> <p>As such, the canonical map <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Π</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo>→</mo><mo>*</mo></mrow><annotation encoding="application/x-tex">\Pi(I) \to *</annotation></semantics></math> is an <a class="existingWikiWord" href="/nlab/show/equivalence">equivalence</a> after all, namely a <a class="existingWikiWord" href="/nlab/show/weak+homotopy+equivalence">weak homotopy equivalence</a>. Therefore, after application 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">\Pi</annotation></semantics></math>, what used to be a geometric 0-type becomes a <a class="existingWikiWord" href="/nlab/show/%28-1%29-groupoid">(-1)-type</a> and actually a <a class="existingWikiWord" href="/nlab/show/%28-2%29-groupoid">(-2)-type</a> (<a class="existingWikiWord" href="/nlab/show/h-level">h-level</a> 0) – up to equivalence the <a class="existingWikiWord" href="/nlab/show/interval+type">interval type</a>, but without any geometry.</p> <p>This latter property is what makes the interval important in bare <a class="existingWikiWord" href="/nlab/show/homotopy+theory">homotopy theory</a>, where it serves to model notions such as <a class="existingWikiWord" href="/nlab/show/cylinder+objects">cylinder objects</a>, <a class="existingWikiWord" href="/nlab/show/left+homotopies">left homotopies</a>, etc. The former property, however, is what makes the interval important in <a class="existingWikiWord" href="/nlab/show/geometry">geometry</a>, where it serves to model <a class="existingWikiWord" href="/nlab/show/Cartesian+spaces">Cartesian spaces</a>, <a class="existingWikiWord" href="/nlab/show/manifolds">manifolds</a>, etc.</p> <p>In cohesive homotopy type theory these two roles of the interval can both be seen, via the reflective embedding of <a class="existingWikiWord" href="/nlab/show/discrete+objects">discrete objects</a>, and the transition between them is present, via the <a class="existingWikiWord" href="/nlab/show/fundamental+infinity-groupoid+in+a+locally+infinity-connected+%28infinity%2C1%29-topos">fundamental ∞-groupoid reflector</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>Π</mi></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{\Pi}</annotation></semantics></math>.</p> <p>Specifically, there is a <a class="existingWikiWord" href="/nlab/show/model">model</a> for <a class="existingWikiWord" href="/nlab/show/cohesive+%28%E2%88%9E%2C1%29-topos">homotopy cohesion</a>, called <a class="existingWikiWord" href="/nlab/show/Smooth%E2%88%9EGrpd">Smooth∞Grpd</a>, in which <a class="existingWikiWord" href="/nlab/show/smooth+manifolds">smooth manifolds</a> (<a class="existingWikiWord" href="/nlab/show/manifold+with+boundary">with boundary</a>) are <a class="existingWikiWord" href="/nlab/show/full+and+faithful+functor">fully faithfully embedded</a>, where hence <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>I</mi><mo>=</mo><mo stretchy="false">[</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">I = [0,1]</annotation></semantics></math> exists as a <a class="existingWikiWord" href="/nlab/show/type">type</a> that behaves as the interval in <a class="existingWikiWord" href="/nlab/show/differential+geometry">differential geometry</a>, and where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>Π</mi></mstyle><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathbf{\Pi}(I)</annotation></semantics></math> is equivalent to the <a class="existingWikiWord" href="/nlab/show/unit+type">unit type</a>.</p> <p>More generally, in this model every <a class="existingWikiWord" href="/nlab/show/smooth+manifold">smooth manifold</a> <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/homotopy+n-type">homotopy 0-type</a>/<a class="existingWikiWord" href="/nlab/show/0-truncated">0-truncated</a> object, but the type <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>Π</mi></mstyle><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathbf{\Pi}(X)</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/discrete+%E2%88%9E-groupoid">discrete ∞-groupoid</a> whose <a class="existingWikiWord" href="/nlab/show/homotopy+type">homotopy type</a> is that of the topological space underlying <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>, as regarded in the <a class="existingWikiWord" href="/nlab/show/model+structure+on+topological+spaces">standard</a> <a class="existingWikiWord" href="/nlab/show/homotopy+category">homotopy category</a> of topological spaces.</p> <p>In particular, the smooth <a class="existingWikiWord" href="/nlab/show/circle">circle</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>S</mi> <mn>1</mn></msup></mrow><annotation encoding="application/x-tex">S^1</annotation></semantics></math> in this model is a <a class="existingWikiWord" href="/nlab/show/0-truncated">0-type</a> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>Π</mi></mstyle><mo stretchy="false">(</mo><msup><mi>S</mi> <mn>1</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathbf{\Pi}(S^1)</annotation></semantics></math> is the <a class="existingWikiWord" href="/nlab/show/1-truncated">1-type</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>ℤ</mi></mrow><annotation encoding="application/x-tex">\mathbf{B}\mathbb{Z}</annotation></semantics></math> (the <a class="existingWikiWord" href="/nlab/show/delooping">delooping</a> <a class="existingWikiWord" href="/nlab/show/groupoid">groupoid</a> of the <a class="existingWikiWord" href="/nlab/show/integers">integers</a>).</p> <p>One can turn this around and axiomatize a <a class="existingWikiWord" href="/nlab/show/continuum">continuum</a> <a class="existingWikiWord" href="/nlab/show/line+object">line object</a> in cohesive homotopy type theory as a <a class="existingWikiWord" href="/nlab/show/ring+object">ring object</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>ℤ</mi><mo>↪</mo><msup><mi>𝔸</mi> <mn>1</mn></msup></mrow><annotation encoding="application/x-tex">\mathbb{Z} \hookrightarrow \mathbb{A}^1</annotation></semantics></math> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mi>Π</mi></mstyle><mo stretchy="false">(</mo><msup><mi>𝔸</mi> <mn>1</mn></msup><mo stretchy="false">)</mo><mo>≃</mo><mo>*</mo></mrow><annotation encoding="application/x-tex">\mathbf{\Pi}(\mathbb{A}^1) \simeq *</annotation></semantics></math>.</p> <h2 id="Structures">Structures in cohesive homotopy type theory</h2> <p>We discuss implications of the axioms of cohesive homotopy type theory and go through the discussion of the various <a class="existingWikiWord" href="/nlab/show/structures+in+a+cohesive+%28%E2%88%9E%2C1%29-topos">structures in a cohesive (∞,1)-topos</a>.</p> <h3 id="cohomology">Cohomology</h3> <p>For <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> and <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> two <a class="existingWikiWord" href="/nlab/show/types">types</a>, the externalization <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>♯</mo><mo stretchy="false">(</mo><mi>X</mi><mo>→</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\sharp(X \to A)</annotation></semantics></math> of the <a class="existingWikiWord" href="/nlab/show/function+type">function type</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>→</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">X \to A</annotation></semantics></math> is the <em>type of <a class="existingWikiWord" href="/nlab/show/cocycles">cocycles</a></em> on <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> with coefficients 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>. Its <a class="existingWikiWord" href="/nlab/show/h-level">h-level</a> 2 <a class="existingWikiWord" href="/nlab/show/truncated">truncation</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>τ</mi> <mn>0</mn></msub><mo>♯</mo><mo stretchy="false">(</mo><mi>X</mi><mo>→</mo><mi>Y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\tau_0 \sharp(X \to Y)</annotation></semantics></math> is the <a class="existingWikiWord" href="/nlab/show/cohomology">cohomology</a> 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> with coefficients 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> <h3 id="flat_cohomology_and_local_systems">Flat cohomology and local systems</h3> <p>We give the <a class="existingWikiWord" href="/nlab/show/Coq">Coq</a>-formalization of <a href="http://ncatlab.org/nlab/show/cohesive+%28infinity%2C1%29-topos+--+structures#FlatDifferentialCohomology">Flat cohomology and local systems</a>.</p> <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> a <a class="existingWikiWord" href="/nlab/show/type">type</a>, we say that <a class="existingWikiWord" href="/nlab/show/cohomology">cohomology</a> with coefficients in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>♭</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">\flat A</annotation></semantics></math> is <em>flat cohomology</em>. A <a class="existingWikiWord" href="/nlab/show/cocycle">cocycle</a> <a class="existingWikiWord" href="/nlab/show/term">term</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>:</mo><mo>♯</mo><mo stretchy="false">(</mo><mi>X</mi><mo>→</mo><mo>♭</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">c : \sharp(X \to \flat A)</annotation></semantics></math> is called a <a class="existingWikiWord" href="/nlab/show/local+system">local system</a> of coefficients <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> on <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>.</p> <p>(…)</p> <h3 id="de_rham_cohomology">de Rham cohomology</h3> <p>We give the <a class="existingWikiWord" href="/nlab/show/Coq">Coq</a>-formalization of <a href="http://ncatlab.org/nlab/show/cohesive+%28infinity,1%29-topos+--+structures#deRhamCohomology">intrinsic de Rham cohomology</a>.</p> <p>Let <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>=</mo><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>G</mi></mrow><annotation encoding="application/x-tex">A = \mathbf{B}G</annotation></semantics></math> be a <a class="existingWikiWord" href="/nlab/show/0-connected">connected</a> <a class="existingWikiWord" href="/nlab/show/type">type</a>.</p> <p>The <a class="existingWikiWord" href="/nlab/show/homotopy+fiber">homotopy fiber</a> type of the coreflection <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>♭</mo><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>G</mi><mo>→</mo><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>G</mi></mrow><annotation encoding="application/x-tex">\flat \mathbf{B}G \to \mathbf{B}G</annotation></semantics></math> we call the <em>de Rham coefficient type</em> 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>, denoted <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mo>♭</mo> <mi>dR</mi></msub><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>G</mi></mrow><annotation encoding="application/x-tex">\flat_{dR} \mathbf{B}G</annotation></semantics></math>. So there is a <a class="existingWikiWord" href="/nlab/show/fiber+sequence">fiber sequence</a></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>dR</mi></msub><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>G</mi><mo>→</mo><mo>♭</mo><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>G</mi><mo>→</mo><mstyle mathvariant="bold"><mi>B</mi></mstyle><mi>G</mi><mspace width="thinmathspace"></mspace><mo>.</mo></mrow><annotation encoding="application/x-tex"> \flat_{dR} \mathbf{B}G \to \flat \mathbf{B}G \to \mathbf{B}G \,. </annotation></semantics></math></div> <p><a class="existingWikiWord" href="/nlab/show/Coq">Coq</a>-code:</p> <pre><code>Require Import Homotopy Subtopos Codiscrete LocalTopos CohesiveTopos. Hypothesis BG : Type. Hypothesis BG_is_0connected : is_contr (pi0 BG). Hypothesis pt : BG. Definition flat_dR : #Type := ipullback ([[fun _:unit =&gt; pt]]) (from_flat ([BG])).</code></pre> <h3 id="differential_cohomology">Differential cohomology</h3> <p>We give the <a class="existingWikiWord" href="/nlab/show/Coq">Coq</a>-formalization of <a href="http://ncatlab.org/nlab/show/cohesive+%28infinity%2C1%29-topos+--+structures#DifferentialCohomology">Differential cohomology</a>.</p> <p>(…)</p> <h2 id="related_concepts">Related concepts</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/real-cohesive+homotopy+type+theory">real-cohesive homotopy type theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/A1-homotopy+type+theory">A1-homotopy type theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/fractured+homotopy+type+theory">fractured homotopy type theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/geometric+homotopy+type+theory">geometric homotopy type theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/modal+homotopy+type+theory">modal homotopy type theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/stable+homotopy+type">stable homotopy type</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/differential+homotopy+type+theory">differential homotopy type theory</a></p> </li> </ul> <h2 id="References">References</h2> <p>First discussion of a (<a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy</a>) <a class="existingWikiWord" href="/nlab/show/type+theory">type theoretic</a> formulation of the <a class="existingWikiWord" href="/nlab/show/modal+type+theory">modal</a> <a class="existingWikiWord" href="/nlab/show/cohesive+homotopy+theory">cohesive homotopy theory</a> (adopting terminology from <a href="cohesive+topos#LawvereAxiomatic">Lawvere 2007</a> ) considered in</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/Urs+Schreiber">Urs Schreiber</a>, <em><a class="existingWikiWord" href="/schreiber/show/differential+cohomology+in+a+cohesive+topos">differential cohomology in a cohesive topos</a></em> (<a href="http://arxiv.org/abs/1310.7930">arXiv:1310.7930</a>)</li> </ul> <p>was given in</p> <ul> <li id="SchreiberShulman2012"><a class="existingWikiWord" href="/nlab/show/Urs+Schreiber">Urs Schreiber</a>, <a class="existingWikiWord" href="/nlab/show/Mike+Shulman">Mike Shulman</a>, <em><a class="existingWikiWord" href="/schreiber/show/Quantum+gauge+field+theory+in+Cohesive+homotopy+type+theory">Quantum gauge field theory in Cohesive homotopy type theory</a></em>, EPTCS <strong>158</strong> (2014) 109-126 &lbrack;<a href="https://arxiv.org/abs/1408.0054">arXiv:1408.0054</a>, <a href="https://doi.org/10.4204/EPTCS.158.8">doi:10.4204/EPTCS.158.8</a>&rbrack;</li> </ul> <p>following</p> <ul> <li id="ShulmanInternalizing"><a class="existingWikiWord" href="/nlab/show/Mike+Shulman">Mike Shulman</a>, <em>Internalizing the external, or The Joys of Codiscreteness</em> (<a href="http://golem.ph.utexas.edu/category/2011/11/internalizing_the_external_or.html">blog post</a>)</li> </ul> <p>by adding <a class="existingWikiWord" href="/nlab/show/axioms">axioms</a> for the <a class="existingWikiWord" href="/nlab/show/adjoint+triple">adjoint triple</a> of <a class="existingWikiWord" href="/nlab/show/modal+operators">modal operators</a> to plain <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a>.</p> <p>See also broader discussion in:</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Urs+Schreiber">Urs Schreiber</a>, <em><a class="existingWikiWord" href="/schreiber/show/Modern+Physics+formalized+in+Modal+Homotopy+Type+Theory">Modern Physics formalized in Modal Homotopy Type Theory</a></em> (2016)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/David+Corfield">David Corfield</a>, Chap. 5 of <em><a class="existingWikiWord" href="/davidcorfield/show/Modal+Homotopy+Type+Theory">Modal Homotopy Type Theory</a></em>, Oxford University Press (2020) &lbrack;<a href="https://global.oup.com/academic/product/modal-homotopy-type-theory-9780198853404">ISBN:9780198853404</a>&rbrack;</p> </li> </ul> <p>Another type-theoretic formulation of <a class="existingWikiWord" href="/nlab/show/cohesive+homotopy+theory">cohesive homotopy theory</a>, now obtained by changing the rewrite rules of type theory itself – adding a <a class="existingWikiWord" href="/nlab/show/syntax">syntactic</a> notion of <a class="existingWikiWord" href="/nlab/show/flat+modality">flat</a>-<a class="existingWikiWord" href="/nlab/show/modal+type">modal</a> (“crisp”) <a class="existingWikiWord" href="/nlab/show/contexts">contexts</a>:</p> <ul> <li id="Shulman15"><a class="existingWikiWord" href="/nlab/show/Mike+Shulman">Mike Shulman</a>, <em>Brouwer’s fixed-point theorem in real-cohesive homotopy type theory</em>, Mathematical Structures in Computer Science <strong>28</strong> 6 (2018) 856-941 &lbrack;<a href="https://arxiv.org/abs/1509.07584">arXiv:1509.07584</a>, <a href="https://doi.org/10.1017/S0960129517000147">doi:10.1017/S0960129517000147</a>&rbrack;</li> </ul> <p>following a general pattern for <a class="existingWikiWord" href="/nlab/show/modal+type+theory">modal type theory</a> laid out in</p> <ul> <li id="LicataShulman"><a class="existingWikiWord" href="/nlab/show/Dan+Licata">Dan Licata</a>, <a class="existingWikiWord" href="/nlab/show/Mike+Shulman">Mike Shulman</a>, <em>Adjoint logic with a 2-category of modes</em>, in <em><a href="http://lfcs.info/lfcs-2016/">Logical Foundations of Computer Science 2016</a></em>, Lecture Notes in Computer Science <strong>9537</strong> (2016) &lbrack;<a href="https://doi.org/10.1007/978-3-319-27683-0_16">doi:10.1007/978-3-319-27683-0_16</a>, <a href="http://dlicata.web.wesleyan.edu/pubs/ls15adjoint/ls15adjoint.pdf">pdf</a>, <a href="http://dlicata.web.wesleyan.edu/pubs/ls15adjoint/ls15adjoint-lfcs-slides.pdf">slides</a>&rbrack;</li> </ul> <p>with exposition in:</p> <ul> <li id="Shulman19"><a class="existingWikiWord" href="/nlab/show/Mike+Shulman">Mike Shulman</a>, <em>Comonadic modalities and cohesion</em>, talk at <em><a href="http://felix-cherubini.de/modal-workshop.html">Geometry in Modal Homotopy Type Theory</a></em>, 2019 (<a href="http://home.sandiego.edu/~shulman/papers/cmu2019a.pdf">pdf slides</a>, <a href="https://youtu.be/GA93Hjh-Alk">talk recording</a>)</li> </ul> <p>This approach (also “real cohesive type theory”) is now what most people refer to when speaking of cohesive homotopy type theory.</p> <p>Notice that at this point there is no <a class="existingWikiWord" href="/nlab/show/proof+assistant">proof assistant</a> that actually implements the <a class="existingWikiWord" href="/nlab/show/shape+modality">shape modality</a> this way, only the system consisting of <a class="existingWikiWord" href="/nlab/show/flat+modality">flat modality</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊣</mo></mrow><annotation encoding="application/x-tex">\dashv</annotation></semantics></math> <a class="existingWikiWord" href="/nlab/show/sharp+modality">sharp modality</a> (<em><a class="existingWikiWord" href="/nlab/show/spatial+type+theory">spatial type theory</a></em>) runs on computers: eg. via <em><a class="existingWikiWord" href="/nlab/show/Agda-flat">Agda-flat</a></em>.</p> <p>Discussion of a fragment of <a class="existingWikiWord" href="/nlab/show/differential+cohesive+%28infinity%2C1%29-topos">differential cohesive</a> homotopy type theory with <a class="existingWikiWord" href="/nlab/show/Agda-flat">Agda-flat</a>:</p> <ul> <li id="Wellen18"> <p><a class="existingWikiWord" href="/nlab/show/Felix+Wellen">Felix Wellen</a>, <em><a class="existingWikiWord" href="/schreiber/show/thesis+Wellen">Cartan Geometry in Modal Homotopy Type Theory</a></em> (<a href="https://arxiv.org/abs/1806.05966">arXiv:1806.05966</a>, <a href="http://www.math.kit.edu/iag3/~wellen/media/diss.pdf">thesis pdf</a>)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Felix+Cherubini">Felix Cherubini</a>: <em>Synthetic <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>-jet-structures in modal homotopy type theory</em>, Mathematical Structures in Computer Science (2024) 1–35 &lbrack;<a href="https://doi.org/10.1017/S0960129524000355">doi:10.1017/S0960129524000355</a>, <a href="https://arxiv.org/abs/1806.05966">arXiv:1806.05966</a>&rbrack;</p> </li> </ul> <p>Further development of (real-)cohesive homotopy type theory:</p> <ul> <li id="Myers19"><a class="existingWikiWord" href="/nlab/show/David+Jaz+Myers">David Jaz Myers</a>, <em>Good Fibrations through the Modal Prism</em>, Higher Structures <strong>6</strong> 1 (2022) 212–255 &lbrack;<a href="https://arxiv.org/abs/1908.08034">arXiv:1908.08034v2</a>, <a href="https://higher-structures.math.cas.cz/api/files/issues/Vol6Iss1/Myers">higher-structures:Vol6Iss1/Myers</a>&rbrack;</li> </ul> <p>Formalization of the shape/flat-<a class="existingWikiWord" href="/nlab/show/fracture+square">fracture square</a> (<a class="existingWikiWord" href="/nlab/show/differential+cohomology+hexagon">differential cohomology hexagon</a>):</p> <ul> <li id="Myers21"> <p><a class="existingWikiWord" href="/nlab/show/David+Jaz+Myers">David Jaz Myers</a>, <em>Modal Fracture of Higher Groups</em> &lbrack;<a href="https://arxiv.org/abs/2106.15390">arXiv:2106.15390</a>&rbrack;</p> <p>also: talk at <em><a href="https://www.cmu.edu/dietrich/philosophy/hott/seminars/index.html">CMU-HoTT Seminar</a></em>, 2021 (<a href="http://davidjaz.com/Talks/CMU_March_2021.pdf">pdf</a>, <a class="existingWikiWord" href="/nlab/files/MyersModalFracture2021.pdf" title="pdf">pdf</a>)</p> </li> </ul> <p>Discussion of pairs of commuting cohesive structures (such as the combination of real cohesion and equivariant relevant for <a class="existingWikiWord" href="/nlab/show/differential+cohomology">differential</a> <a class="existingWikiWord" href="/nlab/show/orbifold+cohomology">orbifold cohomology</a>:</p> <ul> <li id="MyersRiley23"><a class="existingWikiWord" href="/nlab/show/David+Jaz+Myers">David Jaz Myers</a>, <a class="existingWikiWord" href="/nlab/show/Mitchell+Riley">Mitchell Riley</a>, <em>Commuting Cohesions</em> &lbrack;<a href="https://arxiv.org/abs/2301.13780">arXiv:2301.13780</a>&rbrack;</li> </ul> <p>Exposition in:</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/David+Jaz+Myers">David Jaz Myers</a>, <em>Simplicial, Differential, and Equivariant Homotopy Type Theory</em>, talk at <a class="existingWikiWord" href="/nlab/show/CQTS">CQTS</a> (Jan 2023) &lbrack;video: <a href="https://nyu.zoom.us/rec/play/uk0LXy5ub2YUpJPhYq5p7GvpZ2I8_CZaWHSpWvZgwuUyHeWjXgUj2AQd21K1WSJo90V5DrE0BVhl7NuB.QbyHhtPHaJVQUj2A?continueMode=true&amp;_x_zm_rtaid=Xyx9WZFLQzyRzu0Oh-2mNQ.1675318497581.13147cc7929a947e978b29124a207f98&amp;_x_zm_rhtaid=938">rec</a>&rbrack;</li> </ul> <p>For <a class="existingWikiWord" href="/nlab/show/parametricity">parametricity</a> in cohesive homotopy type theory:</p> <ul> <li id="Aberle24"><a class="existingWikiWord" href="/nlab/show/C.B.+Aberl%C3%A9">C.B. Aberlé</a>, <em>Parametricity via Cohesion</em> &lbrack;<a href="https://arxiv.org/abs/2404.03825">arXiv:2404.03825</a>&rbrack;</li> </ul> <p>The development of cohesive homotopy type theory as a <a class="existingWikiWord" href="/nlab/show/multimodal+type+theory">multimodal type theory</a> uses material from</p> <ul> <li id="GKNB21"> <p><a class="existingWikiWord" href="/nlab/show/Daniel+Gratzer">Daniel Gratzer</a>, <a class="existingWikiWord" href="/nlab/show/G.+Alex+Kavvos">G. Alex Kavvos</a>, <a class="existingWikiWord" href="/nlab/show/Andreas+Nuyts">Andreas Nuyts</a>, <a class="existingWikiWord" href="/nlab/show/Lars+Birkedal">Lars Birkedal</a>: <em>Multimodal Dependent Type Theory</em>, Logical Methods in Computer Science <strong>17</strong> 3 (2021) lmcs:7713 &lbrack;<a href="https://arxiv.org/abs/2011.15021">arXiv:2011.15021</a>, <a href="https://doi.org/10.46298/lmcs-17(3:11)2021">doi:10.46298/lmcs-17(3:11)2021</a>&rbrack;</p> </li> <li id="KS23"> <p><a class="existingWikiWord" href="/nlab/show/Astra+Kolomatskaia">Astra Kolomatskaia</a>, <a class="existingWikiWord" href="/nlab/show/Michael+Shulman">Michael Shulman</a>, <em>Displayed Type Theory and Semi-Simplicial Types</em> &lbrack;<a href="https://arxiv.org/abs/2311.18781">arXiv:2311.18781</a>&rbrack;</p> </li> </ul> </body></html> </div> <div class="revisedby"> <p> Last revised on January 15, 2025 at 14:06:43. See the <a href="/nlab/history/cohesive+homotopy+type+theory" 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/cohesive+homotopy+type+theory" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/3380/#Item_38">Discuss</a><span class="backintime"><a href="/nlab/revision/cohesive+homotopy+type+theory/50" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/diff/cohesive+homotopy+type+theory" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Changes from previous revision</a><a href="/nlab/history/cohesive+homotopy+type+theory" accesskey="S" class="navlink" id="history" rel="nofollow">History (50 revisions)</a> <a href="/nlab/show/cohesive+homotopy+type+theory/cite" style="color: black">Cite</a> <a href="/nlab/print/cohesive+homotopy+type+theory" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/cohesive+homotopy+type+theory" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>

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