CINXE.COM
ternary frame 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> ternary frame 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> ternary frame </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/3815/#Item_14" 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>Ternary frames</title></head> <body> <h1 id="ternary_frames">Ternary frames</h1> <div class='maruku_toc'> <ul> <li><a href='#warning'>Warning</a></li> <li><a href='#idea'>Idea</a></li> <li><a href='#definition'>Definition</a></li> <li><a href='#modeling_substructural_logic'>Modeling substructural logic</a></li> <li><a href='#additional_structure'>Additional structure</a></li> <ul> <li><a href='#truth_sets'>Truth sets</a></li> <li><a href='#compatibility_relations'>Compatibility relations</a></li> <li><a href='#falsity_sets'>Falsity sets</a></li> </ul> <li><a href='#dayconvolution'>From ternary frames to quantales</a></li> <ul> <li><a href='#generalizations'>Generalizations</a></li> </ul> <li><a href='#examples'>Examples</a></li> <ul> <li><a href='#phase_spaces'>Phase spaces</a></li> <li><a href='#pcas'>PCAs</a></li> </ul> <li><a href='#references'>References</a></li> </ul> </div> <h2 id="warning">Warning</h2> <p><em>The term ‘frame’ is used in a different sense here than in <a class="existingWikiWord" href="/nlab/show/geometric+logic">geometric logic</a>; see <a class="existingWikiWord" href="/nlab/show/frame">frame</a>. The usage here is analogous to <a class="existingWikiWord" href="/nlab/show/Kripke+frames">Kripke frames</a> in <a class="existingWikiWord" href="/nlab/show/modal+logic">modal logic</a>.</em></p> <h2 id="idea">Idea</h2> <p>A <strong>ternary frame</strong> is a way of presenting a model for a <a class="existingWikiWord" href="/nlab/show/substructural+logic">substructural logic</a> (such as <a class="existingWikiWord" href="/nlab/show/linear+logic">linear logic</a> and <a class="existingWikiWord" href="/nlab/show/relevant+logic">relevant logic</a>) in terms of a set of “worlds” or “states of information” and a ternary <a class="existingWikiWord" href="/nlab/show/relation">relation</a>.</p> <p>The construction generalizes from <a class="existingWikiWord" href="/nlab/show/posets">posets</a> to <a class="existingWikiWord" href="/nlab/show/categories">categories</a> using the <a class="existingWikiWord" href="/nlab/show/Day+convolution">Day convolution</a> of a <a class="existingWikiWord" href="/nlab/show/promonoidal+category">promonoidal category</a> (<a href="#dayconvolution">see below</a>), or a “promagmal category” in the weakest version.</p> <h2 id="definition">Definition</h2> <p>A <strong>ternary frame</strong> is a set <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> together with a ternary relation <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>; we write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> when <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> holds of three elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>∈</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">x,y,z\in A</annotation></semantics></math>.</p> <p>We may additionally ask 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> have a <a class="existingWikiWord" href="/nlab/show/partial+ordering">partial ordering</a>; in this case we demand the compatibility condition that if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>′</mo><mo>≤</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">x'\le x</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>′</mo><mo>≤</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">y'\le y</annotation></semantics></math>, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>z</mi><mo>≤</mo><mi>z</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">z\le z'</annotation></semantics></math>, then also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mo>′</mo><mi>y</mi><mo>′</mo><mi>z</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">R x' y' z'</annotation></semantics></math>.</p> <h2 id="modeling_substructural_logic">Modeling substructural logic</h2> <p>We can model <a class="existingWikiWord" href="/nlab/show/logic">logic</a> using a ternary frame with a “forcing” or “satisfaction” relation between points of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> and formulas. We begin by assigning to each <span class="newWikiWord">atomic formula<a href="/nlab/new/atomic+formula">?</a></span> a set of points of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> which satisfy it. If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> has a partial order, as above, then we ask each of these sets to be up-closed.</p> <p>The <a class="existingWikiWord" href="/nlab/show/logical+connectives">logical connectives</a> can then be defined inductively by clauses such as the following:</p> <ul> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>P</mi><mi>&</mi><mi>Q</mi></mrow><annotation encoding="application/x-tex">x \Vdash P \& Q</annotation></semantics></math> (the negative <a class="existingWikiWord" href="/nlab/show/conjunction">conjunction</a>) if and only if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">x\Vdash P</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>Q</mi></mrow><annotation encoding="application/x-tex">x\Vdash Q</annotation></semantics></math>.</li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>P</mi><mo>⊕</mo><mi>Q</mi></mrow><annotation encoding="application/x-tex">x \Vdash P \oplus Q</annotation></semantics></math> (the positive <a class="existingWikiWord" href="/nlab/show/disjunction">disjunction</a>) if and only if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">x \Vdash P</annotation></semantics></math> or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>Q</mi></mrow><annotation encoding="application/x-tex">x\Vdash Q</annotation></semantics></math>.</li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mstyle mathvariant="bold"><mn>0</mn></mstyle></mrow><annotation encoding="application/x-tex">x \Vdash \mathbf{0}</annotation></semantics></math> (the positive <a class="existingWikiWord" href="/nlab/show/falsity">falsity</a>) never.</li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mo>⊤</mo></mrow><annotation encoding="application/x-tex">x \Vdash \top</annotation></semantics></math> (the negative <a class="existingWikiWord" href="/nlab/show/truth">truth</a>) always.</li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>P</mi><mo>⊗</mo><mi>Q</mi></mrow><annotation encoding="application/x-tex">x \Vdash P \otimes Q</annotation></semantics></math> (the positive conjunction) if and only if there exist <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>,</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">y,z</annotation></semantics></math> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>y</mi><mi>z</mi><mi>x</mi></mrow><annotation encoding="application/x-tex">R y z x</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>⊩</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">y\Vdash P</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>z</mi><mo>⊩</mo><mi>Q</mi></mrow><annotation encoding="application/x-tex">z\Vdash Q</annotation></semantics></math>.</li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>P</mi><mo>⊸</mo><mi>Q</mi></mrow><annotation encoding="application/x-tex">x \Vdash P \multimap Q</annotation></semantics></math> (the one-sided linear implication) if and only if for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>,</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">y,z</annotation></semantics></math>, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>⊩</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">y\Vdash P</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>z</mi><mo>⊩</mo><mi>Q</mi></mrow><annotation encoding="application/x-tex">z\Vdash Q</annotation></semantics></math>.</li> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>Q</mi><mi>⟜</mi><mi>P</mi></mrow><annotation encoding="application/x-tex">x \Vdash Q &#10204; P</annotation></semantics></math> (the dual linear implication) if and only if for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>,</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">y,z</annotation></semantics></math>, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>z</mi><mo>⊩</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">z\Vdash P</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>⊩</mo><mi>Q</mi></mrow><annotation encoding="application/x-tex">y\Vdash Q</annotation></semantics></math>.</li> </ul> <p>The logic obtained thereby will generally be <a class="existingWikiWord" href="/nlab/show/substructural+logic">substructural</a>: it need not satisfy the structural rules like <a class="existingWikiWord" href="/nlab/show/weakening+rule">weakening</a>, <a class="existingWikiWord" href="/nlab/show/contraction+rule">contraction</a>, <a class="existingWikiWord" href="/nlab/show/exchange+rule">exchange</a> or even associativity and unit for the tensor product. On this page, we have used the notation for substructural connectives from <a class="existingWikiWord" href="/nlab/show/linear+logic">linear logic</a>.</p> <h2 id="additional_structure">Additional structure</h2> <p>We can impose properties or structure on the ternary frame to affect the logic. For instance, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> implies <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>y</mi><mi>x</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R y x z</annotation></semantics></math>, then the logic we obtain will satisfy the exchange rule.</p> <p>We also need additional structure in order to model positive truth, negative falsity, negative disjunction, and negation.</p> <h3 id="truth_sets">Truth sets</h3> <p>A <strong>truth set</strong> in an ordered ternary frame is a subset <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>T</mi><mo>⊆</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">T\subseteq A</annotation></semantics></math> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>≤</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">x\le y</annotation></semantics></math> if and only if there exists a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo>∈</mo><mi>T</mi></mrow><annotation encoding="application/x-tex">t\in T</annotation></semantics></math> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>t</mi><mi>x</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">R t x y</annotation></semantics></math>, and if and only if there exists an <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>s</mi><mo>∈</mo><mi>T</mi></mrow><annotation encoding="application/x-tex">s\in T</annotation></semantics></math> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>s</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">R x s y</annotation></semantics></math>. (If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is commutative, as above, then the two conditions are equivalent.) Alternatively, given an unordered ternary frame <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 a subset <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math>, we could <em>define</em> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>≤</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">x\le y</annotation></semantics></math> in this way, and then require as a property of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math> that the resulting relation is a <a class="existingWikiWord" href="/nlab/show/partial+order">partial order</a>.</p> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math> is a truth set, then it makes sense to define</p> <ul> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mstyle mathvariant="bold"><mn>1</mn></mstyle></mrow><annotation encoding="application/x-tex">x \Vdash \mathbf{1}</annotation></semantics></math> (the positive truth) if and only if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>T</mi></mrow><annotation encoding="application/x-tex">x\in T</annotation></semantics></math>.</li> </ul> <h3 id="compatibility_relations">Compatibility relations</h3> <p>One way to model negation (and thereby obtain negative falsity <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊥</mo></mrow><annotation encoding="application/x-tex">\bot</annotation></semantics></math> and negative disjunction <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⅋</mo></mrow><annotation encoding="application/x-tex">\parr</annotation></semantics></math> by duality from positive truth <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>1</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{1}</annotation></semantics></math> and positive conjunction <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊗</mo></mrow><annotation encoding="application/x-tex">\otimes</annotation></semantics></math>) is with a <strong>compatibility relation</strong>, which is just a binary relation <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>. If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> has a partial order, we demand additionally that if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mi>C</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">x C y</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>′</mo><mo>≤</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">x'\le x</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>≤</mo><mi>y</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">y\le y'</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>′</mo><mi>C</mi><mi>y</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">x' C y'</annotation></semantics></math>.</p> <p>Given such a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>, we define</p> <ul> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mo>¬</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">x \Vdash \neg P</annotation></semantics></math> if and only if for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math>, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mi>C</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">x C y</annotation></semantics></math> then not <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>⊩</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">y\Vdash P</annotation></semantics></math>.</li> </ul> <h3 id="falsity_sets">Falsity sets</h3> <p>Negation can alternatively be modeled using a <em>false set</em>. Suppose given a subset <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo>⊆</mo><mi>A</mi></mrow><annotation encoding="application/x-tex">F\subseteq A</annotation></semantics></math>, to be the interpretation of the negative falsity <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊥</mo></mrow><annotation encoding="application/x-tex">\bot</annotation></semantics></math>:</p> <ul> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mo>⊥</mo></mrow><annotation encoding="application/x-tex">x\Vdash \bot</annotation></semantics></math> if and only if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>F</mi></mrow><annotation encoding="application/x-tex">x\in F</annotation></semantics></math>.</li> </ul> <p>We can then, if we wish, interpret negation and negative disjunction by defining <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>¬</mo><mi>P</mi><mo>≔</mo><mo stretchy="false">(</mo><mi>P</mi><mo>⊸</mo><mo>⊥</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\neg P \coloneqq (P\multimap \bot)</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>P</mi><mo>⅋</mo><mi>Q</mi><mo>≔</mo><mo>¬</mo><mo stretchy="false">(</mo><mo>¬</mo><mi>P</mi><mo>⊗</mo><mo>¬</mo><mi>Q</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">P\parr Q \coloneqq \neg (\neg P \otimes \neg Q)</annotation></semantics></math>.</p> <p>The latter is most sensible if negation is involutive, which it need not be in general — that is, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mo>¬</mo><mo>¬</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">x \Vdash \neg \neg P</annotation></semantics></math> we need not have <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">x\Vdash P</annotation></semantics></math>. One solution to this (if we want negation to be involutive) is to close up <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> under double-negation. This entails replacing the clauses defining the interpretation of the positive connectives <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊗</mo></mrow><annotation encoding="application/x-tex">\otimes</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊕</mo></mrow><annotation encoding="application/x-tex">\oplus</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>1</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{1}</annotation></semantics></math>, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>0</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{0}</annotation></semantics></math> with their double-negation closure. This is commonly done in the <a class="existingWikiWord" href="/nlab/show/phase+semantics">phase semantics</a> for linear logic (see below).</p> <h2 id="dayconvolution">From ternary frames to quantales</h2> <p>Since the models above associate to formulas <em>subsets</em> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>, it seems natural to describe them in a purely algebraic way using structure on the <a class="existingWikiWord" href="/nlab/show/powerset">powerset</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>. In the case when <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 poset, instead of the powerset of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> we must use the set of up-closed subsets of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>. Since this subsumes the unordered case (use the discrete ordering), we henceforth assume <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> to be a poset, with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> having the assumed compatibility relation.</p> <p>In fact, this axiom (which we repeat here for the reader’s convenience):</p> <ul> <li>if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>′</mo><mo>≤</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">x'\le x</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>′</mo><mo>≤</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">y'\le y</annotation></semantics></math>, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>z</mi><mo>≤</mo><mi>z</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">z\le z'</annotation></semantics></math>, then also <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mo>′</mo><mi>y</mi><mo>′</mo><mi>z</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">R x' y' z'</annotation></semantics></math>.</li> </ul> <p>says precisely that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>2</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{2}</annotation></semantics></math>-<a class="existingWikiWord" href="/nlab/show/enriched+category">enriched</a> <a class="existingWikiWord" href="/nlab/show/profunctor">profunctor</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>A</mi> <mi>op</mi></msup><mo>×</mo><msup><mi>A</mi> <mi>op</mi></msup><mi>⇸</mi><msup><mi>A</mi> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">A^{op} \times A^{op} &#8696; A^{op}</annotation></semantics></math>. (Here we are identifying posets with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>2</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{2}</annotation></semantics></math>-enriched categories, where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>2</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{2}</annotation></semantics></math> is the <a class="existingWikiWord" href="/nlab/show/interval+category">interval category</a>.)</p> <p>Therefore, by <a class="existingWikiWord" href="/nlab/show/Day+convolution">Day convolution</a>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> induces a binary tensor product on the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>2</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{2}</annotation></semantics></math>-enriched <a class="existingWikiWord" href="/nlab/show/presheaf+category">presheaf category</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A</annotation></semantics></math>, which is precisely the poset of up-closed sets 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>. This tensor product is precisely the above interpretation of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊗</mo></mrow><annotation encoding="application/x-tex">\otimes</annotation></semantics></math>. By the usual Day convolution arguments, this tensor product functor has both left and right adjoints, which are precisely the interpretation of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊸</mo></mrow><annotation encoding="application/x-tex">\multimap</annotation></semantics></math> and its dual.</p> <p>Of course, the interpretations 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">\&</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">\oplus</annotation></semantics></math> are just the categorical product and coproduct in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A</annotation></semantics></math>. Similarly, that of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>0</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{0}</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">\top</annotation></semantics></math> are the initial and terminal objects.</p> <p>A truth set <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math> corresponds to a profunctor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn><mi>⇸</mi><msup><mi>A</mi> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">1 &#8696; A^{op}</annotation></semantics></math> which is a unit for the pro-multiplication <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>. Therefore, in this case the tensor product on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A</annotation></semantics></math> has a unit object, which is precisely <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math>, the interpretation of the positive truth <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>1</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{1}</annotation></semantics></math>.</p> <p>If we were to additionally add the assumption that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is <em>associative</em>, in the sense that</p> <ul> <li>there exists a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>z</mi><mi>u</mi><mi>v</mi></mrow><annotation encoding="application/x-tex">R z u v</annotation></semantics></math> if and only if there exists a <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>w</mi></mrow><annotation encoding="application/x-tex">w</annotation></semantics></math> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>w</mi><mi>v</mi></mrow><annotation encoding="application/x-tex">R x w v</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>y</mi><mi>u</mi><mi>w</mi></mrow><annotation encoding="application/x-tex">R y u w</annotation></semantics></math></li> </ul> <p>then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>A</mi> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">A^{op}</annotation></semantics></math> would become a <a class="existingWikiWord" href="/nlab/show/promonoidal+category">promonoidal</a> poset, and hence <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A</annotation></semantics></math> would be a complete and cocomplete closed monoidal poset, i.e. a <a class="existingWikiWord" href="/nlab/show/quantale">quantale</a>.</p> <p>A false set <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> is of course just an arbitrary object of this quantale. Closing up under double-negation means restricting to the sub-poset of elements that are equal to their “double dual” <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>=</mo><mo stretchy="false">(</mo><mi>x</mi><mo>⊸</mo><mi>F</mi><mo stretchy="false">)</mo><mo>⊸</mo><mi>F</mi></mrow><annotation encoding="application/x-tex">x = (x \multimap F) \multimap F</annotation></semantics></math>. Since the self-adjunction <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mo lspace="verythinmathspace" rspace="0em">−</mo><mo>⊸</mo><mi>F</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(-\multimap F)</annotation></semantics></math> is <a class="existingWikiWord" href="/nlab/show/idempotent+adjunction">idempotent</a>, this sub-poset is itself a quantale, and indeed a <a class="existingWikiWord" href="/nlab/show/star-autonomous+category">*-autonomous</a> one.</p> <p>The quantale-theoretic content of a compatibility relation is somewhat trickier: as defined it is a profunctor from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> to itself, whereas the negation of a pro-<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>*</mo></mrow><annotation encoding="application/x-tex">*</annotation></semantics></math>-autonomous poset would be a profunctor from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mi>A</mi> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">A^{op}</annotation></semantics></math> to <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>. (This would induce a functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup><msup><mo stretchy="false">)</mo> <mi>op</mi></msup><mo>→</mo><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">(\mathbf{2}^A)^{op} \to \mathbf{2}^{A}</annotation></semantics></math> due to the special property that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>2</mn></mstyle><mo>≅</mo><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}\cong \mathbf{2}^{op}</annotation></semantics></math>.) Moreover, the definition of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mo>¬</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">x \Vdash \neg P</annotation></semantics></math> for a compatibility relation is also the (metatheoretic) <em>negation</em> of the map on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A</annotation></semantics></math> that would be induced profunctorially. If we put these together, we can see that negation ought to be the the composite of the map <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup><mo>→</mo><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A \to \mathbf{2}^A</annotation></semantics></math> induced by the profunctor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> with the isomorphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup><mo>≅</mo><mo stretchy="false">(</mo><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mrow><msup><mi>A</mi> <mi>op</mi></msup></mrow></msup><msup><mo stretchy="false">)</mo> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A \cong (\mathbf{2}^{A^{op}})^{op}</annotation></semantics></math> (using again that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>2</mn></mstyle><mo>≅</mo><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}\cong \mathbf{2}^{op}</annotation></semantics></math>). At least if <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 discrete, so that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi><mo>≅</mo><msup><mi>A</mi> <mi>op</mi></msup></mrow><annotation encoding="application/x-tex">A\cong A^{op}</annotation></semantics></math>, then this has the correct domain and codomain, so we should be able to assert an axiom ensuring that it makes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A</annotation></semantics></math> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>*</mo></mrow><annotation encoding="application/x-tex">*</annotation></semantics></math>-autononmous.</p> <div class="query"> <p>To be completed…</p> </div> <h3 id="generalizations">Generalizations</h3> <p>The quantale-theoretic viewpoint suggests a generalization replacing <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mstyle mathvariant="bold"><mn>2</mn></mstyle></mrow><annotation encoding="application/x-tex">\mathbf{2}</annotation></semantics></math> by any other quantale. That is, for any quantale <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Q</mi></mrow><annotation encoding="application/x-tex">Q</annotation></semantics></math>, we can define a notion of “<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Q</mi></mrow><annotation encoding="application/x-tex">Q</annotation></semantics></math>-valued ternary frame” that generates a new quantale by Day convolution. Everything goes through without significant change, except that compatibility relations seem to require <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Q</mi></mrow><annotation encoding="application/x-tex">Q</annotation></semantics></math> itself to be <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>*</mo></mrow><annotation encoding="application/x-tex">*</annotation></semantics></math>-autonomous.</p> <h2 id="examples">Examples</h2> <h3 id="phase_spaces">Phase spaces</h3> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/magma">magma</a> with multiplication <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⋅</mo></mrow><annotation encoding="application/x-tex">\cdot</annotation></semantics></math>, then we can make it a ternary frame by defining <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> to mean <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⋅</mo><mi>y</mi><mo>=</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">x \cdot y = z</annotation></semantics></math>. More generally, if <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 poset equipped with a binary multiplication <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⋅</mo></mrow><annotation encoding="application/x-tex">\cdot</annotation></semantics></math>, we can make it an ordered ternary frame by defining <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> to mean <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⋅</mo><mi>y</mi><mo>≤</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">x \cdot y \le z</annotation></semantics></math>.</p> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⋅</mo></mrow><annotation encoding="application/x-tex">\cdot</annotation></semantics></math> has a unit object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>T</mi><mo>=</mo><mo stretchy="false">{</mo><mi>t</mi><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">T = \{t\}</annotation></semantics></math> (in the unordered case) or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>T</mi><mo>=</mo><mo stretchy="false">{</mo><mi>x</mi><mo stretchy="false">|</mo><mi>t</mi><mo>≤</mo><mi>x</mi><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">T = \{x | t \le x \}</annotation></semantics></math> (in the ordered case) is a truth set.</p> <p>Categorically, this corresponds to the usual way of regarding a <a class="existingWikiWord" href="/nlab/show/monoidal+category">monoidal category</a> as a <a class="existingWikiWord" href="/nlab/show/promonoidal+category">promonoidal category</a>.</p> <p>In the special case when <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 commutative <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a> equipped with a “false set” <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math> as above (usually written <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊥</mo></mrow><annotation encoding="application/x-tex">\bot</annotation></semantics></math>) in this context, this semantics for linear logic is called <a class="existingWikiWord" href="/nlab/show/phase+semantics">phase semantics</a> (see there for more). It is usually expressed in terms of the quantale <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msup><mstyle mathvariant="bold"><mn>2</mn></mstyle> <mi>A</mi></msup></mrow><annotation encoding="application/x-tex">\mathbf{2}^A</annotation></semantics></math> obtained by Day convolution, but after passing to fixed points of the double-negation monad (in order to obtain an involutive negation). In this context, fixed points of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>¬</mo><mo>¬</mo></mrow><annotation encoding="application/x-tex">\neg\neg</annotation></semantics></math> are referred to as <em>facts</em>.</p> <p>It is also possible to interpret the exponential modalities <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>!</mo></mrow><annotation encoding="application/x-tex">!</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">?</annotation></semantics></math> of linear logic using phase space semantics. For instance, we can define</p> <ul> <li><math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⊩</mo><mo>!</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">x \Vdash !P</annotation></semantics></math> if and only if <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> belongs to the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>¬</mo><mo>¬</mo></mrow><annotation encoding="application/x-tex">\neg\neg</annotation></semantics></math>-closure of the set of all idempotents <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math> such that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>⊩</mo><mi>P</mi><mi>&</mi><mstyle mathvariant="bold"><mn>1</mn></mstyle></mrow><annotation encoding="application/x-tex">y\Vdash P \& \mathbf{1}</annotation></semantics></math>.</li> </ul> <p>and obtain <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>?</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">?P</annotation></semantics></math> by duality.</p> <p>Phase space semantics is <em>complete</em> for <a class="existingWikiWord" href="/nlab/show/linear+logic">linear logic</a>, in the sense that a formula is provable if and only if in any phase space semantics we have <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn><mo>⊨</mo><mi>P</mi></mrow><annotation encoding="application/x-tex">1\vDash P</annotation></semantics></math>, where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math> is the unit element of the monoid <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="pcas">PCAs</h3> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/partial+combinatory+algebra">partial combinatory algebra</a> (PCA), we can make it a ternary frame by defining <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mi>x</mi><mi>y</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">R x y z</annotation></semantics></math> to mean that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>⋅</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">x \cdot y</annotation></semantics></math> is defined and equals <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math>. (Similarly, if <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 an ordered PCA we can make it an ordered ternary frame.) The resulting interpretation of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>⊸</mo></mrow><annotation encoding="application/x-tex">\multimap</annotation></semantics></math> almost coincides with the usual interpretation of implication in <a class="existingWikiWord" href="/nlab/show/realizability">realizability</a> over <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math>, and the combinators <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>k</mi><mo>,</mo><mi>s</mi></mrow><annotation encoding="application/x-tex">k,s</annotation></semantics></math> have the property that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>k</mi><mo>⊩</mo><mi>P</mi><mo>⊸</mo><mo stretchy="false">(</mo><mi>Q</mi><mo>⊸</mo><mi>P</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">k \Vdash P \multimap (Q \multimap P)</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>s</mi><mo>⊩</mo><mo stretchy="false">(</mo><mi>P</mi><mo>⊸</mo><mi>Q</mi><mo>⊸</mo><mi>R</mi><mo stretchy="false">)</mo><mo>⊸</mo><mo stretchy="false">(</mo><mi>P</mi><mo>⊸</mo><mi>Q</mi><mo stretchy="false">)</mo><mo>⊸</mo><mi>P</mi><mo>⊸</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">s \Vdash (P \multimap Q \multimap R) \multimap (P \multimap Q) \multimap P \multimap R</annotation></semantics></math> for any <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>P</mi><mo>,</mo><mi>Q</mi><mo>,</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">P,Q,R</annotation></semantics></math>, as would be expected from typed <a class="existingWikiWord" href="/nlab/show/combinatory+logic">combinatory logic</a>.</p> <h2 id="references">References</h2> <ul> <li> <p>R. Routley and R.K. Meyer, <em>The Semantics of Entailment I</em>, Truth, Syntax and Modality, ed. H. Leblanc, North-Holland Publishing Company (Amsterdam), pp. 199-243. (1973)</p> </li> <li> <p>R. Routley and R.K. Meyer, <em>The Semantics of Entailment, II-III</em>. Journal of Philosophical Logic, 1, 53-73 and 192-208. (1972)</p> </li> <li> <p>Natasha Kurtonina, <em>Frames and Labels - A modal analysis of categorial inference</em>. Ph.D. Thesis, Institute of Logic, Language and Information (ILLC), Amsterdam, 1994</p> </li> <li> <p>J. M. Dunn and R. K. Meyer, <em>Combinators and Structurally Free Logic</em>. Logic journal of the IGPL, 5(4):505-538, July 1997</p> </li> <li> <p>Greg Restall, <em>An introduction to substructural logic</em>. Routledge, 2000.</p> </li> </ul> </body></html> </div> <div class="revisedby"> <p> Last revised on March 15, 2024 at 10:56:27. See the <a href="/nlab/history/ternary+frame" 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/ternary+frame" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/3815/#Item_14">Discuss</a><span class="backintime"><a href="/nlab/revision/ternary+frame/8" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/diff/ternary+frame" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Changes from previous revision</a><a href="/nlab/history/ternary+frame" accesskey="S" class="navlink" id="history" rel="nofollow">History (8 revisions)</a> <a href="/nlab/show/ternary+frame/cite" style="color: black">Cite</a> <a href="/nlab/print/ternary+frame" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/ternary+frame" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>