CINXE.COM
ternary frame (Rev #8) 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 (Rev #8) in nLab </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="robots" content="noindex,nofollow" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link href="/stylesheets/instiki.css?1676280126" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/mathematics.css?1660229990" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/syntax.css?1660229990" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/nlab.css?1676280126" media="all" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/dreampulse/computer-modern-web-font@master/fonts.css"/> <style type="text/css"> h1#pageName, div.info, .newWikiWord a, a.existingWikiWord, .newWikiWord a:hover, [actiontype="toggle"]:hover, #TextileHelp h3 { color: #226622; } a:visited.existingWikiWord { color: #164416; } </style> <style type="text/css"><!--/*--><![CDATA[/*><!--*/ .toc ul {margin: 0; padding: 0;} .toc ul ul {margin: 0; padding: 0 0 0 10px;} .toc li > p {margin: 0} .toc ul li {list-style-type: none; position: relative;} .toc div {border-top:1px dotted #ccc;} .rightHandSide h2 {font-size: 1.5em;color:#008B26} table.plaintable { border-collapse:collapse; margin-left:30px; border:0; } .plaintable td {border:1px solid #000; padding: 3px;} .plaintable th {padding: 3px;} .plaintable caption { font-weight: bold; font-size:1.1em; text-align:center; margin-left:30px; } /* Query boxes for questioning and answering mechanism */ div.query{ background: #f6fff3; border: solid #ce9; border-width: 2px 1px; padding: 0 1em; margin: 0 1em; max-height: 20em; overflow: auto; } /* Standout boxes for putting important text */ div.standout{ background: #fff1f1; border: solid black; border-width: 2px 1px; padding: 0 1em; margin: 0 1em; overflow: auto; } /* Icon for links to n-category arXiv documents (commented out for now i.e. disabled) a[href*="http://arxiv.org/"] { background-image: url(../files/arXiv_icon.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 22px; } */ /* Icon for links to n-category cafe posts (disabled) a[href*="http://golem.ph.utexas.edu/category"] { background-image: url(../files/n-cafe_5.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ /* Icon for links to pdf files (disabled) a[href$=".pdf"] { background-image: url(../files/pdficon_small.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ /* Icon for links to pages, etc. -inside- pdf files (disabled) a[href*=".pdf#"] { background-image: url(../files/pdf_entry.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ a.existingWikiWord { color: #226622; } a.existingWikiWord:visited { color: #226622; } a.existingWikiWord[title] { border: 0px; color: #aa0505; text-decoration: none; } a.existingWikiWord[title]:visited { border: 0px; color: #551111; text-decoration: none; } a[href^="http://"] { border: 0px; color: #003399; } a[href^="http://"]:visited { border: 0px; color: #330066; } a[href^="https://"] { border: 0px; color: #003399; } a[href^="https://"]:visited { border: 0px; color: #330066; } div.dropDown .hide { display: none; } div.dropDown:hover .hide { display:block; } div.clickDown .hide { display: none; } div.clickDown:focus { outline:none; } div.clickDown:focus .hide, div.clickDown:hover .hide { display: block; } div.clickDown .clickToReveal, div.clickDown:focus .clickToHide { display:block; } div.clickDown:focus .clickToReveal, div.clickDown .clickToHide { display:none; } div.clickDown .clickToReveal:after { content: "A(Hover to reveal, click to "hold")"; font-size: 60%; } div.clickDown .clickToHide:after { content: "A(Click to hide)"; font-size: 60%; } div.clickDown .clickToHide, div.clickDown .clickToReveal { white-space: pre-wrap; } .un_theorem, .num_theorem, .un_lemma, .num_lemma, .un_prop, .num_prop, .un_cor, .num_cor, .un_defn, .num_defn, .un_example, .num_example, .un_note, .num_note, .un_remark, .num_remark { margin-left: 1em; } span.theorem_label { margin-left: -1em; } .proof span.theorem_label { margin-left: 0em; } :target { background-color: #BBBBBB; border-radius: 5pt; } /*]]>*/--></style> <script src="/javascripts/prototype.js?1660229990" type="text/javascript"></script> <script src="/javascripts/effects.js?1660229990" type="text/javascript"></script> <script src="/javascripts/dragdrop.js?1660229990" type="text/javascript"></script> <script src="/javascripts/controls.js?1660229990" type="text/javascript"></script> <script src="/javascripts/application.js?1660229990" type="text/javascript"></script> <script src="/javascripts/page_helper.js?1660229990" type="text/javascript"></script> <script src="/javascripts/thm_numbering.js?1660229990" type="text/javascript"></script> <script type="text/x-mathjax-config"> <!--//--><![CDATA[//><!-- MathJax.Ajax.config.path["Contrib"] = "/MathJax"; MathJax.Hub.Config({ MathML: { useMathMLspacing: true }, "HTML-CSS": { scale: 90, extensions: ["handle-floats.js"] } }); MathJax.Hub.Queue( function () { var fos = document.getElementsByTagName('foreignObject'); for (var i = 0; i < fos.length; i++) { MathJax.Hub.Typeset(fos[i]); } }); //--><!]]> </script> <script type="text/javascript"> <!--//--><![CDATA[//><!-- window.addEventListener("DOMContentLoaded", function () { var div = document.createElement('div'); var math = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'math'); document.body.appendChild(div); div.appendChild(math); // Test for MathML support comparable to WebKit version https://trac.webkit.org/changeset/203640 or higher. div.setAttribute('style', 'font-style: italic'); var mathml_unsupported = !(window.getComputedStyle(div.firstChild).getPropertyValue('font-style') === 'normal'); div.parentNode.removeChild(div); if (mathml_unsupported) { // MathML does not seem to be supported... var s = document.createElement('script'); s.src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=MML_HTMLorMML-full"; document.querySelector('head').appendChild(s); } else { document.head.insertAdjacentHTML("beforeend", '<style>svg[viewBox] {max-width: 100%}</style>'); } }); //--><!]]> </script> <link href="https://ncatlab.org/nlab/atom_with_headlines" rel="alternate" title="Atom with headlines" type="application/atom+xml" /> <link href="https://ncatlab.org/nlab/atom_with_content" rel="alternate" title="Atom with full content" type="application/atom+xml" /> <script type="text/javascript"> document.observe("dom:loaded", function() { generateThmNumbers(); }); </script> </head> <body> <div id="Container"> <div id="Content"> <h1 id="pageName"> <span style="float: left; margin: 0.5em 0.25em -0.25em 0"> <svg xmlns="http://www.w3.org/2000/svg" width="1.872em" height="1.8em" viewBox="0 0 190 181"> <path fill="#226622" d="M72.8 145c-1.6 17.3-15.7 10-23.6 20.2-5.6 7.3 4.8 15 11.4 15 11.5-.2 19-13.4 26.4-20.3 3.3-3 8.2-4 11.2-7.2a14 14 0 0 0 2.9-11.1c-1.4-9.6-12.4-18.6-16.9-27.2-5-9.6-10.7-27.4-24.1-27.7-17.4-.3-.4 26 4.7 30.7 2.4 2.3 5.4 4.1 7.3 6.9 1.6 2.3 2.1 5.8-1 7.2-5.9 2.6-12.4-6.3-15.5-10-8.8-10.6-15.5-23-26.2-31.8-5.2-4.3-11.8-8-18-3.7-7.3 4.9-4.2 12.9.2 18.5a81 81 0 0 0 30.7 23c3.3 1.5 12.8 5.6 10 10.7-2.5 5.2-11.7 3-15.6 1.1-8.4-3.8-24.3-21.3-34.4-13.7-3.5 2.6-2.3 7.6-1.2 11.1 2.8 9 12.2 17.2 20.9 20.5 17.3 6.7 34.3-8 50.8-12.1z"/> <path fill="#a41e32" d="M145.9 121.3c-.2-7.5 0-19.6-4.5-26-5.4-7.5-12.9-1-14.1 5.8-1.4 7.8 2.7 14.1 4.8 21.3 3.4 12 5.8 29-.8 40.1-3.6-6.7-5.2-13-7-20.4-2.1-8.2-12.8-13.2-15.1-1.9-2 9.7 9 21.2 12 30.1 1.2 4 2 8.8 6.4 10.3 6.9 2.3 13.3-4.7 17.7-8.8 12.2-11.5 36.6-20.7 43.4-36.4 6.7-15.7-13.7-14-21.3-7.2-9.1 8-11.9 20.5-23.6 25.1 7.5-23.7 31.8-37.6 38.4-61.4 2-7.3-.8-29.6-13-19.8-14.5 11.6-6.6 37.6-23.3 49.2z"/> <path fill="#193c78" d="M86.3 47.5c0-13-10.2-27.6-5.8-40.4 2.8-8.4 14.1-10.1 17-1 3.8 11.6-.3 26.3-1.8 38 11.7-.7 10.5-16 14.8-24.3 2.1-4.2 5.7-9.1 11-6.7 6 2.7 7.4 9.2 6.6 15.1-2.2 14-12.2 18.8-22.4 27-3.4 2.7-8 6.6-5.9 11.6 2 4.4 7 4.5 10.7 2.8 7.4-3.3 13.4-16.5 21.7-16 14.6.7 12 21.9.9 26.2-5 1.9-10.2 2.3-15.2 3.9-5.8 1.8-9.4 8.7-15.7 8.9-6.1.1-9-6.9-14.3-9-14.4-6-33.3-2-44.7-14.7-3.7-4.2-9.6-12-4.9-17.4 9.3-10.7 28 7.2 35.7 12 2 1.1 11 6.9 11.4 1.1.4-5.2-10-8.2-13.5-10-11.1-5.2-30-15.3-35-27.3-2.5-6 2.8-13.8 9.4-13.6 6.9.2 13.4 7 17.5 12C70.9 34 75 43.8 86.3 47.4z"/> </svg> </span> <span class="webName">nLab</span> ternary frame (Rev #8) </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"> <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><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><li><a href='#dayconvolution'>From ternary frames to quantales</a><ul><li><a href='#generalizations'>Generalizations</a></li></ul></li><li><a href='#examples'>Examples</a><ul><li><a href='#phase_spaces'>Phase spaces</a></li><li><a href='#pcas'>PCAs</a></li></ul></li><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+theory'>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+frame'>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/relevance+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/partial+order'>posets</a> to <a class='existingWikiWord' href='/nlab/show/category'>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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_1' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> together with a ternary relation <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_2' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>R</mi></mrow><annotation encoding='application/x-tex'>R</annotation></semantics></math> on <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_3' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math>; we write <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_4' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_5' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>R</mi></mrow><annotation encoding='application/x-tex'>R</annotation></semantics></math> holds of three elements <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_6' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_7' xmlns='http://www.w3.org/1998/Math/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+order'>partial ordering</a>; in this case we demand the compatibility condition that if <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_8' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_9' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_10' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_11' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_12' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_13' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_14' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> which satisfy it. If <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_15' xmlns='http://www.w3.org/1998/Math/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+connective'>logical connectives</a> can then be defined inductively by clauses such as the following:</p> <ul> <li><math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_16' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_17' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_18' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_19' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_20' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_21' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_22' xmlns='http://www.w3.org/1998/Math/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/falsehood'>falsity</a>) never.</li> <li><math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_23' xmlns='http://www.w3.org/1998/Math/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/true+proposition'>truth</a>) always.</li> <li><math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_24' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_25' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_26' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_27' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_28' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_29' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_30' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>y</mi><mo>,</mo><mi>z</mi></mrow><annotation encoding='application/x-tex'>y,z</annotation></semantics></math>, if <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_31' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_32' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_33' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_34' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>x</mi><mo>⊩</mo><mi>P</mi><mo>⊸</mo><mo>′</mo><mi>Q</mi></mrow><annotation encoding='application/x-tex'>x \Vdash P \multimap' Q</annotation></semantics></math> (the dual linear implication) if and only if for all <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_35' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>y</mi><mo>,</mo><mi>z</mi></mrow><annotation encoding='application/x-tex'>y,z</annotation></semantics></math>, if <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_36' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_37' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_38' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_39' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_40' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_41' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_42' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_43' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_44' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_45' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_46' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_47' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_48' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> and a subset <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_49' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>T</mi></mrow><annotation encoding='application/x-tex'>T</annotation></semantics></math>, we could <em>define</em> <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_50' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_51' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_52' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_53' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_54' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_55' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>⊥</mo></mrow><annotation encoding='application/x-tex'>\bot</annotation></semantics></math> and negative disjunction <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_56' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>⅋</mo></mrow><annotation encoding='application/x-tex'>\parr</annotation></semantics></math> by duality from positive truth <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_57' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_58' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_59' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>C</mi></mrow><annotation encoding='application/x-tex'>C</annotation></semantics></math>. If <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_60' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_61' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_62' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_63' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_64' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_65' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>C</mi></mrow><annotation encoding='application/x-tex'>C</annotation></semantics></math>, we define</p> <ul> <li><math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_66' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_67' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>y</mi></mrow><annotation encoding='application/x-tex'>y</annotation></semantics></math>, if <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_68' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_69' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_70' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_71' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>⊥</mo></mrow><annotation encoding='application/x-tex'>\bot</annotation></semantics></math>:</p> <ul> <li><math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_72' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_73' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_74' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_75' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_76' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_77' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_78' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_79' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>⊗</mo></mrow><annotation encoding='application/x-tex'>\otimes</annotation></semantics></math>, <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_80' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>⊕</mo></mrow><annotation encoding='application/x-tex'>\oplus</annotation></semantics></math>, <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_81' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mstyle mathvariant='bold'><mn>1</mn></mstyle></mrow><annotation encoding='application/x-tex'>\mathbf{1}</annotation></semantics></math>, and <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_82' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_83' xmlns='http://www.w3.org/1998/Math/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/power+set'>powerset</a> of <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_84' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math>. In the case when <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_85' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> is a poset, instead of the powerset of <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_86' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_87' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_88' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> to be a poset, with <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_89' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_90' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_91' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_92' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_93' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_94' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_95' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>R</mi></mrow><annotation encoding='application/x-tex'>R</annotation></semantics></math> is a <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_96' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_97' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_98' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_99' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_100' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>R</mi></mrow><annotation encoding='application/x-tex'>R</annotation></semantics></math> induces a binary tensor product on the <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_101' xmlns='http://www.w3.org/1998/Math/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/category+of+presheaves'>presheaf category</a> <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_102' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_103' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_104' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_105' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_106' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>&</mi></mrow><annotation encoding='application/x-tex'>\&</annotation></semantics></math> and <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_107' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>⊕</mo></mrow><annotation encoding='application/x-tex'>\oplus</annotation></semantics></math> are just the categorical product and coproduct in <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_108' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_109' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mstyle mathvariant='bold'><mn>0</mn></mstyle></mrow><annotation encoding='application/x-tex'>\mathbf{0}</annotation></semantics></math> and <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_110' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_111' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>T</mi></mrow><annotation encoding='application/x-tex'>T</annotation></semantics></math> corresponds to a profunctor <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_112' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_113' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_114' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_115' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>T</mi></mrow><annotation encoding='application/x-tex'>T</annotation></semantics></math>, the interpretation of the positive truth <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_116' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_117' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_118' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>z</mi></mrow><annotation encoding='application/x-tex'>z</annotation></semantics></math> with <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_119' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_120' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_121' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>w</mi></mrow><annotation encoding='application/x-tex'>w</annotation></semantics></math> with <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_122' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_123' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_124' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_125' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_126' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_127' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_128' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_129' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_130' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>*</mo></mrow><annotation encoding='application/x-tex'>*</annotation></semantics></math>-autonomous poset would be a profunctor from <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_131' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><msup><mi>A</mi> <mi>op</mi></msup></mrow><annotation encoding='application/x-tex'>A^{op}</annotation></semantics></math> to <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_132' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math>. (This would induce a functor <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_133' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_134' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_135' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_136' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_137' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_138' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>C</mi></mrow><annotation encoding='application/x-tex'>C</annotation></semantics></math> with the isomorphism <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_139' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_140' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_141' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> is discrete, so that <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_142' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_143' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_144' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_145' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_146' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>Q</mi></mrow><annotation encoding='application/x-tex'>Q</annotation></semantics></math>, we can define a notion of “<math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_147' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_148' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>Q</mi></mrow><annotation encoding='application/x-tex'>Q</annotation></semantics></math> itself to be <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_149' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_150' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> is a <a class='existingWikiWord' href='/nlab/show/magma'>magma</a> with multiplication <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_151' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_152' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_153' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_154' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> is a poset equipped with a binary multiplication <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_155' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_156' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_157' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_158' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>⋅</mo></mrow><annotation encoding='application/x-tex'>\cdot</annotation></semantics></math> has a unit object <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_159' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>t</mi></mrow><annotation encoding='application/x-tex'>t</annotation></semantics></math>, then <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_160' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_161' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_162' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> is a commutative <a class='existingWikiWord' href='/nlab/show/monoid'>monoid</a> equipped with a “false set” <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_163' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>F</mi></mrow><annotation encoding='application/x-tex'>F</annotation></semantics></math> as above (usually written <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_164' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_165' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_166' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_167' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mo>!</mo></mrow><annotation encoding='application/x-tex'>!</annotation></semantics></math> and <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_168' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_169' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_170' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>x</mi></mrow><annotation encoding='application/x-tex'>x</annotation></semantics></math> belongs to the <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_171' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_172' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>y</mi></mrow><annotation encoding='application/x-tex'>y</annotation></semantics></math> such that <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_173' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_174' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_175' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_176' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mn>1</mn></mrow><annotation encoding='application/x-tex'>1</annotation></semantics></math> is the unit element of the monoid <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_177' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_178' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math> is a <a class='existingWikiWord' href='/nlab/show/partial+combinatory+algebra'>partial combinatory algebra</a> (PCA), we can make it a ternary frame by defining <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_179' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_180' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_181' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>z</mi></mrow><annotation encoding='application/x-tex'>z</annotation></semantics></math>. (Similarly, if <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_182' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_183' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_184' xmlns='http://www.w3.org/1998/Math/MathML'><semantics><mrow><mi>A</mi></mrow><annotation encoding='application/x-tex'>A</annotation></semantics></math>, and the combinators <math class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_185' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_186' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_187' xmlns='http://www.w3.org/1998/Math/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 class='maruku-mathml' display='inline' id='mathml_6180ba805badbf87460a6a5d0a1e639f2805c23f_188' xmlns='http://www.w3.org/1998/Math/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> <p> </p> </div> <!-- Revision --> <div class="revisedby"> <p> Revision on March 14, 2024 at 11:34:29 by <a href="/nlab/author/Max+S.+New" style="color: #005c19">Max S. New</a> 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="https://nforum.ncatlab.org/discussion/3815/#Item_14">Discuss</a><span class="backintime"><a href="/nlab/show/ternary+frame" accesskey="F" class="navlinkbackintime" id="to_next_revision" rel="nofollow">Next revision</a> (to current)</span><span class="backintime"><a href="/nlab/revision/ternary+frame/7" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a> (7 more)</span><a href="/nlab/show/ternary+frame" class="navlink" id="to_current_revision">Current version of page</a><a href="/nlab/revision/diff/ternary+frame/8" 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/rollback/ternary+frame?rev=8" class="navlink" id="rollback" rel="nofollow">Rollback</a> <a href="/nlab/revision/ternary+frame/8/cite" style="color: black">Cite</a> <a href="/nlab/source/ternary+frame/8" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>