bsc-leon-vatthauer/public/Algebra.Construct.NaturalChoice.MinOp.html

267 lines
No EOL
109 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Algebra.Construct.NaturalChoice.MinOp</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">-- Properties of a min operator derived from a spec over a total order.</a>
<a id="178" class="Comment">------------------------------------------------------------------------</a>
<a id="252" class="Symbol">{-#</a> <a id="256" class="Keyword">OPTIONS</a> <a id="264" class="Pragma">--cubical-compatible</a> <a id="285" class="Pragma">--safe</a> <a id="292" class="Symbol">#-}</a>
<a id="297" class="Keyword">open</a> <a id="302" class="Keyword">import</a> <a id="309" href="Algebra.Core.html" class="Module">Algebra.Core</a>
<a id="322" class="Keyword">open</a> <a id="327" class="Keyword">import</a> <a id="334" href="Algebra.Bundles.html" class="Module">Algebra.Bundles</a>
<a id="350" class="Keyword">open</a> <a id="355" class="Keyword">import</a> <a id="362" href="Algebra.Construct.NaturalChoice.Base.html" class="Module">Algebra.Construct.NaturalChoice.Base</a>
<a id="399" class="Keyword">open</a> <a id="404" class="Keyword">import</a> <a id="411" href="Data.Sum.Base.html" class="Module">Data.Sum.Base</a> <a id="425" class="Symbol">as</a> <a id="428" class="Module">Sum</a> <a id="432" class="Keyword">using</a> <a id="438" class="Symbol">(</a><a id="439" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a><a id="443" class="Symbol">;</a> <a id="445" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a><a id="449" class="Symbol">;</a> <a id="451" href="Data.Sum.Base.html#929" class="Function Operator">[_,_]</a><a id="456" class="Symbol">)</a>
<a id="458" class="Keyword">open</a> <a id="463" class="Keyword">import</a> <a id="470" href="Data.Product.html" class="Module">Data.Product</a> <a id="483" class="Keyword">using</a> <a id="489" class="Symbol">(</a><a id="490" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="493" class="Symbol">)</a>
<a id="495" class="Keyword">open</a> <a id="500" class="Keyword">import</a> <a id="507" href="Function.Base.html" class="Module">Function.Base</a> <a id="521" class="Keyword">using</a> <a id="527" class="Symbol">(</a><a id="528" href="Function.Base.html#624" class="Function">id</a><a id="530" class="Symbol">;</a> <a id="532" href="Function.Base.html#1040" class="Function Operator">_∘_</a><a id="535" class="Symbol">)</a>
<a id="537" class="Keyword">open</a> <a id="542" class="Keyword">import</a> <a id="549" href="Relation.Binary.html" class="Module">Relation.Binary</a>
<a id="565" class="Keyword">open</a> <a id="570" class="Keyword">import</a> <a id="577" href="Relation.Binary.Consequences.html" class="Module">Relation.Binary.Consequences</a>
<a id="607" class="Keyword">module</a> <a id="614" href="Algebra.Construct.NaturalChoice.MinOp.html" class="Module">Algebra.Construct.NaturalChoice.MinOp</a>
<a id="654" class="Symbol">{</a><a id="655" href="Algebra.Construct.NaturalChoice.MinOp.html#655" class="Bound">a</a> <a id="657" href="Algebra.Construct.NaturalChoice.MinOp.html#657" class="Bound">ℓ₁</a> <a id="660" href="Algebra.Construct.NaturalChoice.MinOp.html#660" class="Bound">ℓ₂</a><a id="662" class="Symbol">}</a> <a id="664" class="Symbol">{</a><a id="665" href="Algebra.Construct.NaturalChoice.MinOp.html#665" class="Bound">O</a> <a id="667" class="Symbol">:</a> <a id="669" href="Relation.Binary.Bundles.html#2384" class="Record">TotalPreorder</a> <a id="683" href="Algebra.Construct.NaturalChoice.MinOp.html#655" class="Bound">a</a> <a id="685" href="Algebra.Construct.NaturalChoice.MinOp.html#657" class="Bound">ℓ₁</a> <a id="688" href="Algebra.Construct.NaturalChoice.MinOp.html#660" class="Bound">ℓ₂</a><a id="690" class="Symbol">}</a> <a id="692" class="Symbol">(</a><a id="693" href="Algebra.Construct.NaturalChoice.MinOp.html#693" class="Bound">minOp</a> <a id="699" class="Symbol">:</a> <a id="701" href="Algebra.Construct.NaturalChoice.Base.html#955" class="Record">MinOperator</a> <a id="713" href="Algebra.Construct.NaturalChoice.MinOp.html#665" class="Bound">O</a><a id="714" class="Symbol">)</a> <a id="716" class="Keyword">where</a>
<a id="723" class="Keyword">open</a> <a id="728" href="Relation.Binary.Bundles.html#2384" class="Module">TotalPreorder</a> <a id="742" href="Algebra.Construct.NaturalChoice.MinOp.html#665" class="Bound">O</a> <a id="744" class="Keyword">renaming</a>
<a id="755" class="Symbol">(</a> <a id="757" href="Relation.Binary.Bundles.html#2468" class="Field">Carrier</a> <a id="767" class="Symbol">to</a> <a id="770" class="Field">A</a>
<a id="774" class="Symbol">;</a> <a id="776" href="Relation.Binary.Bundles.html#2562" class="Field Operator">_≲_</a> <a id="786" class="Symbol">to</a> <a id="789" class="Field Operator">_≤_</a>
<a id="795" class="Symbol">;</a> <a id="797" href="Relation.Binary.Structures.html#2994" class="Function">≲-resp-≈</a> <a id="807" class="Symbol">to</a> <a id="810" class="Function">≤-resp-≈</a>
<a id="821" class="Symbol">;</a> <a id="823" href="Relation.Binary.Structures.html#2965" class="Function">≲-respʳ-≈</a> <a id="833" class="Symbol">to</a> <a id="836" class="Function">≤-respʳ-≈</a>
<a id="848" class="Symbol">;</a> <a id="850" href="Relation.Binary.Structures.html#2936" class="Function">≲-respˡ-≈</a> <a id="860" class="Symbol">to</a> <a id="863" class="Function">≤-respˡ-≈</a>
<a id="875" class="Symbol">)</a>
<a id="877" class="Keyword">open</a> <a id="882" href="Algebra.Construct.NaturalChoice.Base.html#955" class="Module">MinOperator</a> <a id="894" href="Algebra.Construct.NaturalChoice.MinOp.html#693" class="Bound">minOp</a>
<a id="901" class="Keyword">open</a> <a id="906" class="Keyword">import</a> <a id="913" href="Algebra.Definitions.html" class="Module">Algebra.Definitions</a> <a id="933" href="Relation.Binary.Bundles.html#2496" class="Function Operator">_≈_</a>
<a id="937" class="Keyword">open</a> <a id="942" class="Keyword">import</a> <a id="949" href="Algebra.Structures.html" class="Module">Algebra.Structures</a> <a id="968" href="Relation.Binary.Bundles.html#2496" class="Function Operator">_≈_</a>
<a id="972" class="Keyword">open</a> <a id="977" class="Keyword">import</a> <a id="984" href="Relation.Binary.Reasoning.Preorder.html" class="Module">Relation.Binary.Reasoning.Preorder</a> <a id="1019" href="Relation.Binary.Bundles.html#2732" class="Function">preorder</a>
<a id="1029" class="Comment">------------------------------------------------------------------------</a>
<a id="1102" class="Comment">-- Helpful properties</a>
<a id="x⊓y≤x"></a><a id="1125" href="Algebra.Construct.NaturalChoice.MinOp.html#1125" class="Function">x⊓y≤x</a> <a id="1131" class="Symbol">:</a> <a id="1133" class="Symbol"></a> <a id="1135" href="Algebra.Construct.NaturalChoice.MinOp.html#1135" class="Bound">x</a> <a id="1137" href="Algebra.Construct.NaturalChoice.MinOp.html#1137" class="Bound">y</a> <a id="1139" class="Symbol"></a> <a id="1141" href="Algebra.Construct.NaturalChoice.MinOp.html#1135" class="Bound">x</a> <a id="1143" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="1145" href="Algebra.Construct.NaturalChoice.MinOp.html#1137" class="Bound">y</a> <a id="1147" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="1149" href="Algebra.Construct.NaturalChoice.MinOp.html#1135" class="Bound">x</a>
<a id="1151" href="Algebra.Construct.NaturalChoice.MinOp.html#1125" class="Function">x⊓y≤x</a> <a id="1157" href="Algebra.Construct.NaturalChoice.MinOp.html#1157" class="Bound">x</a> <a id="1159" href="Algebra.Construct.NaturalChoice.MinOp.html#1159" class="Bound">y</a> <a id="1161" class="Keyword">with</a> <a id="1166" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="1172" href="Algebra.Construct.NaturalChoice.MinOp.html#1157" class="Bound">x</a> <a id="1174" href="Algebra.Construct.NaturalChoice.MinOp.html#1159" class="Bound">y</a>
<a id="1176" class="Symbol">...</a> <a id="1180" class="Symbol">|</a> <a id="1182" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="1187" href="Algebra.Construct.NaturalChoice.MinOp.html#1187" class="Bound">x≤y</a> <a id="1191" class="Symbol">=</a> <a id="1193" href="Algebra.Construct.NaturalChoice.MinOp.html#863" class="Function">≤-respˡ-≈</a> <a id="1203" class="Symbol">(</a><a id="1204" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="1211" class="Symbol">(</a><a id="1212" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="1222" href="Algebra.Construct.NaturalChoice.MinOp.html#1187" class="Bound">x≤y</a><a id="1225" class="Symbol">))</a> <a id="1228" href="Relation.Binary.Structures.html#2447" class="Function">refl</a>
<a id="1233" class="Symbol">...</a> <a id="1237" class="Symbol">|</a> <a id="1239" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="1244" href="Algebra.Construct.NaturalChoice.MinOp.html#1244" class="Bound">y≤x</a> <a id="1248" class="Symbol">=</a> <a id="1250" href="Algebra.Construct.NaturalChoice.MinOp.html#863" class="Function">≤-respˡ-≈</a> <a id="1260" class="Symbol">(</a><a id="1261" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="1268" class="Symbol">(</a><a id="1269" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="1279" href="Algebra.Construct.NaturalChoice.MinOp.html#1244" class="Bound">y≤x</a><a id="1282" class="Symbol">))</a> <a id="1285" href="Algebra.Construct.NaturalChoice.MinOp.html#1244" class="Bound">y≤x</a>
<a id="x⊓y≤y"></a><a id="1290" href="Algebra.Construct.NaturalChoice.MinOp.html#1290" class="Function">x⊓y≤y</a> <a id="1296" class="Symbol">:</a> <a id="1298" class="Symbol"></a> <a id="1300" href="Algebra.Construct.NaturalChoice.MinOp.html#1300" class="Bound">x</a> <a id="1302" href="Algebra.Construct.NaturalChoice.MinOp.html#1302" class="Bound">y</a> <a id="1304" class="Symbol"></a> <a id="1306" href="Algebra.Construct.NaturalChoice.MinOp.html#1300" class="Bound">x</a> <a id="1308" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="1310" href="Algebra.Construct.NaturalChoice.MinOp.html#1302" class="Bound">y</a> <a id="1312" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="1314" href="Algebra.Construct.NaturalChoice.MinOp.html#1302" class="Bound">y</a>
<a id="1316" href="Algebra.Construct.NaturalChoice.MinOp.html#1290" class="Function">x⊓y≤y</a> <a id="1322" href="Algebra.Construct.NaturalChoice.MinOp.html#1322" class="Bound">x</a> <a id="1324" href="Algebra.Construct.NaturalChoice.MinOp.html#1324" class="Bound">y</a> <a id="1326" class="Keyword">with</a> <a id="1331" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="1337" href="Algebra.Construct.NaturalChoice.MinOp.html#1322" class="Bound">x</a> <a id="1339" href="Algebra.Construct.NaturalChoice.MinOp.html#1324" class="Bound">y</a>
<a id="1341" class="Symbol">...</a> <a id="1345" class="Symbol">|</a> <a id="1347" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="1352" href="Algebra.Construct.NaturalChoice.MinOp.html#1352" class="Bound">x≤y</a> <a id="1356" class="Symbol">=</a> <a id="1358" href="Algebra.Construct.NaturalChoice.MinOp.html#863" class="Function">≤-respˡ-≈</a> <a id="1368" class="Symbol">(</a><a id="1369" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="1376" class="Symbol">(</a><a id="1377" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="1387" href="Algebra.Construct.NaturalChoice.MinOp.html#1352" class="Bound">x≤y</a><a id="1390" class="Symbol">))</a> <a id="1393" href="Algebra.Construct.NaturalChoice.MinOp.html#1352" class="Bound">x≤y</a>
<a id="1397" class="Symbol">...</a> <a id="1401" class="Symbol">|</a> <a id="1403" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="1408" href="Algebra.Construct.NaturalChoice.MinOp.html#1408" class="Bound">y≤x</a> <a id="1412" class="Symbol">=</a> <a id="1414" href="Algebra.Construct.NaturalChoice.MinOp.html#863" class="Function">≤-respˡ-≈</a> <a id="1424" class="Symbol">(</a><a id="1425" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="1432" class="Symbol">(</a><a id="1433" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="1443" href="Algebra.Construct.NaturalChoice.MinOp.html#1408" class="Bound">y≤x</a><a id="1446" class="Symbol">))</a> <a id="1449" href="Relation.Binary.Structures.html#2447" class="Function">refl</a>
<a id="1455" class="Comment">------------------------------------------------------------------------</a>
<a id="1528" class="Comment">-- Algebraic properties</a>
<a id="⊓-comm"></a><a id="1553" href="Algebra.Construct.NaturalChoice.MinOp.html#1553" class="Function">⊓-comm</a> <a id="1560" class="Symbol">:</a> <a id="1562" href="Algebra.Definitions.html#1204" class="Function">Commutative</a> <a id="1574" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="1578" href="Algebra.Construct.NaturalChoice.MinOp.html#1553" class="Function">⊓-comm</a> <a id="1585" href="Algebra.Construct.NaturalChoice.MinOp.html#1585" class="Bound">x</a> <a id="1587" href="Algebra.Construct.NaturalChoice.MinOp.html#1587" class="Bound">y</a> <a id="1589" class="Keyword">with</a> <a id="1594" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="1600" href="Algebra.Construct.NaturalChoice.MinOp.html#1585" class="Bound">x</a> <a id="1602" href="Algebra.Construct.NaturalChoice.MinOp.html#1587" class="Bound">y</a>
<a id="1604" class="Symbol">...</a> <a id="1608" class="Symbol">|</a> <a id="1610" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="1615" href="Algebra.Construct.NaturalChoice.MinOp.html#1615" class="Bound">x≤y</a> <a id="1619" class="Symbol">=</a> <a id="1621" href="Relation.Binary.Structures.html#1629" class="Function">Eq.trans</a> <a id="1630" class="Symbol">(</a><a id="1631" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="1641" href="Algebra.Construct.NaturalChoice.MinOp.html#1615" class="Bound">x≤y</a><a id="1644" class="Symbol">)</a> <a id="1646" class="Symbol">(</a><a id="1647" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="1654" class="Symbol">(</a><a id="1655" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="1665" href="Algebra.Construct.NaturalChoice.MinOp.html#1615" class="Bound">x≤y</a><a id="1668" class="Symbol">))</a>
<a id="1671" class="Symbol">...</a> <a id="1675" class="Symbol">|</a> <a id="1677" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="1682" href="Algebra.Construct.NaturalChoice.MinOp.html#1682" class="Bound">y≤x</a> <a id="1686" class="Symbol">=</a> <a id="1688" href="Relation.Binary.Structures.html#1629" class="Function">Eq.trans</a> <a id="1697" class="Symbol">(</a><a id="1698" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="1708" href="Algebra.Construct.NaturalChoice.MinOp.html#1682" class="Bound">y≤x</a><a id="1711" class="Symbol">)</a> <a id="1713" class="Symbol">(</a><a id="1714" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="1721" class="Symbol">(</a><a id="1722" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="1732" href="Algebra.Construct.NaturalChoice.MinOp.html#1682" class="Bound">y≤x</a><a id="1735" class="Symbol">))</a>
<a id="⊓-congˡ"></a><a id="1739" href="Algebra.Construct.NaturalChoice.MinOp.html#1739" class="Function">⊓-congˡ</a> <a id="1747" class="Symbol">:</a> <a id="1749" class="Symbol"></a> <a id="1751" href="Algebra.Construct.NaturalChoice.MinOp.html#1751" class="Bound">x</a> <a id="1753" class="Symbol"></a> <a id="1755" href="Algebra.Definitions.html#806" class="Function">Congruent₁</a> <a id="1766" class="Symbol">(</a><a id="1767" href="Algebra.Construct.NaturalChoice.MinOp.html#1751" class="Bound">x</a> <a id="1769" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">⊓_</a><a id="1771" class="Symbol">)</a>
<a id="1773" href="Algebra.Construct.NaturalChoice.MinOp.html#1739" class="Function">⊓-congˡ</a> <a id="1781" href="Algebra.Construct.NaturalChoice.MinOp.html#1781" class="Bound">x</a> <a id="1783" class="Symbol">{</a><a id="1784" href="Algebra.Construct.NaturalChoice.MinOp.html#1784" class="Bound">y</a><a id="1785" class="Symbol">}</a> <a id="1787" class="Symbol">{</a><a id="1788" href="Algebra.Construct.NaturalChoice.MinOp.html#1788" class="Bound">r</a><a id="1789" class="Symbol">}</a> <a id="1791" href="Algebra.Construct.NaturalChoice.MinOp.html#1791" class="Bound">y≈r</a> <a id="1795" class="Keyword">with</a> <a id="1800" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="1806" href="Algebra.Construct.NaturalChoice.MinOp.html#1781" class="Bound">x</a> <a id="1808" href="Algebra.Construct.NaturalChoice.MinOp.html#1784" class="Bound">y</a>
<a id="1810" class="Symbol">...</a> <a id="1814" class="Symbol">|</a> <a id="1816" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="1821" href="Algebra.Construct.NaturalChoice.MinOp.html#1821" class="Bound">x≤y</a> <a id="1825" class="Symbol">=</a> <a id="1827" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="1844" class="Bound">x</a> <a id="1846" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="1848" class="Bound">y</a> <a id="1851" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="1855" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="1865" href="Algebra.Construct.NaturalChoice.MinOp.html#1821" class="Bound">x≤y</a> <a id="1869" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="1873" class="Bound">x</a> <a id="1880" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="1884" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="1894" class="Symbol">(</a><a id="1895" href="Algebra.Construct.NaturalChoice.MinOp.html#836" class="Function">≤-respʳ-≈</a> <a id="1905" class="Bound">y≈r</a> <a id="1909" href="Algebra.Construct.NaturalChoice.MinOp.html#1821" class="Bound">x≤y</a><a id="1912" class="Symbol">)</a> <a id="1914" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="1918" class="Bound">x</a> <a id="1920" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="1922" class="Bound">r</a> <a id="1925" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
<a id="1927" class="Symbol">...</a> <a id="1931" class="Symbol">|</a> <a id="1933" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="1938" href="Algebra.Construct.NaturalChoice.MinOp.html#1938" class="Bound">y≤x</a> <a id="1942" class="Symbol">=</a> <a id="1944" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="1961" class="Bound">x</a> <a id="1963" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="1965" class="Bound">y</a> <a id="1968" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="1972" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="1982" href="Algebra.Construct.NaturalChoice.MinOp.html#1938" class="Bound">y≤x</a> <a id="1986" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="1990" class="Bound">y</a> <a id="1997" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="2001" class="Bound">y≈r</a> <a id="2005" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="2009" class="Bound">r</a> <a id="2016" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="2020" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="2030" class="Symbol">(</a><a id="2031" href="Algebra.Construct.NaturalChoice.MinOp.html#863" class="Function">≤-respˡ-≈</a> <a id="2041" class="Bound">y≈r</a> <a id="2045" href="Algebra.Construct.NaturalChoice.MinOp.html#1938" class="Bound">y≤x</a><a id="2048" class="Symbol">)</a> <a id="2050" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="2054" class="Bound">x</a> <a id="2056" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2058" class="Bound">r</a> <a id="2061" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
<a id="⊓-congʳ"></a><a id="2064" href="Algebra.Construct.NaturalChoice.MinOp.html#2064" class="Function">⊓-congʳ</a> <a id="2072" class="Symbol">:</a> <a id="2074" class="Symbol"></a> <a id="2076" href="Algebra.Construct.NaturalChoice.MinOp.html#2076" class="Bound">x</a> <a id="2078" class="Symbol"></a> <a id="2080" href="Algebra.Definitions.html#806" class="Function">Congruent₁</a> <a id="2091" class="Symbol">(</a><a id="2092" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓</a> <a id="2095" href="Algebra.Construct.NaturalChoice.MinOp.html#2076" class="Bound">x</a><a id="2096" class="Symbol">)</a>
<a id="2098" href="Algebra.Construct.NaturalChoice.MinOp.html#2064" class="Function">⊓-congʳ</a> <a id="2106" href="Algebra.Construct.NaturalChoice.MinOp.html#2106" class="Bound">x</a> <a id="2108" class="Symbol">{</a><a id="2109" href="Algebra.Construct.NaturalChoice.MinOp.html#2109" class="Bound">y₁</a><a id="2111" class="Symbol">}</a> <a id="2113" class="Symbol">{</a><a id="2114" href="Algebra.Construct.NaturalChoice.MinOp.html#2114" class="Bound">y₂</a><a id="2116" class="Symbol">}</a> <a id="2118" href="Algebra.Construct.NaturalChoice.MinOp.html#2118" class="Bound">y₁≈y₂</a> <a id="2124" class="Symbol">=</a> <a id="2126" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="2143" href="Algebra.Construct.NaturalChoice.MinOp.html#2109" class="Bound">y₁</a> <a id="2146" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2148" href="Algebra.Construct.NaturalChoice.MinOp.html#2106" class="Bound">x</a> <a id="2151" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="2155" href="Algebra.Construct.NaturalChoice.MinOp.html#1553" class="Function">⊓-comm</a> <a id="2162" href="Algebra.Construct.NaturalChoice.MinOp.html#2106" class="Bound">x</a> <a id="2164" href="Algebra.Construct.NaturalChoice.MinOp.html#2109" class="Bound">y₁</a> <a id="2167" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="2171" href="Algebra.Construct.NaturalChoice.MinOp.html#2106" class="Bound">x</a> <a id="2174" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2176" href="Algebra.Construct.NaturalChoice.MinOp.html#2109" class="Bound">y₁</a> <a id="2179" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="2183" href="Algebra.Construct.NaturalChoice.MinOp.html#1739" class="Function">⊓-congˡ</a> <a id="2191" href="Algebra.Construct.NaturalChoice.MinOp.html#2106" class="Bound">x</a> <a id="2193" href="Algebra.Construct.NaturalChoice.MinOp.html#2118" class="Bound">y₁≈y₂</a> <a id="2199" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="2203" href="Algebra.Construct.NaturalChoice.MinOp.html#2106" class="Bound">x</a> <a id="2206" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2208" href="Algebra.Construct.NaturalChoice.MinOp.html#2114" class="Bound">y₂</a> <a id="2211" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="2215" href="Algebra.Construct.NaturalChoice.MinOp.html#1553" class="Function">⊓-comm</a> <a id="2222" href="Algebra.Construct.NaturalChoice.MinOp.html#2106" class="Bound">x</a> <a id="2224" href="Algebra.Construct.NaturalChoice.MinOp.html#2114" class="Bound">y₂</a> <a id="2227" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="2231" href="Algebra.Construct.NaturalChoice.MinOp.html#2114" class="Bound">y₂</a> <a id="2234" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2236" href="Algebra.Construct.NaturalChoice.MinOp.html#2106" class="Bound">x</a> <a id="2239" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
<a id="⊓-cong"></a><a id="2242" href="Algebra.Construct.NaturalChoice.MinOp.html#2242" class="Function">⊓-cong</a> <a id="2249" class="Symbol">:</a> <a id="2251" href="Algebra.Definitions.html#871" class="Function">Congruent₂</a> <a id="2262" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="2266" href="Algebra.Construct.NaturalChoice.MinOp.html#2242" class="Function">⊓-cong</a> <a id="2273" class="Symbol">{</a><a id="2274" href="Algebra.Construct.NaturalChoice.MinOp.html#2274" class="Bound">x₁</a><a id="2276" class="Symbol">}</a> <a id="2278" class="Symbol">{</a><a id="2279" href="Algebra.Construct.NaturalChoice.MinOp.html#2279" class="Bound">x₂</a><a id="2281" class="Symbol">}</a> <a id="2283" class="Symbol">{</a><a id="2284" href="Algebra.Construct.NaturalChoice.MinOp.html#2284" class="Bound">y₁</a><a id="2286" class="Symbol">}</a> <a id="2288" class="Symbol">{</a><a id="2289" href="Algebra.Construct.NaturalChoice.MinOp.html#2289" class="Bound">y₂</a><a id="2291" class="Symbol">}</a> <a id="2293" href="Algebra.Construct.NaturalChoice.MinOp.html#2293" class="Bound">x₁≈x₂</a> <a id="2299" href="Algebra.Construct.NaturalChoice.MinOp.html#2299" class="Bound">y₁≈y₂</a> <a id="2305" class="Symbol">=</a> <a id="2307" href="Relation.Binary.Structures.html#1629" class="Function">Eq.trans</a> <a id="2316" class="Symbol">(</a><a id="2317" href="Algebra.Construct.NaturalChoice.MinOp.html#1739" class="Function">⊓-congˡ</a> <a id="2325" href="Algebra.Construct.NaturalChoice.MinOp.html#2274" class="Bound">x₁</a> <a id="2328" href="Algebra.Construct.NaturalChoice.MinOp.html#2299" class="Bound">y₁≈y₂</a><a id="2333" class="Symbol">)</a> <a id="2335" class="Symbol">(</a><a id="2336" href="Algebra.Construct.NaturalChoice.MinOp.html#2064" class="Function">⊓-congʳ</a> <a id="2344" href="Algebra.Construct.NaturalChoice.MinOp.html#2289" class="Bound">y₂</a> <a id="2347" href="Algebra.Construct.NaturalChoice.MinOp.html#2293" class="Bound">x₁≈x₂</a><a id="2352" class="Symbol">)</a>
<a id="⊓-assoc"></a><a id="2355" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a> <a id="2363" class="Symbol">:</a> <a id="2365" href="Algebra.Definitions.html#1117" class="Function">Associative</a> <a id="2377" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="2381" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a> <a id="2389" href="Algebra.Construct.NaturalChoice.MinOp.html#2389" class="Bound">x</a> <a id="2391" href="Algebra.Construct.NaturalChoice.MinOp.html#2391" class="Bound">y</a> <a id="2393" href="Algebra.Construct.NaturalChoice.MinOp.html#2393" class="Bound">r</a> <a id="2395" class="Keyword">with</a> <a id="2400" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="2406" href="Algebra.Construct.NaturalChoice.MinOp.html#2389" class="Bound">x</a> <a id="2408" href="Algebra.Construct.NaturalChoice.MinOp.html#2391" class="Bound">y</a> <a id="2410" class="Symbol">|</a> <a id="2412" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="2418" href="Algebra.Construct.NaturalChoice.MinOp.html#2391" class="Bound">y</a> <a id="2420" href="Algebra.Construct.NaturalChoice.MinOp.html#2393" class="Bound">r</a>
<a id="2422" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a> <a id="2430" href="Algebra.Construct.NaturalChoice.MinOp.html#2430" class="Bound">x</a> <a id="2432" href="Algebra.Construct.NaturalChoice.MinOp.html#2432" class="Bound">y</a> <a id="2434" href="Algebra.Construct.NaturalChoice.MinOp.html#2434" class="Bound">r</a> <a id="2436" class="Symbol">|</a> <a id="2438" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="2443" href="Algebra.Construct.NaturalChoice.MinOp.html#2443" class="Bound">x≤y</a> <a id="2447" class="Symbol">|</a> <a id="2449" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="2454" href="Algebra.Construct.NaturalChoice.MinOp.html#2454" class="Bound">y≤r</a> <a id="2458" class="Symbol">=</a> <a id="2460" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="2477" class="Symbol">(</a><a id="2478" href="Algebra.Construct.NaturalChoice.MinOp.html#2430" class="Bound">x</a> <a id="2480" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2482" href="Algebra.Construct.NaturalChoice.MinOp.html#2432" class="Bound">y</a><a id="2483" class="Symbol">)</a> <a id="2485" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2487" href="Algebra.Construct.NaturalChoice.MinOp.html#2434" class="Bound">r</a> <a id="2490" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="2493" href="Algebra.Construct.NaturalChoice.MinOp.html#2064" class="Function">⊓-congʳ</a> <a id="2501" href="Algebra.Construct.NaturalChoice.MinOp.html#2434" class="Bound">r</a> <a id="2503" class="Symbol">(</a><a id="2504" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="2514" href="Algebra.Construct.NaturalChoice.MinOp.html#2443" class="Bound">x≤y</a><a id="2517" class="Symbol">)</a> <a id="2519" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="2523" href="Algebra.Construct.NaturalChoice.MinOp.html#2430" class="Bound">x</a> <a id="2525" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2527" href="Algebra.Construct.NaturalChoice.MinOp.html#2434" class="Bound">r</a> <a id="2536" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="2539" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="2549" class="Symbol">(</a><a id="2550" href="Relation.Binary.Structures.html#2370" class="Function">trans</a> <a id="2556" href="Algebra.Construct.NaturalChoice.MinOp.html#2443" class="Bound">x≤y</a> <a id="2560" href="Algebra.Construct.NaturalChoice.MinOp.html#2454" class="Bound">y≤r</a><a id="2563" class="Symbol">)</a> <a id="2565" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="2569" href="Algebra.Construct.NaturalChoice.MinOp.html#2430" class="Bound">x</a> <a id="2582" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="2586" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="2596" href="Algebra.Construct.NaturalChoice.MinOp.html#2443" class="Bound">x≤y</a> <a id="2600" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="2604" href="Algebra.Construct.NaturalChoice.MinOp.html#2430" class="Bound">x</a> <a id="2606" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2608" href="Algebra.Construct.NaturalChoice.MinOp.html#2432" class="Bound">y</a> <a id="2617" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="2621" href="Algebra.Construct.NaturalChoice.MinOp.html#1739" class="Function">⊓-congˡ</a> <a id="2629" href="Algebra.Construct.NaturalChoice.MinOp.html#2430" class="Bound">x</a> <a id="2631" class="Symbol">(</a><a id="2632" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="2642" href="Algebra.Construct.NaturalChoice.MinOp.html#2454" class="Bound">y≤r</a><a id="2645" class="Symbol">)</a> <a id="2647" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="2651" href="Algebra.Construct.NaturalChoice.MinOp.html#2430" class="Bound">x</a> <a id="2653" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2655" class="Symbol">(</a><a id="2656" href="Algebra.Construct.NaturalChoice.MinOp.html#2432" class="Bound">y</a> <a id="2658" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2660" href="Algebra.Construct.NaturalChoice.MinOp.html#2434" class="Bound">r</a><a id="2661" class="Symbol">)</a> <a id="2664" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
<a id="2666" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a> <a id="2674" href="Algebra.Construct.NaturalChoice.MinOp.html#2674" class="Bound">x</a> <a id="2676" href="Algebra.Construct.NaturalChoice.MinOp.html#2676" class="Bound">y</a> <a id="2678" href="Algebra.Construct.NaturalChoice.MinOp.html#2678" class="Bound">r</a> <a id="2680" class="Symbol">|</a> <a id="2682" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="2687" href="Algebra.Construct.NaturalChoice.MinOp.html#2687" class="Bound">x≤y</a> <a id="2691" class="Symbol">|</a> <a id="2693" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="2698" href="Algebra.Construct.NaturalChoice.MinOp.html#2698" class="Bound">r≤y</a> <a id="2702" class="Symbol">=</a> <a id="2704" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="2721" class="Symbol">(</a><a id="2722" href="Algebra.Construct.NaturalChoice.MinOp.html#2674" class="Bound">x</a> <a id="2724" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2726" href="Algebra.Construct.NaturalChoice.MinOp.html#2676" class="Bound">y</a><a id="2727" class="Symbol">)</a> <a id="2729" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2731" href="Algebra.Construct.NaturalChoice.MinOp.html#2678" class="Bound">r</a> <a id="2734" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="2737" href="Algebra.Construct.NaturalChoice.MinOp.html#2064" class="Function">⊓-congʳ</a> <a id="2745" href="Algebra.Construct.NaturalChoice.MinOp.html#2678" class="Bound">r</a> <a id="2747" class="Symbol">(</a><a id="2748" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="2758" href="Algebra.Construct.NaturalChoice.MinOp.html#2687" class="Bound">x≤y</a><a id="2761" class="Symbol">)</a> <a id="2763" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="2767" href="Algebra.Construct.NaturalChoice.MinOp.html#2674" class="Bound">x</a> <a id="2769" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2771" href="Algebra.Construct.NaturalChoice.MinOp.html#2678" class="Bound">r</a> <a id="2780" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="2784" href="Algebra.Construct.NaturalChoice.MinOp.html#1739" class="Function">⊓-congˡ</a> <a id="2792" href="Algebra.Construct.NaturalChoice.MinOp.html#2674" class="Bound">x</a> <a id="2794" class="Symbol">(</a><a id="2795" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="2805" href="Algebra.Construct.NaturalChoice.MinOp.html#2698" class="Bound">r≤y</a><a id="2808" class="Symbol">)</a> <a id="2810" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="2814" href="Algebra.Construct.NaturalChoice.MinOp.html#2674" class="Bound">x</a> <a id="2816" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2818" class="Symbol">(</a><a id="2819" href="Algebra.Construct.NaturalChoice.MinOp.html#2676" class="Bound">y</a> <a id="2821" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2823" href="Algebra.Construct.NaturalChoice.MinOp.html#2678" class="Bound">r</a><a id="2824" class="Symbol">)</a> <a id="2827" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
<a id="2829" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a> <a id="2837" href="Algebra.Construct.NaturalChoice.MinOp.html#2837" class="Bound">x</a> <a id="2839" href="Algebra.Construct.NaturalChoice.MinOp.html#2839" class="Bound">y</a> <a id="2841" href="Algebra.Construct.NaturalChoice.MinOp.html#2841" class="Bound">r</a> <a id="2843" class="Symbol">|</a> <a id="2845" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="2850" href="Algebra.Construct.NaturalChoice.MinOp.html#2850" class="Bound">y≤x</a> <a id="2854" class="Symbol">|</a> <a id="2856" class="Symbol">_</a> <a id="2858" class="Symbol">=</a> <a id="2860" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="2877" class="Symbol">(</a><a id="2878" href="Algebra.Construct.NaturalChoice.MinOp.html#2837" class="Bound">x</a> <a id="2880" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2882" href="Algebra.Construct.NaturalChoice.MinOp.html#2839" class="Bound">y</a><a id="2883" class="Symbol">)</a> <a id="2885" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2887" href="Algebra.Construct.NaturalChoice.MinOp.html#2841" class="Bound">r</a> <a id="2890" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="2893" href="Algebra.Construct.NaturalChoice.MinOp.html#2064" class="Function">⊓-congʳ</a> <a id="2901" href="Algebra.Construct.NaturalChoice.MinOp.html#2841" class="Bound">r</a> <a id="2903" class="Symbol">(</a><a id="2904" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="2914" href="Algebra.Construct.NaturalChoice.MinOp.html#2850" class="Bound">y≤x</a><a id="2917" class="Symbol">)</a> <a id="2919" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="2923" href="Algebra.Construct.NaturalChoice.MinOp.html#2839" class="Bound">y</a> <a id="2925" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2927" href="Algebra.Construct.NaturalChoice.MinOp.html#2841" class="Bound">r</a> <a id="2936" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="2940" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="2950" class="Symbol">(</a><a id="2951" href="Relation.Binary.Structures.html#2370" class="Function">trans</a> <a id="2957" class="Symbol">(</a><a id="2958" href="Algebra.Construct.NaturalChoice.MinOp.html#1125" class="Function">x⊓y≤x</a> <a id="2964" href="Algebra.Construct.NaturalChoice.MinOp.html#2839" class="Bound">y</a> <a id="2966" href="Algebra.Construct.NaturalChoice.MinOp.html#2841" class="Bound">r</a><a id="2967" class="Symbol">)</a> <a id="2969" href="Algebra.Construct.NaturalChoice.MinOp.html#2850" class="Bound">y≤x</a><a id="2972" class="Symbol">)</a> <a id="2974" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="2978" href="Algebra.Construct.NaturalChoice.MinOp.html#2837" class="Bound">x</a> <a id="2980" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2982" class="Symbol">(</a><a id="2983" href="Algebra.Construct.NaturalChoice.MinOp.html#2839" class="Bound">y</a> <a id="2985" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="2987" href="Algebra.Construct.NaturalChoice.MinOp.html#2841" class="Bound">r</a><a id="2988" class="Symbol">)</a> <a id="2991" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
<a id="⊓-idem"></a><a id="2994" href="Algebra.Construct.NaturalChoice.MinOp.html#2994" class="Function">⊓-idem</a> <a id="3001" class="Symbol">:</a> <a id="3003" href="Algebra.Definitions.html#2656" class="Function">Idempotent</a> <a id="3014" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3018" href="Algebra.Construct.NaturalChoice.MinOp.html#2994" class="Function">⊓-idem</a> <a id="3025" href="Algebra.Construct.NaturalChoice.MinOp.html#3025" class="Bound">x</a> <a id="3027" class="Symbol">=</a> <a id="3029" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="3039" class="Symbol">(</a><a id="3040" href="Relation.Binary.Structures.html#2447" class="Function">refl</a> <a id="3045" class="Symbol">{</a><a id="3046" href="Algebra.Construct.NaturalChoice.MinOp.html#3025" class="Bound">x</a><a id="3047" class="Symbol">})</a>
<a id="⊓-sel"></a><a id="3051" href="Algebra.Construct.NaturalChoice.MinOp.html#3051" class="Function">⊓-sel</a> <a id="3057" class="Symbol">:</a> <a id="3059" href="Algebra.Definitions.html#2791" class="Function">Selective</a> <a id="3069" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3073" href="Algebra.Construct.NaturalChoice.MinOp.html#3051" class="Function">⊓-sel</a> <a id="3079" href="Algebra.Construct.NaturalChoice.MinOp.html#3079" class="Bound">x</a> <a id="3081" href="Algebra.Construct.NaturalChoice.MinOp.html#3081" class="Bound">y</a> <a id="3083" class="Symbol">=</a> <a id="3085" href="Data.Sum.Base.html#1371" class="Function">Sum.map</a> <a id="3093" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="3103" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="3113" class="Symbol">(</a><a id="3114" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="3120" href="Algebra.Construct.NaturalChoice.MinOp.html#3079" class="Bound">x</a> <a id="3122" href="Algebra.Construct.NaturalChoice.MinOp.html#3081" class="Bound">y</a><a id="3123" class="Symbol">)</a>
<a id="⊓-identityˡ"></a><a id="3126" href="Algebra.Construct.NaturalChoice.MinOp.html#3126" class="Function">⊓-identityˡ</a> <a id="3138" class="Symbol">:</a> <a id="3140" class="Symbol"></a> <a id="3142" class="Symbol">{</a><a id="3143" href="Algebra.Construct.NaturalChoice.MinOp.html#3143" class="Bound"></a><a id="3144" class="Symbol">}</a> <a id="3146" class="Symbol"></a> <a id="3148" href="Relation.Binary.Definitions.html#3197" class="Function">Maximum</a> <a id="3156" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="3160" href="Algebra.Construct.NaturalChoice.MinOp.html#3143" class="Bound"></a> <a id="3162" class="Symbol"></a> <a id="3164" href="Algebra.Definitions.html#1277" class="Function">LeftIdentity</a> <a id="3177" href="Algebra.Construct.NaturalChoice.MinOp.html#3143" class="Bound"></a> <a id="3179" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3183" href="Algebra.Construct.NaturalChoice.MinOp.html#3126" class="Function">⊓-identityˡ</a> <a id="3195" href="Algebra.Construct.NaturalChoice.MinOp.html#3195" class="Bound">max</a> <a id="3199" class="Symbol">=</a> <a id="3201" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="3211" href="Function.Base.html#1040" class="Function Operator"></a> <a id="3213" href="Algebra.Construct.NaturalChoice.MinOp.html#3195" class="Bound">max</a>
<a id="⊓-identityʳ"></a><a id="3218" href="Algebra.Construct.NaturalChoice.MinOp.html#3218" class="Function">⊓-identityʳ</a> <a id="3230" class="Symbol">:</a> <a id="3232" class="Symbol"></a> <a id="3234" class="Symbol">{</a><a id="3235" href="Algebra.Construct.NaturalChoice.MinOp.html#3235" class="Bound"></a><a id="3236" class="Symbol">}</a> <a id="3238" class="Symbol"></a> <a id="3240" href="Relation.Binary.Definitions.html#3197" class="Function">Maximum</a> <a id="3248" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="3252" href="Algebra.Construct.NaturalChoice.MinOp.html#3235" class="Bound"></a> <a id="3254" class="Symbol"></a> <a id="3256" href="Algebra.Definitions.html#1350" class="Function">RightIdentity</a> <a id="3270" href="Algebra.Construct.NaturalChoice.MinOp.html#3235" class="Bound"></a> <a id="3272" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3276" href="Algebra.Construct.NaturalChoice.MinOp.html#3218" class="Function">⊓-identityʳ</a> <a id="3288" href="Algebra.Construct.NaturalChoice.MinOp.html#3288" class="Bound">max</a> <a id="3292" class="Symbol">=</a> <a id="3294" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="3304" href="Function.Base.html#1040" class="Function Operator"></a> <a id="3306" href="Algebra.Construct.NaturalChoice.MinOp.html#3288" class="Bound">max</a>
<a id="⊓-identity"></a><a id="3311" href="Algebra.Construct.NaturalChoice.MinOp.html#3311" class="Function">⊓-identity</a> <a id="3322" class="Symbol">:</a> <a id="3324" class="Symbol"></a> <a id="3326" class="Symbol">{</a><a id="3327" href="Algebra.Construct.NaturalChoice.MinOp.html#3327" class="Bound"></a><a id="3328" class="Symbol">}</a> <a id="3330" class="Symbol"></a> <a id="3332" href="Relation.Binary.Definitions.html#3197" class="Function">Maximum</a> <a id="3340" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="3344" href="Algebra.Construct.NaturalChoice.MinOp.html#3327" class="Bound"></a> <a id="3346" class="Symbol"></a> <a id="3348" href="Algebra.Definitions.html#1425" class="Function">Identity</a> <a id="3357" href="Algebra.Construct.NaturalChoice.MinOp.html#3327" class="Bound"></a> <a id="3359" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3363" href="Algebra.Construct.NaturalChoice.MinOp.html#3311" class="Function">⊓-identity</a> <a id="3374" href="Algebra.Construct.NaturalChoice.MinOp.html#3374" class="Bound">max</a> <a id="3378" class="Symbol">=</a> <a id="3380" href="Algebra.Construct.NaturalChoice.MinOp.html#3126" class="Function">⊓-identityˡ</a> <a id="3392" href="Algebra.Construct.NaturalChoice.MinOp.html#3374" class="Bound">max</a> <a id="3396" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3398" href="Algebra.Construct.NaturalChoice.MinOp.html#3218" class="Function">⊓-identityʳ</a> <a id="3410" href="Algebra.Construct.NaturalChoice.MinOp.html#3374" class="Bound">max</a>
<a id="⊓-zeroˡ"></a><a id="3415" href="Algebra.Construct.NaturalChoice.MinOp.html#3415" class="Function">⊓-zeroˡ</a> <a id="3423" class="Symbol">:</a> <a id="3425" class="Symbol"></a> <a id="3427" class="Symbol">{</a><a id="3428" href="Algebra.Construct.NaturalChoice.MinOp.html#3428" class="Bound"></a><a id="3429" class="Symbol">}</a> <a id="3431" class="Symbol"></a> <a id="3433" href="Relation.Binary.Definitions.html#3346" class="Function">Minimum</a> <a id="3441" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="3445" href="Algebra.Construct.NaturalChoice.MinOp.html#3428" class="Bound"></a> <a id="3447" class="Symbol"></a> <a id="3449" href="Algebra.Definitions.html#1511" class="Function">LeftZero</a> <a id="3458" href="Algebra.Construct.NaturalChoice.MinOp.html#3428" class="Bound"></a> <a id="3460" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3464" href="Algebra.Construct.NaturalChoice.MinOp.html#3415" class="Function">⊓-zeroˡ</a> <a id="3472" href="Algebra.Construct.NaturalChoice.MinOp.html#3472" class="Bound">min</a> <a id="3476" class="Symbol">=</a> <a id="3478" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="3488" href="Function.Base.html#1040" class="Function Operator"></a> <a id="3490" href="Algebra.Construct.NaturalChoice.MinOp.html#3472" class="Bound">min</a>
<a id="⊓-zeroʳ"></a><a id="3495" href="Algebra.Construct.NaturalChoice.MinOp.html#3495" class="Function">⊓-zeroʳ</a> <a id="3503" class="Symbol">:</a> <a id="3505" class="Symbol"></a> <a id="3507" class="Symbol">{</a><a id="3508" href="Algebra.Construct.NaturalChoice.MinOp.html#3508" class="Bound"></a><a id="3509" class="Symbol">}</a> <a id="3511" class="Symbol"></a> <a id="3513" href="Relation.Binary.Definitions.html#3346" class="Function">Minimum</a> <a id="3521" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="3525" href="Algebra.Construct.NaturalChoice.MinOp.html#3508" class="Bound"></a> <a id="3527" class="Symbol"></a> <a id="3529" href="Algebra.Definitions.html#1576" class="Function">RightZero</a> <a id="3539" href="Algebra.Construct.NaturalChoice.MinOp.html#3508" class="Bound"></a> <a id="3541" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3545" href="Algebra.Construct.NaturalChoice.MinOp.html#3495" class="Function">⊓-zeroʳ</a> <a id="3553" href="Algebra.Construct.NaturalChoice.MinOp.html#3553" class="Bound">min</a> <a id="3557" class="Symbol">=</a> <a id="3559" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="3569" href="Function.Base.html#1040" class="Function Operator"></a> <a id="3571" href="Algebra.Construct.NaturalChoice.MinOp.html#3553" class="Bound">min</a>
<a id="⊓-zero"></a><a id="3576" href="Algebra.Construct.NaturalChoice.MinOp.html#3576" class="Function">⊓-zero</a> <a id="3583" class="Symbol">:</a> <a id="3585" class="Symbol"></a> <a id="3587" class="Symbol">{</a><a id="3588" href="Algebra.Construct.NaturalChoice.MinOp.html#3588" class="Bound"></a><a id="3589" class="Symbol">}</a> <a id="3591" class="Symbol"></a> <a id="3593" href="Relation.Binary.Definitions.html#3346" class="Function">Minimum</a> <a id="3601" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="3605" href="Algebra.Construct.NaturalChoice.MinOp.html#3588" class="Bound"></a> <a id="3607" class="Symbol"></a> <a id="3609" href="Algebra.Definitions.html#1643" class="Function">Zero</a> <a id="3614" href="Algebra.Construct.NaturalChoice.MinOp.html#3588" class="Bound"></a> <a id="3616" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3620" href="Algebra.Construct.NaturalChoice.MinOp.html#3576" class="Function">⊓-zero</a> <a id="3627" href="Algebra.Construct.NaturalChoice.MinOp.html#3627" class="Bound">min</a> <a id="3631" class="Symbol">=</a> <a id="3633" href="Algebra.Construct.NaturalChoice.MinOp.html#3415" class="Function">⊓-zeroˡ</a> <a id="3641" href="Algebra.Construct.NaturalChoice.MinOp.html#3627" class="Bound">min</a> <a id="3645" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3647" href="Algebra.Construct.NaturalChoice.MinOp.html#3495" class="Function">⊓-zeroʳ</a> <a id="3655" href="Algebra.Construct.NaturalChoice.MinOp.html#3627" class="Bound">min</a>
<a id="3660" class="Comment">------------------------------------------------------------------------</a>
<a id="3733" class="Comment">-- Structures</a>
<a id="⊓-isMagma"></a><a id="3748" href="Algebra.Construct.NaturalChoice.MinOp.html#3748" class="Function">⊓-isMagma</a> <a id="3758" class="Symbol">:</a> <a id="3760" href="Algebra.Structures.html#1129" class="Record">IsMagma</a> <a id="3768" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3772" href="Algebra.Construct.NaturalChoice.MinOp.html#3748" class="Function">⊓-isMagma</a> <a id="3782" class="Symbol">=</a> <a id="3784" class="Keyword">record</a>
<a id="3793" class="Symbol">{</a> <a id="3795" href="Algebra.Structures.html#1181" class="Field">isEquivalence</a> <a id="3809" class="Symbol">=</a> <a id="3811" href="Relation.Binary.Structures.html#2237" class="Function">isEquivalence</a>
<a id="3827" class="Symbol">;</a> <a id="3829" href="Algebra.Structures.html#1219" class="Field">∙-cong</a> <a id="3843" class="Symbol">=</a> <a id="3845" href="Algebra.Construct.NaturalChoice.MinOp.html#2242" class="Function">⊓-cong</a>
<a id="3854" class="Symbol">}</a>
<a id="⊓-isSemigroup"></a><a id="3857" href="Algebra.Construct.NaturalChoice.MinOp.html#3857" class="Function">⊓-isSemigroup</a> <a id="3871" class="Symbol">:</a> <a id="3873" href="Algebra.Structures.html#1796" class="Record">IsSemigroup</a> <a id="3885" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3889" href="Algebra.Construct.NaturalChoice.MinOp.html#3857" class="Function">⊓-isSemigroup</a> <a id="3903" class="Symbol">=</a> <a id="3905" class="Keyword">record</a>
<a id="3914" class="Symbol">{</a> <a id="3916" href="Algebra.Structures.html#1852" class="Field">isMagma</a> <a id="3924" class="Symbol">=</a> <a id="3926" href="Algebra.Construct.NaturalChoice.MinOp.html#3748" class="Function">⊓-isMagma</a>
<a id="3938" class="Symbol">;</a> <a id="3940" href="Algebra.Structures.html#1876" class="Field">assoc</a> <a id="3948" class="Symbol">=</a> <a id="3950" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a>
<a id="3960" class="Symbol">}</a>
<a id="⊓-isBand"></a><a id="3963" href="Algebra.Construct.NaturalChoice.MinOp.html#3963" class="Function">⊓-isBand</a> <a id="3972" class="Symbol">:</a> <a id="3974" href="Algebra.Structures.html#1940" class="Record">IsBand</a> <a id="3981" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="3985" href="Algebra.Construct.NaturalChoice.MinOp.html#3963" class="Function">⊓-isBand</a> <a id="3994" class="Symbol">=</a> <a id="3996" class="Keyword">record</a>
<a id="4005" class="Symbol">{</a> <a id="4007" href="Algebra.Structures.html#1991" class="Field">isSemigroup</a> <a id="4019" class="Symbol">=</a> <a id="4021" href="Algebra.Construct.NaturalChoice.MinOp.html#3857" class="Function">⊓-isSemigroup</a>
<a id="4037" class="Symbol">;</a> <a id="4039" href="Algebra.Structures.html#2023" class="Field">idem</a> <a id="4051" class="Symbol">=</a> <a id="4053" href="Algebra.Construct.NaturalChoice.MinOp.html#2994" class="Function">⊓-idem</a>
<a id="4062" class="Symbol">}</a>
<a id="⊓-isCommutativeSemigroup"></a><a id="4065" href="Algebra.Construct.NaturalChoice.MinOp.html#4065" class="Function">⊓-isCommutativeSemigroup</a> <a id="4090" class="Symbol">:</a> <a id="4092" href="Algebra.Structures.html#2098" class="Record">IsCommutativeSemigroup</a> <a id="4115" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="4119" href="Algebra.Construct.NaturalChoice.MinOp.html#4065" class="Function">⊓-isCommutativeSemigroup</a> <a id="4144" class="Symbol">=</a> <a id="4146" class="Keyword">record</a>
<a id="4155" class="Symbol">{</a> <a id="4157" href="Algebra.Structures.html#2165" class="Field">isSemigroup</a> <a id="4169" class="Symbol">=</a> <a id="4171" href="Algebra.Construct.NaturalChoice.MinOp.html#3857" class="Function">⊓-isSemigroup</a>
<a id="4187" class="Symbol">;</a> <a id="4189" href="Algebra.Structures.html#2197" class="Field">comm</a> <a id="4201" class="Symbol">=</a> <a id="4203" href="Algebra.Construct.NaturalChoice.MinOp.html#1553" class="Function">⊓-comm</a>
<a id="4212" class="Symbol">}</a>
<a id="⊓-isSemilattice"></a><a id="4215" href="Algebra.Construct.NaturalChoice.MinOp.html#4215" class="Function">⊓-isSemilattice</a> <a id="4231" class="Symbol">:</a> <a id="4233" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="4247" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="4251" href="Algebra.Construct.NaturalChoice.MinOp.html#4215" class="Function">⊓-isSemilattice</a> <a id="4267" class="Symbol">=</a> <a id="4269" class="Keyword">record</a>
<a id="4278" class="Symbol">{</a> <a id="4280" href="Algebra.Structures.html#2457" class="Field">isBand</a> <a id="4287" class="Symbol">=</a> <a id="4289" href="Algebra.Construct.NaturalChoice.MinOp.html#3963" class="Function">⊓-isBand</a>
<a id="4300" class="Symbol">;</a> <a id="4302" href="Algebra.Structures.html#2479" class="Field">comm</a> <a id="4309" class="Symbol">=</a> <a id="4311" href="Algebra.Construct.NaturalChoice.MinOp.html#1553" class="Function">⊓-comm</a>
<a id="4320" class="Symbol">}</a>
<a id="⊓-isSelectiveMagma"></a><a id="4323" href="Algebra.Construct.NaturalChoice.MinOp.html#4323" class="Function">⊓-isSelectiveMagma</a> <a id="4342" class="Symbol">:</a> <a id="4344" href="Algebra.Structures.html#1649" class="Record">IsSelectiveMagma</a> <a id="4361" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a>
<a id="4365" href="Algebra.Construct.NaturalChoice.MinOp.html#4323" class="Function">⊓-isSelectiveMagma</a> <a id="4384" class="Symbol">=</a> <a id="4386" class="Keyword">record</a>
<a id="4395" class="Symbol">{</a> <a id="4397" href="Algebra.Structures.html#1710" class="Field">isMagma</a> <a id="4405" class="Symbol">=</a> <a id="4407" href="Algebra.Construct.NaturalChoice.MinOp.html#3748" class="Function">⊓-isMagma</a>
<a id="4419" class="Symbol">;</a> <a id="4421" href="Algebra.Structures.html#1734" class="Field">sel</a> <a id="4429" class="Symbol">=</a> <a id="4431" href="Algebra.Construct.NaturalChoice.MinOp.html#3051" class="Function">⊓-sel</a>
<a id="4439" class="Symbol">}</a>
<a id="⊓-isMonoid"></a><a id="4442" href="Algebra.Construct.NaturalChoice.MinOp.html#4442" class="Function">⊓-isMonoid</a> <a id="4453" class="Symbol">:</a> <a id="4455" class="Symbol"></a> <a id="4457" class="Symbol">{</a><a id="4458" href="Algebra.Construct.NaturalChoice.MinOp.html#4458" class="Bound"></a><a id="4459" class="Symbol">}</a> <a id="4461" class="Symbol"></a> <a id="4463" href="Relation.Binary.Definitions.html#3197" class="Function">Maximum</a> <a id="4471" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="4475" href="Algebra.Construct.NaturalChoice.MinOp.html#4458" class="Bound"></a> <a id="4477" class="Symbol"></a> <a id="4479" href="Algebra.Structures.html#2810" class="Record">IsMonoid</a> <a id="4488" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a> <a id="4492" href="Algebra.Construct.NaturalChoice.MinOp.html#4458" class="Bound"></a>
<a id="4494" href="Algebra.Construct.NaturalChoice.MinOp.html#4442" class="Function">⊓-isMonoid</a> <a id="4505" href="Algebra.Construct.NaturalChoice.MinOp.html#4505" class="Bound">max</a> <a id="4509" class="Symbol">=</a> <a id="4511" class="Keyword">record</a>
<a id="4520" class="Symbol">{</a> <a id="4522" href="Algebra.Structures.html#2871" class="Field">isSemigroup</a> <a id="4534" class="Symbol">=</a> <a id="4536" href="Algebra.Construct.NaturalChoice.MinOp.html#3857" class="Function">⊓-isSemigroup</a>
<a id="4552" class="Symbol">;</a> <a id="4554" href="Algebra.Structures.html#2903" class="Field">identity</a> <a id="4566" class="Symbol">=</a> <a id="4568" href="Algebra.Construct.NaturalChoice.MinOp.html#3311" class="Function">⊓-identity</a> <a id="4579" href="Algebra.Construct.NaturalChoice.MinOp.html#4505" class="Bound">max</a>
<a id="4585" class="Symbol">}</a>
<a id="4588" class="Comment">------------------------------------------------------------------------</a>
<a id="4661" class="Comment">-- Raw bandles</a>
<a id="⊓-rawMagma"></a><a id="4677" href="Algebra.Construct.NaturalChoice.MinOp.html#4677" class="Function">⊓-rawMagma</a> <a id="4688" class="Symbol">:</a> <a id="4690" href="Algebra.Bundles.html#790" class="Record">RawMagma</a> <a id="4699" class="Symbol">_</a> <a id="4701" class="Symbol">_</a>
<a id="4703" href="Algebra.Construct.NaturalChoice.MinOp.html#4677" class="Function">⊓-rawMagma</a> <a id="4714" class="Symbol">=</a> <a id="4716" class="Keyword">record</a> <a id="4723" class="Symbol">{</a> <a id="4725" href="Algebra.Bundles.html#891" class="Field Operator">_≈_</a> <a id="4729" class="Symbol">=</a> <a id="4731" href="Relation.Binary.Bundles.html#2496" class="Function Operator">_≈_</a> <a id="4735" class="Symbol">;</a> <a id="4737" href="Algebra.Bundles.html#919" class="Field Operator">_∙_</a> <a id="4741" class="Symbol">=</a> <a id="4743" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a> <a id="4747" class="Symbol">}</a>
<a id="4750" class="Comment">------------------------------------------------------------------------</a>
<a id="4823" class="Comment">-- Bundles</a>
<a id="⊓-magma"></a><a id="4835" href="Algebra.Construct.NaturalChoice.MinOp.html#4835" class="Function">⊓-magma</a> <a id="4843" class="Symbol">:</a> <a id="4845" href="Algebra.Bundles.html#1009" class="Record">Magma</a> <a id="4851" class="Symbol">_</a> <a id="4853" class="Symbol">_</a>
<a id="4855" href="Algebra.Construct.NaturalChoice.MinOp.html#4835" class="Function">⊓-magma</a> <a id="4863" class="Symbol">=</a> <a id="4865" class="Keyword">record</a>
<a id="4874" class="Symbol">{</a> <a id="4876" href="Algebra.Bundles.html#1161" class="Field">isMagma</a> <a id="4884" class="Symbol">=</a> <a id="4886" href="Algebra.Construct.NaturalChoice.MinOp.html#3748" class="Function">⊓-isMagma</a>
<a id="4898" class="Symbol">}</a>
<a id="⊓-semigroup"></a><a id="4901" href="Algebra.Construct.NaturalChoice.MinOp.html#4901" class="Function">⊓-semigroup</a> <a id="4913" class="Symbol">:</a> <a id="4915" href="Algebra.Bundles.html#2152" class="Record">Semigroup</a> <a id="4925" class="Symbol">_</a> <a id="4927" class="Symbol">_</a>
<a id="4929" href="Algebra.Construct.NaturalChoice.MinOp.html#4901" class="Function">⊓-semigroup</a> <a id="4941" class="Symbol">=</a> <a id="4943" class="Keyword">record</a>
<a id="4952" class="Symbol">{</a> <a id="4954" href="Algebra.Bundles.html#2320" class="Field">isSemigroup</a> <a id="4966" class="Symbol">=</a> <a id="4968" href="Algebra.Construct.NaturalChoice.MinOp.html#3857" class="Function">⊓-isSemigroup</a>
<a id="4984" class="Symbol">}</a>
<a id="⊓-band"></a><a id="4987" href="Algebra.Construct.NaturalChoice.MinOp.html#4987" class="Function">⊓-band</a> <a id="4994" class="Symbol">:</a> <a id="4996" href="Algebra.Bundles.html#2515" class="Record">Band</a> <a id="5001" class="Symbol">_</a> <a id="5003" class="Symbol">_</a>
<a id="5005" href="Algebra.Construct.NaturalChoice.MinOp.html#4987" class="Function">⊓-band</a> <a id="5012" class="Symbol">=</a> <a id="5014" class="Keyword">record</a>
<a id="5023" class="Symbol">{</a> <a id="5025" href="Algebra.Bundles.html#2666" class="Field">isBand</a> <a id="5032" class="Symbol">=</a> <a id="5034" href="Algebra.Construct.NaturalChoice.MinOp.html#3963" class="Function">⊓-isBand</a>
<a id="5045" class="Symbol">}</a>
<a id="⊓-commutativeSemigroup"></a><a id="5048" href="Algebra.Construct.NaturalChoice.MinOp.html#5048" class="Function">⊓-commutativeSemigroup</a> <a id="5071" class="Symbol">:</a> <a id="5073" href="Algebra.Bundles.html#2877" class="Record">CommutativeSemigroup</a> <a id="5094" class="Symbol">_</a> <a id="5096" class="Symbol">_</a>
<a id="5098" href="Algebra.Construct.NaturalChoice.MinOp.html#5048" class="Function">⊓-commutativeSemigroup</a> <a id="5121" class="Symbol">=</a> <a id="5123" class="Keyword">record</a>
<a id="5132" class="Symbol">{</a> <a id="5134" href="Algebra.Bundles.html#3092" class="Field">isCommutativeSemigroup</a> <a id="5157" class="Symbol">=</a> <a id="5159" href="Algebra.Construct.NaturalChoice.MinOp.html#4065" class="Function">⊓-isCommutativeSemigroup</a>
<a id="5186" class="Symbol">}</a>
<a id="⊓-semilattice"></a><a id="5189" href="Algebra.Construct.NaturalChoice.MinOp.html#5189" class="Function">⊓-semilattice</a> <a id="5203" class="Symbol">:</a> <a id="5205" href="Algebra.Bundles.html#3482" class="Record">Semilattice</a> <a id="5217" class="Symbol">_</a> <a id="5219" class="Symbol">_</a>
<a id="5221" href="Algebra.Construct.NaturalChoice.MinOp.html#5189" class="Function">⊓-semilattice</a> <a id="5235" class="Symbol">=</a> <a id="5237" class="Keyword">record</a>
<a id="5246" class="Symbol">{</a> <a id="5248" href="Algebra.Bundles.html#3658" class="Field">isSemilattice</a> <a id="5262" class="Symbol">=</a> <a id="5264" href="Algebra.Construct.NaturalChoice.MinOp.html#4215" class="Function">⊓-isSemilattice</a>
<a id="5282" class="Symbol">}</a>
<a id="⊓-selectiveMagma"></a><a id="5285" href="Algebra.Construct.NaturalChoice.MinOp.html#5285" class="Function">⊓-selectiveMagma</a> <a id="5302" class="Symbol">:</a> <a id="5304" href="Algebra.Bundles.html#1348" class="Record">SelectiveMagma</a> <a id="5319" class="Symbol">_</a> <a id="5321" class="Symbol">_</a>
<a id="5323" href="Algebra.Construct.NaturalChoice.MinOp.html#5285" class="Function">⊓-selectiveMagma</a> <a id="5340" class="Symbol">=</a> <a id="5342" class="Keyword">record</a>
<a id="5351" class="Symbol">{</a> <a id="5353" href="Algebra.Bundles.html#1536" class="Field">isSelectiveMagma</a> <a id="5370" class="Symbol">=</a> <a id="5372" href="Algebra.Construct.NaturalChoice.MinOp.html#4323" class="Function">⊓-isSelectiveMagma</a>
<a id="5393" class="Symbol">}</a>
<a id="⊓-monoid"></a><a id="5396" href="Algebra.Construct.NaturalChoice.MinOp.html#5396" class="Function">⊓-monoid</a> <a id="5405" class="Symbol">:</a> <a id="5407" class="Symbol"></a> <a id="5409" class="Symbol">{</a><a id="5410" href="Algebra.Construct.NaturalChoice.MinOp.html#5410" class="Bound"></a><a id="5411" class="Symbol">}</a> <a id="5413" class="Symbol"></a> <a id="5415" href="Relation.Binary.Definitions.html#3197" class="Function">Maximum</a> <a id="5423" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="5427" href="Algebra.Construct.NaturalChoice.MinOp.html#5410" class="Bound"></a> <a id="5429" class="Symbol"></a> <a id="5431" href="Algebra.Bundles.html#4430" class="Record">Monoid</a> <a id="5438" href="Algebra.Construct.NaturalChoice.MinOp.html#655" class="Bound">a</a> <a id="5440" href="Algebra.Construct.NaturalChoice.MinOp.html#657" class="Bound">ℓ₁</a>
<a id="5443" href="Algebra.Construct.NaturalChoice.MinOp.html#5396" class="Function">⊓-monoid</a> <a id="5452" href="Algebra.Construct.NaturalChoice.MinOp.html#5452" class="Bound">max</a> <a id="5456" class="Symbol">=</a> <a id="5458" class="Keyword">record</a>
<a id="5467" class="Symbol">{</a> <a id="5469" href="Algebra.Bundles.html#4609" class="Field">isMonoid</a> <a id="5478" class="Symbol">=</a> <a id="5480" href="Algebra.Construct.NaturalChoice.MinOp.html#4442" class="Function">⊓-isMonoid</a> <a id="5491" href="Algebra.Construct.NaturalChoice.MinOp.html#5452" class="Bound">max</a>
<a id="5497" class="Symbol">}</a>
<a id="5500" class="Comment">------------------------------------------------------------------------</a>
<a id="5573" class="Comment">-- Other properties</a>
<a id="x⊓y≈x⇒x≤y"></a><a id="5594" href="Algebra.Construct.NaturalChoice.MinOp.html#5594" class="Function">x⊓y≈x⇒x≤y</a> <a id="5604" class="Symbol">:</a> <a id="5606" class="Symbol"></a> <a id="5608" class="Symbol">{</a><a id="5609" href="Algebra.Construct.NaturalChoice.MinOp.html#5609" class="Bound">x</a> <a id="5611" href="Algebra.Construct.NaturalChoice.MinOp.html#5611" class="Bound">y</a><a id="5612" class="Symbol">}</a> <a id="5614" class="Symbol"></a> <a id="5616" href="Algebra.Construct.NaturalChoice.MinOp.html#5609" class="Bound">x</a> <a id="5618" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="5620" href="Algebra.Construct.NaturalChoice.MinOp.html#5611" class="Bound">y</a> <a id="5622" href="Relation.Binary.Bundles.html#2496" class="Function Operator"></a> <a id="5624" href="Algebra.Construct.NaturalChoice.MinOp.html#5609" class="Bound">x</a> <a id="5626" class="Symbol"></a> <a id="5628" href="Algebra.Construct.NaturalChoice.MinOp.html#5609" class="Bound">x</a> <a id="5630" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="5632" href="Algebra.Construct.NaturalChoice.MinOp.html#5611" class="Bound">y</a>
<a id="5634" href="Algebra.Construct.NaturalChoice.MinOp.html#5594" class="Function">x⊓y≈x⇒x≤y</a> <a id="5644" class="Symbol">{</a><a id="5645" href="Algebra.Construct.NaturalChoice.MinOp.html#5645" class="Bound">x</a><a id="5646" class="Symbol">}</a> <a id="5648" class="Symbol">{</a><a id="5649" href="Algebra.Construct.NaturalChoice.MinOp.html#5649" class="Bound">y</a><a id="5650" class="Symbol">}</a> <a id="5652" href="Algebra.Construct.NaturalChoice.MinOp.html#5652" class="Bound">x⊓y≈x</a> <a id="5658" class="Keyword">with</a> <a id="5663" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="5669" href="Algebra.Construct.NaturalChoice.MinOp.html#5645" class="Bound">x</a> <a id="5671" href="Algebra.Construct.NaturalChoice.MinOp.html#5649" class="Bound">y</a>
<a id="5673" class="Symbol">...</a> <a id="5677" class="Symbol">|</a> <a id="5679" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="5684" href="Algebra.Construct.NaturalChoice.MinOp.html#5684" class="Bound">x≤y</a> <a id="5688" class="Symbol">=</a> <a id="5690" href="Algebra.Construct.NaturalChoice.MinOp.html#5684" class="Bound">x≤y</a>
<a id="5694" class="Symbol">...</a> <a id="5698" class="Symbol">|</a> <a id="5700" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="5705" href="Algebra.Construct.NaturalChoice.MinOp.html#5705" class="Bound">y≤x</a> <a id="5709" class="Symbol">=</a> <a id="5711" href="Relation.Binary.Structures.html#2340" class="Function">reflexive</a> <a id="5721" class="Symbol">(</a><a id="5722" href="Relation.Binary.Structures.html#1629" class="Function">Eq.trans</a> <a id="5731" class="Symbol">(</a><a id="5732" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="5739" class="Bound">x⊓y≈x</a><a id="5744" class="Symbol">)</a> <a id="5746" class="Symbol">(</a><a id="5747" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="5757" href="Algebra.Construct.NaturalChoice.MinOp.html#5705" class="Bound">y≤x</a><a id="5760" class="Symbol">))</a>
<a id="x⊓y≈y⇒y≤x"></a><a id="5764" href="Algebra.Construct.NaturalChoice.MinOp.html#5764" class="Function">x⊓y≈y⇒y≤x</a> <a id="5774" class="Symbol">:</a> <a id="5776" class="Symbol"></a> <a id="5778" class="Symbol">{</a><a id="5779" href="Algebra.Construct.NaturalChoice.MinOp.html#5779" class="Bound">x</a> <a id="5781" href="Algebra.Construct.NaturalChoice.MinOp.html#5781" class="Bound">y</a><a id="5782" class="Symbol">}</a> <a id="5784" class="Symbol"></a> <a id="5786" href="Algebra.Construct.NaturalChoice.MinOp.html#5779" class="Bound">x</a> <a id="5788" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="5790" href="Algebra.Construct.NaturalChoice.MinOp.html#5781" class="Bound">y</a> <a id="5792" href="Relation.Binary.Bundles.html#2496" class="Function Operator"></a> <a id="5794" href="Algebra.Construct.NaturalChoice.MinOp.html#5781" class="Bound">y</a> <a id="5796" class="Symbol"></a> <a id="5798" href="Algebra.Construct.NaturalChoice.MinOp.html#5781" class="Bound">y</a> <a id="5800" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="5802" href="Algebra.Construct.NaturalChoice.MinOp.html#5779" class="Bound">x</a>
<a id="5804" href="Algebra.Construct.NaturalChoice.MinOp.html#5764" class="Function">x⊓y≈y⇒y≤x</a> <a id="5814" class="Symbol">{</a><a id="5815" href="Algebra.Construct.NaturalChoice.MinOp.html#5815" class="Bound">x</a><a id="5816" class="Symbol">}</a> <a id="5818" class="Symbol">{</a><a id="5819" href="Algebra.Construct.NaturalChoice.MinOp.html#5819" class="Bound">y</a><a id="5820" class="Symbol">}</a> <a id="5822" href="Algebra.Construct.NaturalChoice.MinOp.html#5822" class="Bound">x⊓y≈y</a> <a id="5828" class="Symbol">=</a> <a id="5830" href="Algebra.Construct.NaturalChoice.MinOp.html#5594" class="Function">x⊓y≈x⇒x≤y</a> <a id="5840" class="Symbol">(</a><a id="5841" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="5858" href="Algebra.Construct.NaturalChoice.MinOp.html#5819" class="Bound">y</a> <a id="5860" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="5862" href="Algebra.Construct.NaturalChoice.MinOp.html#5815" class="Bound">x</a> <a id="5865" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="5868" href="Algebra.Construct.NaturalChoice.MinOp.html#1553" class="Function">⊓-comm</a> <a id="5875" href="Algebra.Construct.NaturalChoice.MinOp.html#5819" class="Bound">y</a> <a id="5877" href="Algebra.Construct.NaturalChoice.MinOp.html#5815" class="Bound">x</a> <a id="5879" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="5883" href="Algebra.Construct.NaturalChoice.MinOp.html#5815" class="Bound">x</a> <a id="5885" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="5887" href="Algebra.Construct.NaturalChoice.MinOp.html#5819" class="Bound">y</a> <a id="5890" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="5893" href="Algebra.Construct.NaturalChoice.MinOp.html#5822" class="Bound">x⊓y≈y</a> <a id="5899" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="5903" href="Algebra.Construct.NaturalChoice.MinOp.html#5819" class="Bound">y</a> <a id="5910" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a><a id="5911" class="Symbol">)</a>
<a id="mono-≤-distrib-⊓"></a><a id="5914" href="Algebra.Construct.NaturalChoice.MinOp.html#5914" class="Function">mono-≤-distrib-⊓</a> <a id="5931" class="Symbol">:</a> <a id="5933" class="Symbol"></a> <a id="5935" class="Symbol">{</a><a id="5936" href="Algebra.Construct.NaturalChoice.MinOp.html#5936" class="Bound">f</a><a id="5937" class="Symbol">}</a> <a id="5939" class="Symbol"></a> <a id="5941" href="Algebra.Construct.NaturalChoice.MinOp.html#5936" class="Bound">f</a> <a id="5943" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="5953" href="Relation.Binary.Bundles.html#2496" class="Function Operator">_≈_</a> <a id="5957" href="Relation.Binary.Core.html#1572" class="Function Operator"></a> <a id="5959" href="Relation.Binary.Bundles.html#2496" class="Function Operator">_≈_</a> <a id="5963" class="Symbol"></a> <a id="5965" href="Algebra.Construct.NaturalChoice.MinOp.html#5936" class="Bound">f</a> <a id="5967" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="5977" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="5981" href="Relation.Binary.Core.html#1572" class="Function Operator"></a> <a id="5983" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="5987" class="Symbol"></a>
<a id="6008" class="Symbol"></a> <a id="6010" href="Algebra.Construct.NaturalChoice.MinOp.html#6010" class="Bound">x</a> <a id="6012" href="Algebra.Construct.NaturalChoice.MinOp.html#6012" class="Bound">y</a> <a id="6014" class="Symbol"></a> <a id="6016" href="Algebra.Construct.NaturalChoice.MinOp.html#5936" class="Bound">f</a> <a id="6018" class="Symbol">(</a><a id="6019" href="Algebra.Construct.NaturalChoice.MinOp.html#6010" class="Bound">x</a> <a id="6021" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6023" href="Algebra.Construct.NaturalChoice.MinOp.html#6012" class="Bound">y</a><a id="6024" class="Symbol">)</a> <a id="6026" href="Relation.Binary.Bundles.html#2496" class="Function Operator"></a> <a id="6028" href="Algebra.Construct.NaturalChoice.MinOp.html#5936" class="Bound">f</a> <a id="6030" href="Algebra.Construct.NaturalChoice.MinOp.html#6010" class="Bound">x</a> <a id="6032" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6034" href="Algebra.Construct.NaturalChoice.MinOp.html#5936" class="Bound">f</a> <a id="6036" href="Algebra.Construct.NaturalChoice.MinOp.html#6012" class="Bound">y</a>
<a id="6038" href="Algebra.Construct.NaturalChoice.MinOp.html#5914" class="Function">mono-≤-distrib-⊓</a> <a id="6055" class="Symbol">{</a><a id="6056" href="Algebra.Construct.NaturalChoice.MinOp.html#6056" class="Bound">f</a><a id="6057" class="Symbol">}</a> <a id="6059" href="Algebra.Construct.NaturalChoice.MinOp.html#6059" class="Bound">cong</a> <a id="6064" href="Algebra.Construct.NaturalChoice.MinOp.html#6064" class="Bound">mono</a> <a id="6069" href="Algebra.Construct.NaturalChoice.MinOp.html#6069" class="Bound">x</a> <a id="6071" href="Algebra.Construct.NaturalChoice.MinOp.html#6071" class="Bound">y</a> <a id="6073" class="Keyword">with</a> <a id="6078" href="Relation.Binary.Structures.html#2844" class="Function">total</a> <a id="6084" href="Algebra.Construct.NaturalChoice.MinOp.html#6069" class="Bound">x</a> <a id="6086" href="Algebra.Construct.NaturalChoice.MinOp.html#6071" class="Bound">y</a>
<a id="6088" class="Symbol">...</a> <a id="6092" class="Symbol">|</a> <a id="6094" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="6099" href="Algebra.Construct.NaturalChoice.MinOp.html#6099" class="Bound">x≤y</a> <a id="6103" class="Symbol">=</a> <a id="6105" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="6122" class="Bound">f</a> <a id="6124" class="Symbol">(</a><a id="6125" class="Bound">x</a> <a id="6127" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6129" class="Bound">y</a><a id="6130" class="Symbol">)</a> <a id="6133" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="6136" class="Bound">cong</a> <a id="6141" class="Symbol">(</a><a id="6142" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="6152" href="Algebra.Construct.NaturalChoice.MinOp.html#6099" class="Bound">x≤y</a><a id="6155" class="Symbol">)</a> <a id="6157" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="6161" class="Bound">f</a> <a id="6163" class="Bound">x</a> <a id="6172" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="6176" href="Algebra.Construct.NaturalChoice.Base.html#1060" class="Field">x≤y⇒x⊓y≈x</a> <a id="6186" class="Symbol">(</a><a id="6187" class="Bound">mono</a> <a id="6192" href="Algebra.Construct.NaturalChoice.MinOp.html#6099" class="Bound">x≤y</a><a id="6195" class="Symbol">)</a> <a id="6197" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="6201" class="Bound">f</a> <a id="6203" class="Bound">x</a> <a id="6205" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6207" class="Bound">f</a> <a id="6209" class="Bound">y</a> <a id="6212" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
<a id="6214" class="Symbol">...</a> <a id="6218" class="Symbol">|</a> <a id="6220" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="6225" href="Algebra.Construct.NaturalChoice.MinOp.html#6225" class="Bound">y≤x</a> <a id="6229" class="Symbol">=</a> <a id="6231" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="6248" class="Bound">f</a> <a id="6250" class="Symbol">(</a><a id="6251" class="Bound">x</a> <a id="6253" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6255" class="Bound">y</a><a id="6256" class="Symbol">)</a> <a id="6259" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="6262" class="Bound">cong</a> <a id="6267" class="Symbol">(</a><a id="6268" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="6278" href="Algebra.Construct.NaturalChoice.MinOp.html#6225" class="Bound">y≤x</a><a id="6281" class="Symbol">)</a> <a id="6283" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="6287" class="Bound">f</a> <a id="6289" class="Bound">y</a> <a id="6298" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="6302" href="Algebra.Construct.NaturalChoice.Base.html#1106" class="Field">x≥y⇒x⊓y≈y</a> <a id="6312" class="Symbol">(</a><a id="6313" class="Bound">mono</a> <a id="6318" href="Algebra.Construct.NaturalChoice.MinOp.html#6225" class="Bound">y≤x</a><a id="6321" class="Symbol">)</a> <a id="6323" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="6327" class="Bound">f</a> <a id="6329" class="Bound">x</a> <a id="6331" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6333" class="Bound">f</a> <a id="6335" class="Bound">y</a> <a id="6338" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
<a id="x≤y⇒x⊓z≤y"></a><a id="6341" href="Algebra.Construct.NaturalChoice.MinOp.html#6341" class="Function">x≤y⇒x⊓z≤y</a> <a id="6351" class="Symbol">:</a> <a id="6353" class="Symbol"></a> <a id="6355" class="Symbol">{</a><a id="6356" href="Algebra.Construct.NaturalChoice.MinOp.html#6356" class="Bound">x</a> <a id="6358" href="Algebra.Construct.NaturalChoice.MinOp.html#6358" class="Bound">y</a><a id="6359" class="Symbol">}</a> <a id="6361" href="Algebra.Construct.NaturalChoice.MinOp.html#6361" class="Bound">z</a> <a id="6363" class="Symbol"></a> <a id="6365" href="Algebra.Construct.NaturalChoice.MinOp.html#6356" class="Bound">x</a> <a id="6367" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="6369" href="Algebra.Construct.NaturalChoice.MinOp.html#6358" class="Bound">y</a> <a id="6371" class="Symbol"></a> <a id="6373" href="Algebra.Construct.NaturalChoice.MinOp.html#6356" class="Bound">x</a> <a id="6375" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6377" href="Algebra.Construct.NaturalChoice.MinOp.html#6361" class="Bound">z</a> <a id="6379" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="6381" href="Algebra.Construct.NaturalChoice.MinOp.html#6358" class="Bound">y</a>
<a id="6383" href="Algebra.Construct.NaturalChoice.MinOp.html#6341" class="Function">x≤y⇒x⊓z≤y</a> <a id="6393" href="Algebra.Construct.NaturalChoice.MinOp.html#6393" class="Bound">z</a> <a id="6395" href="Algebra.Construct.NaturalChoice.MinOp.html#6395" class="Bound">x≤y</a> <a id="6399" class="Symbol">=</a> <a id="6401" href="Relation.Binary.Structures.html#2370" class="Function">trans</a> <a id="6407" class="Symbol">(</a><a id="6408" href="Algebra.Construct.NaturalChoice.MinOp.html#1125" class="Function">x⊓y≤x</a> <a id="6414" class="Symbol">_</a> <a id="6416" href="Algebra.Construct.NaturalChoice.MinOp.html#6393" class="Bound">z</a><a id="6417" class="Symbol">)</a> <a id="6419" href="Algebra.Construct.NaturalChoice.MinOp.html#6395" class="Bound">x≤y</a>
<a id="x≤y⇒z⊓x≤y"></a><a id="6424" href="Algebra.Construct.NaturalChoice.MinOp.html#6424" class="Function">x≤y⇒z⊓x≤y</a> <a id="6434" class="Symbol">:</a> <a id="6436" class="Symbol"></a> <a id="6438" class="Symbol">{</a><a id="6439" href="Algebra.Construct.NaturalChoice.MinOp.html#6439" class="Bound">x</a> <a id="6441" href="Algebra.Construct.NaturalChoice.MinOp.html#6441" class="Bound">y</a><a id="6442" class="Symbol">}</a> <a id="6444" href="Algebra.Construct.NaturalChoice.MinOp.html#6444" class="Bound">z</a> <a id="6446" class="Symbol"></a> <a id="6448" href="Algebra.Construct.NaturalChoice.MinOp.html#6439" class="Bound">x</a> <a id="6450" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="6452" href="Algebra.Construct.NaturalChoice.MinOp.html#6441" class="Bound">y</a> <a id="6454" class="Symbol"></a> <a id="6456" href="Algebra.Construct.NaturalChoice.MinOp.html#6444" class="Bound">z</a> <a id="6458" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6460" href="Algebra.Construct.NaturalChoice.MinOp.html#6439" class="Bound">x</a> <a id="6462" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="6464" href="Algebra.Construct.NaturalChoice.MinOp.html#6441" class="Bound">y</a>
<a id="6466" href="Algebra.Construct.NaturalChoice.MinOp.html#6424" class="Function">x≤y⇒z⊓x≤y</a> <a id="6476" href="Algebra.Construct.NaturalChoice.MinOp.html#6476" class="Bound">y</a> <a id="6478" href="Algebra.Construct.NaturalChoice.MinOp.html#6478" class="Bound">x≤y</a> <a id="6482" class="Symbol">=</a> <a id="6484" href="Relation.Binary.Structures.html#2370" class="Function">trans</a> <a id="6490" class="Symbol">(</a><a id="6491" href="Algebra.Construct.NaturalChoice.MinOp.html#1290" class="Function">x⊓y≤y</a> <a id="6497" href="Algebra.Construct.NaturalChoice.MinOp.html#6476" class="Bound">y</a> <a id="6499" class="Symbol">_)</a> <a id="6502" href="Algebra.Construct.NaturalChoice.MinOp.html#6478" class="Bound">x≤y</a>
<a id="x≤y⊓z⇒x≤y"></a><a id="6507" href="Algebra.Construct.NaturalChoice.MinOp.html#6507" class="Function">x≤y⊓z⇒x≤y</a> <a id="6517" class="Symbol">:</a> <a id="6519" class="Symbol"></a> <a id="6521" class="Symbol">{</a><a id="6522" href="Algebra.Construct.NaturalChoice.MinOp.html#6522" class="Bound">x</a><a id="6523" class="Symbol">}</a> <a id="6525" href="Algebra.Construct.NaturalChoice.MinOp.html#6525" class="Bound">y</a> <a id="6527" href="Algebra.Construct.NaturalChoice.MinOp.html#6527" class="Bound">z</a> <a id="6529" class="Symbol"></a> <a id="6531" href="Algebra.Construct.NaturalChoice.MinOp.html#6522" class="Bound">x</a> <a id="6533" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="6535" href="Algebra.Construct.NaturalChoice.MinOp.html#6525" class="Bound">y</a> <a id="6537" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6539" href="Algebra.Construct.NaturalChoice.MinOp.html#6527" class="Bound">z</a> <a id="6541" class="Symbol"></a> <a id="6543" href="Algebra.Construct.NaturalChoice.MinOp.html#6522" class="Bound">x</a> <a id="6545" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="6547" href="Algebra.Construct.NaturalChoice.MinOp.html#6525" class="Bound">y</a>
<a id="6549" href="Algebra.Construct.NaturalChoice.MinOp.html#6507" class="Function">x≤y⊓z⇒x≤y</a> <a id="6559" href="Algebra.Construct.NaturalChoice.MinOp.html#6559" class="Bound">y</a> <a id="6561" href="Algebra.Construct.NaturalChoice.MinOp.html#6561" class="Bound">z</a> <a id="6563" href="Algebra.Construct.NaturalChoice.MinOp.html#6563" class="Bound">x≤y⊓z</a> <a id="6569" class="Symbol">=</a> <a id="6571" href="Relation.Binary.Structures.html#2370" class="Function">trans</a> <a id="6577" href="Algebra.Construct.NaturalChoice.MinOp.html#6563" class="Bound">x≤y⊓z</a> <a id="6583" class="Symbol">(</a><a id="6584" href="Algebra.Construct.NaturalChoice.MinOp.html#1125" class="Function">x⊓y≤x</a> <a id="6590" href="Algebra.Construct.NaturalChoice.MinOp.html#6559" class="Bound">y</a> <a id="6592" href="Algebra.Construct.NaturalChoice.MinOp.html#6561" class="Bound">z</a><a id="6593" class="Symbol">)</a>
<a id="x≤y⊓z⇒x≤z"></a><a id="6596" href="Algebra.Construct.NaturalChoice.MinOp.html#6596" class="Function">x≤y⊓z⇒x≤z</a> <a id="6606" class="Symbol">:</a> <a id="6608" class="Symbol"></a> <a id="6610" class="Symbol">{</a><a id="6611" href="Algebra.Construct.NaturalChoice.MinOp.html#6611" class="Bound">x</a><a id="6612" class="Symbol">}</a> <a id="6614" href="Algebra.Construct.NaturalChoice.MinOp.html#6614" class="Bound">y</a> <a id="6616" href="Algebra.Construct.NaturalChoice.MinOp.html#6616" class="Bound">z</a> <a id="6618" class="Symbol"></a> <a id="6620" href="Algebra.Construct.NaturalChoice.MinOp.html#6611" class="Bound">x</a> <a id="6622" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="6624" href="Algebra.Construct.NaturalChoice.MinOp.html#6614" class="Bound">y</a> <a id="6626" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="6628" href="Algebra.Construct.NaturalChoice.MinOp.html#6616" class="Bound">z</a> <a id="6630" class="Symbol"></a> <a id="6632" href="Algebra.Construct.NaturalChoice.MinOp.html#6611" class="Bound">x</a> <a id="6634" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="6636" href="Algebra.Construct.NaturalChoice.MinOp.html#6616" class="Bound">z</a>
<a id="6638" href="Algebra.Construct.NaturalChoice.MinOp.html#6596" class="Function">x≤y⊓z⇒x≤z</a> <a id="6648" href="Algebra.Construct.NaturalChoice.MinOp.html#6648" class="Bound">y</a> <a id="6650" href="Algebra.Construct.NaturalChoice.MinOp.html#6650" class="Bound">z</a> <a id="6652" href="Algebra.Construct.NaturalChoice.MinOp.html#6652" class="Bound">x≤y⊓z</a> <a id="6658" class="Symbol">=</a> <a id="6660" href="Relation.Binary.Structures.html#2370" class="Function">trans</a> <a id="6666" href="Algebra.Construct.NaturalChoice.MinOp.html#6652" class="Bound">x≤y⊓z</a> <a id="6672" class="Symbol">(</a><a id="6673" href="Algebra.Construct.NaturalChoice.MinOp.html#1290" class="Function">x⊓y≤y</a> <a id="6679" href="Algebra.Construct.NaturalChoice.MinOp.html#6648" class="Bound">y</a> <a id="6681" href="Algebra.Construct.NaturalChoice.MinOp.html#6650" class="Bound">z</a><a id="6682" class="Symbol">)</a>
<a id="⊓-mono-≤"></a><a id="6685" href="Algebra.Construct.NaturalChoice.MinOp.html#6685" class="Function">⊓-mono-≤</a> <a id="6694" class="Symbol">:</a> <a id="6696" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓_</a> <a id="6700" href="Relation.Binary.Core.html#1698" class="Function Operator">Preserves₂</a> <a id="6711" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="6715" href="Relation.Binary.Core.html#1698" class="Function Operator"></a> <a id="6717" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="6721" href="Relation.Binary.Core.html#1698" class="Function Operator"></a> <a id="6723" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a>
<a id="6727" href="Algebra.Construct.NaturalChoice.MinOp.html#6685" class="Function">⊓-mono-≤</a> <a id="6736" class="Symbol">{</a><a id="6737" href="Algebra.Construct.NaturalChoice.MinOp.html#6737" class="Bound">x</a><a id="6738" class="Symbol">}</a> <a id="6740" class="Symbol">{</a><a id="6741" href="Algebra.Construct.NaturalChoice.MinOp.html#6741" class="Bound">y</a><a id="6742" class="Symbol">}</a> <a id="6744" class="Symbol">{</a><a id="6745" href="Algebra.Construct.NaturalChoice.MinOp.html#6745" class="Bound">u</a><a id="6746" class="Symbol">}</a> <a id="6748" class="Symbol">{</a><a id="6749" href="Algebra.Construct.NaturalChoice.MinOp.html#6749" class="Bound">v</a><a id="6750" class="Symbol">}</a> <a id="6752" href="Algebra.Construct.NaturalChoice.MinOp.html#6752" class="Bound">x≤y</a> <a id="6756" href="Algebra.Construct.NaturalChoice.MinOp.html#6756" class="Bound">u≤v</a> <a id="6760" class="Keyword">with</a> <a id="6765" href="Algebra.Construct.NaturalChoice.MinOp.html#3051" class="Function">⊓-sel</a> <a id="6771" href="Algebra.Construct.NaturalChoice.MinOp.html#6741" class="Bound">y</a> <a id="6773" href="Algebra.Construct.NaturalChoice.MinOp.html#6749" class="Bound">v</a>
<a id="6775" class="Symbol">...</a> <a id="6779" class="Symbol">|</a> <a id="6781" href="Data.Sum.Base.html#793" class="InductiveConstructor">inj₁</a> <a id="6786" href="Algebra.Construct.NaturalChoice.MinOp.html#6786" class="Bound">y⊓v≈y</a> <a id="6792" class="Symbol">=</a> <a id="6794" href="Algebra.Construct.NaturalChoice.MinOp.html#836" class="Function">≤-respʳ-≈</a> <a id="6804" class="Symbol">(</a><a id="6805" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="6812" href="Algebra.Construct.NaturalChoice.MinOp.html#6786" class="Bound">y⊓v≈y</a><a id="6817" class="Symbol">)</a> <a id="6819" class="Symbol">(</a><a id="6820" href="Relation.Binary.Structures.html#2370" class="Function">trans</a> <a id="6826" class="Symbol">(</a><a id="6827" href="Algebra.Construct.NaturalChoice.MinOp.html#1125" class="Function">x⊓y≤x</a> <a id="6833" class="Bound">x</a> <a id="6835" class="Bound">u</a><a id="6836" class="Symbol">)</a> <a id="6838" class="Bound">x≤y</a><a id="6841" class="Symbol">)</a>
<a id="6843" class="Symbol">...</a> <a id="6847" class="Symbol">|</a> <a id="6849" href="Data.Sum.Base.html#818" class="InductiveConstructor">inj₂</a> <a id="6854" href="Algebra.Construct.NaturalChoice.MinOp.html#6854" class="Bound">y⊓v≈v</a> <a id="6860" class="Symbol">=</a> <a id="6862" href="Algebra.Construct.NaturalChoice.MinOp.html#836" class="Function">≤-respʳ-≈</a> <a id="6872" class="Symbol">(</a><a id="6873" href="Relation.Binary.Structures.html#1603" class="Function">Eq.sym</a> <a id="6880" href="Algebra.Construct.NaturalChoice.MinOp.html#6854" class="Bound">y⊓v≈v</a><a id="6885" class="Symbol">)</a> <a id="6887" class="Symbol">(</a><a id="6888" href="Relation.Binary.Structures.html#2370" class="Function">trans</a> <a id="6894" class="Symbol">(</a><a id="6895" href="Algebra.Construct.NaturalChoice.MinOp.html#1290" class="Function">x⊓y≤y</a> <a id="6901" class="Bound">x</a> <a id="6903" class="Bound">u</a><a id="6904" class="Symbol">)</a> <a id="6906" class="Bound">u≤v</a><a id="6909" class="Symbol">)</a>
<a id="⊓-monoˡ-≤"></a><a id="6912" href="Algebra.Construct.NaturalChoice.MinOp.html#6912" class="Function">⊓-monoˡ-≤</a> <a id="6922" class="Symbol">:</a> <a id="6924" class="Symbol"></a> <a id="6926" href="Algebra.Construct.NaturalChoice.MinOp.html#6926" class="Bound">x</a> <a id="6928" class="Symbol"></a> <a id="6930" class="Symbol">(</a><a id="6931" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">_⊓</a> <a id="6934" href="Algebra.Construct.NaturalChoice.MinOp.html#6926" class="Bound">x</a><a id="6935" class="Symbol">)</a> <a id="6937" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="6947" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="6951" href="Relation.Binary.Core.html#1572" class="Function Operator"></a> <a id="6953" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a>
<a id="6957" href="Algebra.Construct.NaturalChoice.MinOp.html#6912" class="Function">⊓-monoˡ-≤</a> <a id="6967" href="Algebra.Construct.NaturalChoice.MinOp.html#6967" class="Bound">x</a> <a id="6969" href="Algebra.Construct.NaturalChoice.MinOp.html#6969" class="Bound">y≤z</a> <a id="6973" class="Symbol">=</a> <a id="6975" href="Algebra.Construct.NaturalChoice.MinOp.html#6685" class="Function">⊓-mono-≤</a> <a id="6984" href="Algebra.Construct.NaturalChoice.MinOp.html#6969" class="Bound">y≤z</a> <a id="6988" class="Symbol">(</a><a id="6989" href="Relation.Binary.Structures.html#2447" class="Function">refl</a> <a id="6994" class="Symbol">{</a><a id="6995" href="Algebra.Construct.NaturalChoice.MinOp.html#6967" class="Bound">x</a><a id="6996" class="Symbol">})</a>
<a id="⊓-monoʳ-≤"></a><a id="7000" href="Algebra.Construct.NaturalChoice.MinOp.html#7000" class="Function">⊓-monoʳ-≤</a> <a id="7010" class="Symbol">:</a> <a id="7012" class="Symbol"></a> <a id="7014" href="Algebra.Construct.NaturalChoice.MinOp.html#7014" class="Bound">x</a> <a id="7016" class="Symbol"></a> <a id="7018" class="Symbol">(</a><a id="7019" href="Algebra.Construct.NaturalChoice.MinOp.html#7014" class="Bound">x</a> <a id="7021" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator">⊓_</a><a id="7023" class="Symbol">)</a> <a id="7025" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="7035" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a> <a id="7039" href="Relation.Binary.Core.html#1572" class="Function Operator"></a> <a id="7041" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator">_≤_</a>
<a id="7045" href="Algebra.Construct.NaturalChoice.MinOp.html#7000" class="Function">⊓-monoʳ-≤</a> <a id="7055" href="Algebra.Construct.NaturalChoice.MinOp.html#7055" class="Bound">x</a> <a id="7057" href="Algebra.Construct.NaturalChoice.MinOp.html#7057" class="Bound">y≤z</a> <a id="7061" class="Symbol">=</a> <a id="7063" href="Algebra.Construct.NaturalChoice.MinOp.html#6685" class="Function">⊓-mono-≤</a> <a id="7072" class="Symbol">(</a><a id="7073" href="Relation.Binary.Structures.html#2447" class="Function">refl</a> <a id="7078" class="Symbol">{</a><a id="7079" href="Algebra.Construct.NaturalChoice.MinOp.html#7055" class="Bound">x</a><a id="7080" class="Symbol">})</a> <a id="7083" href="Algebra.Construct.NaturalChoice.MinOp.html#7057" class="Bound">y≤z</a>
<a id="⊓-glb"></a><a id="7088" href="Algebra.Construct.NaturalChoice.MinOp.html#7088" class="Function">⊓-glb</a> <a id="7094" class="Symbol">:</a> <a id="7096" class="Symbol"></a> <a id="7098" class="Symbol">{</a><a id="7099" href="Algebra.Construct.NaturalChoice.MinOp.html#7099" class="Bound">x</a> <a id="7101" href="Algebra.Construct.NaturalChoice.MinOp.html#7101" class="Bound">y</a> <a id="7103" href="Algebra.Construct.NaturalChoice.MinOp.html#7103" class="Bound">z</a><a id="7104" class="Symbol">}</a> <a id="7106" class="Symbol"></a> <a id="7108" href="Algebra.Construct.NaturalChoice.MinOp.html#7099" class="Bound">x</a> <a id="7110" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="7112" href="Algebra.Construct.NaturalChoice.MinOp.html#7101" class="Bound">y</a> <a id="7114" class="Symbol"></a> <a id="7116" href="Algebra.Construct.NaturalChoice.MinOp.html#7099" class="Bound">x</a> <a id="7118" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="7120" href="Algebra.Construct.NaturalChoice.MinOp.html#7103" class="Bound">z</a> <a id="7122" class="Symbol"></a> <a id="7124" href="Algebra.Construct.NaturalChoice.MinOp.html#7099" class="Bound">x</a> <a id="7126" href="Algebra.Construct.NaturalChoice.MinOp.html#789" class="Function Operator"></a> <a id="7128" href="Algebra.Construct.NaturalChoice.MinOp.html#7101" class="Bound">y</a> <a id="7130" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7132" href="Algebra.Construct.NaturalChoice.MinOp.html#7103" class="Bound">z</a>
<a id="7134" href="Algebra.Construct.NaturalChoice.MinOp.html#7088" class="Function">⊓-glb</a> <a id="7140" class="Symbol">{</a><a id="7141" href="Algebra.Construct.NaturalChoice.MinOp.html#7141" class="Bound">x</a><a id="7142" class="Symbol">}</a> <a id="7144" href="Algebra.Construct.NaturalChoice.MinOp.html#7144" class="Bound">x≤y</a> <a id="7148" href="Algebra.Construct.NaturalChoice.MinOp.html#7148" class="Bound">x≤z</a> <a id="7152" class="Symbol">=</a> <a id="7154" href="Algebra.Construct.NaturalChoice.MinOp.html#863" class="Function">≤-respˡ-≈</a> <a id="7164" class="Symbol">(</a><a id="7165" href="Algebra.Construct.NaturalChoice.MinOp.html#2994" class="Function">⊓-idem</a> <a id="7172" href="Algebra.Construct.NaturalChoice.MinOp.html#7141" class="Bound">x</a><a id="7173" class="Symbol">)</a> <a id="7175" class="Symbol">(</a><a id="7176" href="Algebra.Construct.NaturalChoice.MinOp.html#6685" class="Function">⊓-mono-≤</a> <a id="7185" href="Algebra.Construct.NaturalChoice.MinOp.html#7144" class="Bound">x≤y</a> <a id="7189" href="Algebra.Construct.NaturalChoice.MinOp.html#7148" class="Bound">x≤z</a><a id="7192" class="Symbol">)</a>
<a id="⊓-triangulate"></a><a id="7195" href="Algebra.Construct.NaturalChoice.MinOp.html#7195" class="Function">⊓-triangulate</a> <a id="7209" class="Symbol">:</a> <a id="7211" class="Symbol"></a> <a id="7213" href="Algebra.Construct.NaturalChoice.MinOp.html#7213" class="Bound">x</a> <a id="7215" href="Algebra.Construct.NaturalChoice.MinOp.html#7215" class="Bound">y</a> <a id="7217" href="Algebra.Construct.NaturalChoice.MinOp.html#7217" class="Bound">z</a> <a id="7219" class="Symbol"></a> <a id="7221" href="Algebra.Construct.NaturalChoice.MinOp.html#7213" class="Bound">x</a> <a id="7223" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7225" href="Algebra.Construct.NaturalChoice.MinOp.html#7215" class="Bound">y</a> <a id="7227" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7229" href="Algebra.Construct.NaturalChoice.MinOp.html#7217" class="Bound">z</a> <a id="7231" href="Relation.Binary.Bundles.html#2496" class="Function Operator"></a> <a id="7233" class="Symbol">(</a><a id="7234" href="Algebra.Construct.NaturalChoice.MinOp.html#7213" class="Bound">x</a> <a id="7236" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7238" href="Algebra.Construct.NaturalChoice.MinOp.html#7215" class="Bound">y</a><a id="7239" class="Symbol">)</a> <a id="7241" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7243" class="Symbol">(</a><a id="7244" href="Algebra.Construct.NaturalChoice.MinOp.html#7215" class="Bound">y</a> <a id="7246" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7248" href="Algebra.Construct.NaturalChoice.MinOp.html#7217" class="Bound">z</a><a id="7249" class="Symbol">)</a>
<a id="7251" href="Algebra.Construct.NaturalChoice.MinOp.html#7195" class="Function">⊓-triangulate</a> <a id="7265" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7267" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7269" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a> <a id="7271" class="Symbol">=</a> <a id="7273" href="Relation.Binary.Reasoning.Base.Double.html#2336" class="Function Operator">begin-equality</a>
<a id="7290" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7292" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7294" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7296" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7298" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a> <a id="7310" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="7314" href="Algebra.Construct.NaturalChoice.MinOp.html#2064" class="Function">⊓-congʳ</a> <a id="7322" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a> <a id="7324" class="Symbol">(</a><a id="7325" href="Algebra.Construct.NaturalChoice.MinOp.html#1739" class="Function">⊓-congˡ</a> <a id="7333" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7335" class="Symbol">(</a><a id="7336" href="Algebra.Construct.NaturalChoice.MinOp.html#2994" class="Function">⊓-idem</a> <a id="7343" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a><a id="7344" class="Symbol">))</a> <a id="7347" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="7351" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7353" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7355" class="Symbol">(</a><a id="7356" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7358" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7360" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a><a id="7361" class="Symbol">)</a> <a id="7363" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7365" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a> <a id="7371" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="7375" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a> <a id="7383" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7385" class="Symbol">_</a> <a id="7387" class="Symbol">_</a> <a id="7389" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="7393" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7395" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7397" class="Symbol">((</a><a id="7399" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7401" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7403" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a><a id="7404" class="Symbol">)</a> <a id="7406" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7408" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a><a id="7409" class="Symbol">)</a> <a id="7413" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function">≈⟨</a> <a id="7417" href="Algebra.Construct.NaturalChoice.MinOp.html#1739" class="Function">⊓-congˡ</a> <a id="7425" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7427" class="Symbol">(</a><a id="7428" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a> <a id="7436" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7438" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7440" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a><a id="7441" class="Symbol">)</a> <a id="7443" href="Relation.Binary.Reasoning.Base.Double.html#2730" class="Function"></a>
<a id="7447" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7449" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7451" class="Symbol">(</a><a id="7452" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7454" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7456" class="Symbol">(</a><a id="7457" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7459" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7461" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a><a id="7462" class="Symbol">))</a> <a id="7467" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function">≈˘⟨</a> <a id="7471" href="Algebra.Construct.NaturalChoice.MinOp.html#2355" class="Function">⊓-assoc</a> <a id="7479" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7481" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7483" class="Symbol">(</a><a id="7484" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7486" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7488" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a><a id="7489" class="Symbol">)</a> <a id="7491" href="Relation.Binary.Reasoning.Base.Double.html#2972" class="Function"></a>
<a id="7495" class="Symbol">(</a><a id="7496" href="Algebra.Construct.NaturalChoice.MinOp.html#7265" class="Bound">x</a> <a id="7498" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7500" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a><a id="7501" class="Symbol">)</a> <a id="7503" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7505" class="Symbol">(</a><a id="7506" href="Algebra.Construct.NaturalChoice.MinOp.html#7267" class="Bound">y</a> <a id="7508" href="Algebra.Construct.NaturalChoice.Base.html#1030" class="Field Operator"></a> <a id="7510" href="Algebra.Construct.NaturalChoice.MinOp.html#7269" class="Bound">z</a><a id="7511" class="Symbol">)</a> <a id="7515" href="Relation.Binary.Reasoning.Base.Double.html#3656" class="Function Operator"></a>
</pre></body></html>