bsc-leon-vatthauer/public/Relation.Binary.Construct.NaturalOrder.Left.html

186 lines
76 KiB
HTML
Raw Normal View History

2023-08-19 16:11:22 +02:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Relation.Binary.Construct.NaturalOrder.Left</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">-- Conversion of binary operators to binary relations via the left</a>
<a id="173" class="Comment">-- natural order.</a>
<a id="191" class="Comment">------------------------------------------------------------------------</a>
<a id="265" class="Symbol">{-#</a> <a id="269" class="Keyword">OPTIONS</a> <a id="277" class="Pragma">--cubical-compatible</a> <a id="298" class="Pragma">--safe</a> <a id="305" class="Symbol">#-}</a>
<a id="310" class="Keyword">open</a> <a id="315" class="Keyword">import</a> <a id="322" href="Relation.Binary.html" class="Module">Relation.Binary</a>
<a id="338" class="Keyword">open</a> <a id="343" class="Keyword">import</a> <a id="350" href="Algebra.Core.html" class="Module">Algebra.Core</a>
<a id="364" class="Keyword">module</a> <a id="371" href="Relation.Binary.Construct.NaturalOrder.Left.html" class="Module">Relation.Binary.Construct.NaturalOrder.Left</a>
<a id="417" class="Symbol">{</a><a id="418" href="Relation.Binary.Construct.NaturalOrder.Left.html#418" class="Bound">a</a> <a id="420" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a><a id="421" class="Symbol">}</a> <a id="423" class="Symbol">{</a><a id="424" href="Relation.Binary.Construct.NaturalOrder.Left.html#424" class="Bound">A</a> <a id="426" class="Symbol">:</a> <a id="428" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="432" href="Relation.Binary.Construct.NaturalOrder.Left.html#418" class="Bound">a</a><a id="433" class="Symbol">}</a> <a id="435" class="Symbol">(</a><a id="436" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="440" class="Symbol">:</a> <a id="442" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="446" href="Relation.Binary.Construct.NaturalOrder.Left.html#424" class="Bound">A</a> <a id="448" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a><a id="449" class="Symbol">)</a> <a id="451" class="Symbol">(</a><a id="452" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="456" class="Symbol">:</a> <a id="458" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="462" href="Relation.Binary.Construct.NaturalOrder.Left.html#424" class="Bound">A</a><a id="463" class="Symbol">)</a> <a id="465" class="Keyword">where</a>
<a id="472" class="Keyword">open</a> <a id="477" class="Keyword">import</a> <a id="484" href="Algebra.Definitions.html" class="Module">Algebra.Definitions</a> <a id="504" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a>
<a id="508" class="Keyword">open</a> <a id="513" class="Keyword">import</a> <a id="520" href="Algebra.Structures.html" class="Module">Algebra.Structures</a> <a id="539" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a>
<a id="543" class="Keyword">open</a> <a id="548" class="Keyword">import</a> <a id="555" href="Data.Product.html" class="Module">Data.Product</a> <a id="568" class="Keyword">using</a> <a id="574" class="Symbol">(</a><a id="575" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="578" class="Symbol">;</a> <a id="580" href="Data.Product.html#1176" class="Function Operator">_×_</a><a id="583" class="Symbol">)</a>
<a id="585" class="Keyword">open</a> <a id="590" class="Keyword">import</a> <a id="597" href="Data.Sum.Base.html" class="Module">Data.Sum.Base</a> <a id="611" class="Keyword">using</a> <a id="617" class="Symbol">(</a><a id="618" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a><a id="622" class="Symbol">;</a> <a id="624" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a><a id="628" class="Symbol">)</a>
<a id="630" class="Keyword">open</a> <a id="635" class="Keyword">import</a> <a id="642" href="Relation.Nullary.html" class="Module">Relation.Nullary</a> <a id="659" class="Keyword">using</a> <a id="665" class="Symbol">(</a><a id="666" href="Relation.Nullary.html#665" class="Function Operator">¬_</a><a id="668" class="Symbol">)</a>
<a id="670" class="Keyword">import</a> <a id="677" href="Relation.Binary.Reasoning.Setoid.html" class="Module">Relation.Binary.Reasoning.Setoid</a> <a id="710" class="Symbol">as</a> <a id="713" class="Module">EqReasoning</a>
<a id="725" class="Keyword">open</a> <a id="730" class="Keyword">import</a> <a id="737" href="Relation.Binary.Lattice.html" class="Module">Relation.Binary.Lattice</a> <a id="761" class="Keyword">using</a> <a id="767" class="Symbol">(</a><a id="768" href="Relation.Binary.Lattice.html#823" class="Function">Infimum</a><a id="775" class="Symbol">)</a>
<a id="778" class="Comment">------------------------------------------------------------------------</a>
<a id="851" class="Comment">-- Definition</a>
<a id="866" class="Keyword">infix</a> <a id="872" class="Number">4</a> <a id="874" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="_≤_"></a><a id="879" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a> <a id="883" class="Symbol">:</a> <a id="885" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="889" href="Relation.Binary.Construct.NaturalOrder.Left.html#424" class="Bound">A</a> <a id="891" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a>
<a id="893" href="Relation.Binary.Construct.NaturalOrder.Left.html#893" class="Bound">x</a> <a id="895" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator"></a> <a id="897" href="Relation.Binary.Construct.NaturalOrder.Left.html#897" class="Bound">y</a> <a id="899" class="Symbol">=</a> <a id="901" href="Relation.Binary.Construct.NaturalOrder.Left.html#893" class="Bound">x</a> <a id="903" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator"></a> <a id="905" class="Symbol">(</a><a id="906" href="Relation.Binary.Construct.NaturalOrder.Left.html#893" class="Bound">x</a> <a id="908" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="910" href="Relation.Binary.Construct.NaturalOrder.Left.html#897" class="Bound">y</a><a id="911" class="Symbol">)</a>
<a id="914" class="Comment">------------------------------------------------------------------------</a>
<a id="987" class="Comment">-- Relational properties</a>
<a id="reflexive"></a><a id="1013" href="Relation.Binary.Construct.NaturalOrder.Left.html#1013" class="Function">reflexive</a> <a id="1023" class="Symbol">:</a> <a id="1025" href="Algebra.Structures.html#1129" class="Record">IsMagma</a> <a id="1033" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="1037" class="Symbol"></a> <a id="1039" href="Algebra.Definitions.html#2656" class="Function">Idempotent</a> <a id="1050" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="1054" class="Symbol"></a> <a id="1056" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="1060" href="Relation.Binary.Core.html#1263" class="Function Operator"></a> <a id="1062" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="1066" href="Relation.Binary.Construct.NaturalOrder.Left.html#1013" class="Function">reflexive</a> <a id="1076" href="Relation.Binary.Construct.NaturalOrder.Left.html#1076" class="Bound">magma</a> <a id="1082" href="Relation.Binary.Construct.NaturalOrder.Left.html#1082" class="Bound">idem</a> <a id="1087" class="Symbol">{</a><a id="1088" href="Relation.Binary.Construct.NaturalOrder.Left.html#1088" class="Bound">x</a><a id="1089" class="Symbol">}</a> <a id="1091" class="Symbol">{</a><a id="1092" href="Relation.Binary.Construct.NaturalOrder.Left.html#1092" class="Bound">y</a><a id="1093" class="Symbol">}</a> <a id="1095" href="Relation.Binary.Construct.NaturalOrder.Left.html#1095" class="Bound">x≈y</a> <a id="1099" class="Symbol">=</a> <a id="1101" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="1109" href="Relation.Binary.Construct.NaturalOrder.Left.html#1088" class="Bound">x</a> <a id="1115" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1118" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="1122" class="Symbol">(</a><a id="1123" href="Relation.Binary.Construct.NaturalOrder.Left.html#1082" class="Bound">idem</a> <a id="1128" href="Relation.Binary.Construct.NaturalOrder.Left.html#1088" class="Bound">x</a><a id="1129" class="Symbol">)</a> <a id="1131" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1135" href="Relation.Binary.Construct.NaturalOrder.Left.html#1088" class="Bound">x</a> <a id="1137" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1139" href="Relation.Binary.Construct.NaturalOrder.Left.html#1088" class="Bound">x</a> <a id="1141" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1144" href="Algebra.Structures.html#1219" class="Function">∙-cong</a> <a id="1151" href="Relation.Binary.Structures.html#1577" class="Function">refl</a> <a id="1156" href="Relation.Binary.Construct.NaturalOrder.Left.html#1095" class="Bound">x≈y</a> <a id="1160" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1164" href="Relation.Binary.Construct.NaturalOrder.Left.html#1088" class="Bound">x</a> <a id="1166" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1168" href="Relation.Binary.Construct.NaturalOrder.Left.html#1092" class="Bound">y</a> <a id="1170" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="1174" class="Keyword">where</a> <a id="1180" class="Keyword">open</a> <a id="1185" href="Algebra.Structures.html#1129" class="Module">IsMagma</a> <a id="1193" href="Relation.Binary.Construct.NaturalOrder.Left.html#1076" class="Bound">magma</a><a id="1198" class="Symbol">;</a> <a id="1200" class="Keyword">open</a> <a id="1205" href="Relation.Binary.Reasoning.Setoid.html" class="Module">EqReasoning</a> <a id="1217" href="Algebra.Structures.html#1294" class="Function">setoid</a>
<a id="refl"></a><a id="1225" href="Relation.Binary.Construct.NaturalOrder.Left.html#1225" class="Function">refl</a> <a id="1230" class="Symbol">:</a> <a id="1232" href="Relation.Binary.Definitions.html#1507" class="Function">Symmetric</a> <a id="1242" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="1246" class="Symbol"></a> <a id="1248" href="Algebra.Definitions.html#2656" class="Function">Idempotent</a> <a id="1259" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="1263" class="Symbol"></a> <a id="1265" href="Relation.Binary.Definitions.html#1348" class="Function">Reflexive</a> <a id="1275" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="1279" href="Relation.Binary.Construct.NaturalOrder.Left.html#1225" class="Function">refl</a> <a id="1284" href="Relation.Binary.Construct.NaturalOrder.Left.html#1284" class="Bound">sym</a> <a id="1288" href="Relation.Binary.Construct.NaturalOrder.Left.html#1288" class="Bound">idem</a> <a id="1293" class="Symbol">{</a><a id="1294" href="Relation.Binary.Construct.NaturalOrder.Left.html#1294" class="Bound">x</a><a id="1295" class="Symbol">}</a> <a id="1297" class="Symbol">=</a> <a id="1299" href="Relation.Binary.Construct.NaturalOrder.Left.html#1284" class="Bound">sym</a> <a id="1303" class="Symbol">(</a><a id="1304" href="Relation.Binary.Construct.NaturalOrder.Left.html#1288" class="Bound">idem</a> <a id="1309" href="Relation.Binary.Construct.NaturalOrder.Left.html#1294" class="Bound">x</a><a id="1310" class="Symbol">)</a>
<a id="antisym"></a><a id="1313" href="Relation.Binary.Construct.NaturalOrder.Left.html#1313" class="Function">antisym</a> <a id="1321" class="Symbol">:</a> <a id="1323" href="Relation.Binary.Structures.html#1531" class="Record">IsEquivalence</a> <a id="1337" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="1341" class="Symbol"></a> <a id="1343" href="Algebra.Definitions.html#1204" class="Function">Commutative</a> <a id="1355" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="1359" class="Symbol"></a> <a id="1361" href="Relation.Binary.Definitions.html#2091" class="Function">Antisymmetric</a> <a id="1375" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="1379" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="1383" href="Relation.Binary.Construct.NaturalOrder.Left.html#1313" class="Function">antisym</a> <a id="1391" href="Relation.Binary.Construct.NaturalOrder.Left.html#1391" class="Bound">isEq</a> <a id="1396" href="Relation.Binary.Construct.NaturalOrder.Left.html#1396" class="Bound">comm</a> <a id="1401" class="Symbol">{</a><a id="1402" href="Relation.Binary.Construct.NaturalOrder.Left.html#1402" class="Bound">x</a><a id="1403" class="Symbol">}</a> <a id="1405" class="Symbol">{</a><a id="1406" href="Relation.Binary.Construct.NaturalOrder.Left.html#1406" class="Bound">y</a><a id="1407" class="Symbol">}</a> <a id="1409" href="Relation.Binary.Construct.NaturalOrder.Left.html#1409" class="Bound">x≤y</a> <a id="1413" href="Relation.Binary.Construct.NaturalOrder.Left.html#1413" class="Bound">y≤x</a> <a id="1417" class="Symbol">=</a> <a id="1419" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="1427" href="Relation.Binary.Construct.NaturalOrder.Left.html#1402" class="Bound">x</a> <a id="1433" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1436" href="Relation.Binary.Construct.NaturalOrder.Left.html#1409" class="Bound">x≤y</a> <a id="1440" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1444" href="Relation.Binary.Construct.NaturalOrder.Left.html#1402" class="Bound">x</a> <a id="1446" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1448" href="Relation.Binary.Construct.NaturalOrder.Left.html#1406" class="Bound">y</a> <a id="1450" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1453" href="Relation.Binary.Construct.NaturalOrder.Left.html#1396" class="Bound">comm</a> <a id="1458" href="Relation.Binary.Construct.NaturalOrder.Left.html#1402" class="Bound">x</a> <a id="1460" href="Relation.Binary.Construct.NaturalOrder.Left.html#1406" class="Bound">y</a> <a id="1462" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1466" href="Relation.Binary.Construct.NaturalOrder.Left.html#1406" class="Bound">y</a> <a id="1468" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1470" href="Relation.Binary.Construct.NaturalOrder.Left.html#1402" class="Bound">x</a> <a id="1472" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1475" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="1479" href="Relation.Binary.Construct.NaturalOrder.Left.html#1413" class="Bound">y≤x</a> <a id="1483" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1487" href="Relation.Binary.Construct.NaturalOrder.Left.html#1406" class="Bound">y</a> <a id="1493" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="1497" class="Keyword">where</a> <a id="1503" class="Keyword">open</a> <a id="1508" href="Relation.Binary.Structures.html#1531" class="Module">IsEquivalence</a> <a id="1522" href="Relation.Binary.Construct.NaturalOrder.Left.html#1391" class="Bound">isEq</a><a id="1526" class="Symbol">;</a> <a id="1528" class="Keyword">open</a> <a id="1533" href="Relation.Binary.Reasoning.Setoid.html" class="Module">EqReasoning</a> <a id="1545" class="Symbol">(</a><a id="1546" class="Keyword">record</a> <a id="1553" class="Symbol">{</a> <a id="1555" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="1569" class="Symbol">=</a> <a id="1571" href="Relation.Binary.Construct.NaturalOrder.Left.html#1391" class="Bound">isEq</a> <a id="1576" class="Symbol">})</a>
<a id="total"></a><a id="1580" href="Relation.Binary.Construct.NaturalOrder.Left.html#1580" class="Function">total</a> <a id="1586" class="Symbol">:</a> <a id="1588" href="Relation.Binary.Definitions.html#1507" class="Function">Symmetric</a> <a id="1598" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="1602" class="Symbol"></a> <a id="1604" href="Relation.Binary.Definitions.html#1875" class="Function">Transitive</a> <a id="1615" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="1619" class="Symbol"></a> <a id="1621" href="Algebra.Definitions.html#2791" class="Function">Selective</a> <a id="1631" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="1635" class="Symbol"></a> <a id="1637" href="Algebra.Definitions.html#1204" class="Function">Commutative</a> <a id="1649" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="1653" class="Symbol"></a> <a id="1655" href="Relation.Binary.Definitions.html#2593" class="Function">Total</a> <a id="1661" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="1665" href="Relation.Binary.Construct.NaturalOrder.Left.html#1580" class="Function">total</a> <a id="1671" href="Relation.Binary.Construct.NaturalOrder.Left.html#1671" class="Bound">sym</a> <a id="1675" href="Relation.Binary.Construct.NaturalOrder.Left.html#1675" class="Bound">trans</a> <a id="1681" href="Relation.Binary.Construct.NaturalOrder.Left.html#1681" class="Bound">sel</a> <a id="1685" href="Relation.Binary.Construct.NaturalOrder.Left.html#1685" class="Bound">comm</a> <a id="1690" href="Relation.Binary.Construct.NaturalOrder.Left.html#1690" class="Bound">x</a> <a id="1692" href="Relation.Binary.Construct.NaturalOrder.Left.html#1692" class="Bound">y</a> <a id="1694" class="Keyword">with</a> <a id="1699" href="Relation.Binary.Construct.NaturalOrder.Left.html#1681" class="Bound">sel</a> <a id="1703" href="Relation.Binary.Construct.NaturalOrder.Left.html#1690" class="Bound">x</a> <a id="1705" href="Relation.Binary.Construct.NaturalOrder.Left.html#1692" class="Bound">y</a>
<a id="1707" class="Symbol">...</a> <a id="1711" class="Symbol">|</a> <a id="1713" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="1718" href="Relation.Binary.Construct.NaturalOrder.Left.html#1718" class="Bound">x∙y≈x</a> <a id="1724" class="Symbol">=</a> <a id="1726" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="1731" class="Symbol">(</a><a id="1732" class="Bound">sym</a> <a id="1736" href="Relation.Binary.Construct.NaturalOrder.Left.html#1718" class="Bound">x∙y≈x</a><a id="1741" class="Symbol">)</a>
<a id="1743" class="Symbol">...</a> <a id="1747" class="Symbol">|</a> <a id="1749" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="1754" href="Relation.Binary.Construct.NaturalOrder.Left.html#1754" class="Bound">x∙y≈y</a> <a id="1760" class="Symbol">=</a> <a id="1762" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="1767" class="Symbol">(</a><a id="1768" class="Bound">sym</a> <a id="1772" class="Symbol">(</a><a id="1773" class="Bound">trans</a> <a id="1779" class="Symbol">(</a><a id="1780" class="Bound">comm</a> <a id="1785" class="Bound">y</a> <a id="1787" class="Bound">x</a><a id="1788" class="Symbol">)</a> <a id="1790" href="Relation.Binary.Construct.NaturalOrder.Left.html#1754" class="Bound">x∙y≈y</a><a id="1795" class="Symbol">))</a>
<a id="trans"></a><a id="1799" href="Relation.Binary.Construct.NaturalOrder.Left.html#1799" class="Function">trans</a> <a id="1805" class="Symbol">:</a> <a id="1807" href="Algebra.Structures.html#1796" class="Record">IsSemigroup</a> <a id="1819" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="1823" class="Symbol"></a> <a id="1825" href="Relation.Binary.Definitions.html#1875" class="Function">Transitive</a> <a id="1836" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="1840" href="Relation.Binary.Construct.NaturalOrder.Left.html#1799" class="Function">trans</a> <a id="1846" href="Relation.Binary.Construct.NaturalOrder.Left.html#1846" class="Bound">semi</a> <a id="1851" class="Symbol">{</a><a id="1852" href="Relation.Binary.Construct.NaturalOrder.Left.html#1852" class="Bound">x</a><a id="1853" class="Symbol">}</a> <a id="1855" class="Symbol">{</a><a id="1856" href="Relation.Binary.Construct.NaturalOrder.Left.html#1856" class="Bound">y</a><a id="1857" class="Symbol">}</a> <a id="1859" class="Symbol">{</a><a id="1860" href="Relation.Binary.Construct.NaturalOrder.Left.html#1860" class="Bound">z</a><a id="1861" class="Symbol">}</a> <a id="1863" href="Relation.Binary.Construct.NaturalOrder.Left.html#1863" class="Bound">x≤y</a> <a id="1867" href="Relation.Binary.Construct.NaturalOrder.Left.html#1867" class="Bound">y≤z</a> <a id="1871" class="Symbol">=</a> <a id="1873" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="1881" href="Relation.Binary.Construct.NaturalOrder.Left.html#1852" class="Bound">x</a> <a id="1893" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1896" href="Relation.Binary.Construct.NaturalOrder.Left.html#1863" class="Bound">x≤y</a> <a id="1900" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1904" href="Relation.Binary.Construct.NaturalOrder.Left.html#1852" class="Bound">x</a> <a id="1906" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1908" href="Relation.Binary.Construct.NaturalOrder.Left.html#1856" class="Bound">y</a> <a id="1916" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1919" href="Algebra.Structures.html#1219" class="Function">∙-cong</a> <a id="1926" href="Relation.Binary.Structures.html#1577" class="Function">S.refl</a> <a id="1933" href="Relation.Binary.Construct.NaturalOrder.Left.html#1867" class="Bound">y≤z</a> <a id="1937" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1941" href="Relation.Binary.Construct.NaturalOrder.Left.html#1852" class="Bound">x</a> <a id="1943" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1945" class="Symbol">(</a><a id="1946" href="Relation.Binary.Construct.NaturalOrder.Left.html#1856" class="Bound">y</a> <a id="1948" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1950" href="Relation.Binary.Construct.NaturalOrder.Left.html#1860" class="Bound">z</a><a id="1951" class="Symbol">)</a> <a id="1953" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1956" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="1960" class="Symbol">(</a><a id="1961" href="Algebra.Structures.html#1876" class="Function">assoc</a> <a id="1967" href="Relation.Binary.Construct.NaturalOrder.Left.html#1852" class="Bound">x</a> <a id="1969" href="Relation.Binary.Construct.NaturalOrder.Left.html#1856" class="Bound">y</a> <a id="1971" href="Relation.Binary.Construct.NaturalOrder.Left.html#1860" class="Bound">z</a><a id="1972" class="Symbol">)</a> <a id="1974" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1978" class="Symbol">(</a><a id="1979" href="Relation.Binary.Construct.NaturalOrder.Left.html#1852" class="Bound">x</a> <a id="1981" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1983" href="Relation.Binary.Construct.NaturalOrder.Left.html#1856" class="Bound">y</a><a id="1984" class="Symbol">)</a> <a id="1986" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="1988" href="Relation.Binary.Construct.NaturalOrder.Left.html#1860" class="Bound">z</a> <a id="1990" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1993" href="Algebra.Structures.html#1219" class="Function">∙-cong</a> <a id="2000" class="Symbol">(</a><a id="2001" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="2005" href="Relation.Binary.Construct.NaturalOrder.Left.html#1863" class="Bound">x≤y</a><a id="2008" class="Symbol">)</a> <a id="2010" href="Relation.Binary.Structures.html#1577" class="Function">S.refl</a> <a id="2017" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2021" href="Relation.Binary.Construct.NaturalOrder.Left.html#1852" class="Bound">x</a> <a id="2023" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2025" href="Relation.Binary.Construct.NaturalOrder.Left.html#1860" class="Bound">z</a> <a id="2033" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="2037" class="Keyword">where</a> <a id="2043" class="Keyword">open</a> <a id="2048" class="Keyword">module</a> <a id="2055" href="Relation.Binary.Construct.NaturalOrder.Left.html#2055" class="Module">S</a> <a id="2057" class="Symbol">=</a> <a id="2059" href="Algebra.Structures.html#1796" class="Module">IsSemigroup</a> <a id="2071" href="Relation.Binary.Construct.NaturalOrder.Left.html#1846" class="Bound">semi</a><a id="2075" class="Symbol">;</a> <a id="2077" class="Keyword">open</a> <a id="2082" href="Relation.Binary.Reasoning.Setoid.html" class="Module">EqReasoning</a> <a id="2094" href="Algebra.Structures.html#1294" class="Function">S.setoid</a>
<a id="respʳ"></a><a id="2104" href="Relation.Binary.Construct.NaturalOrder.Left.html#2104" class="Function">respʳ</a> <a id="2110" class="Symbol">:</a> <a id="2112" href="Algebra.Structures.html#1129" class="Record">IsMagma</a> <a id="2120" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="2124" class="Symbol"></a> <a id="2126" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a> <a id="2130" href="Relation.Binary.Definitions.html#3758" class="Function Operator">Respectsʳ</a> <a id="2140" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a>
<a id="2144" href="Relation.Binary.Construct.NaturalOrder.Left.html#2104" class="Function">respʳ</a> <a id="2150" href="Relation.Binary.Construct.NaturalOrder.Left.html#2150" class="Bound">magma</a> <a id="2156" class="Symbol">{</a><a id="2157" href="Relation.Binary.Construct.NaturalOrder.Left.html#2157" class="Bound">x</a><a id="2158" class="Symbol">}</a> <a id="2160" class="Symbol">{</a><a id="2161" href="Relation.Binary.Construct.NaturalOrder.Left.html#2161" class="Bound">y</a><a id="2162" class="Symbol">}</a> <a id="2164" class="Symbol">{</a><a id="2165" href="Relation.Binary.Construct.NaturalOrder.Left.html#2165" class="Bound">z</a><a id="2166" class="Symbol">}</a> <a id="2168" href="Relation.Binary.Construct.NaturalOrder.Left.html#2168" class="Bound">y≈z</a> <a id="2172" href="Relation.Binary.Construct.NaturalOrder.Left.html#2172" class="Bound">x≤y</a> <a id="2176" class="Symbol">=</a> <a id="2178" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2186" href="Relation.Binary.Construct.NaturalOrder.Left.html#2157" class="Bound">x</a> <a id="2192" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2195" href="Relation.Binary.Construct.NaturalOrder.Left.html#2172" class="Bound">x≤y</a> <a id="2199" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2203" href="Relation.Binary.Construct.NaturalOrder.Left.html#2157" class="Bound">x</a> <a id="2205" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2207" href="Relation.Binary.Construct.NaturalOrder.Left.html#2161" class="Bound">y</a> <a id="2209" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2212" href="Algebra.Structures.html#1219" class="Function">∙-cong</a> <a id="2219" href="Relation.Binary.Structures.html#1577" class="Function">M.refl</a> <a id="2226" href="Relation.Binary.Construct.NaturalOrder.Left.html#2168" class="Bound">y≈z</a> <a id="2230" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2234" href="Relation.Binary.Construct.NaturalOrder.Left.html#2157" class="Bound">x</a> <a id="2236" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2238" href="Relation.Binary.Construct.NaturalOrder.Left.html#2165" class="Bound">z</a> <a id="2240" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="2244" class="Keyword">where</a> <a id="2250" class="Keyword">open</a> <a id="2255" class="Keyword">module</a> <a id="2262" href="Relation.Binary.Construct.NaturalOrder.Left.html#2262" class="Module">M</a> <a id="2264" class="Symbol">=</a> <a id="2266" href="Algebra.Structures.html#1129" class="Module">IsMagma</a> <a id="2274" href="Relation.Binary.Construct.NaturalOrder.Left.html#2150" class="Bound">magma</a><a id="2279" class="Symbol">;</a> <a id="2281" class="Keyword">open</a> <a id="2286" href="Relation.Binary.Reasoning.Setoid.html" class="Module">EqReasoning</a> <a id="2298" href="Algebra.Structures.html#1294" class="Function">M.setoid</a>
<a id="respˡ"></a><a id="2308" href="Relation.Binary.Construct.NaturalOrder.Left.html#2308" class="Function">respˡ</a> <a id="2314" class="Symbol">:</a> <a id="2316" href="Algebra.Structures.html#1129" class="Record">IsMagma</a> <a id="2324" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="2328" class="Symbol"></a> <a id="2330" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a> <a id="2334" href="Relation.Binary.Definitions.html#3923" class="Function Operator">Respectsˡ</a> <a id="2344" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a>
<a id="2348" href="Relation.Binary.Construct.NaturalOrder.Left.html#2308" class="Function">respˡ</a> <a id="2354" href="Relation.Binary.Construct.NaturalOrder.Left.html#2354" class="Bound">magma</a> <a id="2360" class="Symbol">{</a><a id="2361" href="Relation.Binary.Construct.NaturalOrder.Left.html#2361" class="Bound">x</a><a id="2362" class="Symbol">}</a> <a id="2364" class="Symbol">{</a><a id="2365" href="Relation.Binary.Construct.NaturalOrder.Left.html#2365" class="Bound">y</a><a id="2366" class="Symbol">}</a> <a id="2368" class="Symbol">{</a><a id="2369" href="Relation.Binary.Construct.NaturalOrder.Left.html#2369" class="Bound">z</a><a id="2370" class="Symbol">}</a> <a id="2372" href="Relation.Binary.Construct.NaturalOrder.Left.html#2372" class="Bound">y≈z</a> <a id="2376" href="Relation.Binary.Construct.NaturalOrder.Left.html#2376" class="Bound">y≤x</a> <a id="2380" class="Symbol">=</a> <a id="2382" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2390" href="Relation.Binary.Construct.NaturalOrder.Left.html#2369" class="Bound">z</a> <a id="2396" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2399" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="2403" href="Relation.Binary.Construct.NaturalOrder.Left.html#2372" class="Bound">y≈z</a> <a id="2407" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2411" href="Relation.Binary.Construct.NaturalOrder.Left.html#2365" class="Bound">y</a> <a id="2417" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2420" href="Relation.Binary.Construct.NaturalOrder.Left.html#2376" class="Bound">y≤x</a> <a id="2424" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2428" href="Relation.Binary.Construct.NaturalOrder.Left.html#2365" class="Bound">y</a> <a id="2430" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2432" href="Relation.Binary.Construct.NaturalOrder.Left.html#2361" class="Bound">x</a> <a id="2434" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2437" href="Algebra.Structures.html#1219" class="Function">∙-cong</a> <a id="2444" href="Relation.Binary.Construct.NaturalOrder.Left.html#2372" class="Bound">y≈z</a> <a id="2448" href="Relation.Binary.Structures.html#1577" class="Function">M.refl</a> <a id="2455" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2459" href="Relation.Binary.Construct.NaturalOrder.Left.html#2369" class="Bound">z</a> <a id="2461" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2463" href="Relation.Binary.Construct.NaturalOrder.Left.html#2361" class="Bound">x</a> <a id="2465" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="2469" class="Keyword">where</a> <a id="2475" class="Keyword">open</a> <a id="2480" class="Keyword">module</a> <a id="2487" href="Relation.Binary.Construct.NaturalOrder.Left.html#2487" class="Module">M</a> <a id="2489" class="Symbol">=</a> <a id="2491" href="Algebra.Structures.html#1129" class="Module">IsMagma</a> <a id="2499" href="Relation.Binary.Construct.NaturalOrder.Left.html#2354" class="Bound">magma</a><a id="2504" class="Symbol">;</a> <a id="2506" class="Keyword">open</a> <a id="2511" href="Relation.Binary.Reasoning.Setoid.html" class="Module">EqReasoning</a> <a id="2523" href="Algebra.Structures.html#1294" class="Function">M.setoid</a>
<a id="resp₂"></a><a id="2533" href="Relation.Binary.Construct.NaturalOrder.Left.html#2533" class="Function">resp₂</a> <a id="2539" class="Symbol">:</a> <a id="2541" href="Algebra.Structures.html#1129" class="Record">IsMagma</a> <a id="2549" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="2553" class="Symbol"></a> <a id="2556" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a> <a id="2560" href="Relation.Binary.Definitions.html#4086" class="Function Operator">Respects₂</a> <a id="2570" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a>
<a id="2574" href="Relation.Binary.Construct.NaturalOrder.Left.html#2533" class="Function">resp₂</a> <a id="2580" href="Relation.Binary.Construct.NaturalOrder.Left.html#2580" class="Bound">magma</a> <a id="2586" class="Symbol">=</a> <a id="2588" href="Relation.Binary.Construct.NaturalOrder.Left.html#2104" class="Function">respʳ</a> <a id="2594" href="Relation.Binary.Construct.NaturalOrder.Left.html#2580" class="Bound">magma</a> <a id="2600" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="2602" href="Relation.Binary.Construct.NaturalOrder.Left.html#2308" class="Function">respˡ</a> <a id="2608" href="Relation.Binary.Construct.NaturalOrder.Left.html#2580" class="Bound">magma</a>
<a id="dec"></a><a id="2615" href="Relation.Binary.Construct.NaturalOrder.Left.html#2615" class="Function">dec</a> <a id="2619" class="Symbol">:</a> <a id="2621" href="Relation.Binary.Definitions.html#4584" class="Function">Decidable</a> <a id="2631" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="2635" class="Symbol"></a> <a id="2637" href="Relation.Binary.Definitions.html#4584" class="Function">Decidable</a> <a id="2647" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="2651" href="Relation.Binary.Construct.NaturalOrder.Left.html#2615" class="Function">dec</a> <a id="2655" href="Relation.Binary.Construct.NaturalOrder.Left.html#2655" class="Bound Operator">_≟_</a> <a id="2659" href="Relation.Binary.Construct.NaturalOrder.Left.html#2659" class="Bound">x</a> <a id="2661" href="Relation.Binary.Construct.NaturalOrder.Left.html#2661" class="Bound">y</a> <a id="2663" class="Symbol">=</a> <a id="2665" href="Relation.Binary.Construct.NaturalOrder.Left.html#2659" class="Bound">x</a> <a id="2667" href="Relation.Binary.Construct.NaturalOrder.Left.html#2655" class="Bound Operator"></a> <a id="2669" class="Symbol">(</a><a id="2670" href="Relation.Binary.Construct.NaturalOrder.Left.html#2659" class="Bound">x</a> <a id="2672" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2674" href="Relation.Binary.Construct.NaturalOrder.Left.html#2661" class="Bound">y</a><a id="2675" class="Symbol">)</a>
<a id="2678" class="Keyword">module</a> <a id="2685" href="Relation.Binary.Construct.NaturalOrder.Left.html#2685" class="Module">_</a> <a id="2687" class="Symbol">(</a><a id="2688" href="Relation.Binary.Construct.NaturalOrder.Left.html#2688" class="Bound">semi</a> <a id="2693" class="Symbol">:</a> <a id="2695" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="2709" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a><a id="2712" class="Symbol">)</a> <a id="2714" class="Keyword">where</a>
<a id="2723" class="Keyword">private</a> <a id="2731" class="Keyword">open</a> <a id="2736" class="Keyword">module</a> <a id="2743" href="Relation.Binary.Construct.NaturalOrder.Left.html#2743" class="Module">S</a> <a id="2745" class="Symbol">=</a> <a id="2747" href="Algebra.Structures.html#2399" class="Module">IsSemilattice</a> <a id="2761" href="Relation.Binary.Construct.NaturalOrder.Left.html#2688" class="Bound">semi</a>
<a id="2768" class="Keyword">open</a> <a id="2773" href="Relation.Binary.Reasoning.Setoid.html" class="Module">EqReasoning</a> <a id="2785" href="Algebra.Structures.html#1294" class="Function">setoid</a>
<a id="2795" href="Relation.Binary.Construct.NaturalOrder.Left.html#2795" class="Function">x∙y≤x</a> <a id="2801" class="Symbol">:</a> <a id="2803" class="Symbol"></a> <a id="2805" href="Relation.Binary.Construct.NaturalOrder.Left.html#2805" class="Bound">x</a> <a id="2807" href="Relation.Binary.Construct.NaturalOrder.Left.html#2807" class="Bound">y</a> <a id="2809" class="Symbol"></a> <a id="2811" class="Symbol">(</a><a id="2812" href="Relation.Binary.Construct.NaturalOrder.Left.html#2805" class="Bound">x</a> <a id="2814" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2816" href="Relation.Binary.Construct.NaturalOrder.Left.html#2807" class="Bound">y</a><a id="2817" class="Symbol">)</a> <a id="2819" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator"></a> <a id="2821" href="Relation.Binary.Construct.NaturalOrder.Left.html#2805" class="Bound">x</a>
<a id="2825" href="Relation.Binary.Construct.NaturalOrder.Left.html#2795" class="Function">x∙y≤x</a> <a id="2831" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2833" href="Relation.Binary.Construct.NaturalOrder.Left.html#2833" class="Bound">y</a> <a id="2835" class="Symbol">=</a> <a id="2837" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2847" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2849" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2851" href="Relation.Binary.Construct.NaturalOrder.Left.html#2833" class="Bound">y</a> <a id="2859" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2862" href="Algebra.Structures.html#2555" class="Function">∧-cong</a> <a id="2869" class="Symbol">(</a><a id="2870" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="2874" class="Symbol">(</a><a id="2875" href="Algebra.Structures.html#2023" class="Function">idem</a> <a id="2880" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a><a id="2881" class="Symbol">))</a> <a id="2884" href="Relation.Binary.Structures.html#1577" class="Function">S.refl</a> <a id="2891" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2897" class="Symbol">(</a><a id="2898" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2900" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2902" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a><a id="2903" class="Symbol">)</a> <a id="2905" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2907" href="Relation.Binary.Construct.NaturalOrder.Left.html#2833" class="Bound">y</a> <a id="2909" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2912" href="Algebra.Structures.html#1876" class="Function">assoc</a> <a id="2918" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2920" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2922" href="Relation.Binary.Construct.NaturalOrder.Left.html#2833" class="Bound">y</a> <a id="2924" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2930" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2932" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2934" class="Symbol">(</a><a id="2935" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2937" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2939" href="Relation.Binary.Construct.NaturalOrder.Left.html#2833" class="Bound">y</a><a id="2940" class="Symbol">)</a> <a id="2942" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2945" href="Algebra.Structures.html#2479" class="Field">comm</a> <a id="2950" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2952" class="Symbol">(</a><a id="2953" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2955" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2957" href="Relation.Binary.Construct.NaturalOrder.Left.html#2833" class="Bound">y</a><a id="2958" class="Symbol">)</a> <a id="2960" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2966" class="Symbol">(</a><a id="2967" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2969" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2971" href="Relation.Binary.Construct.NaturalOrder.Left.html#2833" class="Bound">y</a><a id="2972" class="Symbol">)</a> <a id="2974" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="2976" href="Relation.Binary.Construct.NaturalOrder.Left.html#2831" class="Bound">x</a> <a id="2978" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="2983" href="Relation.Binary.Construct.NaturalOrder.Left.html#2983" class="Function">x∙y≤y</a> <a id="2989" class="Symbol">:</a> <a id="2991" class="Symbol"></a> <a id="2993" href="Relation.Binary.Construct.NaturalOrder.Left.html#2993" class="Bound">x</a> <a id="2995" href="Relation.Binary.Construct.NaturalOrder.Left.html#2995" class="Bound">y</a> <a id="2997" class="Symbol"></a> <a id="2999" class="Symbol">(</a><a id="3000" href="Relation.Binary.Construct.NaturalOrder.Left.html#2993" class="Bound">x</a> <a id="3002" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3004" href="Relation.Binary.Construct.NaturalOrder.Left.html#2995" class="Bound">y</a><a id="3005" class="Symbol">)</a> <a id="3007" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator"></a> <a id="3009" href="Relation.Binary.Construct.NaturalOrder.Left.html#2995" class="Bound">y</a>
<a id="3013" href="Relation.Binary.Construct.NaturalOrder.Left.html#2983" class="Function">x∙y≤y</a> <a id="3019" href="Relation.Binary.Construct.NaturalOrder.Left.html#3019" class="Bound">x</a> <a id="3021" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a> <a id="3023" class="Symbol">=</a> <a id="3025" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="3035" href="Relation.Binary.Construct.NaturalOrder.Left.html#3019" class="Bound">x</a> <a id="3037" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3039" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a> <a id="3048" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3051" href="Algebra.Structures.html#2555" class="Function">∧-cong</a> <a id="3058" href="Relation.Binary.Structures.html#1577" class="Function">S.refl</a> <a id="3065" class="Symbol">(</a><a id="3066" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="3070" class="Symbol">(</a><a id="3071" href="Algebra.Structures.html#2023" class="Function">idem</a> <a id="3076" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a><a id="3077" class="Symbol">))</a> <a id="3080" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="3086" href="Relation.Binary.Construct.NaturalOrder.Left.html#3019" class="Bound">x</a> <a id="3088" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3090" class="Symbol">(</a><a id="3091" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a> <a id="3093" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3095" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a><a id="3096" class="Symbol">)</a> <a id="3099" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3102" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="3106" class="Symbol">(</a><a id="3107" href="Algebra.Structures.html#1876" class="Function">assoc</a> <a id="3113" href="Relation.Binary.Construct.NaturalOrder.Left.html#3019" class="Bound">x</a> <a id="3115" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a> <a id="3117" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a><a id="3118" class="Symbol">)</a> <a id="3120" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="3126" class="Symbol">(</a><a id="3127" href="Relation.Binary.Construct.NaturalOrder.Left.html#3019" class="Bound">x</a> <a id="3129" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3131" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a><a id="3132" class="Symbol">)</a> <a id="3134" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3136" href="Relation.Binary.Construct.NaturalOrder.Left.html#3021" class="Bound">y</a> <a id="3139" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="3144" href="Relation.Binary.Construct.NaturalOrder.Left.html#3144" class="Function">∙-presʳ-≤</a> <a id="3154" class="Symbol">:</a> <a id="3156" class="Symbol"></a> <a id="3158" class="Symbol">{</a><a id="3159" href="Relation.Binary.Construct.NaturalOrder.Left.html#3159" class="Bound">x</a> <a id="3161" href="Relation.Binary.Construct.NaturalOrder.Left.html#3161" class="Bound">y</a><a id="3162" class="Symbol">}</a> <a id="3164" href="Relation.Binary.Construct.NaturalOrder.Left.html#3164" class="Bound">z</a> <a id="3166" class="Symbol"></a> <a id="3168" href="Relation.Binary.Construct.NaturalOrder.Left.html#3164" class="Bound">z</a> <a id="3170" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator"></a> <a id="3172" href="Relation.Binary.Construct.NaturalOrder.Left.html#3159" class="Bound">x</a> <a id="3174" class="Symbol"></a> <a id="3176" href="Relation.Binary.Construct.NaturalOrder.Left.html#3164" class="Bound">z</a> <a id="3178" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator"></a> <a id="3180" href="Relation.Binary.Construct.NaturalOrder.Left.html#3161" class="Bound">y</a> <a id="3182" class="Symbol"></a> <a id="3184" href="Relation.Binary.Construct.NaturalOrder.Left.html#3164" class="Bound">z</a> <a id="3186" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator"></a> <a id="3188" class="Symbol">(</a><a id="3189" href="Relation.Binary.Construct.NaturalOrder.Left.html#3159" class="Bound">x</a> <a id="3191" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3193" href="Relation.Binary.Construct.NaturalOrder.Left.html#3161" class="Bound">y</a><a id="3194" class="Symbol">)</a>
<a id="3198" href="Relation.Binary.Construct.NaturalOrder.Left.html#3144" class="Function">∙-presʳ-≤</a> <a id="3208" class="Symbol">{</a><a id="3209" href="Relation.Binary.Construct.NaturalOrder.Left.html#3209" class="Bound">x</a><a id="3210" class="Symbol">}</a> <a id="3212" class="Symbol">{</a><a id="3213" href="Relation.Binary.Construct.NaturalOrder.Left.html#3213" class="Bound">y</a><a id="3214" class="Symbol">}</a> <a id="3216" href="Relation.Binary.Construct.NaturalOrder.Left.html#3216" class="Bound">z</a> <a id="3218" href="Relation.Binary.Construct.NaturalOrder.Left.html#3218" class="Bound">z≤x</a> <a id="3222" href="Relation.Binary.Construct.NaturalOrder.Left.html#3222" class="Bound">z≤y</a> <a id="3226" class="Symbol">=</a> <a id="3228" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="3238" href="Relation.Binary.Construct.NaturalOrder.Left.html#3216" class="Bound">z</a> <a id="3251" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3254" href="Relation.Binary.Construct.NaturalOrder.Left.html#3222" class="Bound">z≤y</a> <a id="3258" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="3264" href="Relation.Binary.Construct.NaturalOrder.Left.html#3216" class="Bound">z</a> <a id="3266" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3268" href="Relation.Binary.Construct.NaturalOrder.Left.html#3213" class="Bound">y</a> <a id="3277" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3280" href="Algebra.Structures.html#2555" class="Function">∧-cong</a> <a id="3287" href="Relation.Binary.Construct.NaturalOrder.Left.html#3218" class="Bound">z≤x</a> <a id="3291" href="Relation.Binary.Structures.html#1577" class="Function">S.refl</a> <a id="3298" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="3304" class="Symbol">(</a><a id="3305" href="Relation.Binary.Construct.NaturalOrder.Left.html#3216" class="Bound">z</a> <a id="3307" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3309" href="Relation.Binary.Construct.NaturalOrder.Left.html#3209" class="Bound">x</a><a id="3310" class="Symbol">)</a> <a id="3312" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3314" href="Relation.Binary.Construct.NaturalOrder.Left.html#3213" class="Bound">y</a> <a id="3317" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3320" href="Algebra.Structures.html#1876" class="Function">assoc</a> <a id="3326" href="Relation.Binary.Construct.NaturalOrder.Left.html#3216" class="Bound">z</a> <a id="3328" href="Relation.Binary.Construct.NaturalOrder.Left.html#3209" class="Bound">x</a> <a id="3330" href="Relation.Binary.Construct.NaturalOrder.Left.html#3213" class="Bound">y</a> <a id="3332" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="3338" href="Relation.Binary.Construct.NaturalOrder.Left.html#3216" class="Bound">z</a> <a id="3340" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3342" class="Symbol">(</a><a id="3343" href="Relation.Binary.Construct.NaturalOrder.Left.html#3209" class="Bound">x</a> <a id="3345" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator"></a> <a id="3347" href="Relation.Binary.Construct.NaturalOrder.Left.html#3213" class="Bound">y</a><a id="3348" class="Symbol">)</a> <a id="3351" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="3356" href="Relation.Binary.Construct.NaturalOrder.Left.html#3356" class="Function">infimum</a> <a id="3364" class="Symbol">:</a> <a id="3366" href="Relation.Binary.Lattice.html#823" class="Function">Infimum</a> <a id="3374" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a> <a id="3378" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a>
<a id="3384" href="Relation.Binary.Construct.NaturalOrder.Left.html#3356" class="Function">infimum</a> <a id="3392" href="Relation.Binary.Construct.NaturalOrder.Left.html#3392" class="Bound">x</a> <a id="3394" href="Relation.Binary.Construct.NaturalOrder.Left.html#3394" class="Bound">y</a> <a id="3396" class="Symbol">=</a> <a id="3398" href="Relation.Binary.Construct.NaturalOrder.Left.html#2795" class="Function">x∙y≤x</a> <a id="3404" href="Relation.Binary.Construct.NaturalOrder.Left.html#3392" class="Bound">x</a> <a id="3406" href="Relation.Binary.Construct.NaturalOrder.Left.html#3394" class="Bound">y</a> <a id="3408" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3410" href="Relation.Binary.Construct.NaturalOrder.Left.html#2983" class="Function">x∙y≤y</a> <a id="3416" href="Relation.Binary.Construct.NaturalOrder.Left.html#3392" class="Bound">x</a> <a id="3418" href="Relation.Binary.Construct.NaturalOrder.Left.html#3394" class="Bound">y</a> <a id="3420" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3422" href="Relation.Binary.Construct.NaturalOrder.Left.html#3144" class="Function">∙-presʳ-≤</a>
<a id="3433" class="Comment">------------------------------------------------------------------------</a>
<a id="3506" class="Comment">-- Structures</a>
<a id="isPreorder"></a><a id="3521" href="Relation.Binary.Construct.NaturalOrder.Left.html#3521" class="Function">isPreorder</a> <a id="3532" class="Symbol">:</a> <a id="3534" href="Algebra.Structures.html#1940" class="Record">IsBand</a> <a id="3541" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="3545" class="Symbol"></a> <a id="3547" href="Relation.Binary.Structures.html#2172" class="Record">IsPreorder</a> <a id="3558" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="3562" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="3566" href="Relation.Binary.Construct.NaturalOrder.Left.html#3521" class="Function">isPreorder</a> <a id="3577" href="Relation.Binary.Construct.NaturalOrder.Left.html#3577" class="Bound">band</a> <a id="3582" class="Symbol">=</a> <a id="3584" class="Keyword">record</a>
<a id="3593" class="Symbol">{</a> <a id="3595" href="Relation.Binary.Structures.html#2237" class="Field">isEquivalence</a> <a id="3609" class="Symbol">=</a> <a id="3611" href="Algebra.Structures.html#1181" class="Function">isEquivalence</a>
<a id="3627" class="Symbol">;</a> <a id="3629" href="Relation.Binary.Structures.html#2340" class="Field">reflexive</a> <a id="3643" class="Symbol">=</a> <a id="3645" href="Relation.Binary.Construct.NaturalOrder.Left.html#1013" class="Function">reflexive</a> <a id="3655" href="Algebra.Structures.html#1852" class="Function">isMagma</a> <a id="3663" href="Algebra.Structures.html#2023" class="Field">idem</a>
<a id="3670" class="Symbol">;</a> <a id="3672" href="Relation.Binary.Structures.html#2370" class="Field">trans</a> <a id="3686" class="Symbol">=</a> <a id="3688" href="Relation.Binary.Construct.NaturalOrder.Left.html#1799" class="Function">trans</a> <a id="3694" href="Algebra.Structures.html#1991" class="Field">isSemigroup</a>
<a id="3708" class="Symbol">}</a>
<a id="3712" class="Keyword">where</a> <a id="3718" class="Keyword">open</a> <a id="3723" href="Algebra.Structures.html#1940" class="Module">IsBand</a> <a id="3730" href="Relation.Binary.Construct.NaturalOrder.Left.html#3577" class="Bound">band</a> <a id="3735" class="Keyword">hiding</a> <a id="3742" class="Symbol">(</a><a id="3743" href="Relation.Binary.Structures.html#1655" class="Function">reflexive</a><a id="3752" class="Symbol">;</a> <a id="3754" href="Relation.Binary.Structures.html#1629" class="Function">trans</a><a id="3759" class="Symbol">)</a>
<a id="isPartialOrder"></a><a id="3762" href="Relation.Binary.Construct.NaturalOrder.Left.html#3762" class="Function">isPartialOrder</a> <a id="3777" class="Symbol">:</a> <a id="3779" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="3793" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="3797" class="Symbol"></a> <a id="3799" href="Relation.Binary.Structures.html#3183" class="Record">IsPartialOrder</a> <a id="3814" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="3818" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="3822" href="Relation.Binary.Construct.NaturalOrder.Left.html#3762" class="Function">isPartialOrder</a> <a id="3837" href="Relation.Binary.Construct.NaturalOrder.Left.html#3837" class="Bound">semilattice</a> <a id="3849" class="Symbol">=</a> <a id="3851" class="Keyword">record</a>
<a id="3860" class="Symbol">{</a> <a id="3862" href="Relation.Binary.Structures.html#3252" class="Field">isPreorder</a> <a id="3873" class="Symbol">=</a> <a id="3875" href="Relation.Binary.Construct.NaturalOrder.Left.html#3521" class="Function">isPreorder</a> <a id="3886" href="Algebra.Structures.html#2457" class="Field">isBand</a>
<a id="3895" class="Symbol">;</a> <a id="3897" href="Relation.Binary.Structures.html#3284" class="Field">antisym</a> <a id="3908" class="Symbol">=</a> <a id="3910" href="Relation.Binary.Construct.NaturalOrder.Left.html#1313" class="Function">antisym</a> <a id="3918" href="Algebra.Structures.html#1181" class="Function">isEquivalence</a> <a id="3932" href="Algebra.Structures.html#2479" class="Field">comm</a>
<a id="3939" class="Symbol">}</a>
<a id="3943" class="Keyword">where</a> <a id="3949" class="Keyword">open</a> <a id="3954" href="Algebra.Structures.html#2399" class="Module">IsSemilattice</a> <a id="3968" href="Relation.Binary.Construct.NaturalOrder.Left.html#3837" class="Bound">semilattice</a>
<a id="isDecPartialOrder"></a><a id="3981" href="Relation.Binary.Construct.NaturalOrder.Left.html#3981" class="Function">isDecPartialOrder</a> <a id="3999" class="Symbol">:</a> <a id="4001" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="4015" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="4019" class="Symbol"></a> <a id="4021" href="Relation.Binary.Definitions.html#4584" class="Function">Decidable</a> <a id="4031" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="4035" class="Symbol"></a>
<a id="4057" href="Relation.Binary.Structures.html#3470" class="Record">IsDecPartialOrder</a> <a id="4075" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="4079" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="4083" href="Relation.Binary.Construct.NaturalOrder.Left.html#3981" class="Function">isDecPartialOrder</a> <a id="4101" href="Relation.Binary.Construct.NaturalOrder.Left.html#4101" class="Bound">semilattice</a> <a id="4113" href="Relation.Binary.Construct.NaturalOrder.Left.html#4113" class="Bound Operator">_≟_</a> <a id="4117" class="Symbol">=</a> <a id="4119" class="Keyword">record</a>
<a id="4128" class="Symbol">{</a> <a id="4130" href="Relation.Binary.Structures.html#3561" class="Field">isPartialOrder</a> <a id="4145" class="Symbol">=</a> <a id="4147" href="Relation.Binary.Construct.NaturalOrder.Left.html#3762" class="Function">isPartialOrder</a> <a id="4162" href="Relation.Binary.Construct.NaturalOrder.Left.html#4101" class="Bound">semilattice</a>
<a id="4176" class="Symbol">;</a> <a id="4178" href="Relation.Binary.Structures.html#3601" class="Field Operator">_≟_</a> <a id="4193" class="Symbol">=</a> <a id="4195" href="Relation.Binary.Construct.NaturalOrder.Left.html#4113" class="Bound Operator">_≟_</a>
<a id="4201" class="Symbol">;</a> <a id="4203" href="Relation.Binary.Structures.html#3636" class="Field Operator">_≤?_</a> <a id="4218" class="Symbol">=</a> <a id="4220" href="Relation.Binary.Construct.NaturalOrder.Left.html#2615" class="Function">dec</a> <a id="4224" href="Relation.Binary.Construct.NaturalOrder.Left.html#4113" class="Bound Operator">_≟_</a>
<a id="4230" class="Symbol">}</a>
<a id="isTotalOrder"></a><a id="4233" href="Relation.Binary.Construct.NaturalOrder.Left.html#4233" class="Function">isTotalOrder</a> <a id="4246" class="Symbol">:</a> <a id="4248" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="4262" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="4266" class="Symbol"></a> <a id="4268" href="Algebra.Definitions.html#2791" class="Function">Selective</a> <a id="4278" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="4282" class="Symbol"></a> <a id="4284" href="Relation.Binary.Structures.html#5306" class="Record">IsTotalOrder</a> <a id="4297" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="4301" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="4305" href="Relation.Binary.Construct.NaturalOrder.Left.html#4233" class="Function">isTotalOrder</a> <a id="4318" href="Relation.Binary.Construct.NaturalOrder.Left.html#4318" class="Bound">latt</a> <a id="4323" href="Relation.Binary.Construct.NaturalOrder.Left.html#4323" class="Bound">sel</a> <a id="4328" class="Symbol">=</a> <a id="4330" class="Keyword">record</a>
<a id="4339" class="Symbol">{</a> <a id="4341" href="Relation.Binary.Structures.html#5373" class="Field">isPartialOrder</a> <a id="4356" class="Symbol">=</a> <a id="4358" href="Relation.Binary.Construct.NaturalOrder.Left.html#3762" class="Function">isPartialOrder</a> <a id="4373" href="Relation.Binary.Construct.NaturalOrder.Left.html#4318" class="Bound">latt</a>
<a id="4380" class="Symbol">;</a> <a id="4382" href="Relation.Binary.Structures.html#5413" class="Field">total</a> <a id="4397" class="Symbol">=</a> <a id="4399" href="Relation.Binary.Construct.NaturalOrder.Left.html#1580" class="Function">total</a> <a id="4405" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="4409" href="Relation.Binary.Structures.html#1629" class="Function">S.trans</a> <a id="4417" href="Relation.Binary.Construct.NaturalOrder.Left.html#4323" class="Bound">sel</a> <a id="4421" href="Algebra.Structures.html#2479" class="Function">comm</a>
<a id="4428" class="Symbol">}</a>
<a id="4432" class="Keyword">where</a> <a id="4438" class="Keyword">open</a> <a id="4443" class="Keyword">module</a> <a id="4450" href="Relation.Binary.Construct.NaturalOrder.Left.html#4450" class="Module">S</a> <a id="4452" class="Symbol">=</a> <a id="4454" href="Algebra.Structures.html#2399" class="Module">IsSemilattice</a> <a id="4468" href="Relation.Binary.Construct.NaturalOrder.Left.html#4318" class="Bound">latt</a>
<a id="isDecTotalOrder"></a><a id="4474" href="Relation.Binary.Construct.NaturalOrder.Left.html#4474" class="Function">isDecTotalOrder</a> <a id="4490" class="Symbol">:</a> <a id="4492" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="4506" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="4510" class="Symbol"></a> <a id="4512" href="Algebra.Definitions.html#2791" class="Function">Selective</a> <a id="4522" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="4526" class="Symbol"></a>
<a id="4546" href="Relation.Binary.Definitions.html#4584" class="Function">Decidable</a> <a id="4556" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="4560" class="Symbol"></a> <a id="4562" href="Relation.Binary.Structures.html#5623" class="Record">IsDecTotalOrder</a> <a id="4578" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="4582" href="Relation.Binary.Construct.NaturalOrder.Left.html#879" class="Function Operator">_≤_</a>
<a id="4586" href="Relation.Binary.Construct.NaturalOrder.Left.html#4474" class="Function">isDecTotalOrder</a> <a id="4602" href="Relation.Binary.Construct.NaturalOrder.Left.html#4602" class="Bound">latt</a> <a id="4607" href="Relation.Binary.Construct.NaturalOrder.Left.html#4607" class="Bound">sel</a> <a id="4611" href="Relation.Binary.Construct.NaturalOrder.Left.html#4611" class="Bound Operator">_≟_</a> <a id="4615" class="Symbol">=</a> <a id="4617" class="Keyword">record</a>
<a id="4626" class="Symbol">{</a> <a id="4628" href="Relation.Binary.Structures.html#5712" class="Field">isTotalOrder</a> <a id="4641" class="Symbol">=</a> <a id="4643" href="Relation.Binary.Construct.NaturalOrder.Left.html#4233" class="Function">isTotalOrder</a> <a id="4656" href="Relation.Binary.Construct.NaturalOrder.Left.html#4602" class="Bound">latt</a> <a id="4661" href="Relation.Binary.Construct.NaturalOrder.Left.html#4607" class="Bound">sel</a>
<a id="4667" class="Symbol">;</a> <a id="4669" href="Relation.Binary.Structures.html#5748" class="Field Operator">_≟_</a> <a id="4682" class="Symbol">=</a> <a id="4684" href="Relation.Binary.Construct.NaturalOrder.Left.html#4611" class="Bound Operator">_≟_</a>
<a id="4690" class="Symbol">;</a> <a id="4692" href="Relation.Binary.Structures.html#5781" class="Field Operator">_≤?_</a> <a id="4705" class="Symbol">=</a> <a id="4707" href="Relation.Binary.Construct.NaturalOrder.Left.html#2615" class="Function">dec</a> <a id="4711" href="Relation.Binary.Construct.NaturalOrder.Left.html#4611" class="Bound Operator">_≟_</a>
<a id="4717" class="Symbol">}</a>
<a id="4720" class="Comment">------------------------------------------------------------------------</a>
<a id="4793" class="Comment">-- Bundles</a>
<a id="preorder"></a><a id="4805" href="Relation.Binary.Construct.NaturalOrder.Left.html#4805" class="Function">preorder</a> <a id="4814" class="Symbol">:</a> <a id="4816" href="Algebra.Structures.html#1940" class="Record">IsBand</a> <a id="4823" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="4827" class="Symbol"></a> <a id="4829" href="Relation.Binary.Bundles.html#1929" class="Record">Preorder</a> <a id="4838" href="Relation.Binary.Construct.NaturalOrder.Left.html#418" class="Bound">a</a> <a id="4840" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a> <a id="4842" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a>
<a id="4844" href="Relation.Binary.Construct.NaturalOrder.Left.html#4805" class="Function">preorder</a> <a id="4853" href="Relation.Binary.Construct.NaturalOrder.Left.html#4853" class="Bound">band</a> <a id="4858" class="Symbol">=</a> <a id="4860" class="Keyword">record</a>
<a id="4869" class="Symbol">{</a> <a id="4871" href="Relation.Binary.Bundles.html#2142" class="Field">isPreorder</a> <a id="4882" class="Symbol">=</a> <a id="4884" href="Relation.Binary.Construct.NaturalOrder.Left.html#3521" class="Function">isPreorder</a> <a id="4895" href="Relation.Binary.Construct.NaturalOrder.Left.html#4853" class="Bound">band</a>
<a id="4902" class="Symbol">}</a>
<a id="poset"></a><a id="4905" href="Relation.Binary.Construct.NaturalOrder.Left.html#4905" class="Function">poset</a> <a id="4911" class="Symbol">:</a> <a id="4913" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="4927" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="4931" class="Symbol"></a> <a id="4933" href="Relation.Binary.Bundles.html#3037" class="Record">Poset</a> <a id="4939" href="Relation.Binary.Construct.NaturalOrder.Left.html#418" class="Bound">a</a> <a id="4941" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a> <a id="4943" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a>
<a id="4945" href="Relation.Binary.Construct.NaturalOrder.Left.html#4905" class="Function">poset</a> <a id="4951" href="Relation.Binary.Construct.NaturalOrder.Left.html#4951" class="Bound">latt</a> <a id="4956" class="Symbol">=</a> <a id="4958" class="Keyword">record</a>
<a id="4967" class="Symbol">{</a> <a id="4969" href="Relation.Binary.Bundles.html#3212" class="Field">isPartialOrder</a> <a id="4984" class="Symbol">=</a> <a id="4986" href="Relation.Binary.Construct.NaturalOrder.Left.html#3762" class="Function">isPartialOrder</a> <a id="5001" href="Relation.Binary.Construct.NaturalOrder.Left.html#4951" class="Bound">latt</a>
<a id="5008" class="Symbol">}</a>
<a id="decPoset"></a><a id="5011" href="Relation.Binary.Construct.NaturalOrder.Left.html#5011" class="Function">decPoset</a> <a id="5020" class="Symbol">:</a> <a id="5022" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="5036" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="5040" class="Symbol"></a> <a id="5042" href="Relation.Binary.Definitions.html#4584" class="Function">Decidable</a> <a id="5052" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="5056" class="Symbol"></a> <a id="5058" href="Relation.Binary.Bundles.html#3471" class="Record">DecPoset</a> <a id="5067" href="Relation.Binary.Construct.NaturalOrder.Left.html#418" class="Bound">a</a> <a id="5069" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a> <a id="5071" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a>
<a id="5073" href="Relation.Binary.Construct.NaturalOrder.Left.html#5011" class="Function">decPoset</a> <a id="5082" href="Relation.Binary.Construct.NaturalOrder.Left.html#5082" class="Bound">latt</a> <a id="5087" href="Relation.Binary.Construct.NaturalOrder.Left.html#5087" class="Bound">dec</a> <a id="5091" class="Symbol">=</a> <a id="5093" class="Keyword">record</a>
<a id="5102" class="Symbol">{</a> <a id="5104" href="Relation.Binary.Bundles.html#3658" class="Field">isDecPartialOrder</a> <a id="5122" class="Symbol">=</a> <a id="5124" href="Relation.Binary.Construct.NaturalOrder.Left.html#3981" class="Function">isDecPartialOrder</a> <a id="5142" href="Relation.Binary.Construct.NaturalOrder.Left.html#5082" class="Bound">latt</a> <a id="5147" href="Relation.Binary.Construct.NaturalOrder.Left.html#5087" class="Bound">dec</a>
<a id="5153" class="Symbol">}</a>
<a id="totalOrder"></a><a id="5156" href="Relation.Binary.Construct.NaturalOrder.Left.html#5156" class="Function">totalOrder</a> <a id="5167" class="Symbol">:</a> <a id="5169" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="5183" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="5187" class="Symbol"></a> <a id="5189" href="Algebra.Definitions.html#2791" class="Function">Selective</a> <a id="5199" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="5203" class="Symbol"></a> <a id="5205" href="Relation.Binary.Bundles.html#5476" class="Record">TotalOrder</a> <a id="5216" href="Relation.Binary.Construct.NaturalOrder.Left.html#418" class="Bound">a</a> <a id="5218" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a> <a id="5220" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a>
<a id="5222" href="Relation.Binary.Construct.NaturalOrder.Left.html#5156" class="Function">totalOrder</a> <a id="5233" href="Relation.Binary.Construct.NaturalOrder.Left.html#5233" class="Bound">latt</a> <a id="5238" href="Relation.Binary.Construct.NaturalOrder.Left.html#5238" class="Bound">sel</a> <a id="5242" class="Symbol">=</a> <a id="5244" class="Keyword">record</a>
<a id="5253" class="Symbol">{</a> <a id="5255" href="Relation.Binary.Bundles.html#5650" class="Field">isTotalOrder</a> <a id="5268" class="Symbol">=</a> <a id="5270" href="Relation.Binary.Construct.NaturalOrder.Left.html#4233" class="Function">isTotalOrder</a> <a id="5283" href="Relation.Binary.Construct.NaturalOrder.Left.html#5233" class="Bound">latt</a> <a id="5288" href="Relation.Binary.Construct.NaturalOrder.Left.html#5238" class="Bound">sel</a>
<a id="5294" class="Symbol">}</a>
<a id="decTotalOrder"></a><a id="5297" href="Relation.Binary.Construct.NaturalOrder.Left.html#5297" class="Function">decTotalOrder</a> <a id="5311" class="Symbol">:</a> <a id="5313" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="5327" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="5331" class="Symbol"></a> <a id="5333" href="Algebra.Definitions.html#2791" class="Function">Selective</a> <a id="5343" href="Relation.Binary.Construct.NaturalOrder.Left.html#452" class="Bound Operator">_∙_</a> <a id="5347" class="Symbol"></a>
<a id="5365" href="Relation.Binary.Definitions.html#4584" class="Function">Decidable</a> <a id="5375" href="Relation.Binary.Construct.NaturalOrder.Left.html#436" class="Bound Operator">_≈_</a> <a id="5379" class="Symbol"></a> <a id="5381" href="Relation.Binary.Bundles.html#6016" class="Record">DecTotalOrder</a> <a id="5395" href="Relation.Binary.Construct.NaturalOrder.Left.html#418" class="Bound">a</a> <a id="5397" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a> <a id="5399" href="Relation.Binary.Construct.NaturalOrder.Left.html#420" class="Bound"></a>
<a id="5401" href="Relation.Binary.Construct.NaturalOrder.Left.html#5297" class="Function">decTotalOrder</a> <a id="5415" href="Relation.Binary.Construct.NaturalOrder.Left.html#5415" class="Bound">latt</a> <a id="5420" href="Relation.Binary.Construct.NaturalOrder.Left.html#5420" class="Bound">sel</a> <a id="5424" href="Relation.Binary.Construct.NaturalOrder.Left.html#5424" class="Bound">dec</a> <a id="5428" class="Symbol">=</a> <a id="5430" class="Keyword">record</a>
<a id="5439" class="Symbol">{</a> <a id="5441" href="Relation.Binary.Bundles.html#6202" class="Field">isDecTotalOrder</a> <a id="5457" class="Symbol">=</a> <a id="5459" href="Relation.Binary.Construct.NaturalOrder.Left.html#4474" class="Function">isDecTotalOrder</a> <a id="5475" href="Relation.Binary.Construct.NaturalOrder.Left.html#5415" class="Bound">latt</a> <a id="5480" href="Relation.Binary.Construct.NaturalOrder.Left.html#5420" class="Bound">sel</a> <a id="5484" href="Relation.Binary.Construct.NaturalOrder.Left.html#5424" class="Bound">dec</a>
<a id="5490" class="Symbol">}</a>
</pre></body></html>