bsc-leon-vatthauer/agda/bsc-thesis/Relation.Binary.Consequences.html

317 lines
102 KiB
HTML
Raw Normal View History

2024-02-09 17:53:52 +01:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Relation.Binary.Consequences</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
<a id="74" class="Comment">-- The Agda standard library</a>
<a id="103" class="Comment">--</a>
<a id="106" class="Comment">-- Some properties imply others</a>
<a id="138" class="Comment">------------------------------------------------------------------------</a>
<a id="212" class="Symbol">{-#</a> <a id="216" class="Keyword">OPTIONS</a> <a id="224" class="Pragma">--cubical-compatible</a> <a id="245" class="Pragma">--safe</a> <a id="252" class="Symbol">#-}</a>
<a id="257" class="Keyword">module</a> <a id="264" href="Relation.Binary.Consequences.html" class="Module">Relation.Binary.Consequences</a> <a id="293" class="Keyword">where</a>
<a id="300" class="Keyword">open</a> <a id="305" class="Keyword">import</a> <a id="312" href="Data.Maybe.Base.html" class="Module">Data.Maybe.Base</a> <a id="328" class="Keyword">using</a> <a id="334" class="Symbol">(</a><a id="335" href="Agda.Builtin.Maybe.html#173" class="InductiveConstructor">just</a><a id="339" class="Symbol">;</a> <a id="341" href="Agda.Builtin.Maybe.html#194" class="InductiveConstructor">nothing</a><a id="348" class="Symbol">;</a> <a id="350" href="Data.Maybe.Base.html#1241" class="Function">decToMaybe</a><a id="360" class="Symbol">)</a>
<a id="362" class="Keyword">open</a> <a id="367" class="Keyword">import</a> <a id="374" href="Data.Sum.Base.html" class="Module">Data.Sum.Base</a> <a id="388" class="Symbol">as</a> <a id="391" class="Module">Sum</a> <a id="395" class="Keyword">using</a> <a id="401" class="Symbol">(</a><a id="402" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a><a id="406" class="Symbol">;</a> <a id="408" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a><a id="412" class="Symbol">;</a> <a id="414" href="Data.Sum.Base.html#980" class="Function Operator">[_,_]</a><a id="420" class="Symbol">)</a>
<a id="422" class="Keyword">open</a> <a id="427" class="Keyword">import</a> <a id="434" href="Data.Product.Base.html" class="Module">Data.Product.Base</a> <a id="452" class="Keyword">using</a> <a id="458" class="Symbol">(</a><a id="459" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="462" class="Symbol">)</a>
<a id="464" class="Keyword">open</a> <a id="469" class="Keyword">import</a> <a id="476" href="Data.Empty.Irrelevant.html" class="Module">Data.Empty.Irrelevant</a> <a id="498" class="Keyword">using</a> <a id="504" class="Symbol">(</a><a id="505" href="Data.Empty.Irrelevant.html#336" class="Function">⊥-elim</a><a id="511" class="Symbol">)</a>
<a id="513" class="Keyword">open</a> <a id="518" class="Keyword">import</a> <a id="525" href="Function.Base.html" class="Module">Function.Base</a> <a id="539" class="Keyword">using</a> <a id="545" class="Symbol">(</a><a id="546" href="Function.Base.html#1115" class="Function Operator">_∘_</a><a id="549" class="Symbol">;</a> <a id="551" href="Function.Base.html#1303" class="Function Operator">_∘₂_</a><a id="555" class="Symbol">;</a> <a id="557" href="Function.Base.html#1974" class="Function Operator">_$_</a><a id="560" class="Symbol">;</a> <a id="562" href="Function.Base.html#1638" class="Function">flip</a><a id="566" class="Symbol">)</a>
<a id="568" class="Keyword">open</a> <a id="573" class="Keyword">import</a> <a id="580" href="Level.html" class="Module">Level</a> <a id="586" class="Keyword">using</a> <a id="592" class="Symbol">(</a><a id="593" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="598" class="Symbol">)</a>
<a id="600" class="Keyword">open</a> <a id="605" class="Keyword">import</a> <a id="612" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a>
<a id="633" class="Keyword">open</a> <a id="638" class="Keyword">import</a> <a id="645" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a>
<a id="673" class="Keyword">open</a> <a id="678" class="Keyword">import</a> <a id="685" href="Relation.Nullary.html" class="Module">Relation.Nullary</a> <a id="702" class="Keyword">using</a> <a id="708" class="Symbol">(</a><a id="709" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a><a id="712" class="Symbol">;</a> <a id="714" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a><a id="716" class="Symbol">;</a> <a id="718" href="Relation.Nullary.Decidable.Core.html#2212" class="Function">recompute</a><a id="727" class="Symbol">;</a> <a id="729" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬_</a><a id="731" class="Symbol">)</a>
<a id="733" class="Keyword">open</a> <a id="738" class="Keyword">import</a> <a id="745" href="Relation.Nullary.Decidable.Core.html" class="Module">Relation.Nullary.Decidable.Core</a> <a id="777" class="Keyword">using</a> <a id="783" class="Symbol">(</a><a id="784" href="Relation.Nullary.Decidable.Core.html#4901" class="Function">map</a><a id="788" class="Symbol">)</a>
<a id="790" class="Keyword">open</a> <a id="795" class="Keyword">import</a> <a id="802" href="Relation.Unary.html" class="Module">Relation.Unary</a> <a id="817" class="Keyword">using</a> <a id="823" class="Symbol">(</a><a id="824" href="Relation.Unary.html#4561" class="Function"></a><a id="825" class="Symbol">;</a> <a id="827" href="Relation.Unary.html#1232" class="Function">Pred</a><a id="831" class="Symbol">)</a>
<a id="834" class="Keyword">private</a>
<a id="844" class="Keyword">variable</a>
<a id="857" href="Relation.Binary.Consequences.html#857" class="Generalizable">a</a> <a id="859" href="Relation.Binary.Consequences.html#859" class="Generalizable"></a> <a id="861" href="Relation.Binary.Consequences.html#861" class="Generalizable">ℓ₁</a> <a id="864" href="Relation.Binary.Consequences.html#864" class="Generalizable">ℓ₂</a> <a id="867" href="Relation.Binary.Consequences.html#867" class="Generalizable">ℓ₃</a> <a id="870" href="Relation.Binary.Consequences.html#870" class="Generalizable">ℓ₄</a> <a id="873" href="Relation.Binary.Consequences.html#873" class="Generalizable">p</a> <a id="875" class="Symbol">:</a> <a id="877" href="Agda.Primitive.html#742" class="Postulate">Level</a>
<a id="887" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="889" href="Relation.Binary.Consequences.html#889" class="Generalizable">B</a> <a id="891" class="Symbol">:</a> <a id="893" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="897" href="Relation.Binary.Consequences.html#857" class="Generalizable">a</a>
<a id="900" class="Comment">------------------------------------------------------------------------</a>
<a id="973" class="Comment">-- Substitutive properties</a>
<a id="1001" class="Keyword">module</a> <a id="1008" href="Relation.Binary.Consequences.html#1008" class="Module">_</a> <a id="1010" class="Symbol">{</a><a id="1011" href="Relation.Binary.Consequences.html#1011" class="Bound Operator">__</a> <a id="1015" class="Symbol">:</a> <a id="1017" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1021" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="1023" href="Relation.Binary.Consequences.html#859" class="Generalizable"></a><a id="1024" class="Symbol">}</a> <a id="1026" class="Symbol">(</a><a id="1027" href="Relation.Binary.Consequences.html#1027" class="Bound">R</a> <a id="1029" class="Symbol">:</a> <a id="1031" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1035" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="1037" href="Relation.Binary.Consequences.html#873" class="Generalizable">p</a><a id="1038" class="Symbol">)</a> <a id="1040" class="Keyword">where</a>
<a id="1049" href="Relation.Binary.Consequences.html#1049" class="Function">subst⇒respˡ</a> <a id="1061" class="Symbol">:</a> <a id="1063" href="Relation.Binary.Definitions.html#5955" class="Function">Substitutive</a> <a id="1076" href="Relation.Binary.Consequences.html#1011" class="Bound Operator">__</a> <a id="1080" href="Relation.Binary.Consequences.html#1037" class="Bound">p</a> <a id="1082" class="Symbol"></a> <a id="1084" href="Relation.Binary.Consequences.html#1027" class="Bound">R</a> <a id="1086" href="Relation.Binary.Definitions.html#5500" class="Function Operator">Respectsˡ</a> <a id="1096" href="Relation.Binary.Consequences.html#1011" class="Bound Operator">__</a>
<a id="1102" href="Relation.Binary.Consequences.html#1049" class="Function">subst⇒respˡ</a> <a id="1114" href="Relation.Binary.Consequences.html#1114" class="Bound">subst</a> <a id="1120" class="Symbol">{</a><a id="1121" href="Relation.Binary.Consequences.html#1121" class="Bound">y</a><a id="1122" class="Symbol">}</a> <a id="1124" href="Relation.Binary.Consequences.html#1124" class="Bound">xx</a> <a id="1129" href="Relation.Binary.Consequences.html#1129" class="Bound">Pxy</a> <a id="1134" class="Symbol">=</a> <a id="1136" href="Relation.Binary.Consequences.html#1114" class="Bound">subst</a> <a id="1142" class="Symbol">(</a><a id="1143" href="Function.Base.html#1638" class="Function">flip</a> <a id="1148" href="Relation.Binary.Consequences.html#1027" class="Bound">R</a> <a id="1150" href="Relation.Binary.Consequences.html#1121" class="Bound">y</a><a id="1151" class="Symbol">)</a> <a id="1153" href="Relation.Binary.Consequences.html#1124" class="Bound">xx</a> <a id="1158" href="Relation.Binary.Consequences.html#1129" class="Bound">Pxy</a>
<a id="1166" href="Relation.Binary.Consequences.html#1166" class="Function">subst⇒respʳ</a> <a id="1178" class="Symbol">:</a> <a id="1180" href="Relation.Binary.Definitions.html#5955" class="Function">Substitutive</a> <a id="1193" href="Relation.Binary.Consequences.html#1011" class="Bound Operator">__</a> <a id="1197" href="Relation.Binary.Consequences.html#1037" class="Bound">p</a> <a id="1199" class="Symbol"></a> <a id="1201" href="Relation.Binary.Consequences.html#1027" class="Bound">R</a> <a id="1203" href="Relation.Binary.Definitions.html#5335" class="Function Operator">Respectsʳ</a> <a id="1213" href="Relation.Binary.Consequences.html#1011" class="Bound Operator">__</a>
<a id="1219" href="Relation.Binary.Consequences.html#1166" class="Function">subst⇒respʳ</a> <a id="1231" href="Relation.Binary.Consequences.html#1231" class="Bound">subst</a> <a id="1237" class="Symbol">{</a><a id="1238" href="Relation.Binary.Consequences.html#1238" class="Bound">x</a><a id="1239" class="Symbol">}</a> <a id="1241" href="Relation.Binary.Consequences.html#1241" class="Bound">yy</a> <a id="1246" href="Relation.Binary.Consequences.html#1246" class="Bound">Pxy</a> <a id="1251" class="Symbol">=</a> <a id="1253" href="Relation.Binary.Consequences.html#1231" class="Bound">subst</a> <a id="1259" class="Symbol">(</a><a id="1260" href="Relation.Binary.Consequences.html#1027" class="Bound">R</a> <a id="1262" href="Relation.Binary.Consequences.html#1238" class="Bound">x</a><a id="1263" class="Symbol">)</a> <a id="1265" href="Relation.Binary.Consequences.html#1241" class="Bound">yy</a> <a id="1270" href="Relation.Binary.Consequences.html#1246" class="Bound">Pxy</a>
<a id="1278" href="Relation.Binary.Consequences.html#1278" class="Function">subst⇒resp₂</a> <a id="1290" class="Symbol">:</a> <a id="1292" href="Relation.Binary.Definitions.html#5955" class="Function">Substitutive</a> <a id="1305" href="Relation.Binary.Consequences.html#1011" class="Bound Operator">__</a> <a id="1309" href="Relation.Binary.Consequences.html#1037" class="Bound">p</a> <a id="1311" class="Symbol"></a> <a id="1313" href="Relation.Binary.Consequences.html#1027" class="Bound">R</a> <a id="1315" href="Relation.Binary.Definitions.html#5663" class="Function Operator">Respects₂</a> <a id="1325" href="Relation.Binary.Consequences.html#1011" class="Bound Operator">__</a>
<a id="1331" href="Relation.Binary.Consequences.html#1278" class="Function">subst⇒resp₂</a> <a id="1343" href="Relation.Binary.Consequences.html#1343" class="Bound">subst</a> <a id="1349" class="Symbol">=</a> <a id="1351" href="Relation.Binary.Consequences.html#1166" class="Function">subst⇒respʳ</a> <a id="1363" href="Relation.Binary.Consequences.html#1343" class="Bound">subst</a> <a id="1369" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1371" href="Relation.Binary.Consequences.html#1049" class="Function">subst⇒respˡ</a> <a id="1383" href="Relation.Binary.Consequences.html#1343" class="Bound">subst</a>
<a id="1390" class="Keyword">module</a> <a id="1397" href="Relation.Binary.Consequences.html#1397" class="Module">_</a> <a id="1399" class="Symbol">{</a><a id="1400" href="Relation.Binary.Consequences.html#1400" class="Bound Operator">__</a> <a id="1404" class="Symbol">:</a> <a id="1406" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1410" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="1412" href="Relation.Binary.Consequences.html#859" class="Generalizable"></a><a id="1413" class="Symbol">}</a> <a id="1415" class="Symbol">{</a><a id="1416" href="Relation.Binary.Consequences.html#1416" class="Bound">P</a> <a id="1418" class="Symbol">:</a> <a id="1420" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1425" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="1427" href="Relation.Binary.Consequences.html#873" class="Generalizable">p</a><a id="1428" class="Symbol">}</a> <a id="1430" class="Keyword">where</a>
<a id="1439" href="Relation.Binary.Consequences.html#1439" class="Function">resp⇒¬-resp</a> <a id="1451" class="Symbol">:</a> <a id="1453" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="1463" href="Relation.Binary.Consequences.html#1400" class="Bound Operator">__</a> <a id="1467" class="Symbol"></a> <a id="1469" href="Relation.Binary.Consequences.html#1416" class="Bound">P</a> <a id="1471" href="Relation.Binary.Definitions.html#5179" class="Function Operator">Respects</a> <a id="1480" href="Relation.Binary.Consequences.html#1400" class="Bound Operator">__</a> <a id="1484" class="Symbol"></a> <a id="1486" class="Symbol">(</a><a id="1487" href="Relation.Unary.html#4561" class="Function"></a> <a id="1489" href="Relation.Binary.Consequences.html#1416" class="Bound">P</a><a id="1490" class="Symbol">)</a> <a id="1492" href="Relation.Binary.Definitions.html#5179" class="Function Operator">Respects</a> <a id="1501" href="Relation.Binary.Consequences.html#1400" class="Bound Operator">__</a>
<a id="1507" href="Relation.Binary.Consequences.html#1439" class="Function">resp⇒¬-resp</a> <a id="1519" href="Relation.Binary.Consequences.html#1519" class="Bound">sym</a> <a id="1523" href="Relation.Binary.Consequences.html#1523" class="Bound">resp</a> <a id="1528" href="Relation.Binary.Consequences.html#1528" class="Bound">xy</a> <a id="1532" href="Relation.Binary.Consequences.html#1532" class="Bound">¬Px</a> <a id="1536" href="Relation.Binary.Consequences.html#1536" class="Bound">Py</a> <a id="1539" class="Symbol">=</a> <a id="1541" href="Relation.Binary.Consequences.html#1532" class="Bound">¬Px</a> <a id="1545" class="Symbol">(</a><a id="1546" href="Relation.Binary.Consequences.html#1523" class="Bound">resp</a> <a id="1551" class="Symbol">(</a><a id="1552" href="Relation.Binary.Consequences.html#1519" class="Bound">sym</a> <a id="1556" href="Relation.Binary.Consequences.html#1528" class="Bound">xy</a><a id="1559" class="Symbol">)</a> <a id="1561" href="Relation.Binary.Consequences.html#1536" class="Bound">Py</a><a id="1563" class="Symbol">)</a>
<a id="1566" class="Comment">------------------------------------------------------------------------</a>
<a id="1639" class="Comment">-- Proofs for negation</a>
<a id="1663" class="Keyword">module</a> <a id="1670" href="Relation.Binary.Consequences.html#1670" class="Module">_</a> <a id="1672" class="Symbol">{</a><a id="1673" href="Relation.Binary.Consequences.html#1673" class="Bound Operator">__</a> <a id="1677" class="Symbol">:</a> <a id="1679" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1683" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="1685" href="Relation.Binary.Consequences.html#859" class="Generalizable"></a><a id="1686" class="Symbol">}</a> <a id="1688" class="Keyword">where</a>
<a id="1697" href="Relation.Binary.Consequences.html#1697" class="Function">sym⇒¬-sym</a> <a id="1707" class="Symbol">:</a> <a id="1709" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="1719" href="Relation.Binary.Consequences.html#1673" class="Bound Operator">__</a> <a id="1723" class="Symbol"></a> <a id="1725" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="1735" class="Symbol">(</a><a id="1736" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬_</a> <a id="1739" href="Function.Base.html#1303" class="Function Operator">∘₂</a> <a id="1742" href="Relation.Binary.Consequences.html#1673" class="Bound Operator">__</a><a id="1745" class="Symbol">)</a>
<a id="1749" href="Relation.Binary.Consequences.html#1697" class="Function">sym⇒¬-sym</a> <a id="1759" href="Relation.Binary.Consequences.html#1759" class="Bound">sym≁</a> <a id="1764" href="Relation.Binary.Consequences.html#1764" class="Bound">x≁y</a> <a id="1768" href="Relation.Binary.Consequences.html#1768" class="Bound">yx</a> <a id="1772" class="Symbol">=</a> <a id="1774" href="Relation.Binary.Consequences.html#1764" class="Bound">x≁y</a> <a id="1778" class="Symbol">(</a><a id="1779" href="Relation.Binary.Consequences.html#1759" class="Bound">sym≁</a> <a id="1784" href="Relation.Binary.Consequences.html#1768" class="Bound">yx</a><a id="1787" class="Symbol">)</a>
<a id="1792" class="Comment">-- N.B. the implicit arguments to Cotransitive are permuted w.r.t.</a>
<a id="1861" class="Comment">-- those of Transitive</a>
<a id="1886" href="Relation.Binary.Consequences.html#1886" class="Function">cotrans⇒¬-trans</a> <a id="1902" class="Symbol">:</a> <a id="1904" href="Relation.Binary.Definitions.html#3829" class="Function">Cotransitive</a> <a id="1917" href="Relation.Binary.Consequences.html#1673" class="Bound Operator">__</a> <a id="1921" class="Symbol"></a> <a id="1923" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="1934" class="Symbol">(</a><a id="1935" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬_</a> <a id="1938" href="Function.Base.html#1303" class="Function Operator">∘₂</a> <a id="1941" href="Relation.Binary.Consequences.html#1673" class="Bound Operator">__</a><a id="1944" class="Symbol">)</a>
<a id="1948" href="Relation.Binary.Consequences.html#1886" class="Function">cotrans⇒¬-trans</a> <a id="1964" href="Relation.Binary.Consequences.html#1964" class="Bound">cotrans</a> <a id="1972" class="Symbol">{</a><a id="1973" class="Argument">j</a> <a id="1975" class="Symbol">=</a> <a id="1977" href="Relation.Binary.Consequences.html#1977" class="Bound">z</a><a id="1978" class="Symbol">}</a> <a id="1980" href="Relation.Binary.Consequences.html#1980" class="Bound">x≁z</a> <a id="1984" href="Relation.Binary.Consequences.html#1984" class="Bound">z≁y</a> <a id="1988" href="Relation.Binary.Consequences.html#1988" class="Bound">xy</a> <a id="1992" class="Symbol">=</a>
<a id="1998" href="Data.Sum.Base.html#980" class="Function Operator">[</a> <a id="2000" href="Relation.Binary.Consequences.html#1980" class="Bound">x≁z</a> <a id="2004" href="Data.Sum.Base.html#980" class="Function Operator">,</a> <a id="2006" href="Relation.Binary.Consequences.html#1984" class="Bound">z≁y</a> <a id="2010" href="Data.Sum.Base.html#980" class="Function Operator">]</a> <a id="2013" class="Symbol">(</a><a id="2014" href="Relation.Binary.Consequences.html#1964" class="Bound">cotrans</a> <a id="2022" href="Relation.Binary.Consequences.html#1988" class="Bound">xy</a> <a id="2026" href="Relation.Binary.Consequences.html#1977" class="Bound">z</a><a id="2027" class="Symbol">)</a>
<a id="2030" class="Comment">------------------------------------------------------------------------</a>
<a id="2103" class="Comment">-- Proofs for Irreflexive relations</a>
<a id="2140" class="Keyword">module</a> <a id="2147" href="Relation.Binary.Consequences.html#2147" class="Module">_</a> <a id="2149" class="Symbol">{</a><a id="2150" href="Relation.Binary.Consequences.html#2150" class="Bound Operator">_≈_</a> <a id="2154" class="Symbol">:</a> <a id="2156" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2160" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="2162" href="Relation.Binary.Consequences.html#861" class="Generalizable">ℓ₁</a><a id="2164" class="Symbol">}</a> <a id="2166" class="Symbol">{</a><a id="2167" href="Relation.Binary.Consequences.html#2167" class="Bound Operator">__</a> <a id="2171" class="Symbol">:</a> <a id="2173" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2177" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="2179" href="Relation.Binary.Consequences.html#864" class="Generalizable">ℓ₂</a><a id="2181" class="Symbol">}</a> <a id="2183" class="Keyword">where</a>
<a id="2192" href="Relation.Binary.Consequences.html#2192" class="Function">irrefl⇒¬-refl</a> <a id="2206" class="Symbol">:</a> <a id="2208" href="Relation.Binary.Definitions.html#1428" class="Function">Reflexive</a> <a id="2218" href="Relation.Binary.Consequences.html#2150" class="Bound Operator">_≈_</a> <a id="2222" class="Symbol"></a> <a id="2224" href="Relation.Binary.Definitions.html#2478" class="Function">Irreflexive</a> <a id="2236" href="Relation.Binary.Consequences.html#2150" class="Bound Operator">_≈_</a> <a id="2240" href="Relation.Binary.Consequences.html#2167" class="Bound Operator">__</a> <a id="2244" class="Symbol"></a>
<a id="2264" href="Relation.Binary.Definitions.html#1428" class="Function">Reflexive</a> <a id="2274" class="Symbol">(</a><a id="2275" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬_</a> <a id="2278" href="Function.Base.html#1303" class="Function Operator">∘₂</a> <a id="2281" href="Relation.Binary.Consequences.html#2167" class="Bound Operator">__</a><a id="2284" class="Symbol">)</a>
<a id="2288" href="Relation.Binary.Consequences.html#2192" class="Function">irrefl⇒¬-refl</a> <a id="2302" href="Relation.Binary.Consequences.html#2302" class="Bound">re</a> <a id="2305" href="Relation.Binary.Consequences.html#2305" class="Bound">irr</a> <a id="2309" class="Symbol">=</a> <a id="2311" href="Relation.Binary.Consequences.html#2305" class="Bound">irr</a> <a id="2315" href="Relation.Binary.Consequences.html#2302" class="Bound">re</a>
<a id="2319" class="Comment">------------------------------------------------------------------------</a>
<a id="2392" class="Comment">-- Proofs for non-strict orders</a>
<a id="2425" class="Keyword">module</a> <a id="2432" href="Relation.Binary.Consequences.html#2432" class="Module">_</a> <a id="2434" class="Symbol">{</a><a id="2435" href="Relation.Binary.Consequences.html#2435" class="Bound Operator">_≈_</a> <a id="2439" class="Symbol">:</a> <a id="2441" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2445" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="2447" href="Relation.Binary.Consequences.html#861" class="Generalizable">ℓ₁</a><a id="2449" class="Symbol">}</a> <a id="2451" class="Symbol">{</a><a id="2452" href="Relation.Binary.Consequences.html#2452" class="Bound Operator">_≤_</a> <a id="2456" class="Symbol">:</a> <a id="2458" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2462" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="2464" href="Relation.Binary.Consequences.html#864" class="Generalizable">ℓ₂</a><a id="2466" class="Symbol">}</a> <a id="2468" class="Keyword">where</a>
<a id="2477" href="Relation.Binary.Consequences.html#2477" class="Function">total⇒refl</a> <a id="2488" class="Symbol">:</a> <a id="2490" href="Relation.Binary.Consequences.html#2452" class="Bound Operator">_≤_</a> <a id="2494" href="Relation.Binary.Definitions.html#5663" class="Function Operator">Respects₂</a> <a id="2504" href="Relation.Binary.Consequences.html#2435" class="Bound Operator">_≈_</a> <a id="2508" class="Symbol"></a> <a id="2510" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="2520" href="Relation.Binary.Consequences.html#2435" class="Bound Operator">_≈_</a> <a id="2524" class="Symbol"></a>
<a id="2541" href="Relation.Binary.Definitions.html#2910" class="Function">Total</a> <a id="2547" href="Relation.Binary.Consequences.html#2452" class="Bound Operator">_≤_</a> <a id="2551" class="Symbol"></a> <a id="2553" href="Relation.Binary.Consequences.html#2435" class="Bound Operator">_≈_</a> <a id="2557" href="Relation.Binary.Core.html#1268" class="Function Operator"></a> <a id="2559" href="Relation.Binary.Consequences.html#2452" class="Bound Operator">_≤_</a>
<a id="2565" href="Relation.Binary.Consequences.html#2477" class="Function">total⇒refl</a> <a id="2576" class="Symbol">(</a><a id="2577" href="Relation.Binary.Consequences.html#2577" class="Bound">respʳ</a> <a id="2583" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2585" href="Relation.Binary.Consequences.html#2585" class="Bound">respˡ</a><a id="2590" class="Symbol">)</a> <a id="2592" href="Relation.Binary.Consequences.html#2592" class="Bound">sym</a> <a id="2596" href="Relation.Binary.Consequences.html#2596" class="Bound">total</a> <a id="2602" class="Symbol">{</a><a id="2603" href="Relation.Binary.Consequences.html#2603" class="Bound">x</a><a id="2604" class="Symbol">}</a> <a id="2606" class="Symbol">{</a><a id="2607" href="Relation.Binary.Consequences.html#2607" class="Bound">y</a><a id="2608" class="Symbol">}</a> <a id="2610" href="Relation.Binary.Consequences.html#2610" class="Bound">x≈y</a> <a id="2614" class="Keyword">with</a> <a id="2619" href="Relation.Binary.Consequences.html#2596" class="Bound">total</a> <a id="2625" href="Relation.Binary.Consequences.html#2603" class="Bound">x</a> <a id="2627" href="Relation.Binary.Consequences.html#2607" class="Bound">y</a>
<a id="2631" class="Symbol">...</a> <a id="2635" class="Symbol">|</a> <a id="2637" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2642" href="Relation.Binary.Consequences.html#2642" class="Bound">xy</a> <a id="2646" class="Symbol">=</a> <a id="2648" href="Relation.Binary.Consequences.html#2642" class="Bound">xy</a>
<a id="2654" class="Symbol">...</a> <a id="2658" class="Symbol">|</a> <a id="2660" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="2665" href="Relation.Binary.Consequences.html#2665" class="Bound">yx</a> <a id="2669" class="Symbol">=</a> <a id="2671" class="Bound">respʳ</a> <a id="2677" class="Bound">x≈y</a> <a id="2681" class="Symbol">(</a><a id="2682" class="Bound">respˡ</a> <a id="2688" class="Symbol">(</a><a id="2689" class="Bound">sym</a> <a id="2693" class="Bound">x≈y</a><a id="2696" class="Symbol">)</a> <a id="2698" href="Relation.Binary.Consequences.html#2665" class="Bound">yx</a><a id="2701" class="Symbol">)</a>
<a id="2706" href="Relation.Binary.Consequences.html#2706" class="Function">total∧dec⇒dec</a> <a id="2720" class="Symbol">:</a> <a id="2722" href="Relation.Binary.Consequences.html#2435" class="Bound Operator">_≈_</a> <a id="2726" href="Relation.Binary.Core.html#1268" class="Function Operator"></a> <a id="2728" href="Relation.Binary.Consequences.html#2452" class="Bound Operator">_≤_</a> <a id="2732" class="Symbol"></a> <a id="2734" href="Relation.Binary.Definitions.html#2319" class="Function">Antisymmetric</a> <a id="2748" href="Relation.Binary.Consequences.html#2435" class="Bound Operator">_≈_</a> <a id="2752" href="Relation.Binary.Consequences.html#2452" class="Bound Operator">_≤_</a> <a id="2756" class="Symbol"></a>
<a id="2776" href="Relation.Binary.Definitions.html#2910" class="Function">Total</a> <a id="2782" href="Relation.Binary.Consequences.html#2452" class="Bound Operator">_≤_</a> <a id="2786" class="Symbol"></a> <a id="2788" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="2798" href="Relation.Binary.Consequences.html#2435" class="Bound Operator">_≈_</a> <a id="2802" class="Symbol"></a> <a id="2804" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="2814" href="Relation.Binary.Consequences.html#2452" class="Bound Operator">_≤_</a>
<a id="2820" href="Relation.Binary.Consequences.html#2706" class="Function">total∧dec⇒dec</a> <a id="2834" href="Relation.Binary.Consequences.html#2834" class="Bound">refl</a> <a id="2839" href="Relation.Binary.Consequences.html#2839" class="Bound">antisym</a> <a id="2847" href="Relation.Binary.Consequences.html#2847" class="Bound">total</a> <a id="2853" href="Relation.Binary.Consequences.html#2853" class="Bound Operator">_≟_</a> <a id="2857" href="Relation.Binary.Consequences.html#2857" class="Bound">x</a> <a id="2859" href="Relation.Binary.Consequences.html#2859" class="Bound">y</a> <a id="2861" class="Keyword">with</a> <a id="2866" href="Relation.Binary.Consequences.html#2847" class="Bound">total</a> <a id="2872" href="Relation.Binary.Consequences.html#2857" class="Bound">x</a> <a id="2874" href="Relation.Binary.Consequences.html#2859" class="Bound">y</a>
<a id="2878" class="Symbol">...</a> <a id="2882" class="Symbol">|</a> <a id="2884" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2889" href="Relation.Binary.Consequences.html#2889" class="Bound">x≤y</a> <a id="2893" class="Symbol">=</a> <a id="2895" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a> <a id="2899" href="Relation.Binary.Consequences.html#2889" class="Bound">x≤y</a>
<a id="2905" class="Symbol">...</a> <a id="2909" class="Symbol">|</a> <a id="2911" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="2916" href="Relation.Binary.Consequences.html#2916" class="Bound">y≤x</a> <a id="2920" class="Symbol">=</a> <a id="2922" href="Relation.Nullary.Decidable.Core.html#4901" class="Function">map</a> <a id="2927" class="Bound">refl</a> <a id="2932" class="Symbol">(</a><a id="2933" href="Function.Base.html#1638" class="Function">flip</a> <a id="2938" class="Bound">antisym</a> <a id="2946" href="Relation.Binary.Consequences.html#2916" class="Bound">y≤x</a><a id="2949" class="Symbol">)</a> <a id="2951" class="Symbol">(</a><a id="2952" class="Bound">x</a> <a id="2954" class="Bound Operator"></a> <a id="2956" class="Bound">y</a><a id="2957" class="Symbol">)</a>
<a id="2960" class="Keyword">module</a> <a id="2967" href="Relation.Binary.Consequences.html#2967" class="Module">_</a> <a id="2969" class="Symbol">(</a><a id="2970" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="2973" class="Symbol">:</a> <a id="2975" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2979" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="2981" href="Relation.Binary.Consequences.html#861" class="Generalizable">ℓ₁</a><a id="2983" class="Symbol">)</a> <a id="2985" class="Symbol">(</a><a id="2986" href="Relation.Binary.Consequences.html#2986" class="Bound">≈₂</a> <a id="2989" class="Symbol">:</a> <a id="2991" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2995" href="Relation.Binary.Consequences.html#889" class="Generalizable">B</a> <a id="2997" href="Relation.Binary.Consequences.html#864" class="Generalizable">ℓ₂</a><a id="2999" class="Symbol">)</a> <a id="3001" class="Symbol">{</a><a id="3002" href="Relation.Binary.Consequences.html#3002" class="Bound">≤₁</a> <a id="3005" class="Symbol">:</a> <a id="3007" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3011" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="3013" href="Relation.Binary.Consequences.html#867" class="Generalizable">ℓ₃</a><a id="3015" class="Symbol">}</a> <a id="3017" class="Symbol">{</a><a id="3018" href="Relation.Binary.Consequences.html#3018" class="Bound">≤₂</a> <a id="3021" class="Symbol">:</a> <a id="3023" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3027" href="Relation.Binary.Consequences.html#889" class="Generalizable">B</a> <a id="3029" href="Relation.Binary.Consequences.html#870" class="Generalizable">ℓ₄</a><a id="3031" class="Symbol">}</a> <a id="3033" class="Keyword">where</a>
<a id="3042" href="Relation.Binary.Consequences.html#3042" class="Function">mono⇒cong</a> <a id="3052" class="Symbol">:</a> <a id="3054" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="3064" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3067" class="Symbol"></a> <a id="3069" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3072" href="Relation.Binary.Core.html#1268" class="Function Operator"></a> <a id="3074" href="Relation.Binary.Consequences.html#3002" class="Bound">≤₁</a> <a id="3077" class="Symbol"></a> <a id="3079" href="Relation.Binary.Definitions.html#2319" class="Function">Antisymmetric</a> <a id="3093" href="Relation.Binary.Consequences.html#2986" class="Bound">≈₂</a> <a id="3096" href="Relation.Binary.Consequences.html#3018" class="Bound">≤₂</a> <a id="3099" class="Symbol"></a>
<a id="3115" class="Symbol"></a> <a id="3117" class="Symbol">{</a><a id="3118" href="Relation.Binary.Consequences.html#3118" class="Bound">f</a><a id="3119" class="Symbol">}</a> <a id="3121" class="Symbol"></a> <a id="3123" href="Relation.Binary.Consequences.html#3118" class="Bound">f</a> <a id="3125" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3135" href="Relation.Binary.Consequences.html#3002" class="Bound">≤₁</a> <a id="3138" href="Relation.Binary.Core.html#1577" class="Function Operator"></a> <a id="3140" href="Relation.Binary.Consequences.html#3018" class="Bound">≤₂</a> <a id="3143" class="Symbol"></a> <a id="3145" href="Relation.Binary.Consequences.html#3118" class="Bound">f</a> <a id="3147" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3157" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3160" href="Relation.Binary.Core.html#1577" class="Function Operator"></a> <a id="3162" href="Relation.Binary.Consequences.html#2986" class="Bound">≈₂</a>
<a id="3167" href="Relation.Binary.Consequences.html#3042" class="Function">mono⇒cong</a> <a id="3177" href="Relation.Binary.Consequences.html#3177" class="Bound">sym</a> <a id="3181" href="Relation.Binary.Consequences.html#3181" class="Bound">reflexive</a> <a id="3191" href="Relation.Binary.Consequences.html#3191" class="Bound">antisym</a> <a id="3199" href="Relation.Binary.Consequences.html#3199" class="Bound">mono</a> <a id="3204" href="Relation.Binary.Consequences.html#3204" class="Bound">x≈y</a> <a id="3208" class="Symbol">=</a> <a id="3210" href="Relation.Binary.Consequences.html#3191" class="Bound">antisym</a>
<a id="3222" class="Symbol">(</a><a id="3223" href="Relation.Binary.Consequences.html#3199" class="Bound">mono</a> <a id="3228" class="Symbol">(</a><a id="3229" href="Relation.Binary.Consequences.html#3181" class="Bound">reflexive</a> <a id="3239" href="Relation.Binary.Consequences.html#3204" class="Bound">x≈y</a><a id="3242" class="Symbol">))</a>
<a id="3249" class="Symbol">(</a><a id="3250" href="Relation.Binary.Consequences.html#3199" class="Bound">mono</a> <a id="3255" class="Symbol">(</a><a id="3256" href="Relation.Binary.Consequences.html#3181" class="Bound">reflexive</a> <a id="3266" class="Symbol">(</a><a id="3267" href="Relation.Binary.Consequences.html#3177" class="Bound">sym</a> <a id="3271" href="Relation.Binary.Consequences.html#3204" class="Bound">x≈y</a><a id="3274" class="Symbol">)))</a>
<a id="3281" href="Relation.Binary.Consequences.html#3281" class="Function">antimono⇒cong</a> <a id="3295" class="Symbol">:</a> <a id="3297" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="3307" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3310" class="Symbol"></a> <a id="3312" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3315" href="Relation.Binary.Core.html#1268" class="Function Operator"></a> <a id="3317" href="Relation.Binary.Consequences.html#3002" class="Bound">≤₁</a> <a id="3320" class="Symbol"></a> <a id="3322" href="Relation.Binary.Definitions.html#2319" class="Function">Antisymmetric</a> <a id="3336" href="Relation.Binary.Consequences.html#2986" class="Bound">≈₂</a> <a id="3339" href="Relation.Binary.Consequences.html#3018" class="Bound">≤₂</a> <a id="3342" class="Symbol"></a>
<a id="3362" class="Symbol"></a> <a id="3364" class="Symbol">{</a><a id="3365" href="Relation.Binary.Consequences.html#3365" class="Bound">f</a><a id="3366" class="Symbol">}</a> <a id="3368" class="Symbol"></a> <a id="3370" href="Relation.Binary.Consequences.html#3365" class="Bound">f</a> <a id="3372" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3382" href="Relation.Binary.Consequences.html#3002" class="Bound">≤₁</a> <a id="3385" href="Relation.Binary.Core.html#1577" class="Function Operator"></a> <a id="3387" class="Symbol">(</a><a id="3388" href="Function.Base.html#1638" class="Function">flip</a> <a id="3393" href="Relation.Binary.Consequences.html#3018" class="Bound">≤₂</a><a id="3395" class="Symbol">)</a> <a id="3397" class="Symbol"></a> <a id="3399" href="Relation.Binary.Consequences.html#3365" class="Bound">f</a> <a id="3401" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3411" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3414" href="Relation.Binary.Core.html#1577" class="Function Operator"></a> <a id="3416" href="Relation.Binary.Consequences.html#2986" class="Bound">≈₂</a>
<a id="3421" href="Relation.Binary.Consequences.html#3281" class="Function">antimono⇒cong</a> <a id="3435" href="Relation.Binary.Consequences.html#3435" class="Bound">sym</a> <a id="3439" href="Relation.Binary.Consequences.html#3439" class="Bound">reflexive</a> <a id="3449" href="Relation.Binary.Consequences.html#3449" class="Bound">antisym</a> <a id="3457" href="Relation.Binary.Consequences.html#3457" class="Bound">antimono</a> <a id="3466" href="Relation.Binary.Consequences.html#3466" class="Bound">p≈q</a> <a id="3470" class="Symbol">=</a> <a id="3472" href="Relation.Binary.Consequences.html#3449" class="Bound">antisym</a>
<a id="3484" class="Symbol">(</a><a id="3485" href="Relation.Binary.Consequences.html#3457" class="Bound">antimono</a> <a id="3494" class="Symbol">(</a><a id="3495" href="Relation.Binary.Consequences.html#3439" class="Bound">reflexive</a> <a id="3505" class="Symbol">(</a><a id="3506" href="Relation.Binary.Consequences.html#3435" class="Bound">sym</a> <a id="3510" href="Relation.Binary.Consequences.html#3466" class="Bound">p≈q</a><a id="3513" class="Symbol">)))</a>
<a id="3521" class="Symbol">(</a><a id="3522" href="Relation.Binary.Consequences.html#3457" class="Bound">antimono</a> <a id="3531" class="Symbol">(</a><a id="3532" href="Relation.Binary.Consequences.html#3439" class="Bound">reflexive</a> <a id="3542" href="Relation.Binary.Consequences.html#3466" class="Bound">p≈q</a><a id="3545" class="Symbol">))</a>
<a id="3551" href="Relation.Binary.Consequences.html#3551" class="Function">mono₂⇒cong₂</a> <a id="3563" class="Symbol">:</a> <a id="3565" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="3575" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3578" class="Symbol"></a> <a id="3580" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3583" href="Relation.Binary.Core.html#1268" class="Function Operator"></a> <a id="3585" href="Relation.Binary.Consequences.html#3002" class="Bound">≤₁</a> <a id="3588" class="Symbol"></a> <a id="3590" href="Relation.Binary.Definitions.html#2319" class="Function">Antisymmetric</a> <a id="3604" href="Relation.Binary.Consequences.html#2986" class="Bound">≈₂</a> <a id="3607" href="Relation.Binary.Consequences.html#3018" class="Bound">≤₂</a> <a id="3610" class="Symbol"></a> <a id="3612" class="Symbol"></a> <a id="3614" class="Symbol">{</a><a id="3615" href="Relation.Binary.Consequences.html#3615" class="Bound">f</a><a id="3616" class="Symbol">}</a> <a id="3618" class="Symbol"></a>
<a id="3636" href="Relation.Binary.Consequences.html#3615" class="Bound">f</a> <a id="3638" href="Relation.Binary.Core.html#1703" class="Function Operator">Preserves₂</a> <a id="3649" href="Relation.Binary.Consequences.html#3002" class="Bound">≤₁</a> <a id="3652" href="Relation.Binary.Core.html#1703" class="Function Operator"></a> <a id="3654" href="Relation.Binary.Consequences.html#3002" class="Bound">≤₁</a> <a id="3657" href="Relation.Binary.Core.html#1703" class="Function Operator"></a> <a id="3659" href="Relation.Binary.Consequences.html#3018" class="Bound">≤₂</a> <a id="3662" class="Symbol"></a>
<a id="3680" href="Relation.Binary.Consequences.html#3615" class="Bound">f</a> <a id="3682" href="Relation.Binary.Core.html#1703" class="Function Operator">Preserves₂</a> <a id="3693" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3696" href="Relation.Binary.Core.html#1703" class="Function Operator"></a> <a id="3698" href="Relation.Binary.Consequences.html#2970" class="Bound">≈₁</a> <a id="3701" href="Relation.Binary.Core.html#1703" class="Function Operator"></a> <a id="3703" href="Relation.Binary.Consequences.html#2986" class="Bound">≈₂</a>
<a id="3708" href="Relation.Binary.Consequences.html#3551" class="Function">mono₂⇒cong₂</a> <a id="3720" href="Relation.Binary.Consequences.html#3720" class="Bound">sym</a> <a id="3724" href="Relation.Binary.Consequences.html#3724" class="Bound">reflexive</a> <a id="3734" href="Relation.Binary.Consequences.html#3734" class="Bound">antisym</a> <a id="3742" href="Relation.Binary.Consequences.html#3742" class="Bound">mono</a> <a id="3747" href="Relation.Binary.Consequences.html#3747" class="Bound">x≈y</a> <a id="3751" href="Relation.Binary.Consequences.html#3751" class="Bound">u≈v</a> <a id="3755" class="Symbol">=</a> <a id="3757" href="Relation.Binary.Consequences.html#3734" class="Bound">antisym</a>
<a id="3769" class="Symbol">(</a><a id="3770" href="Relation.Binary.Consequences.html#3742" class="Bound">mono</a> <a id="3775" class="Symbol">(</a><a id="3776" href="Relation.Binary.Consequences.html#3724" class="Bound">reflexive</a> <a id="3786" href="Relation.Binary.Consequences.html#3747" class="Bound">x≈y</a><a id="3789" class="Symbol">)</a> <a id="3791" class="Symbol">(</a><a id="3792" href="Relation.Binary.Consequences.html#3724" class="Bound">reflexive</a> <a id="3802" href="Relation.Binary.Consequences.html#3751" class="Bound">u≈v</a><a id="3805" class="Symbol">))</a>
<a id="3812" class="Symbol">(</a><a id="3813" href="Relation.Binary.Consequences.html#3742" class="Bound">mono</a> <a id="3818" class="Symbol">(</a><a id="3819" href="Relation.Binary.Consequences.html#3724" class="Bound">reflexive</a> <a id="3829" class="Symbol">(</a><a id="3830" href="Relation.Binary.Consequences.html#3720" class="Bound">sym</a> <a id="3834" href="Relation.Binary.Consequences.html#3747" class="Bound">x≈y</a><a id="3837" class="Symbol">))</a> <a id="3840" class="Symbol">(</a><a id="3841" href="Relation.Binary.Consequences.html#3724" class="Bound">reflexive</a> <a id="3851" class="Symbol">(</a><a id="3852" href="Relation.Binary.Consequences.html#3720" class="Bound">sym</a> <a id="3856" href="Relation.Binary.Consequences.html#3751" class="Bound">u≈v</a><a id="3859" class="Symbol">)))</a>
<a id="3864" class="Comment">------------------------------------------------------------------------</a>
<a id="3937" class="Comment">-- Proofs for strict orders</a>
<a id="3966" class="Keyword">module</a> <a id="3973" href="Relation.Binary.Consequences.html#3973" class="Module">_</a> <a id="3975" class="Symbol">{</a><a id="3976" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="3980" class="Symbol">:</a> <a id="3982" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3986" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="3988" href="Relation.Binary.Consequences.html#861" class="Generalizable">ℓ₁</a><a id="3990" class="Symbol">}</a> <a id="3992" class="Symbol">{</a><a id="3993" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="3997" class="Symbol">:</a> <a id="3999" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="4003" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="4005" href="Relation.Binary.Consequences.html#864" class="Generalizable">ℓ₂</a><a id="4007" class="Symbol">}</a> <a id="4009" class="Keyword">where</a>
<a id="4018" href="Relation.Binary.Consequences.html#4018" class="Function">trans∧irr⇒asym</a> <a id="4033" class="Symbol">:</a> <a id="4035" href="Relation.Binary.Definitions.html#1428" class="Function">Reflexive</a> <a id="4045" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4049" class="Symbol"></a> <a id="4051" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="4062" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4066" class="Symbol"></a>
<a id="4087" href="Relation.Binary.Definitions.html#2478" class="Function">Irreflexive</a> <a id="4099" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4103" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4107" class="Symbol"></a> <a id="4109" href="Relation.Binary.Definitions.html#2590" class="Function">Asymmetric</a> <a id="4120" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a>
<a id="4126" href="Relation.Binary.Consequences.html#4018" class="Function">trans∧irr⇒asym</a> <a id="4141" href="Relation.Binary.Consequences.html#4141" class="Bound">refl</a> <a id="4146" href="Relation.Binary.Consequences.html#4146" class="Bound">trans</a> <a id="4152" href="Relation.Binary.Consequences.html#4152" class="Bound">irrefl</a> <a id="4159" href="Relation.Binary.Consequences.html#4159" class="Bound">x&lt;y</a> <a id="4163" href="Relation.Binary.Consequences.html#4163" class="Bound">y&lt;x</a> <a id="4167" class="Symbol">=</a>
<a id="4173" href="Relation.Binary.Consequences.html#4152" class="Bound">irrefl</a> <a id="4180" href="Relation.Binary.Consequences.html#4141" class="Bound">refl</a> <a id="4185" class="Symbol">(</a><a id="4186" href="Relation.Binary.Consequences.html#4146" class="Bound">trans</a> <a id="4192" href="Relation.Binary.Consequences.html#4159" class="Bound">x&lt;y</a> <a id="4196" href="Relation.Binary.Consequences.html#4163" class="Bound">y&lt;x</a><a id="4199" class="Symbol">)</a>
<a id="4204" href="Relation.Binary.Consequences.html#4204" class="Function">irr∧antisym⇒asym</a> <a id="4221" class="Symbol">:</a> <a id="4223" href="Relation.Binary.Definitions.html#2478" class="Function">Irreflexive</a> <a id="4235" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4239" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4243" class="Symbol"></a> <a id="4245" href="Relation.Binary.Definitions.html#2319" class="Function">Antisymmetric</a> <a id="4259" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4263" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4267" class="Symbol"></a>
<a id="4290" href="Relation.Binary.Definitions.html#2590" class="Function">Asymmetric</a> <a id="4301" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a>
<a id="4307" href="Relation.Binary.Consequences.html#4204" class="Function">irr∧antisym⇒asym</a> <a id="4324" href="Relation.Binary.Consequences.html#4324" class="Bound">irrefl</a> <a id="4331" href="Relation.Binary.Consequences.html#4331" class="Bound">antisym</a> <a id="4339" href="Relation.Binary.Consequences.html#4339" class="Bound">x&lt;y</a> <a id="4343" href="Relation.Binary.Consequences.html#4343" class="Bound">y&lt;x</a> <a id="4347" class="Symbol">=</a>
<a id="4353" href="Relation.Binary.Consequences.html#4324" class="Bound">irrefl</a> <a id="4360" class="Symbol">(</a><a id="4361" href="Relation.Binary.Consequences.html#4331" class="Bound">antisym</a> <a id="4369" href="Relation.Binary.Consequences.html#4339" class="Bound">x&lt;y</a> <a id="4373" href="Relation.Binary.Consequences.html#4343" class="Bound">y&lt;x</a><a id="4376" class="Symbol">)</a> <a id="4378" href="Relation.Binary.Consequences.html#4339" class="Bound">x&lt;y</a>
<a id="4385" href="Relation.Binary.Consequences.html#4385" class="Function">asym⇒antisym</a> <a id="4398" class="Symbol">:</a> <a id="4400" href="Relation.Binary.Definitions.html#2590" class="Function">Asymmetric</a> <a id="4411" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4415" class="Symbol"></a> <a id="4417" href="Relation.Binary.Definitions.html#2319" class="Function">Antisymmetric</a> <a id="4431" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4435" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a>
<a id="4441" href="Relation.Binary.Consequences.html#4385" class="Function">asym⇒antisym</a> <a id="4454" href="Relation.Binary.Consequences.html#4454" class="Bound">asym</a> <a id="4459" href="Relation.Binary.Consequences.html#4459" class="Bound">x&lt;y</a> <a id="4463" href="Relation.Binary.Consequences.html#4463" class="Bound">y&lt;x</a> <a id="4467" class="Symbol">=</a> <a id="4469" href="Data.Empty.Irrelevant.html#336" class="Function">⊥-elim</a> <a id="4476" class="Symbol">(</a><a id="4477" href="Relation.Binary.Consequences.html#4454" class="Bound">asym</a> <a id="4482" href="Relation.Binary.Consequences.html#4459" class="Bound">x&lt;y</a> <a id="4486" href="Relation.Binary.Consequences.html#4463" class="Bound">y&lt;x</a><a id="4489" class="Symbol">)</a>
<a id="4494" href="Relation.Binary.Consequences.html#4494" class="Function">asym⇒irr</a> <a id="4503" class="Symbol">:</a> <a id="4505" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4509" href="Relation.Binary.Definitions.html#5663" class="Function Operator">Respects₂</a> <a id="4519" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4523" class="Symbol"></a> <a id="4525" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="4535" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4539" class="Symbol"></a>
<a id="4554" href="Relation.Binary.Definitions.html#2590" class="Function">Asymmetric</a> <a id="4565" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4569" class="Symbol"></a> <a id="4571" href="Relation.Binary.Definitions.html#2478" class="Function">Irreflexive</a> <a id="4583" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4587" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a>
<a id="4593" href="Relation.Binary.Consequences.html#4494" class="Function">asym⇒irr</a> <a id="4602" class="Symbol">(</a><a id="4603" href="Relation.Binary.Consequences.html#4603" class="Bound">respʳ</a> <a id="4609" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4611" href="Relation.Binary.Consequences.html#4611" class="Bound">respˡ</a><a id="4616" class="Symbol">)</a> <a id="4618" href="Relation.Binary.Consequences.html#4618" class="Bound">sym</a> <a id="4622" href="Relation.Binary.Consequences.html#4622" class="Bound">asym</a> <a id="4627" class="Symbol">{</a><a id="4628" href="Relation.Binary.Consequences.html#4628" class="Bound">x</a><a id="4629" class="Symbol">}</a> <a id="4631" class="Symbol">{</a><a id="4632" href="Relation.Binary.Consequences.html#4632" class="Bound">y</a><a id="4633" class="Symbol">}</a> <a id="4635" href="Relation.Binary.Consequences.html#4635" class="Bound">x≈y</a> <a id="4639" href="Relation.Binary.Consequences.html#4639" class="Bound">x&lt;y</a> <a id="4643" class="Symbol">=</a>
<a id="4649" href="Relation.Binary.Consequences.html#4622" class="Bound">asym</a> <a id="4654" href="Relation.Binary.Consequences.html#4639" class="Bound">x&lt;y</a> <a id="4658" class="Symbol">(</a><a id="4659" href="Relation.Binary.Consequences.html#4603" class="Bound">respʳ</a> <a id="4665" class="Symbol">(</a><a id="4666" href="Relation.Binary.Consequences.html#4618" class="Bound">sym</a> <a id="4670" href="Relation.Binary.Consequences.html#4635" class="Bound">x≈y</a><a id="4673" class="Symbol">)</a> <a id="4675" class="Symbol">(</a><a id="4676" href="Relation.Binary.Consequences.html#4611" class="Bound">respˡ</a> <a id="4682" href="Relation.Binary.Consequences.html#4635" class="Bound">x≈y</a> <a id="4686" href="Relation.Binary.Consequences.html#4639" class="Bound">x&lt;y</a><a id="4689" class="Symbol">))</a>
<a id="4695" href="Relation.Binary.Consequences.html#4695" class="Function">tri⇒asym</a> <a id="4704" class="Symbol">:</a> <a id="4706" href="Relation.Binary.Definitions.html#3281" class="Function">Trichotomous</a> <a id="4719" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4723" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4727" class="Symbol"></a> <a id="4729" href="Relation.Binary.Definitions.html#2590" class="Function">Asymmetric</a> <a id="4740" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a>
<a id="4746" href="Relation.Binary.Consequences.html#4695" class="Function">tri⇒asym</a> <a id="4755" href="Relation.Binary.Consequences.html#4755" class="Bound">tri</a> <a id="4759" class="Symbol">{</a><a id="4760" href="Relation.Binary.Consequences.html#4760" class="Bound">x</a><a id="4761" class="Symbol">}</a> <a id="4763" class="Symbol">{</a><a id="4764" href="Relation.Binary.Consequences.html#4764" class="Bound">y</a><a id="4765" class="Symbol">}</a> <a id="4767" href="Relation.Binary.Consequences.html#4767" class="Bound">x&lt;y</a> <a id="4771" href="Relation.Binary.Consequences.html#4771" class="Bound">x&gt;y</a> <a id="4775" class="Keyword">with</a> <a id="4780" href="Relation.Binary.Consequences.html#4755" class="Bound">tri</a> <a id="4784" href="Relation.Binary.Consequences.html#4760" class="Bound">x</a> <a id="4786" href="Relation.Binary.Consequences.html#4764" class="Bound">y</a>
<a id="4790" class="Symbol">...</a> <a id="4794" class="Symbol">|</a> <a id="4796" href="Relation.Binary.Definitions.html#3104" class="InductiveConstructor">tri&lt;</a> <a id="4801" class="Symbol">_</a> <a id="4805" class="Symbol">_</a> <a id="4807" href="Relation.Binary.Consequences.html#4807" class="Bound">x≯y</a> <a id="4811" class="Symbol">=</a> <a id="4813" href="Relation.Binary.Consequences.html#4807" class="Bound">x≯y</a> <a id="4817" class="Bound">x&gt;y</a>
<a id="4823" class="Symbol">...</a> <a id="4827" class="Symbol">|</a> <a id="4829" href="Relation.Binary.Definitions.html#3158" class="InductiveConstructor">tri≈</a> <a id="4834" class="Symbol">_</a> <a id="4838" class="Symbol">_</a> <a id="4840" href="Relation.Binary.Consequences.html#4840" class="Bound">x≯y</a> <a id="4844" class="Symbol">=</a> <a id="4846" href="Relation.Binary.Consequences.html#4840" class="Bound">x≯y</a> <a id="4850" class="Bound">x&gt;y</a>
<a id="4856" class="Symbol">...</a> <a id="4860" class="Symbol">|</a> <a id="4862" href="Relation.Binary.Definitions.html#3212" class="InductiveConstructor">tri&gt;</a> <a id="4867" href="Relation.Binary.Consequences.html#4867" class="Bound">x≮y</a> <a id="4871" class="Symbol">_</a> <a id="4873" class="Symbol">_</a> <a id="4877" class="Symbol">=</a> <a id="4879" href="Relation.Binary.Consequences.html#4867" class="Bound">x≮y</a> <a id="4883" class="Bound">x&lt;y</a>
<a id="4890" href="Relation.Binary.Consequences.html#4890" class="Function">tri⇒irr</a> <a id="4898" class="Symbol">:</a> <a id="4900" href="Relation.Binary.Definitions.html#3281" class="Function">Trichotomous</a> <a id="4913" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4917" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="4921" class="Symbol"></a> <a id="4923" href="Relation.Binary.Definitions.html#2478" class="Function">Irreflexive</a> <a id="4935" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="4939" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a>
<a id="4945" href="Relation.Binary.Consequences.html#4890" class="Function">tri⇒irr</a> <a id="4953" href="Relation.Binary.Consequences.html#4953" class="Bound">compare</a> <a id="4961" class="Symbol">{</a><a id="4962" href="Relation.Binary.Consequences.html#4962" class="Bound">x</a><a id="4963" class="Symbol">}</a> <a id="4965" class="Symbol">{</a><a id="4966" href="Relation.Binary.Consequences.html#4966" class="Bound">y</a><a id="4967" class="Symbol">}</a> <a id="4969" href="Relation.Binary.Consequences.html#4969" class="Bound">x≈y</a> <a id="4973" href="Relation.Binary.Consequences.html#4973" class="Bound">x&lt;y</a> <a id="4977" class="Keyword">with</a> <a id="4982" href="Relation.Binary.Consequences.html#4953" class="Bound">compare</a> <a id="4990" href="Relation.Binary.Consequences.html#4962" class="Bound">x</a> <a id="4992" href="Relation.Binary.Consequences.html#4966" class="Bound">y</a>
<a id="4996" class="Symbol">...</a> <a id="5000" class="Symbol">|</a> <a id="5002" href="Relation.Binary.Definitions.html#3104" class="InductiveConstructor">tri&lt;</a> <a id="5007" class="Symbol">_</a> <a id="5011" href="Relation.Binary.Consequences.html#5011" class="Bound">x≉y</a> <a id="5015" href="Relation.Binary.Consequences.html#5015" class="Bound">y≮x</a> <a id="5019" class="Symbol">=</a> <a id="5021" href="Relation.Binary.Consequences.html#5011" class="Bound">x≉y</a> <a id="5025" class="Bound">x≈y</a>
<a id="5031" class="Symbol">...</a> <a id="5035" class="Symbol">|</a> <a id="5037" href="Relation.Binary.Definitions.html#3212" class="InductiveConstructor">tri&gt;</a> <a id="5042" href="Relation.Binary.Consequences.html#5042" class="Bound">x≮y</a> <a id="5046" href="Relation.Binary.Consequences.html#5046" class="Bound">x≉y</a> <a id="5050" href="Relation.Binary.Consequences.html#5050" class="Bound">y&lt;x</a> <a id="5054" class="Symbol">=</a> <a id="5056" href="Relation.Binary.Consequences.html#5046" class="Bound">x≉y</a> <a id="5060" class="Bound">x≈y</a>
<a id="5066" class="Symbol">...</a> <a id="5070" class="Symbol">|</a> <a id="5072" href="Relation.Binary.Definitions.html#3158" class="InductiveConstructor">tri≈</a> <a id="5077" href="Relation.Binary.Consequences.html#5077" class="Bound">x≮y</a> <a id="5081" class="Symbol">_</a> <a id="5085" href="Relation.Binary.Consequences.html#5085" class="Bound">y≮x</a> <a id="5089" class="Symbol">=</a> <a id="5091" href="Relation.Binary.Consequences.html#5077" class="Bound">x≮y</a> <a id="5095" class="Bound">x&lt;y</a>
<a id="5102" href="Relation.Binary.Consequences.html#5102" class="Function">tri⇒dec≈</a> <a id="5111" class="Symbol">:</a> <a id="5113" href="Relation.Binary.Definitions.html#3281" class="Function">Trichotomous</a> <a id="5126" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="5130" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="5134" class="Symbol"></a> <a id="5136" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="5146" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a>
<a id="5152" href="Relation.Binary.Consequences.html#5102" class="Function">tri⇒dec≈</a> <a id="5161" href="Relation.Binary.Consequences.html#5161" class="Bound">compare</a> <a id="5169" href="Relation.Binary.Consequences.html#5169" class="Bound">x</a> <a id="5171" href="Relation.Binary.Consequences.html#5171" class="Bound">y</a> <a id="5173" class="Keyword">with</a> <a id="5178" href="Relation.Binary.Consequences.html#5161" class="Bound">compare</a> <a id="5186" href="Relation.Binary.Consequences.html#5169" class="Bound">x</a> <a id="5188" href="Relation.Binary.Consequences.html#5171" class="Bound">y</a>
<a id="5192" class="Symbol">...</a> <a id="5196" class="Symbol">|</a> <a id="5198" href="Relation.Binary.Definitions.html#3104" class="InductiveConstructor">tri&lt;</a> <a id="5203" class="Symbol">_</a> <a id="5205" href="Relation.Binary.Consequences.html#5205" class="Bound">x≉y</a> <a id="5209" class="Symbol">_</a> <a id="5211" class="Symbol">=</a> <a id="5213" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="5217" href="Relation.Binary.Consequences.html#5205" class="Bound">x≉y</a>
<a id="5223" class="Symbol">...</a> <a id="5227" class="Symbol">|</a> <a id="5229" href="Relation.Binary.Definitions.html#3158" class="InductiveConstructor">tri≈</a> <a id="5234" class="Symbol">_</a> <a id="5236" href="Relation.Binary.Consequences.html#5236" class="Bound">x≈y</a> <a id="5240" class="Symbol">_</a> <a id="5242" class="Symbol">=</a> <a id="5244" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a> <a id="5248" href="Relation.Binary.Consequences.html#5236" class="Bound">x≈y</a>
<a id="5254" class="Symbol">...</a> <a id="5258" class="Symbol">|</a> <a id="5260" href="Relation.Binary.Definitions.html#3212" class="InductiveConstructor">tri&gt;</a> <a id="5265" class="Symbol">_</a> <a id="5267" href="Relation.Binary.Consequences.html#5267" class="Bound">x≉y</a> <a id="5271" class="Symbol">_</a> <a id="5273" class="Symbol">=</a> <a id="5275" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="5279" href="Relation.Binary.Consequences.html#5267" class="Bound">x≉y</a>
<a id="5286" href="Relation.Binary.Consequences.html#5286" class="Function">tri⇒dec&lt;</a> <a id="5295" class="Symbol">:</a> <a id="5297" href="Relation.Binary.Definitions.html#3281" class="Function">Trichotomous</a> <a id="5310" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="5314" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="5318" class="Symbol"></a> <a id="5320" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="5330" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a>
<a id="5336" href="Relation.Binary.Consequences.html#5286" class="Function">tri⇒dec&lt;</a> <a id="5345" href="Relation.Binary.Consequences.html#5345" class="Bound">compare</a> <a id="5353" href="Relation.Binary.Consequences.html#5353" class="Bound">x</a> <a id="5355" href="Relation.Binary.Consequences.html#5355" class="Bound">y</a> <a id="5357" class="Keyword">with</a> <a id="5362" href="Relation.Binary.Consequences.html#5345" class="Bound">compare</a> <a id="5370" href="Relation.Binary.Consequences.html#5353" class="Bound">x</a> <a id="5372" href="Relation.Binary.Consequences.html#5355" class="Bound">y</a>
<a id="5376" class="Symbol">...</a> <a id="5380" class="Symbol">|</a> <a id="5382" href="Relation.Binary.Definitions.html#3104" class="InductiveConstructor">tri&lt;</a> <a id="5387" href="Relation.Binary.Consequences.html#5387" class="Bound">x&lt;y</a> <a id="5391" class="Symbol">_</a> <a id="5393" class="Symbol">_</a> <a id="5395" class="Symbol">=</a> <a id="5397" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a> <a id="5401" href="Relation.Binary.Consequences.html#5387" class="Bound">x&lt;y</a>
<a id="5407" class="Symbol">...</a> <a id="5411" class="Symbol">|</a> <a id="5413" href="Relation.Binary.Definitions.html#3158" class="InductiveConstructor">tri≈</a> <a id="5418" href="Relation.Binary.Consequences.html#5418" class="Bound">x≮y</a> <a id="5422" class="Symbol">_</a> <a id="5424" class="Symbol">_</a> <a id="5426" class="Symbol">=</a> <a id="5428" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="5432" href="Relation.Binary.Consequences.html#5418" class="Bound">x≮y</a>
<a id="5438" class="Symbol">...</a> <a id="5442" class="Symbol">|</a> <a id="5444" href="Relation.Binary.Definitions.html#3212" class="InductiveConstructor">tri&gt;</a> <a id="5449" href="Relation.Binary.Consequences.html#5449" class="Bound">x≮y</a> <a id="5453" class="Symbol">_</a> <a id="5455" class="Symbol">_</a> <a id="5457" class="Symbol">=</a> <a id="5459" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="5463" href="Relation.Binary.Consequences.html#5449" class="Bound">x≮y</a>
<a id="5470" href="Relation.Binary.Consequences.html#5470" class="Function">trans∧tri⇒respʳ</a> <a id="5486" class="Symbol">:</a> <a id="5488" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="5498" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="5502" class="Symbol"></a> <a id="5504" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="5515" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="5519" class="Symbol"></a>
<a id="5541" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="5552" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="5556" class="Symbol"></a> <a id="5558" href="Relation.Binary.Definitions.html#3281" class="Function">Trichotomous</a> <a id="5571" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="5575" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="5579" class="Symbol"></a>
<a id="5601" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="5605" href="Relation.Binary.Definitions.html#5335" class="Function Operator">Respectsʳ</a> <a id="5615" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a>
<a id="5621" href="Relation.Binary.Consequences.html#5470" class="Function">trans∧tri⇒respʳ</a> <a id="5637" href="Relation.Binary.Consequences.html#5637" class="Bound">sym</a> <a id="5641" href="Relation.Binary.Consequences.html#5641" class="Bound">≈-tr</a> <a id="5646" href="Relation.Binary.Consequences.html#5646" class="Bound">&lt;-tr</a> <a id="5651" href="Relation.Binary.Consequences.html#5651" class="Bound">tri</a> <a id="5655" class="Symbol">{</a><a id="5656" href="Relation.Binary.Consequences.html#5656" class="Bound">x</a><a id="5657" class="Symbol">}</a> <a id="5659" class="Symbol">{</a><a id="5660" href="Relation.Binary.Consequences.html#5660" class="Bound">y</a><a id="5661" class="Symbol">}</a> <a id="5663" class="Symbol">{</a><a id="5664" href="Relation.Binary.Consequences.html#5664" class="Bound">z</a><a id="5665" class="Symbol">}</a> <a id="5667" href="Relation.Binary.Consequences.html#5667" class="Bound">y≈z</a> <a id="5671" href="Relation.Binary.Consequences.html#5671" class="Bound">x&lt;y</a> <a id="5675" class="Keyword">with</a> <a id="5680" href="Relation.Binary.Consequences.html#5651" class="Bound">tri</a> <a id="5684" href="Relation.Binary.Consequences.html#5656" class="Bound">x</a> <a id="5686" href="Relation.Binary.Consequences.html#5664" class="Bound">z</a>
<a id="5690" class="Symbol">...</a> <a id="5694" class="Symbol">|</a> <a id="5696" href="Relation.Binary.Definitions.html#3104" class="InductiveConstructor">tri&lt;</a> <a id="5701" href="Relation.Binary.Consequences.html#5701" class="Bound">x&lt;z</a> <a id="5705" class="Symbol">_</a> <a id="5707" class="Symbol">_</a> <a id="5709" class="Symbol">=</a> <a id="5711" href="Relation.Binary.Consequences.html#5701" class="Bound">x&lt;z</a>
<a id="5717" class="Symbol">...</a> <a id="5721" class="Symbol">|</a> <a id="5723" href="Relation.Binary.Definitions.html#3158" class="InductiveConstructor">tri≈</a> <a id="5728" class="Symbol">_</a> <a id="5730" href="Relation.Binary.Consequences.html#5730" class="Bound">x≈z</a> <a id="5734" class="Symbol">_</a> <a id="5736" class="Symbol">=</a> <a id="5738" href="Data.Empty.Irrelevant.html#336" class="Function">⊥-elim</a> <a id="5745" class="Symbol">(</a><a id="5746" href="Relation.Binary.Consequences.html#4890" class="Function">tri⇒irr</a> <a id="5754" class="Bound">tri</a> <a id="5758" class="Symbol">(</a><a id="5759" class="Bound">≈-tr</a> <a id="5764" href="Relation.Binary.Consequences.html#5730" class="Bound">x≈z</a> <a id="5768" class="Symbol">(</a><a id="5769" class="Bound">sym</a> <a id="5773" class="Bound">y≈z</a><a id="5776" class="Symbol">))</a> <a id="5779" class="Bound">x&lt;y</a><a id="5782" class="Symbol">)</a>
<a id="5786" class="Symbol">...</a> <a id="5790" class="Symbol">|</a> <a id="5792" href="Relation.Binary.Definitions.html#3212" class="InductiveConstructor">tri&gt;</a> <a id="5797" class="Symbol">_</a> <a id="5799" class="Symbol">_</a> <a id="5801" href="Relation.Binary.Consequences.html#5801" class="Bound">z&lt;x</a> <a id="5805" class="Symbol">=</a> <a id="5807" href="Data.Empty.Irrelevant.html#336" class="Function">⊥-elim</a> <a id="5814" class="Symbol">(</a><a id="5815" href="Relation.Binary.Consequences.html#4890" class="Function">tri⇒irr</a> <a id="5823" class="Bound">tri</a> <a id="5827" class="Symbol">(</a><a id="5828" class="Bound">sym</a> <a id="5832" class="Bound">y≈z</a><a id="5835" class="Symbol">)</a> <a id="5837" class="Symbol">(</a><a id="5838" class="Bound">&lt;-tr</a> <a id="5843" href="Relation.Binary.Consequences.html#5801" class="Bound">z&lt;x</a> <a id="5847" class="Bound">x&lt;y</a><a id="5850" class="Symbol">))</a>
<a id="5856" href="Relation.Binary.Consequences.html#5856" class="Function">trans∧tri⇒respˡ</a> <a id="5872" class="Symbol">:</a> <a id="5874" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="5885" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="5889" class="Symbol"></a>
<a id="5911" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="5922" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="5926" class="Symbol"></a> <a id="5928" href="Relation.Binary.Definitions.html#3281" class="Function">Trichotomous</a> <a id="5941" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="5945" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="5949" class="Symbol"></a>
<a id="5971" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="5975" href="Relation.Binary.Definitions.html#5500" class="Function Operator">Respectsˡ</a> <a id="5985" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a>
<a id="5991" href="Relation.Binary.Consequences.html#5856" class="Function">trans∧tri⇒respˡ</a> <a id="6007" href="Relation.Binary.Consequences.html#6007" class="Bound">≈-tr</a> <a id="6012" href="Relation.Binary.Consequences.html#6012" class="Bound">&lt;-tr</a> <a id="6017" href="Relation.Binary.Consequences.html#6017" class="Bound">tri</a> <a id="6021" class="Symbol">{</a><a id="6022" href="Relation.Binary.Consequences.html#6022" class="Bound">z</a><a id="6023" class="Symbol">}</a> <a id="6025" class="Symbol">{_}</a> <a id="6029" class="Symbol">{</a><a id="6030" href="Relation.Binary.Consequences.html#6030" class="Bound">y</a><a id="6031" class="Symbol">}</a> <a id="6033" href="Relation.Binary.Consequences.html#6033" class="Bound">x≈y</a> <a id="6037" href="Relation.Binary.Consequences.html#6037" class="Bound">x&lt;z</a> <a id="6041" class="Keyword">with</a> <a id="6046" href="Relation.Binary.Consequences.html#6017" class="Bound">tri</a> <a id="6050" href="Relation.Binary.Consequences.html#6030" class="Bound">y</a> <a id="6052" href="Relation.Binary.Consequences.html#6022" class="Bound">z</a>
<a id="6056" class="Symbol">...</a> <a id="6060" class="Symbol">|</a> <a id="6062" href="Relation.Binary.Definitions.html#3104" class="InductiveConstructor">tri&lt;</a> <a id="6067" href="Relation.Binary.Consequences.html#6067" class="Bound">y&lt;z</a> <a id="6071" class="Symbol">_</a> <a id="6073" class="Symbol">_</a> <a id="6075" class="Symbol">=</a> <a id="6077" href="Relation.Binary.Consequences.html#6067" class="Bound">y&lt;z</a>
<a id="6083" class="Symbol">...</a> <a id="6087" class="Symbol">|</a> <a id="6089" href="Relation.Binary.Definitions.html#3158" class="InductiveConstructor">tri≈</a> <a id="6094" class="Symbol">_</a> <a id="6096" href="Relation.Binary.Consequences.html#6096" class="Bound">y≈z</a> <a id="6100" class="Symbol">_</a> <a id="6102" class="Symbol">=</a> <a id="6104" href="Data.Empty.Irrelevant.html#336" class="Function">⊥-elim</a> <a id="6111" class="Symbol">(</a><a id="6112" href="Relation.Binary.Consequences.html#4890" class="Function">tri⇒irr</a> <a id="6120" class="Bound">tri</a> <a id="6124" class="Symbol">(</a><a id="6125" class="Bound">≈-tr</a> <a id="6130" class="Bound">x≈y</a> <a id="6134" href="Relation.Binary.Consequences.html#6096" class="Bound">y≈z</a><a id="6137" class="Symbol">)</a> <a id="6139" class="Bound">x&lt;z</a><a id="6142" class="Symbol">)</a>
<a id="6146" class="Symbol">...</a> <a id="6150" class="Symbol">|</a> <a id="6152" href="Relation.Binary.Definitions.html#3212" class="InductiveConstructor">tri&gt;</a> <a id="6157" class="Symbol">_</a> <a id="6159" class="Symbol">_</a> <a id="6161" href="Relation.Binary.Consequences.html#6161" class="Bound">z&lt;y</a> <a id="6165" class="Symbol">=</a> <a id="6167" href="Data.Empty.Irrelevant.html#336" class="Function">⊥-elim</a> <a id="6174" class="Symbol">(</a><a id="6175" href="Relation.Binary.Consequences.html#4890" class="Function">tri⇒irr</a> <a id="6183" class="Bound">tri</a> <a id="6187" class="Bound">x≈y</a> <a id="6191" class="Symbol">(</a><a id="6192" class="Bound">&lt;-tr</a> <a id="6197" class="Bound">x&lt;z</a> <a id="6201" href="Relation.Binary.Consequences.html#6161" class="Bound">z&lt;y</a><a id="6204" class="Symbol">))</a>
<a id="6210" href="Relation.Binary.Consequences.html#6210" class="Function">trans∧tri⇒resp</a> <a id="6225" class="Symbol">:</a> <a id="6227" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="6237" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="6241" class="Symbol"></a> <a id="6243" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="6254" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="6258" class="Symbol"></a>
<a id="6279" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="6290" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="6294" class="Symbol"></a> <a id="6296" href="Relation.Binary.Definitions.html#3281" class="Function">Trichotomous</a> <a id="6309" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a> <a id="6313" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="6317" class="Symbol"></a>
<a id="6338" href="Relation.Binary.Consequences.html#3993" class="Bound Operator">_&lt;_</a> <a id="6342" href="Relation.Binary.Definitions.html#5663" class="Function Operator">Respects₂</a> <a id="6352" href="Relation.Binary.Consequences.html#3976" class="Bound Operator">_≈_</a>
<a id="6358" href="Relation.Binary.Consequences.html#6210" class="Function">trans∧tri⇒resp</a> <a id="6373" href="Relation.Binary.Consequences.html#6373" class="Bound">sym</a> <a id="6377" href="Relation.Binary.Consequences.html#6377" class="Bound">≈-tr</a> <a id="6382" href="Relation.Binary.Consequences.html#6382" class="Bound">&lt;-tr</a> <a id="6387" href="Relation.Binary.Consequences.html#6387" class="Bound">tri</a> <a id="6391" class="Symbol">=</a>
<a id="6397" href="Relation.Binary.Consequences.html#5470" class="Function">trans∧tri⇒respʳ</a> <a id="6413" href="Relation.Binary.Consequences.html#6373" class="Bound">sym</a> <a id="6417" href="Relation.Binary.Consequences.html#6377" class="Bound">≈-tr</a> <a id="6422" href="Relation.Binary.Consequences.html#6382" class="Bound">&lt;-tr</a> <a id="6427" href="Relation.Binary.Consequences.html#6387" class="Bound">tri</a> <a id="6431" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a>
<a id="6437" href="Relation.Binary.Consequences.html#5856" class="Function">trans∧tri⇒respˡ</a> <a id="6453" href="Relation.Binary.Consequences.html#6377" class="Bound">≈-tr</a> <a id="6458" href="Relation.Binary.Consequences.html#6382" class="Bound">&lt;-tr</a> <a id="6463" href="Relation.Binary.Consequences.html#6387" class="Bound">tri</a>
<a id="6468" class="Comment">------------------------------------------------------------------------</a>
<a id="6541" class="Comment">-- Without Loss of Generality</a>
<a id="6572" class="Keyword">module</a> <a id="6579" href="Relation.Binary.Consequences.html#6579" class="Module">_</a> <a id="6582" class="Symbol">{</a><a id="6583" href="Relation.Binary.Consequences.html#6583" class="Bound Operator">_R_</a> <a id="6587" class="Symbol">:</a> <a id="6589" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="6593" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="6595" href="Relation.Binary.Consequences.html#861" class="Generalizable">ℓ₁</a><a id="6597" class="Symbol">}</a> <a id="6599" class="Symbol">{</a><a id="6600" href="Relation.Binary.Consequences.html#6600" class="Bound">Q</a> <a id="6602" class="Symbol">:</a> <a id="6604" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="6608" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="6610" href="Relation.Binary.Consequences.html#864" class="Generalizable">ℓ₂</a><a id="6612" class="Symbol">}</a> <a id="6614" class="Keyword">where</a>
<a id="6623" href="Relation.Binary.Consequences.html#6623" class="Function">wlog</a> <a id="6628" class="Symbol">:</a> <a id="6630" href="Relation.Binary.Definitions.html#2910" class="Function">Total</a> <a id="6636" href="Relation.Binary.Consequences.html#6583" class="Bound Operator">_R_</a> <a id="6640" class="Symbol"></a> <a id="6642" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="6652" href="Relation.Binary.Consequences.html#6600" class="Bound">Q</a> <a id="6654" class="Symbol"></a>
<a id="6665" class="Symbol">(∀</a> <a id="6668" href="Relation.Binary.Consequences.html#6668" class="Bound">a</a> <a id="6670" href="Relation.Binary.Consequences.html#6670" class="Bound">b</a> <a id="6672" class="Symbol"></a> <a id="6674" href="Relation.Binary.Consequences.html#6668" class="Bound">a</a> <a id="6676" href="Relation.Binary.Consequences.html#6583" class="Bound Operator">R</a> <a id="6678" href="Relation.Binary.Consequences.html#6670" class="Bound">b</a> <a id="6680" class="Symbol"></a> <a id="6682" href="Relation.Binary.Consequences.html#6600" class="Bound">Q</a> <a id="6684" href="Relation.Binary.Consequences.html#6668" class="Bound">a</a> <a id="6686" href="Relation.Binary.Consequences.html#6670" class="Bound">b</a><a id="6687" class="Symbol">)</a> <a id="6689" class="Symbol"></a>
<a id="6700" class="Symbol"></a> <a id="6702" href="Relation.Binary.Consequences.html#6702" class="Bound">a</a> <a id="6704" href="Relation.Binary.Consequences.html#6704" class="Bound">b</a> <a id="6706" class="Symbol"></a> <a id="6708" href="Relation.Binary.Consequences.html#6600" class="Bound">Q</a> <a id="6710" href="Relation.Binary.Consequences.html#6702" class="Bound">a</a> <a id="6712" href="Relation.Binary.Consequences.html#6704" class="Bound">b</a>
<a id="6716" href="Relation.Binary.Consequences.html#6623" class="Function">wlog</a> <a id="6721" href="Relation.Binary.Consequences.html#6721" class="Bound">r-total</a> <a id="6729" href="Relation.Binary.Consequences.html#6729" class="Bound">q-sym</a> <a id="6735" href="Relation.Binary.Consequences.html#6735" class="Bound">prf</a> <a id="6739" href="Relation.Binary.Consequences.html#6739" class="Bound">a</a> <a id="6741" href="Relation.Binary.Consequences.html#6741" class="Bound">b</a> <a id="6743" class="Keyword">with</a> <a id="6748" href="Relation.Binary.Consequences.html#6721" class="Bound">r-total</a> <a id="6756" href="Relation.Binary.Consequences.html#6739" class="Bound">a</a> <a id="6758" href="Relation.Binary.Consequences.html#6741" class="Bound">b</a>
<a id="6762" class="Symbol">...</a> <a id="6766" class="Symbol">|</a> <a id="6768" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6773" href="Relation.Binary.Consequences.html#6773" class="Bound">aRb</a> <a id="6777" class="Symbol">=</a> <a id="6779" class="Bound">prf</a> <a id="6783" class="Bound">a</a> <a id="6785" class="Bound">b</a> <a id="6787" href="Relation.Binary.Consequences.html#6773" class="Bound">aRb</a>
<a id="6793" class="Symbol">...</a> <a id="6797" class="Symbol">|</a> <a id="6799" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="6804" href="Relation.Binary.Consequences.html#6804" class="Bound">bRa</a> <a id="6808" class="Symbol">=</a> <a id="6810" class="Bound">q-sym</a> <a id="6816" class="Symbol">(</a><a id="6817" class="Bound">prf</a> <a id="6821" class="Bound">b</a> <a id="6823" class="Bound">a</a> <a id="6825" href="Relation.Binary.Consequences.html#6804" class="Bound">bRa</a><a id="6828" class="Symbol">)</a>
<a id="6831" class="Comment">------------------------------------------------------------------------</a>
<a id="6904" class="Comment">-- Other proofs</a>
<a id="6921" class="Keyword">module</a> <a id="6928" href="Relation.Binary.Consequences.html#6928" class="Module">_</a> <a id="6930" class="Symbol">{</a><a id="6931" href="Relation.Binary.Consequences.html#6931" class="Bound">R</a> <a id="6933" class="Symbol">:</a> <a id="6935" href="Relation.Binary.Core.html#780" class="Function">REL</a> <a id="6939" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="6941" href="Relation.Binary.Consequences.html#889" class="Generalizable">B</a> <a id="6943" href="Relation.Binary.Consequences.html#873" class="Generalizable">p</a><a id="6944" class="Symbol">}</a> <a id="6946" class="Keyword">where</a>
<a id="6955" href="Relation.Binary.Consequences.html#6955" class="Function">dec⇒weaklyDec</a> <a id="6969" class="Symbol">:</a> <a id="6971" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="6981" href="Relation.Binary.Consequences.html#6931" class="Bound">R</a> <a id="6983" class="Symbol"></a> <a id="6985" href="Relation.Binary.Definitions.html#6334" class="Function">WeaklyDecidable</a> <a id="7001" href="Relation.Binary.Consequences.html#6931" class="Bound">R</a>
<a id="7005" href="Relation.Binary.Consequences.html#6955" class="Function">dec⇒weaklyDec</a> <a id="7019" href="Relation.Binary.Consequences.html#7019" class="Bound">dec</a> <a id="7023" href="Relation.Binary.Consequences.html#7023" class="Bound">x</a> <a id="7025" href="Relation.Binary.Consequences.html#7025" class="Bound">y</a> <a id="7027" class="Symbol">=</a> <a id="7029" href="Data.Maybe.Base.html#1241" class="Function">decToMaybe</a> <a id="7040" class="Symbol">(</a><a id="7041" href="Relation.Binary.Consequences.html#7019" class="Bound">dec</a> <a id="7045" href="Relation.Binary.Consequences.html#7023" class="Bound">x</a> <a id="7047" href="Relation.Binary.Consequences.html#7025" class="Bound">y</a><a id="7048" class="Symbol">)</a>
<a id="7053" href="Relation.Binary.Consequences.html#7053" class="Function">dec⇒recomputable</a> <a id="7070" class="Symbol">:</a> <a id="7072" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="7082" href="Relation.Binary.Consequences.html#6931" class="Bound">R</a> <a id="7084" class="Symbol"></a> <a id="7086" href="Relation.Binary.Definitions.html#6812" class="Function">Recomputable</a> <a id="7099" href="Relation.Binary.Consequences.html#6931" class="Bound">R</a>
<a id="7103" href="Relation.Binary.Consequences.html#7053" class="Function">dec⇒recomputable</a> <a id="7120" href="Relation.Binary.Consequences.html#7120" class="Bound">dec</a> <a id="7124" class="Symbol">{</a><a id="7125" href="Relation.Binary.Consequences.html#7125" class="Bound">a</a><a id="7126" class="Symbol">}</a> <a id="7128" class="Symbol">{</a><a id="7129" href="Relation.Binary.Consequences.html#7129" class="Bound">b</a><a id="7130" class="Symbol">}</a> <a id="7132" class="Symbol">=</a> <a id="7134" href="Relation.Nullary.Decidable.Core.html#2212" class="Function">recompute</a> <a id="7144" href="Function.Base.html#1974" class="Function Operator">$</a> <a id="7146" href="Relation.Binary.Consequences.html#7120" class="Bound">dec</a> <a id="7150" href="Relation.Binary.Consequences.html#7125" class="Bound">a</a> <a id="7152" href="Relation.Binary.Consequences.html#7129" class="Bound">b</a>
<a id="7155" class="Keyword">module</a> <a id="7162" href="Relation.Binary.Consequences.html#7162" class="Module">_</a> <a id="7164" class="Symbol">{</a><a id="7165" href="Relation.Binary.Consequences.html#7165" class="Bound">R</a> <a id="7167" class="Symbol">:</a> <a id="7169" href="Relation.Binary.Core.html#780" class="Function">REL</a> <a id="7173" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="7175" href="Relation.Binary.Consequences.html#889" class="Generalizable">B</a> <a id="7177" href="Relation.Binary.Consequences.html#861" class="Generalizable">ℓ₁</a><a id="7179" class="Symbol">}</a> <a id="7181" class="Symbol">{</a><a id="7182" href="Relation.Binary.Consequences.html#7182" class="Bound">S</a> <a id="7184" class="Symbol">:</a> <a id="7186" href="Relation.Binary.Core.html#780" class="Function">REL</a> <a id="7190" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="7192" href="Relation.Binary.Consequences.html#889" class="Generalizable">B</a> <a id="7194" href="Relation.Binary.Consequences.html#864" class="Generalizable">ℓ₂</a><a id="7196" class="Symbol">}</a> <a id="7198" class="Keyword">where</a>
<a id="7207" href="Relation.Binary.Consequences.html#7207" class="Function">map-NonEmpty</a> <a id="7220" class="Symbol">:</a> <a id="7222" href="Relation.Binary.Consequences.html#7165" class="Bound">R</a> <a id="7224" href="Relation.Binary.Core.html#1268" class="Function Operator"></a> <a id="7226" href="Relation.Binary.Consequences.html#7182" class="Bound">S</a> <a id="7228" class="Symbol"></a> <a id="7230" href="Relation.Binary.Definitions.html#7073" class="Record">NonEmpty</a> <a id="7239" href="Relation.Binary.Consequences.html#7165" class="Bound">R</a> <a id="7241" class="Symbol"></a> <a id="7243" href="Relation.Binary.Definitions.html#7073" class="Record">NonEmpty</a> <a id="7252" href="Relation.Binary.Consequences.html#7182" class="Bound">S</a>
<a id="7256" href="Relation.Binary.Consequences.html#7207" class="Function">map-NonEmpty</a> <a id="7269" href="Relation.Binary.Consequences.html#7269" class="Bound">f</a> <a id="7271" href="Relation.Binary.Consequences.html#7271" class="Bound">x</a> <a id="7273" class="Symbol">=</a> <a id="7275" href="Relation.Binary.Definitions.html#7176" class="InductiveConstructor">nonEmpty</a> <a id="7284" class="Symbol">(</a><a id="7285" href="Relation.Binary.Consequences.html#7269" class="Bound">f</a> <a id="7287" class="Symbol">(</a><a id="7288" href="Relation.Binary.Definitions.html#7225" class="Field">NonEmpty.proof</a> <a id="7303" href="Relation.Binary.Consequences.html#7271" class="Bound">x</a><a id="7304" class="Symbol">))</a>
<a id="7308" class="Keyword">module</a> <a id="7315" href="Relation.Binary.Consequences.html#7315" class="Module">_</a> <a id="7317" class="Symbol">{</a><a id="7318" href="Relation.Binary.Consequences.html#7318" class="Bound">R</a> <a id="7320" class="Symbol">:</a> <a id="7322" href="Relation.Binary.Core.html#780" class="Function">REL</a> <a id="7326" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="7328" href="Relation.Binary.Consequences.html#889" class="Generalizable">B</a> <a id="7330" href="Relation.Binary.Consequences.html#861" class="Generalizable">ℓ₁</a><a id="7332" class="Symbol">}</a> <a id="7334" class="Symbol">{</a><a id="7335" href="Relation.Binary.Consequences.html#7335" class="Bound">S</a> <a id="7337" class="Symbol">:</a> <a id="7339" href="Relation.Binary.Core.html#780" class="Function">REL</a> <a id="7343" href="Relation.Binary.Consequences.html#889" class="Generalizable">B</a> <a id="7345" href="Relation.Binary.Consequences.html#887" class="Generalizable">A</a> <a id="7347" href="Relation.Binary.Consequences.html#864" class="Generalizable">ℓ₂</a><a id="7349" class="Symbol">}</a> <a id="7351" class="Keyword">where</a>
<a id="7360" href="Relation.Binary.Consequences.html#7360" class="Function">flip-Connex</a> <a id="7372" class="Symbol">:</a> <a id="7374" href="Relation.Binary.Definitions.html#2819" class="Function">Connex</a> <a id="7381" href="Relation.Binary.Consequences.html#7318" class="Bound">R</a> <a id="7383" href="Relation.Binary.Consequences.html#7335" class="Bound">S</a> <a id="7385" class="Symbol"></a> <a id="7387" href="Relation.Binary.Definitions.html#2819" class="Function">Connex</a> <a id="7394" href="Relation.Binary.Consequences.html#7335" class="Bound">S</a> <a id="7396" href="Relation.Binary.Consequences.html#7318" class="Bound">R</a>
<a id="7400" href="Relation.Binary.Consequences.html#7360" class="Function">flip-Connex</a> <a id="7412" href="Relation.Binary.Consequences.html#7412" class="Bound">f</a> <a id="7414" href="Relation.Binary.Consequences.html#7414" class="Bound">x</a> <a id="7416" href="Relation.Binary.Consequences.html#7416" class="Bound">y</a> <a id="7418" class="Symbol">=</a> <a id="7420" href="Data.Sum.Base.html#1185" class="Function">Sum.swap</a> <a id="7429" class="Symbol">(</a><a id="7430" href="Relation.Binary.Consequences.html#7412" class="Bound">f</a> <a id="7432" href="Relation.Binary.Consequences.html#7416" class="Bound">y</a> <a id="7434" href="Relation.Binary.Consequences.html#7414" class="Bound">x</a><a id="7435" class="Symbol">)</a>
<a id="7440" class="Comment">------------------------------------------------------------------------</a>
<a id="7513" class="Comment">-- DEPRECATED NAMES</a>
<a id="7533" class="Comment">------------------------------------------------------------------------</a>
<a id="7606" class="Comment">-- Please use the new names as continuing support for the old names is</a>
<a id="7677" class="Comment">-- not guaranteed.</a>
<a id="7697" class="Comment">-- Version 1.6</a>
<a id="subst⟶respˡ"></a><a id="7713" href="Relation.Binary.Consequences.html#7713" class="Function">subst⟶respˡ</a> <a id="7725" class="Symbol">=</a> <a id="7727" href="Relation.Binary.Consequences.html#1049" class="Function">subst⇒respˡ</a>
<a id="7739" class="Symbol">{-#</a> <a id="7743" class="Keyword">WARNING_ON_USAGE</a> <a id="7760" class="Pragma">subst⟶respˡ</a>
<a id="7772" class="String">&quot;Warning: subst⟶respˡ was deprecated in v1.6.
Please use subst⇒respˡ instead.&quot;</a>
<a id="7851" class="Symbol">#-}</a>
<a id="subst⟶respʳ"></a><a id="7855" href="Relation.Binary.Consequences.html#7855" class="Function">subst⟶respʳ</a> <a id="7867" class="Symbol">=</a> <a id="7869" href="Relation.Binary.Consequences.html#1166" class="Function">subst⇒respʳ</a>
<a id="7881" class="Symbol">{-#</a> <a id="7885" class="Keyword">WARNING_ON_USAGE</a> <a id="7902" class="Pragma">subst⟶respʳ</a>
<a id="7914" class="String">&quot;Warning: subst⟶respʳ was deprecated in v1.6.
Please use subst⇒respʳ instead.&quot;</a>
<a id="7993" class="Symbol">#-}</a>
<a id="subst⟶resp₂"></a><a id="7997" href="Relation.Binary.Consequences.html#7997" class="Function">subst⟶resp₂</a> <a id="8009" class="Symbol">=</a> <a id="8011" href="Relation.Binary.Consequences.html#1278" class="Function">subst⇒resp₂</a>
<a id="8023" class="Symbol">{-#</a> <a id="8027" class="Keyword">WARNING_ON_USAGE</a> <a id="8044" class="Pragma">subst⟶resp₂</a>
<a id="8056" class="String">&quot;Warning: subst⟶resp₂ was deprecated in v1.6.
Please use subst⇒resp₂ instead.&quot;</a>
<a id="8135" class="Symbol">#-}</a>
<a id="P-resp⟶¬P-resp"></a><a id="8139" href="Relation.Binary.Consequences.html#8139" class="Function">P-resp⟶¬P-resp</a> <a id="8154" class="Symbol">=</a> <a id="8156" href="Relation.Binary.Consequences.html#1439" class="Function">resp⇒¬-resp</a>
<a id="8168" class="Symbol">{-#</a> <a id="8172" class="Keyword">WARNING_ON_USAGE</a> <a id="8189" class="Pragma">P-resp⟶¬P-resp</a>
<a id="8204" class="String">&quot;Warning: P-resp⟶¬P-resp was deprecated in v1.6.
Please use resp⇒¬-resp instead.&quot;</a>
<a id="8286" class="Symbol">#-}</a>
<a id="total⟶refl"></a><a id="8290" href="Relation.Binary.Consequences.html#8290" class="Function">total⟶refl</a> <a id="8301" class="Symbol">=</a> <a id="8303" href="Relation.Binary.Consequences.html#2477" class="Function">total⇒refl</a>
<a id="8314" class="Symbol">{-#</a> <a id="8318" class="Keyword">WARNING_ON_USAGE</a> <a id="8335" class="Pragma">total⟶refl</a>
<a id="8346" class="String">&quot;Warning: total⟶refl was deprecated in v1.6.
Please use total⇒refl instead.&quot;</a>
<a id="8423" class="Symbol">#-}</a>
<a id="total+dec⟶dec"></a><a id="8427" href="Relation.Binary.Consequences.html#8427" class="Function">total+dec⟶dec</a> <a id="8441" class="Symbol">=</a> <a id="8443" href="Relation.Binary.Consequences.html#2706" class="Function">total∧dec⇒dec</a>
<a id="8457" class="Symbol">{-#</a> <a id="8461" class="Keyword">WARNING_ON_USAGE</a> <a id="8478" class="Pragma">total+dec⟶dec</a>
<a id="8492" class="String">&quot;Warning: total+dec⟶dec was deprecated in v1.6.
Please use total∧dec⇒dec instead.&quot;</a>
<a id="8575" class="Symbol">#-}</a>
<a id="trans∧irr⟶asym"></a><a id="8579" href="Relation.Binary.Consequences.html#8579" class="Function">trans∧irr⟶asym</a> <a id="8594" class="Symbol">=</a> <a id="8596" href="Relation.Binary.Consequences.html#4018" class="Function">trans∧irr⇒asym</a>
<a id="8611" class="Symbol">{-#</a> <a id="8615" class="Keyword">WARNING_ON_USAGE</a> <a id="8632" class="Pragma">trans∧irr⟶asym</a>
<a id="8647" class="String">&quot;Warning: trans∧irr⟶asym was deprecated in v1.6.
Please use trans∧irr⇒asym instead.&quot;</a>
<a id="8732" class="Symbol">#-}</a>
<a id="irr∧antisym⟶asym"></a><a id="8736" href="Relation.Binary.Consequences.html#8736" class="Function">irr∧antisym⟶asym</a> <a id="8753" class="Symbol">=</a> <a id="8755" href="Relation.Binary.Consequences.html#4204" class="Function">irr∧antisym⇒asym</a>
<a id="8772" class="Symbol">{-#</a> <a id="8776" class="Keyword">WARNING_ON_USAGE</a> <a id="8793" class="Pragma">irr∧antisym⟶asym</a>
<a id="8810" class="String">&quot;Warning: irr∧antisym⟶asym was deprecated in v1.6.
Please use irr∧antisym⇒asym instead.&quot;</a>
<a id="8899" class="Symbol">#-}</a>
<a id="asym⟶antisym"></a><a id="8903" href="Relation.Binary.Consequences.html#8903" class="Function">asym⟶antisym</a> <a id="8916" class="Symbol">=</a> <a id="8918" href="Relation.Binary.Consequences.html#4385" class="Function">asym⇒antisym</a>
<a id="8931" class="Symbol">{-#</a> <a id="8935" class="Keyword">WARNING_ON_USAGE</a> <a id="8952" class="Pragma">asym⟶antisym</a>
<a id="8965" class="String">&quot;Warning: asym⟶antisym was deprecated in v1.6.
Please use asym⇒antisym instead.&quot;</a>
<a id="9046" class="Symbol">#-}</a>
<a id="asym⟶irr"></a><a id="9050" href="Relation.Binary.Consequences.html#9050" class="Function">asym⟶irr</a> <a id="9059" class="Symbol">=</a> <a id="9061" href="Relation.Binary.Consequences.html#4494" class="Function">asym⇒irr</a>
<a id="9070" class="Symbol">{-#</a> <a id="9074" class="Keyword">WARNING_ON_USAGE</a> <a id="9091" class="Pragma">asym⟶irr</a>
<a id="9100" class="String">&quot;Warning: asym⟶irr was deprecated in v1.6.
Please use asym⇒irr instead.&quot;</a>
<a id="9173" class="Symbol">#-}</a>
<a id="tri⟶asym"></a><a id="9177" href="Relation.Binary.Consequences.html#9177" class="Function">tri⟶asym</a> <a id="9186" class="Symbol">=</a> <a id="9188" href="Relation.Binary.Consequences.html#4695" class="Function">tri⇒asym</a>
<a id="9197" class="Symbol">{-#</a> <a id="9201" class="Keyword">WARNING_ON_USAGE</a> <a id="9218" class="Pragma">tri⟶asym</a>
<a id="9227" class="String">&quot;Warning: tri⟶asym was deprecated in v1.6.
Please use tri⇒asym instead.&quot;</a>
<a id="9300" class="Symbol">#-}</a>
<a id="tri⟶irr"></a><a id="9304" href="Relation.Binary.Consequences.html#9304" class="Function">tri⟶irr</a> <a id="9312" class="Symbol">=</a> <a id="9314" href="Relation.Binary.Consequences.html#4890" class="Function">tri⇒irr</a>
<a id="9322" class="Symbol">{-#</a> <a id="9326" class="Keyword">WARNING_ON_USAGE</a> <a id="9343" class="Pragma">tri⟶irr</a>
<a id="9351" class="String">&quot;Warning: tri⟶irr was deprecated in v1.6.
Please use tri⇒irr instead.&quot;</a>
<a id="9422" class="Symbol">#-}</a>
<a id="tri⟶dec≈"></a><a id="9426" href="Relation.Binary.Consequences.html#9426" class="Function">tri⟶dec≈</a> <a id="9435" class="Symbol">=</a> <a id="9437" href="Relation.Binary.Consequences.html#5102" class="Function">tri⇒dec≈</a>
<a id="9446" class="Symbol">{-#</a> <a id="9450" class="Keyword">WARNING_ON_USAGE</a> <a id="9467" class="Pragma">tri⟶dec≈</a>
<a id="9476" class="String">&quot;Warning: tri⟶dec≈ was deprecated in v1.6.
Please use tri⇒dec≈ instead.&quot;</a>
<a id="9549" class="Symbol">#-}</a>
<a id="tri⟶dec&lt;"></a><a id="9553" href="Relation.Binary.Consequences.html#9553" class="Function">tri⟶dec&lt;</a> <a id="9562" class="Symbol">=</a> <a id="9564" href="Relation.Binary.Consequences.html#5286" class="Function">tri⇒dec&lt;</a>
<a id="9573" class="Symbol">{-#</a> <a id="9577" class="Keyword">WARNING_ON_USAGE</a> <a id="9594" class="Pragma">tri⟶dec&lt;</a>
<a id="9603" class="String">&quot;Warning: tri⟶dec&lt; was deprecated in v1.6.
Please use tri⇒dec&lt; instead.&quot;</a>
<a id="9676" class="Symbol">#-}</a>
<a id="trans∧tri⟶respʳ≈"></a><a id="9680" href="Relation.Binary.Consequences.html#9680" class="Function">trans∧tri⟶respʳ≈</a> <a id="9697" class="Symbol">=</a> <a id="9699" href="Relation.Binary.Consequences.html#5470" class="Function">trans∧tri⇒respʳ</a>
<a id="9715" class="Symbol">{-#</a> <a id="9719" class="Keyword">WARNING_ON_USAGE</a> <a id="9736" class="Pragma">trans∧tri⟶respʳ≈</a>
<a id="9753" class="String">&quot;Warning: trans∧tri⟶respʳ≈ was deprecated in v1.6.
Please use trans∧tri⇒respʳ instead.&quot;</a>
<a id="9841" class="Symbol">#-}</a>
<a id="trans∧tri⟶respˡ≈"></a><a id="9845" href="Relation.Binary.Consequences.html#9845" class="Function">trans∧tri⟶respˡ≈</a> <a id="9862" class="Symbol">=</a> <a id="9864" href="Relation.Binary.Consequences.html#5856" class="Function">trans∧tri⇒respˡ</a>
<a id="9880" class="Symbol">{-#</a> <a id="9884" class="Keyword">WARNING_ON_USAGE</a> <a id="9901" class="Pragma">trans∧tri⟶respˡ≈</a>
<a id="9918" class="String">&quot;Warning: trans∧tri⟶respˡ≈ was deprecated in v1.6.
Please use trans∧tri⇒respˡ instead.&quot;</a>
<a id="10006" class="Symbol">#-}</a>
<a id="trans∧tri⟶resp≈"></a><a id="10010" href="Relation.Binary.Consequences.html#10010" class="Function">trans∧tri⟶resp≈</a> <a id="10026" class="Symbol">=</a> <a id="10028" href="Relation.Binary.Consequences.html#6210" class="Function">trans∧tri⇒resp</a>
<a id="10043" class="Symbol">{-#</a> <a id="10047" class="Keyword">WARNING_ON_USAGE</a> <a id="10064" class="Pragma">trans∧tri⟶resp≈</a>
<a id="10080" class="String">&quot;Warning: trans∧tri⟶resp≈ was deprecated in v1.6.
Please use trans∧tri⇒resp instead.&quot;</a>
<a id="10166" class="Symbol">#-}</a>
<a id="dec⟶weaklyDec"></a><a id="10170" href="Relation.Binary.Consequences.html#10170" class="Function">dec⟶weaklyDec</a> <a id="10184" class="Symbol">=</a> <a id="10186" href="Relation.Binary.Consequences.html#6955" class="Function">dec⇒weaklyDec</a>
<a id="10200" class="Symbol">{-#</a> <a id="10204" class="Keyword">WARNING_ON_USAGE</a> <a id="10221" class="Pragma">dec⟶weaklyDec</a>
<a id="10235" class="String">&quot;Warning: dec⟶weaklyDec was deprecated in v1.6.
Please use dec⇒weaklyDec instead.&quot;</a>
<a id="10318" class="Symbol">#-}</a>
<a id="dec⟶recomputable"></a><a id="10322" href="Relation.Binary.Consequences.html#10322" class="Function">dec⟶recomputable</a> <a id="10339" class="Symbol">=</a> <a id="10341" href="Relation.Binary.Consequences.html#7053" class="Function">dec⇒recomputable</a>
<a id="10358" class="Symbol">{-#</a> <a id="10362" class="Keyword">WARNING_ON_USAGE</a> <a id="10379" class="Pragma">dec⟶recomputable</a>
<a id="10396" class="String">&quot;Warning: dec⟶recomputable was deprecated in v1.6.
Please use dec⇒recomputable instead.&quot;</a>
<a id="10485" class="Symbol">#-}</a>
</pre></body></html>