mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
259 lines
108 KiB
HTML
259 lines
108 KiB
HTML
|
<!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</a>
|
|||
|
<a id="171" class="Comment">-- preorder.</a>
|
|||
|
<a id="184" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="258" class="Symbol">{-#</a> <a id="262" class="Keyword">OPTIONS</a> <a id="270" class="Pragma">--cubical-compatible</a> <a id="291" class="Pragma">--safe</a> <a id="298" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="303" class="Keyword">open</a> <a id="308" class="Keyword">import</a> <a id="315" href="Algebra.Core.html" class="Module">Algebra.Core</a>
|
|||
|
<a id="328" class="Keyword">open</a> <a id="333" class="Keyword">import</a> <a id="340" href="Algebra.Bundles.html" class="Module">Algebra.Bundles</a>
|
|||
|
<a id="356" class="Keyword">open</a> <a id="361" class="Keyword">import</a> <a id="368" href="Algebra.Construct.NaturalChoice.Base.html" class="Module">Algebra.Construct.NaturalChoice.Base</a>
|
|||
|
<a id="405" class="Keyword">open</a> <a id="410" class="Keyword">import</a> <a id="417" href="Data.Sum.Base.html" class="Module">Data.Sum.Base</a> <a id="431" class="Symbol">as</a> <a id="434" class="Module">Sum</a> <a id="438" class="Keyword">using</a> <a id="444" class="Symbol">(</a><a id="445" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a><a id="449" class="Symbol">;</a> <a id="451" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a><a id="455" class="Symbol">;</a> <a id="457" href="Data.Sum.Base.html#811" class="Function Operator">[_,_]</a><a id="462" class="Symbol">)</a>
|
|||
|
<a id="464" class="Keyword">open</a> <a id="469" class="Keyword">import</a> <a id="476" href="Data.Product.Base.html" class="Module">Data.Product.Base</a> <a id="494" class="Keyword">using</a> <a id="500" class="Symbol">(</a><a id="501" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="504" class="Symbol">)</a>
|
|||
|
<a id="506" class="Keyword">open</a> <a id="511" class="Keyword">import</a> <a id="518" href="Function.Base.html" class="Module">Function.Base</a> <a id="532" class="Keyword">using</a> <a id="538" class="Symbol">(</a><a id="539" href="Function.Base.html#704" class="Function">id</a><a id="541" class="Symbol">;</a> <a id="543" href="Function.Base.html#1115" class="Function Operator">_∘_</a><a id="546" class="Symbol">)</a>
|
|||
|
<a id="548" class="Keyword">open</a> <a id="553" class="Keyword">import</a> <a id="560" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="581" class="Keyword">using</a> <a id="587" class="Symbol">(</a><a id="588" href="Relation.Binary.Core.html#1577" class="Function Operator">_Preserves_⟶_</a><a id="601" class="Symbol">;</a> <a id="603" href="Relation.Binary.Core.html#1703" class="Function Operator">_Preserves₂_⟶_⟶_</a><a id="619" class="Symbol">)</a>
|
|||
|
<a id="621" class="Keyword">open</a> <a id="626" class="Keyword">import</a> <a id="633" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="657" class="Keyword">using</a> <a id="663" class="Symbol">(</a><a id="664" href="Relation.Binary.Bundles.html#2842" class="Record">TotalPreorder</a><a id="677" class="Symbol">)</a>
|
|||
|
<a id="679" class="Keyword">open</a> <a id="684" class="Keyword">import</a> <a id="691" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a> <a id="719" class="Keyword">using</a> <a id="725" class="Symbol">(</a><a id="726" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a><a id="733" class="Symbol">;</a> <a id="735" href="Relation.Binary.Definitions.html#3663" class="Function">Minimum</a><a id="742" class="Symbol">)</a>
|
|||
|
<a id="744" class="Keyword">open</a> <a id="749" class="Keyword">import</a> <a id="756" href="Relation.Binary.Consequences.html" class="Module">Relation.Binary.Consequences</a>
|
|||
|
|
|||
|
<a id="786" class="Keyword">module</a> <a id="793" href="Algebra.Construct.NaturalChoice.MinOp.html" class="Module">Algebra.Construct.NaturalChoice.MinOp</a>
|
|||
|
<a id="833" class="Symbol">{</a><a id="834" href="Algebra.Construct.NaturalChoice.MinOp.html#834" class="Bound">a</a> <a id="836" href="Algebra.Construct.NaturalChoice.MinOp.html#836" class="Bound">ℓ₁</a> <a id="839" href="Algebra.Construct.NaturalChoice.MinOp.html#839" class="Bound">ℓ₂</a><a id="841" class="Symbol">}</a> <a id="843" class="Symbol">{</a><a id="844" href="Algebra.Construct.NaturalChoice.MinOp.html#844" class="Bound">O</a> <a id="846" class="Symbol">:</a> <a id="848" href="Relation.Binary.Bundles.html#2842" class="Record">TotalPreorder</a> <a id="862" href="Algebra.Construct.NaturalChoice.MinOp.html#834" class="Bound">a</a> <a id="864" href="Algebra.Construct.NaturalChoice.MinOp.html#836" class="Bound">ℓ₁</a> <a id="867" href="Algebra.Construct.NaturalChoice.MinOp.html#839" class="Bound">ℓ₂</a><a id="869" class="Symbol">}</a> <a id="871" class="Symbol">(</a><a id="872" href="Algebra.Construct.NaturalChoice.MinOp.html#872" class="Bound">minOp</a> <a id="878" class="Symbol">:</a> <a id="880" href="Algebra.Construct.NaturalChoice.Base.html#990" class="Record">MinOperator</a> <a id="892" href="Algebra.Construct.NaturalChoice.MinOp.html#844" class="Bound">O</a><a id="893" class="Symbol">)</a> <a id="895" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="902" class="Keyword">open</a> <a id="907" href="Relation.Binary.Bundles.html#2842" class="Module">TotalPreorder</a> <a id="921" href="Algebra.Construct.NaturalChoice.MinOp.html#844" class="Bound">O</a> <a id="923" class="Keyword">renaming</a>
|
|||
|
<a id="934" class="Symbol">(</a> <a id="936" href="Relation.Binary.Bundles.html#2926" class="Field">Carrier</a> <a id="946" class="Symbol">to</a> <a id="949" class="Field">A</a>
|
|||
|
<a id="953" class="Symbol">;</a> <a id="955" href="Relation.Binary.Bundles.html#3020" class="Field Operator">_≲_</a> <a id="965" class="Symbol">to</a> <a id="968" class="Field Operator">_≤_</a>
|
|||
|
<a id="974" class="Symbol">;</a> <a id="976" href="Relation.Binary.Structures.html#2688" class="Function">≲-resp-≈</a> <a id="986" class="Symbol">to</a> <a id="989" class="Function">≤-resp-≈</a>
|
|||
|
<a id="1000" class="Symbol">;</a> <a id="1002" href="Relation.Binary.Structures.html#2607" class="Function">≲-respʳ-≈</a> <a id="1012" class="Symbol">to</a> <a id="1015" class="Function">≤-respʳ-≈</a>
|
|||
|
<a id="1027" class="Symbol">;</a> <a id="1029" href="Relation.Binary.Structures.html#2517" class="Function">≲-respˡ-≈</a> <a id="1039" class="Symbol">to</a> <a id="1042" class="Function">≤-respˡ-≈</a>
|
|||
|
<a id="1054" class="Symbol">)</a>
|
|||
|
<a id="1056" class="Keyword">open</a> <a id="1061" href="Algebra.Construct.NaturalChoice.Base.html#990" class="Module">MinOperator</a> <a id="1073" href="Algebra.Construct.NaturalChoice.MinOp.html#872" class="Bound">minOp</a>
|
|||
|
|
|||
|
<a id="1080" class="Keyword">open</a> <a id="1085" class="Keyword">import</a> <a id="1092" href="Algebra.Definitions.html" class="Module">Algebra.Definitions</a> <a id="1112" href="Relation.Binary.Bundles.html#2954" class="Function Operator">_≈_</a>
|
|||
|
<a id="1116" class="Keyword">open</a> <a id="1121" class="Keyword">import</a> <a id="1128" href="Algebra.Structures.html" class="Module">Algebra.Structures</a> <a id="1147" href="Relation.Binary.Bundles.html#2954" class="Function Operator">_≈_</a>
|
|||
|
<a id="1151" class="Keyword">open</a> <a id="1156" class="Keyword">import</a> <a id="1163" href="Relation.Binary.Reasoning.Preorder.html" class="Module">Relation.Binary.Reasoning.Preorder</a> <a id="1198" href="Relation.Binary.Bundles.html#3197" class="Function">preorder</a>
|
|||
|
|
|||
|
<a id="1208" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1281" class="Comment">-- Helpful properties</a>
|
|||
|
|
|||
|
<a id="x⊓y≤x"></a><a id="1304" href="Algebra.Construct.NaturalChoice.MinOp.html#1304" class="Function">x⊓y≤x</a> <a id="1310" class="Symbol">:</a> <a id="1312" class="Symbol">∀</a> <a id="1314" href="Algebra.Construct.NaturalChoice.MinOp.html#1314" class="Bound">x</a> <a id="1316" href="Algebra.Construct.NaturalChoice.MinOp.html#1316" class="Bound">y</a> <a id="1318" class="Symbol">→</a> <a id="1320" href="Algebra.Construct.NaturalChoice.MinOp.html#1314" class="Bound">x</a> <a id="1322" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="1324" href="Algebra.Construct.NaturalChoice.MinOp.html#1316" class="Bound">y</a> <a id="1326" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="1328" href="Algebra.Construct.NaturalChoice.MinOp.html#1314" class="Bound">x</a>
|
|||
|
<a id="1330" href="Algebra.Construct.NaturalChoice.MinOp.html#1304" class="Function">x⊓y≤x</a> <a id="1336" href="Algebra.Construct.NaturalChoice.MinOp.html#1336" class="Bound">x</a> <a id="1338" href="Algebra.Construct.NaturalChoice.MinOp.html#1338" class="Bound">y</a> <a id="1340" class="Keyword">with</a> <a id="1345" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="1351" href="Algebra.Construct.NaturalChoice.MinOp.html#1336" class="Bound">x</a> <a id="1353" href="Algebra.Construct.NaturalChoice.MinOp.html#1338" class="Bound">y</a>
|
|||
|
<a id="1355" class="Symbol">...</a> <a id="1359" class="Symbol">|</a> <a id="1361" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="1366" href="Algebra.Construct.NaturalChoice.MinOp.html#1366" class="Bound">x≤y</a> <a id="1370" class="Symbol">=</a> <a id="1372" href="Algebra.Construct.NaturalChoice.MinOp.html#1042" class="Function">≤-respˡ-≈</a> <a id="1382" class="Symbol">(</a><a id="1383" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="1390" class="Symbol">(</a><a id="1391" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="1401" href="Algebra.Construct.NaturalChoice.MinOp.html#1366" class="Bound">x≤y</a><a id="1404" class="Symbol">))</a> <a id="1407" href="Relation.Binary.Structures.html#2466" class="Function">refl</a>
|
|||
|
<a id="1412" class="Symbol">...</a> <a id="1416" class="Symbol">|</a> <a id="1418" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="1423" href="Algebra.Construct.NaturalChoice.MinOp.html#1423" class="Bound">y≤x</a> <a id="1427" class="Symbol">=</a> <a id="1429" href="Algebra.Construct.NaturalChoice.MinOp.html#1042" class="Function">≤-respˡ-≈</a> <a id="1439" class="Symbol">(</a><a id="1440" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="1447" class="Symbol">(</a><a id="1448" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="1458" href="Algebra.Construct.NaturalChoice.MinOp.html#1423" class="Bound">y≤x</a><a id="1461" class="Symbol">))</a> <a id="1464" href="Algebra.Construct.NaturalChoice.MinOp.html#1423" class="Bound">y≤x</a>
|
|||
|
|
|||
|
<a id="x⊓y≤y"></a><a id="1469" href="Algebra.Construct.NaturalChoice.MinOp.html#1469" class="Function">x⊓y≤y</a> <a id="1475" class="Symbol">:</a> <a id="1477" class="Symbol">∀</a> <a id="1479" href="Algebra.Construct.NaturalChoice.MinOp.html#1479" class="Bound">x</a> <a id="1481" href="Algebra.Construct.NaturalChoice.MinOp.html#1481" class="Bound">y</a> <a id="1483" class="Symbol">→</a> <a id="1485" href="Algebra.Construct.NaturalChoice.MinOp.html#1479" class="Bound">x</a> <a id="1487" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="1489" href="Algebra.Construct.NaturalChoice.MinOp.html#1481" class="Bound">y</a> <a id="1491" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="1493" href="Algebra.Construct.NaturalChoice.MinOp.html#1481" class="Bound">y</a>
|
|||
|
<a id="1495" href="Algebra.Construct.NaturalChoice.MinOp.html#1469" class="Function">x⊓y≤y</a> <a id="1501" href="Algebra.Construct.NaturalChoice.MinOp.html#1501" class="Bound">x</a> <a id="1503" href="Algebra.Construct.NaturalChoice.MinOp.html#1503" class="Bound">y</a> <a id="1505" class="Keyword">with</a> <a id="1510" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="1516" href="Algebra.Construct.NaturalChoice.MinOp.html#1501" class="Bound">x</a> <a id="1518" href="Algebra.Construct.NaturalChoice.MinOp.html#1503" class="Bound">y</a>
|
|||
|
<a id="1520" class="Symbol">...</a> <a id="1524" class="Symbol">|</a> <a id="1526" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="1531" href="Algebra.Construct.NaturalChoice.MinOp.html#1531" class="Bound">x≤y</a> <a id="1535" class="Symbol">=</a> <a id="1537" href="Algebra.Construct.NaturalChoice.MinOp.html#1042" class="Function">≤-respˡ-≈</a> <a id="1547" class="Symbol">(</a><a id="1548" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="1555" class="Symbol">(</a><a id="1556" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="1566" href="Algebra.Construct.NaturalChoice.MinOp.html#1531" class="Bound">x≤y</a><a id="1569" class="Symbol">))</a> <a id="1572" href="Algebra.Construct.NaturalChoice.MinOp.html#1531" class="Bound">x≤y</a>
|
|||
|
<a id="1576" class="Symbol">...</a> <a id="1580" class="Symbol">|</a> <a id="1582" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="1587" href="Algebra.Construct.NaturalChoice.MinOp.html#1587" class="Bound">y≤x</a> <a id="1591" class="Symbol">=</a> <a id="1593" href="Algebra.Construct.NaturalChoice.MinOp.html#1042" class="Function">≤-respˡ-≈</a> <a id="1603" class="Symbol">(</a><a id="1604" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="1611" class="Symbol">(</a><a id="1612" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="1622" href="Algebra.Construct.NaturalChoice.MinOp.html#1587" class="Bound">y≤x</a><a id="1625" class="Symbol">))</a> <a id="1628" href="Relation.Binary.Structures.html#2466" class="Function">refl</a>
|
|||
|
|
|||
|
<a id="1634" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1707" class="Comment">-- Algebraic properties</a>
|
|||
|
|
|||
|
<a id="⊓-comm"></a><a id="1732" href="Algebra.Construct.NaturalChoice.MinOp.html#1732" class="Function">⊓-comm</a> <a id="1739" class="Symbol">:</a> <a id="1741" href="Algebra.Definitions.html#1635" class="Function">Commutative</a> <a id="1753" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="1757" href="Algebra.Construct.NaturalChoice.MinOp.html#1732" class="Function">⊓-comm</a> <a id="1764" href="Algebra.Construct.NaturalChoice.MinOp.html#1764" class="Bound">x</a> <a id="1766" href="Algebra.Construct.NaturalChoice.MinOp.html#1766" class="Bound">y</a> <a id="1768" class="Keyword">with</a> <a id="1773" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="1779" href="Algebra.Construct.NaturalChoice.MinOp.html#1764" class="Bound">x</a> <a id="1781" href="Algebra.Construct.NaturalChoice.MinOp.html#1766" class="Bound">y</a>
|
|||
|
<a id="1783" class="Symbol">...</a> <a id="1787" class="Symbol">|</a> <a id="1789" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="1794" href="Algebra.Construct.NaturalChoice.MinOp.html#1794" class="Bound">x≤y</a> <a id="1798" class="Symbol">=</a> <a id="1800" href="Relation.Binary.Structures.html#1226" class="Function">Eq.trans</a> <a id="1809" class="Symbol">(</a><a id="1810" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="1820" href="Algebra.Construct.NaturalChoice.MinOp.html#1794" class="Bound">x≤y</a><a id="1823" class="Symbol">)</a> <a id="1825" class="Symbol">(</a><a id="1826" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="1833" class="Symbol">(</a><a id="1834" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="1844" href="Algebra.Construct.NaturalChoice.MinOp.html#1794" class="Bound">x≤y</a><a id="1847" class="Symbol">))</a>
|
|||
|
<a id="1850" class="Symbol">...</a> <a id="1854" class="Symbol">|</a> <a id="1856" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="1861" href="Algebra.Construct.NaturalChoice.MinOp.html#1861" class="Bound">y≤x</a> <a id="1865" class="Symbol">=</a> <a id="1867" href="Relation.Binary.Structures.html#1226" class="Function">Eq.trans</a> <a id="1876" class="Symbol">(</a><a id="1877" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="1887" href="Algebra.Construct.NaturalChoice.MinOp.html#1861" class="Bound">y≤x</a><a id="1890" class="Symbol">)</a> <a id="1892" class="Symbol">(</a><a id="1893" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="1900" class="Symbol">(</a><a id="1901" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="1911" href="Algebra.Construct.NaturalChoice.MinOp.html#1861" class="Bound">y≤x</a><a id="1914" class="Symbol">))</a>
|
|||
|
|
|||
|
<a id="⊓-congˡ"></a><a id="1918" href="Algebra.Construct.NaturalChoice.MinOp.html#1918" class="Function">⊓-congˡ</a> <a id="1926" class="Symbol">:</a> <a id="1928" class="Symbol">∀</a> <a id="1930" href="Algebra.Construct.NaturalChoice.MinOp.html#1930" class="Bound">x</a> <a id="1932" class="Symbol">→</a> <a id="1934" href="Algebra.Definitions.html#1237" class="Function">Congruent₁</a> <a id="1945" class="Symbol">(</a><a id="1946" href="Algebra.Construct.NaturalChoice.MinOp.html#1930" class="Bound">x</a> <a id="1948" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓_</a><a id="1950" class="Symbol">)</a>
|
|||
|
<a id="1952" href="Algebra.Construct.NaturalChoice.MinOp.html#1918" class="Function">⊓-congˡ</a> <a id="1960" href="Algebra.Construct.NaturalChoice.MinOp.html#1960" class="Bound">x</a> <a id="1962" class="Symbol">{</a><a id="1963" href="Algebra.Construct.NaturalChoice.MinOp.html#1963" class="Bound">y</a><a id="1964" class="Symbol">}</a> <a id="1966" class="Symbol">{</a><a id="1967" href="Algebra.Construct.NaturalChoice.MinOp.html#1967" class="Bound">r</a><a id="1968" class="Symbol">}</a> <a id="1970" href="Algebra.Construct.NaturalChoice.MinOp.html#1970" class="Bound">y≈r</a> <a id="1974" class="Keyword">with</a> <a id="1979" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="1985" href="Algebra.Construct.NaturalChoice.MinOp.html#1960" class="Bound">x</a> <a id="1987" href="Algebra.Construct.NaturalChoice.MinOp.html#1963" class="Bound">y</a>
|
|||
|
<a id="1989" class="Symbol">...</a> <a id="1993" class="Symbol">|</a> <a id="1995" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2000" href="Algebra.Construct.NaturalChoice.MinOp.html#2000" class="Bound">x≤y</a> <a id="2004" class="Symbol">=</a> <a id="2006" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="2023" class="Bound">x</a> <a id="2025" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2027" class="Bound">y</a> <a id="2030" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2034" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="2044" href="Algebra.Construct.NaturalChoice.MinOp.html#2000" class="Bound">x≤y</a> <a id="2048" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2052" class="Bound">x</a> <a id="2059" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="2062" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="2072" class="Symbol">(</a><a id="2073" href="Algebra.Construct.NaturalChoice.MinOp.html#1015" class="Function">≤-respʳ-≈</a> <a id="2083" class="Bound">y≈r</a> <a id="2087" href="Algebra.Construct.NaturalChoice.MinOp.html#2000" class="Bound">x≤y</a><a id="2090" class="Symbol">)</a> <a id="2092" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="2096" class="Bound">x</a> <a id="2098" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2100" class="Bound">r</a> <a id="2103" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="2105" class="Symbol">...</a> <a id="2109" class="Symbol">|</a> <a id="2111" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="2116" href="Algebra.Construct.NaturalChoice.MinOp.html#2116" class="Bound">y≤x</a> <a id="2120" class="Symbol">=</a> <a id="2122" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="2139" class="Bound">x</a> <a id="2141" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2143" class="Bound">y</a> <a id="2146" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2150" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="2160" href="Algebra.Construct.NaturalChoice.MinOp.html#2116" class="Bound">y≤x</a> <a id="2164" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2168" class="Bound">y</a> <a id="2175" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2179" class="Bound">y≈r</a> <a id="2183" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2187" class="Bound">r</a> <a id="2194" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="2197" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="2207" class="Symbol">(</a><a id="2208" href="Algebra.Construct.NaturalChoice.MinOp.html#1042" class="Function">≤-respˡ-≈</a> <a id="2218" class="Bound">y≈r</a> <a id="2222" href="Algebra.Construct.NaturalChoice.MinOp.html#2116" class="Bound">y≤x</a><a id="2225" class="Symbol">)</a> <a id="2227" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="2231" class="Bound">x</a> <a id="2233" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2235" class="Bound">r</a> <a id="2238" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="⊓-congʳ"></a><a id="2241" href="Algebra.Construct.NaturalChoice.MinOp.html#2241" class="Function">⊓-congʳ</a> <a id="2249" class="Symbol">:</a> <a id="2251" class="Symbol">∀</a> <a id="2253" href="Algebra.Construct.NaturalChoice.MinOp.html#2253" class="Bound">x</a> <a id="2255" class="Symbol">→</a> <a id="2257" href="Algebra.Definitions.html#1237" class="Function">Congruent₁</a> <a id="2268" class="Symbol">(</a><a id="2269" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓</a> <a id="2272" href="Algebra.Construct.NaturalChoice.MinOp.html#2253" class="Bound">x</a><a id="2273" class="Symbol">)</a>
|
|||
|
<a id="2275" href="Algebra.Construct.NaturalChoice.MinOp.html#2241" class="Function">⊓-congʳ</a> <a id="2283" href="Algebra.Construct.NaturalChoice.MinOp.html#2283" class="Bound">x</a> <a id="2285" class="Symbol">{</a><a id="2286" href="Algebra.Construct.NaturalChoice.MinOp.html#2286" class="Bound">y₁</a><a id="2288" class="Symbol">}</a> <a id="2290" class="Symbol">{</a><a id="2291" href="Algebra.Construct.NaturalChoice.MinOp.html#2291" class="Bound">y₂</a><a id="2293" class="Symbol">}</a> <a id="2295" href="Algebra.Construct.NaturalChoice.MinOp.html#2295" class="Bound">y₁≈y₂</a> <a id="2301" class="Symbol">=</a> <a id="2303" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="2320" href="Algebra.Construct.NaturalChoice.MinOp.html#2286" class="Bound">y₁</a> <a id="2323" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2325" href="Algebra.Construct.NaturalChoice.MinOp.html#2283" class="Bound">x</a> <a id="2328" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="2331" href="Algebra.Construct.NaturalChoice.MinOp.html#1732" class="Function">⊓-comm</a> <a id="2338" href="Algebra.Construct.NaturalChoice.MinOp.html#2283" class="Bound">x</a> <a id="2340" href="Algebra.Construct.NaturalChoice.MinOp.html#2286" class="Bound">y₁</a> <a id="2343" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="2347" href="Algebra.Construct.NaturalChoice.MinOp.html#2283" class="Bound">x</a> <a id="2350" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2352" href="Algebra.Construct.NaturalChoice.MinOp.html#2286" class="Bound">y₁</a> <a id="2355" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2359" href="Algebra.Construct.NaturalChoice.MinOp.html#1918" class="Function">⊓-congˡ</a> <a id="2367" href="Algebra.Construct.NaturalChoice.MinOp.html#2283" class="Bound">x</a> <a id="2369" href="Algebra.Construct.NaturalChoice.MinOp.html#2295" class="Bound">y₁≈y₂</a> <a id="2375" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2379" href="Algebra.Construct.NaturalChoice.MinOp.html#2283" class="Bound">x</a> <a id="2382" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2384" href="Algebra.Construct.NaturalChoice.MinOp.html#2291" class="Bound">y₂</a> <a id="2387" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2391" href="Algebra.Construct.NaturalChoice.MinOp.html#1732" class="Function">⊓-comm</a> <a id="2398" href="Algebra.Construct.NaturalChoice.MinOp.html#2283" class="Bound">x</a> <a id="2400" href="Algebra.Construct.NaturalChoice.MinOp.html#2291" class="Bound">y₂</a> <a id="2403" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2407" href="Algebra.Construct.NaturalChoice.MinOp.html#2291" class="Bound">y₂</a> <a id="2410" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2412" href="Algebra.Construct.NaturalChoice.MinOp.html#2283" class="Bound">x</a> <a id="2415" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="⊓-cong"></a><a id="2418" href="Algebra.Construct.NaturalChoice.MinOp.html#2418" class="Function">⊓-cong</a> <a id="2425" class="Symbol">:</a> <a id="2427" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="2438" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="2442" href="Algebra.Construct.NaturalChoice.MinOp.html#2418" class="Function">⊓-cong</a> <a id="2449" class="Symbol">{</a><a id="2450" href="Algebra.Construct.NaturalChoice.MinOp.html#2450" class="Bound">x₁</a><a id="2452" class="Symbol">}</a> <a id="2454" class="Symbol">{</a><a id="2455" href="Algebra.Construct.NaturalChoice.MinOp.html#2455" class="Bound">x₂</a><a id="2457" class="Symbol">}</a> <a id="2459" class="Symbol">{</a><a id="2460" href="Algebra.Construct.NaturalChoice.MinOp.html#2460" class="Bound">y₁</a><a id="2462" class="Symbol">}</a> <a id="2464" class="Symbol">{</a><a id="2465" href="Algebra.Construct.NaturalChoice.MinOp.html#2465" class="Bound">y₂</a><a id="2467" class="Symbol">}</a> <a id="2469" href="Algebra.Construct.NaturalChoice.MinOp.html#2469" class="Bound">x₁≈x₂</a> <a id="2475" href="Algebra.Construct.NaturalChoice.MinOp.html#2475" class="Bound">y₁≈y₂</a> <a id="2481" class="Symbol">=</a> <a id="2483" href="Relation.Binary.Structures.html#1226" class="Function">Eq.trans</a> <a id="2492" class="Symbol">(</a><a id="2493" href="Algebra.Construct.NaturalChoice.MinOp.html#1918" class="Function">⊓-congˡ</a> <a id="2501" href="Algebra.Construct.NaturalChoice.MinOp.html#2450" class="Bound">x₁</a> <a id="2504" href="Algebra.Construct.NaturalChoice.MinOp.html#2475" class="Bound">y₁≈y₂</a><a id="2509" class="Symbol">)</a> <a id="2511" class="Symbol">(</a><a id="2512" href="Algebra.Construct.NaturalChoice.MinOp.html#2241" class="Function">⊓-congʳ</a> <a id="2520" href="Algebra.Construct.NaturalChoice.MinOp.html#2465" class="Bound">y₂</a> <a id="2523" href="Algebra.Construct.NaturalChoice.MinOp.html#2469" class="Bound">x₁≈x₂</a><a id="2528" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="⊓-assoc"></a><a id="2531" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a> <a id="2539" class="Symbol">:</a> <a id="2541" href="Algebra.Definitions.html#1548" class="Function">Associative</a> <a id="2553" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="2557" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a> <a id="2565" href="Algebra.Construct.NaturalChoice.MinOp.html#2565" class="Bound">x</a> <a id="2567" href="Algebra.Construct.NaturalChoice.MinOp.html#2567" class="Bound">y</a> <a id="2569" href="Algebra.Construct.NaturalChoice.MinOp.html#2569" class="Bound">r</a> <a id="2571" class="Keyword">with</a> <a id="2576" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="2582" href="Algebra.Construct.NaturalChoice.MinOp.html#2565" class="Bound">x</a> <a id="2584" href="Algebra.Construct.NaturalChoice.MinOp.html#2567" class="Bound">y</a> <a id="2586" class="Symbol">|</a> <a id="2588" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="2594" href="Algebra.Construct.NaturalChoice.MinOp.html#2567" class="Bound">y</a> <a id="2596" href="Algebra.Construct.NaturalChoice.MinOp.html#2569" class="Bound">r</a>
|
|||
|
<a id="2598" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a> <a id="2606" href="Algebra.Construct.NaturalChoice.MinOp.html#2606" class="Bound">x</a> <a id="2608" href="Algebra.Construct.NaturalChoice.MinOp.html#2608" class="Bound">y</a> <a id="2610" href="Algebra.Construct.NaturalChoice.MinOp.html#2610" class="Bound">r</a> <a id="2612" class="Symbol">|</a> <a id="2614" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2619" href="Algebra.Construct.NaturalChoice.MinOp.html#2619" class="Bound">x≤y</a> <a id="2623" class="Symbol">|</a> <a id="2625" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2630" href="Algebra.Construct.NaturalChoice.MinOp.html#2630" class="Bound">y≤r</a> <a id="2634" class="Symbol">=</a> <a id="2636" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="2653" class="Symbol">(</a><a id="2654" href="Algebra.Construct.NaturalChoice.MinOp.html#2606" class="Bound">x</a> <a id="2656" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2658" href="Algebra.Construct.NaturalChoice.MinOp.html#2608" class="Bound">y</a><a id="2659" class="Symbol">)</a> <a id="2661" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2663" href="Algebra.Construct.NaturalChoice.MinOp.html#2610" class="Bound">r</a> <a id="2666" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2669" href="Algebra.Construct.NaturalChoice.MinOp.html#2241" class="Function">⊓-congʳ</a> <a id="2677" href="Algebra.Construct.NaturalChoice.MinOp.html#2610" class="Bound">r</a> <a id="2679" class="Symbol">(</a><a id="2680" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="2690" href="Algebra.Construct.NaturalChoice.MinOp.html#2619" class="Bound">x≤y</a><a id="2693" class="Symbol">)</a> <a id="2695" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2699" href="Algebra.Construct.NaturalChoice.MinOp.html#2606" class="Bound">x</a> <a id="2701" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2703" href="Algebra.Construct.NaturalChoice.MinOp.html#2610" class="Bound">r</a> <a id="2712" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2715" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="2725" class="Symbol">(</a><a id="2726" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="2732" href="Algebra.Construct.NaturalChoice.MinOp.html#2619" class="Bound">x≤y</a> <a id="2736" href="Algebra.Construct.NaturalChoice.MinOp.html#2630" class="Bound">y≤r</a><a id="2739" class="Symbol">)</a> <a id="2741" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2745" href="Algebra.Construct.NaturalChoice.MinOp.html#2606" class="Bound">x</a> <a id="2758" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="2761" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="2771" href="Algebra.Construct.NaturalChoice.MinOp.html#2619" class="Bound">x≤y</a> <a id="2775" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="2779" href="Algebra.Construct.NaturalChoice.MinOp.html#2606" class="Bound">x</a> <a id="2781" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2783" href="Algebra.Construct.NaturalChoice.MinOp.html#2608" class="Bound">y</a> <a id="2792" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="2795" href="Algebra.Construct.NaturalChoice.MinOp.html#1918" class="Function">⊓-congˡ</a> <a id="2803" href="Algebra.Construct.NaturalChoice.MinOp.html#2606" class="Bound">x</a> <a id="2805" class="Symbol">(</a><a id="2806" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="2816" href="Algebra.Construct.NaturalChoice.MinOp.html#2630" class="Bound">y≤r</a><a id="2819" class="Symbol">)</a> <a id="2821" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="2825" href="Algebra.Construct.NaturalChoice.MinOp.html#2606" class="Bound">x</a> <a id="2827" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2829" class="Symbol">(</a><a id="2830" href="Algebra.Construct.NaturalChoice.MinOp.html#2608" class="Bound">y</a> <a id="2832" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2834" href="Algebra.Construct.NaturalChoice.MinOp.html#2610" class="Bound">r</a><a id="2835" class="Symbol">)</a> <a id="2838" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="2840" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a> <a id="2848" href="Algebra.Construct.NaturalChoice.MinOp.html#2848" class="Bound">x</a> <a id="2850" href="Algebra.Construct.NaturalChoice.MinOp.html#2850" class="Bound">y</a> <a id="2852" href="Algebra.Construct.NaturalChoice.MinOp.html#2852" class="Bound">r</a> <a id="2854" class="Symbol">|</a> <a id="2856" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2861" href="Algebra.Construct.NaturalChoice.MinOp.html#2861" class="Bound">x≤y</a> <a id="2865" class="Symbol">|</a> <a id="2867" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="2872" href="Algebra.Construct.NaturalChoice.MinOp.html#2872" class="Bound">r≤y</a> <a id="2876" class="Symbol">=</a> <a id="2878" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="2895" class="Symbol">(</a><a id="2896" href="Algebra.Construct.NaturalChoice.MinOp.html#2848" class="Bound">x</a> <a id="2898" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2900" href="Algebra.Construct.NaturalChoice.MinOp.html#2850" class="Bound">y</a><a id="2901" class="Symbol">)</a> <a id="2903" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2905" href="Algebra.Construct.NaturalChoice.MinOp.html#2852" class="Bound">r</a> <a id="2908" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2911" href="Algebra.Construct.NaturalChoice.MinOp.html#2241" class="Function">⊓-congʳ</a> <a id="2919" href="Algebra.Construct.NaturalChoice.MinOp.html#2852" class="Bound">r</a> <a id="2921" class="Symbol">(</a><a id="2922" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="2932" href="Algebra.Construct.NaturalChoice.MinOp.html#2861" class="Bound">x≤y</a><a id="2935" class="Symbol">)</a> <a id="2937" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2941" href="Algebra.Construct.NaturalChoice.MinOp.html#2848" class="Bound">x</a> <a id="2943" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2945" href="Algebra.Construct.NaturalChoice.MinOp.html#2852" class="Bound">r</a> <a id="2954" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="2957" href="Algebra.Construct.NaturalChoice.MinOp.html#1918" class="Function">⊓-congˡ</a> <a id="2965" href="Algebra.Construct.NaturalChoice.MinOp.html#2848" class="Bound">x</a> <a id="2967" class="Symbol">(</a><a id="2968" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="2978" href="Algebra.Construct.NaturalChoice.MinOp.html#2872" class="Bound">r≤y</a><a id="2981" class="Symbol">)</a> <a id="2983" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="2987" href="Algebra.Construct.NaturalChoice.MinOp.html#2848" class="Bound">x</a> <a id="2989" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2991" class="Symbol">(</a><a id="2992" href="Algebra.Construct.NaturalChoice.MinOp.html#2850" class="Bound">y</a> <a id="2994" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="2996" href="Algebra.Construct.NaturalChoice.MinOp.html#2852" class="Bound">r</a><a id="2997" class="Symbol">)</a> <a id="3000" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="3002" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a> <a id="3010" href="Algebra.Construct.NaturalChoice.MinOp.html#3010" class="Bound">x</a> <a id="3012" href="Algebra.Construct.NaturalChoice.MinOp.html#3012" class="Bound">y</a> <a id="3014" href="Algebra.Construct.NaturalChoice.MinOp.html#3014" class="Bound">r</a> <a id="3016" class="Symbol">|</a> <a id="3018" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="3023" href="Algebra.Construct.NaturalChoice.MinOp.html#3023" class="Bound">y≤x</a> <a id="3027" class="Symbol">|</a> <a id="3029" class="Symbol">_</a> <a id="3031" class="Symbol">=</a> <a id="3033" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="3050" class="Symbol">(</a><a id="3051" href="Algebra.Construct.NaturalChoice.MinOp.html#3010" class="Bound">x</a> <a id="3053" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="3055" href="Algebra.Construct.NaturalChoice.MinOp.html#3012" class="Bound">y</a><a id="3056" class="Symbol">)</a> <a id="3058" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="3060" href="Algebra.Construct.NaturalChoice.MinOp.html#3014" class="Bound">r</a> <a id="3063" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3066" href="Algebra.Construct.NaturalChoice.MinOp.html#2241" class="Function">⊓-congʳ</a> <a id="3074" href="Algebra.Construct.NaturalChoice.MinOp.html#3014" class="Bound">r</a> <a id="3076" class="Symbol">(</a><a id="3077" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="3087" href="Algebra.Construct.NaturalChoice.MinOp.html#3023" class="Bound">y≤x</a><a id="3090" class="Symbol">)</a> <a id="3092" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3096" href="Algebra.Construct.NaturalChoice.MinOp.html#3012" class="Bound">y</a> <a id="3098" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="3100" href="Algebra.Construct.NaturalChoice.MinOp.html#3014" class="Bound">r</a> <a id="3109" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="3112" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="3122" class="Symbol">(</a><a id="3123" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="3129" class="Symbol">(</a><a id="3130" href="Algebra.Construct.NaturalChoice.MinOp.html#1304" class="Function">x⊓y≤x</a> <a id="3136" href="Algebra.Construct.NaturalChoice.MinOp.html#3012" class="Bound">y</a> <a id="3138" href="Algebra.Construct.NaturalChoice.MinOp.html#3014" class="Bound">r</a><a id="3139" class="Symbol">)</a> <a id="3141" href="Algebra.Construct.NaturalChoice.MinOp.html#3023" class="Bound">y≤x</a><a id="3144" class="Symbol">)</a> <a id="3146" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="3150" href="Algebra.Construct.NaturalChoice.MinOp.html#3010" class="Bound">x</a> <a id="3152" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="3154" class="Symbol">(</a><a id="3155" href="Algebra.Construct.NaturalChoice.MinOp.html#3012" class="Bound">y</a> <a id="3157" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="3159" href="Algebra.Construct.NaturalChoice.MinOp.html#3014" class="Bound">r</a><a id="3160" class="Symbol">)</a> <a id="3163" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="⊓-idem"></a><a id="3166" href="Algebra.Construct.NaturalChoice.MinOp.html#3166" class="Function">⊓-idem</a> <a id="3173" class="Symbol">:</a> <a id="3175" href="Algebra.Definitions.html#3706" class="Function">Idempotent</a> <a id="3186" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3190" href="Algebra.Construct.NaturalChoice.MinOp.html#3166" class="Function">⊓-idem</a> <a id="3197" href="Algebra.Construct.NaturalChoice.MinOp.html#3197" class="Bound">x</a> <a id="3199" class="Symbol">=</a> <a id="3201" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="3211" class="Symbol">(</a><a id="3212" href="Relation.Binary.Structures.html#2466" class="Function">refl</a> <a id="3217" class="Symbol">{</a><a id="3218" href="Algebra.Construct.NaturalChoice.MinOp.html#3197" class="Bound">x</a><a id="3219" class="Symbol">})</a>
|
|||
|
|
|||
|
<a id="⊓-sel"></a><a id="3223" href="Algebra.Construct.NaturalChoice.MinOp.html#3223" class="Function">⊓-sel</a> <a id="3229" class="Symbol">:</a> <a id="3231" href="Algebra.Definitions.html#3841" class="Function">Selective</a> <a id="3241" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3245" href="Algebra.Construct.NaturalChoice.MinOp.html#3223" class="Function">⊓-sel</a> <a id="3251" href="Algebra.Construct.NaturalChoice.MinOp.html#3251" class="Bound">x</a> <a id="3253" href="Algebra.Construct.NaturalChoice.MinOp.html#3253" class="Bound">y</a> <a id="3255" class="Symbol">=</a> <a id="3257" href="Data.Sum.Base.html#1253" class="Function">Sum.map</a> <a id="3265" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="3275" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="3285" class="Symbol">(</a><a id="3286" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="3292" href="Algebra.Construct.NaturalChoice.MinOp.html#3251" class="Bound">x</a> <a id="3294" href="Algebra.Construct.NaturalChoice.MinOp.html#3253" class="Bound">y</a><a id="3295" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="⊓-identityˡ"></a><a id="3298" href="Algebra.Construct.NaturalChoice.MinOp.html#3298" class="Function">⊓-identityˡ</a> <a id="3310" class="Symbol">:</a> <a id="3312" class="Symbol">∀</a> <a id="3314" class="Symbol">{</a><a id="3315" href="Algebra.Construct.NaturalChoice.MinOp.html#3315" class="Bound">⊤</a><a id="3316" class="Symbol">}</a> <a id="3318" class="Symbol">→</a> <a id="3320" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a> <a id="3328" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="3332" href="Algebra.Construct.NaturalChoice.MinOp.html#3315" class="Bound">⊤</a> <a id="3334" class="Symbol">→</a> <a id="3336" href="Algebra.Definitions.html#1708" class="Function">LeftIdentity</a> <a id="3349" href="Algebra.Construct.NaturalChoice.MinOp.html#3315" class="Bound">⊤</a> <a id="3351" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3355" href="Algebra.Construct.NaturalChoice.MinOp.html#3298" class="Function">⊓-identityˡ</a> <a id="3367" href="Algebra.Construct.NaturalChoice.MinOp.html#3367" class="Bound">max</a> <a id="3371" class="Symbol">=</a> <a id="3373" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="3383" href="Function.Base.html#1115" class="Function Operator">∘</a> <a id="3385" href="Algebra.Construct.NaturalChoice.MinOp.html#3367" class="Bound">max</a>
|
|||
|
|
|||
|
<a id="⊓-identityʳ"></a><a id="3390" href="Algebra.Construct.NaturalChoice.MinOp.html#3390" class="Function">⊓-identityʳ</a> <a id="3402" class="Symbol">:</a> <a id="3404" class="Symbol">∀</a> <a id="3406" class="Symbol">{</a><a id="3407" href="Algebra.Construct.NaturalChoice.MinOp.html#3407" class="Bound">⊤</a><a id="3408" class="Symbol">}</a> <a id="3410" class="Symbol">→</a> <a id="3412" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a> <a id="3420" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="3424" href="Algebra.Construct.NaturalChoice.MinOp.html#3407" class="Bound">⊤</a> <a id="3426" class="Symbol">→</a> <a id="3428" href="Algebra.Definitions.html#1781" class="Function">RightIdentity</a> <a id="3442" href="Algebra.Construct.NaturalChoice.MinOp.html#3407" class="Bound">⊤</a> <a id="3444" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3448" href="Algebra.Construct.NaturalChoice.MinOp.html#3390" class="Function">⊓-identityʳ</a> <a id="3460" href="Algebra.Construct.NaturalChoice.MinOp.html#3460" class="Bound">max</a> <a id="3464" class="Symbol">=</a> <a id="3466" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="3476" href="Function.Base.html#1115" class="Function Operator">∘</a> <a id="3478" href="Algebra.Construct.NaturalChoice.MinOp.html#3460" class="Bound">max</a>
|
|||
|
|
|||
|
<a id="⊓-identity"></a><a id="3483" href="Algebra.Construct.NaturalChoice.MinOp.html#3483" class="Function">⊓-identity</a> <a id="3494" class="Symbol">:</a> <a id="3496" class="Symbol">∀</a> <a id="3498" class="Symbol">{</a><a id="3499" href="Algebra.Construct.NaturalChoice.MinOp.html#3499" class="Bound">⊤</a><a id="3500" class="Symbol">}</a> <a id="3502" class="Symbol">→</a> <a id="3504" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a> <a id="3512" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="3516" href="Algebra.Construct.NaturalChoice.MinOp.html#3499" class="Bound">⊤</a> <a id="3518" class="Symbol">→</a> <a id="3520" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="3529" href="Algebra.Construct.NaturalChoice.MinOp.html#3499" class="Bound">⊤</a> <a id="3531" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3535" href="Algebra.Construct.NaturalChoice.MinOp.html#3483" class="Function">⊓-identity</a> <a id="3546" href="Algebra.Construct.NaturalChoice.MinOp.html#3546" class="Bound">max</a> <a id="3550" class="Symbol">=</a> <a id="3552" href="Algebra.Construct.NaturalChoice.MinOp.html#3298" class="Function">⊓-identityˡ</a> <a id="3564" href="Algebra.Construct.NaturalChoice.MinOp.html#3546" class="Bound">max</a> <a id="3568" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3570" href="Algebra.Construct.NaturalChoice.MinOp.html#3390" class="Function">⊓-identityʳ</a> <a id="3582" href="Algebra.Construct.NaturalChoice.MinOp.html#3546" class="Bound">max</a>
|
|||
|
|
|||
|
<a id="⊓-zeroˡ"></a><a id="3587" href="Algebra.Construct.NaturalChoice.MinOp.html#3587" class="Function">⊓-zeroˡ</a> <a id="3595" class="Symbol">:</a> <a id="3597" class="Symbol">∀</a> <a id="3599" class="Symbol">{</a><a id="3600" href="Algebra.Construct.NaturalChoice.MinOp.html#3600" class="Bound">⊥</a><a id="3601" class="Symbol">}</a> <a id="3603" class="Symbol">→</a> <a id="3605" href="Relation.Binary.Definitions.html#3663" class="Function">Minimum</a> <a id="3613" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="3617" href="Algebra.Construct.NaturalChoice.MinOp.html#3600" class="Bound">⊥</a> <a id="3619" class="Symbol">→</a> <a id="3621" href="Algebra.Definitions.html#1942" class="Function">LeftZero</a> <a id="3630" href="Algebra.Construct.NaturalChoice.MinOp.html#3600" class="Bound">⊥</a> <a id="3632" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3636" href="Algebra.Construct.NaturalChoice.MinOp.html#3587" class="Function">⊓-zeroˡ</a> <a id="3644" href="Algebra.Construct.NaturalChoice.MinOp.html#3644" class="Bound">min</a> <a id="3648" class="Symbol">=</a> <a id="3650" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="3660" href="Function.Base.html#1115" class="Function Operator">∘</a> <a id="3662" href="Algebra.Construct.NaturalChoice.MinOp.html#3644" class="Bound">min</a>
|
|||
|
|
|||
|
<a id="⊓-zeroʳ"></a><a id="3667" href="Algebra.Construct.NaturalChoice.MinOp.html#3667" class="Function">⊓-zeroʳ</a> <a id="3675" class="Symbol">:</a> <a id="3677" class="Symbol">∀</a> <a id="3679" class="Symbol">{</a><a id="3680" href="Algebra.Construct.NaturalChoice.MinOp.html#3680" class="Bound">⊥</a><a id="3681" class="Symbol">}</a> <a id="3683" class="Symbol">→</a> <a id="3685" href="Relation.Binary.Definitions.html#3663" class="Function">Minimum</a> <a id="3693" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="3697" href="Algebra.Construct.NaturalChoice.MinOp.html#3680" class="Bound">⊥</a> <a id="3699" class="Symbol">→</a> <a id="3701" href="Algebra.Definitions.html#2007" class="Function">RightZero</a> <a id="3711" href="Algebra.Construct.NaturalChoice.MinOp.html#3680" class="Bound">⊥</a> <a id="3713" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3717" href="Algebra.Construct.NaturalChoice.MinOp.html#3667" class="Function">⊓-zeroʳ</a> <a id="3725" href="Algebra.Construct.NaturalChoice.MinOp.html#3725" class="Bound">min</a> <a id="3729" class="Symbol">=</a> <a id="3731" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="3741" href="Function.Base.html#1115" class="Function Operator">∘</a> <a id="3743" href="Algebra.Construct.NaturalChoice.MinOp.html#3725" class="Bound">min</a>
|
|||
|
|
|||
|
<a id="⊓-zero"></a><a id="3748" href="Algebra.Construct.NaturalChoice.MinOp.html#3748" class="Function">⊓-zero</a> <a id="3755" class="Symbol">:</a> <a id="3757" class="Symbol">∀</a> <a id="3759" class="Symbol">{</a><a id="3760" href="Algebra.Construct.NaturalChoice.MinOp.html#3760" class="Bound">⊥</a><a id="3761" class="Symbol">}</a> <a id="3763" class="Symbol">→</a> <a id="3765" href="Relation.Binary.Definitions.html#3663" class="Function">Minimum</a> <a id="3773" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="3777" href="Algebra.Construct.NaturalChoice.MinOp.html#3760" class="Bound">⊥</a> <a id="3779" class="Symbol">→</a> <a id="3781" href="Algebra.Definitions.html#2074" class="Function">Zero</a> <a id="3786" href="Algebra.Construct.NaturalChoice.MinOp.html#3760" class="Bound">⊥</a> <a id="3788" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3792" href="Algebra.Construct.NaturalChoice.MinOp.html#3748" class="Function">⊓-zero</a> <a id="3799" href="Algebra.Construct.NaturalChoice.MinOp.html#3799" class="Bound">min</a> <a id="3803" class="Symbol">=</a> <a id="3805" href="Algebra.Construct.NaturalChoice.MinOp.html#3587" class="Function">⊓-zeroˡ</a> <a id="3813" href="Algebra.Construct.NaturalChoice.MinOp.html#3799" class="Bound">min</a> <a id="3817" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3819" href="Algebra.Construct.NaturalChoice.MinOp.html#3667" class="Function">⊓-zeroʳ</a> <a id="3827" href="Algebra.Construct.NaturalChoice.MinOp.html#3799" class="Bound">min</a>
|
|||
|
|
|||
|
<a id="3832" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="3905" class="Comment">-- Structures</a>
|
|||
|
|
|||
|
<a id="⊓-isMagma"></a><a id="3920" href="Algebra.Construct.NaturalChoice.MinOp.html#3920" class="Function">⊓-isMagma</a> <a id="3930" class="Symbol">:</a> <a id="3932" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="3940" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="3944" href="Algebra.Construct.NaturalChoice.MinOp.html#3920" class="Function">⊓-isMagma</a> <a id="3954" class="Symbol">=</a> <a id="3956" class="Keyword">record</a>
|
|||
|
<a id="3965" class="Symbol">{</a> <a id="3967" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="3981" class="Symbol">=</a> <a id="3983" href="Relation.Binary.Structures.html#2256" class="Function">isEquivalence</a>
|
|||
|
<a id="3999" class="Symbol">;</a> <a id="4001" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="4015" class="Symbol">=</a> <a id="4017" href="Algebra.Construct.NaturalChoice.MinOp.html#2418" class="Function">⊓-cong</a>
|
|||
|
<a id="4026" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-isSemigroup"></a><a id="4029" href="Algebra.Construct.NaturalChoice.MinOp.html#4029" class="Function">⊓-isSemigroup</a> <a id="4043" class="Symbol">:</a> <a id="4045" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="4057" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="4061" href="Algebra.Construct.NaturalChoice.MinOp.html#4029" class="Function">⊓-isSemigroup</a> <a id="4075" class="Symbol">=</a> <a id="4077" class="Keyword">record</a>
|
|||
|
<a id="4086" class="Symbol">{</a> <a id="4088" href="Algebra.Structures.html#2953" class="Field">isMagma</a> <a id="4096" class="Symbol">=</a> <a id="4098" href="Algebra.Construct.NaturalChoice.MinOp.html#3920" class="Function">⊓-isMagma</a>
|
|||
|
<a id="4110" class="Symbol">;</a> <a id="4112" href="Algebra.Structures.html#2977" class="Field">assoc</a> <a id="4120" class="Symbol">=</a> <a id="4122" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a>
|
|||
|
<a id="4132" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-isBand"></a><a id="4135" href="Algebra.Construct.NaturalChoice.MinOp.html#4135" class="Function">⊓-isBand</a> <a id="4144" class="Symbol">:</a> <a id="4146" href="Algebra.Structures.html#3041" class="Record">IsBand</a> <a id="4153" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="4157" href="Algebra.Construct.NaturalChoice.MinOp.html#4135" class="Function">⊓-isBand</a> <a id="4166" class="Symbol">=</a> <a id="4168" class="Keyword">record</a>
|
|||
|
<a id="4177" class="Symbol">{</a> <a id="4179" href="Algebra.Structures.html#3092" class="Field">isSemigroup</a> <a id="4191" class="Symbol">=</a> <a id="4193" href="Algebra.Construct.NaturalChoice.MinOp.html#4029" class="Function">⊓-isSemigroup</a>
|
|||
|
<a id="4209" class="Symbol">;</a> <a id="4211" href="Algebra.Structures.html#3124" class="Field">idem</a> <a id="4223" class="Symbol">=</a> <a id="4225" href="Algebra.Construct.NaturalChoice.MinOp.html#3166" class="Function">⊓-idem</a>
|
|||
|
<a id="4234" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-isCommutativeSemigroup"></a><a id="4237" href="Algebra.Construct.NaturalChoice.MinOp.html#4237" class="Function">⊓-isCommutativeSemigroup</a> <a id="4262" class="Symbol">:</a> <a id="4264" href="Algebra.Structures.html#3199" class="Record">IsCommutativeSemigroup</a> <a id="4287" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="4291" href="Algebra.Construct.NaturalChoice.MinOp.html#4237" class="Function">⊓-isCommutativeSemigroup</a> <a id="4316" class="Symbol">=</a> <a id="4318" class="Keyword">record</a>
|
|||
|
<a id="4327" class="Symbol">{</a> <a id="4329" href="Algebra.Structures.html#3266" class="Field">isSemigroup</a> <a id="4341" class="Symbol">=</a> <a id="4343" href="Algebra.Construct.NaturalChoice.MinOp.html#4029" class="Function">⊓-isSemigroup</a>
|
|||
|
<a id="4359" class="Symbol">;</a> <a id="4361" href="Algebra.Structures.html#3298" class="Field">comm</a> <a id="4373" class="Symbol">=</a> <a id="4375" href="Algebra.Construct.NaturalChoice.MinOp.html#1732" class="Function">⊓-comm</a>
|
|||
|
<a id="4384" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-isSelectiveMagma"></a><a id="4387" href="Algebra.Construct.NaturalChoice.MinOp.html#4387" class="Function">⊓-isSelectiveMagma</a> <a id="4406" class="Symbol">:</a> <a id="4408" href="Algebra.Structures.html#2750" class="Record">IsSelectiveMagma</a> <a id="4425" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a>
|
|||
|
<a id="4429" href="Algebra.Construct.NaturalChoice.MinOp.html#4387" class="Function">⊓-isSelectiveMagma</a> <a id="4448" class="Symbol">=</a> <a id="4450" class="Keyword">record</a>
|
|||
|
<a id="4459" class="Symbol">{</a> <a id="4461" href="Algebra.Structures.html#2811" class="Field">isMagma</a> <a id="4469" class="Symbol">=</a> <a id="4471" href="Algebra.Construct.NaturalChoice.MinOp.html#3920" class="Function">⊓-isMagma</a>
|
|||
|
<a id="4483" class="Symbol">;</a> <a id="4485" href="Algebra.Structures.html#2835" class="Field">sel</a> <a id="4493" class="Symbol">=</a> <a id="4495" href="Algebra.Construct.NaturalChoice.MinOp.html#3223" class="Function">⊓-sel</a>
|
|||
|
<a id="4503" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-isMonoid"></a><a id="4506" href="Algebra.Construct.NaturalChoice.MinOp.html#4506" class="Function">⊓-isMonoid</a> <a id="4517" class="Symbol">:</a> <a id="4519" class="Symbol">∀</a> <a id="4521" class="Symbol">{</a><a id="4522" href="Algebra.Construct.NaturalChoice.MinOp.html#4522" class="Bound">⊤</a><a id="4523" class="Symbol">}</a> <a id="4525" class="Symbol">→</a> <a id="4527" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a> <a id="4535" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="4539" href="Algebra.Construct.NaturalChoice.MinOp.html#4522" class="Bound">⊤</a> <a id="4541" class="Symbol">→</a> <a id="4543" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="4552" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a> <a id="4556" href="Algebra.Construct.NaturalChoice.MinOp.html#4522" class="Bound">⊤</a>
|
|||
|
<a id="4558" href="Algebra.Construct.NaturalChoice.MinOp.html#4506" class="Function">⊓-isMonoid</a> <a id="4569" href="Algebra.Construct.NaturalChoice.MinOp.html#4569" class="Bound">max</a> <a id="4573" class="Symbol">=</a> <a id="4575" class="Keyword">record</a>
|
|||
|
<a id="4584" class="Symbol">{</a> <a id="4586" href="Algebra.Structures.html#4035" class="Field">isSemigroup</a> <a id="4598" class="Symbol">=</a> <a id="4600" href="Algebra.Construct.NaturalChoice.MinOp.html#4029" class="Function">⊓-isSemigroup</a>
|
|||
|
<a id="4616" class="Symbol">;</a> <a id="4618" href="Algebra.Structures.html#4067" class="Field">identity</a> <a id="4630" class="Symbol">=</a> <a id="4632" href="Algebra.Construct.NaturalChoice.MinOp.html#3483" class="Function">⊓-identity</a> <a id="4643" href="Algebra.Construct.NaturalChoice.MinOp.html#4569" class="Bound">max</a>
|
|||
|
<a id="4649" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4652" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="4725" class="Comment">-- Raw bundles</a>
|
|||
|
|
|||
|
<a id="⊓-rawMagma"></a><a id="4741" href="Algebra.Construct.NaturalChoice.MinOp.html#4741" class="Function">⊓-rawMagma</a> <a id="4752" class="Symbol">:</a> <a id="4754" href="Algebra.Bundles.Raw.html#644" class="Record">RawMagma</a> <a id="4763" class="Symbol">_</a> <a id="4765" class="Symbol">_</a>
|
|||
|
<a id="4767" href="Algebra.Construct.NaturalChoice.MinOp.html#4741" class="Function">⊓-rawMagma</a> <a id="4778" class="Symbol">=</a> <a id="4780" class="Keyword">record</a> <a id="4787" class="Symbol">{</a> <a id="4789" href="Algebra.Bundles.Raw.html#745" class="Field Operator">_≈_</a> <a id="4793" class="Symbol">=</a> <a id="4795" href="Relation.Binary.Bundles.html#2954" class="Function Operator">_≈_</a> <a id="4799" class="Symbol">;</a> <a id="4801" href="Algebra.Bundles.Raw.html#773" class="Field Operator">_∙_</a> <a id="4805" class="Symbol">=</a> <a id="4807" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a> <a id="4811" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4814" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="4887" class="Comment">-- Bundles</a>
|
|||
|
|
|||
|
<a id="⊓-magma"></a><a id="4899" href="Algebra.Construct.NaturalChoice.MinOp.html#4899" class="Function">⊓-magma</a> <a id="4907" class="Symbol">:</a> <a id="4909" href="Algebra.Bundles.html#1141" class="Record">Magma</a> <a id="4915" class="Symbol">_</a> <a id="4917" class="Symbol">_</a>
|
|||
|
<a id="4919" href="Algebra.Construct.NaturalChoice.MinOp.html#4899" class="Function">⊓-magma</a> <a id="4927" class="Symbol">=</a> <a id="4929" class="Keyword">record</a>
|
|||
|
<a id="4938" class="Symbol">{</a> <a id="4940" href="Algebra.Bundles.html#1293" class="Field">isMagma</a> <a id="4948" class="Symbol">=</a> <a id="4950" href="Algebra.Construct.NaturalChoice.MinOp.html#3920" class="Function">⊓-isMagma</a>
|
|||
|
<a id="4962" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-semigroup"></a><a id="4965" href="Algebra.Construct.NaturalChoice.MinOp.html#4965" class="Function">⊓-semigroup</a> <a id="4977" class="Symbol">:</a> <a id="4979" href="Algebra.Bundles.html#4139" class="Record">Semigroup</a> <a id="4989" class="Symbol">_</a> <a id="4991" class="Symbol">_</a>
|
|||
|
<a id="4993" href="Algebra.Construct.NaturalChoice.MinOp.html#4965" class="Function">⊓-semigroup</a> <a id="5005" class="Symbol">=</a> <a id="5007" class="Keyword">record</a>
|
|||
|
<a id="5016" class="Symbol">{</a> <a id="5018" href="Algebra.Bundles.html#4307" class="Field">isSemigroup</a> <a id="5030" class="Symbol">=</a> <a id="5032" href="Algebra.Construct.NaturalChoice.MinOp.html#4029" class="Function">⊓-isSemigroup</a>
|
|||
|
<a id="5048" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-band"></a><a id="5051" href="Algebra.Construct.NaturalChoice.MinOp.html#5051" class="Function">⊓-band</a> <a id="5058" class="Symbol">:</a> <a id="5060" href="Algebra.Bundles.html#4502" class="Record">Band</a> <a id="5065" class="Symbol">_</a> <a id="5067" class="Symbol">_</a>
|
|||
|
<a id="5069" href="Algebra.Construct.NaturalChoice.MinOp.html#5051" class="Function">⊓-band</a> <a id="5076" class="Symbol">=</a> <a id="5078" class="Keyword">record</a>
|
|||
|
<a id="5087" class="Symbol">{</a> <a id="5089" href="Algebra.Bundles.html#4653" class="Field">isBand</a> <a id="5096" class="Symbol">=</a> <a id="5098" href="Algebra.Construct.NaturalChoice.MinOp.html#4135" class="Function">⊓-isBand</a>
|
|||
|
<a id="5109" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-commutativeSemigroup"></a><a id="5112" href="Algebra.Construct.NaturalChoice.MinOp.html#5112" class="Function">⊓-commutativeSemigroup</a> <a id="5135" class="Symbol">:</a> <a id="5137" href="Algebra.Bundles.html#4864" class="Record">CommutativeSemigroup</a> <a id="5158" class="Symbol">_</a> <a id="5160" class="Symbol">_</a>
|
|||
|
<a id="5162" href="Algebra.Construct.NaturalChoice.MinOp.html#5112" class="Function">⊓-commutativeSemigroup</a> <a id="5185" class="Symbol">=</a> <a id="5187" class="Keyword">record</a>
|
|||
|
<a id="5196" class="Symbol">{</a> <a id="5198" href="Algebra.Bundles.html#5079" class="Field">isCommutativeSemigroup</a> <a id="5221" class="Symbol">=</a> <a id="5223" href="Algebra.Construct.NaturalChoice.MinOp.html#4237" class="Function">⊓-isCommutativeSemigroup</a>
|
|||
|
<a id="5250" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-selectiveMagma"></a><a id="5253" href="Algebra.Construct.NaturalChoice.MinOp.html#5253" class="Function">⊓-selectiveMagma</a> <a id="5270" class="Symbol">:</a> <a id="5272" href="Algebra.Bundles.html#1480" class="Record">SelectiveMagma</a> <a id="5287" class="Symbol">_</a> <a id="5289" class="Symbol">_</a>
|
|||
|
<a id="5291" href="Algebra.Construct.NaturalChoice.MinOp.html#5253" class="Function">⊓-selectiveMagma</a> <a id="5308" class="Symbol">=</a> <a id="5310" class="Keyword">record</a>
|
|||
|
<a id="5319" class="Symbol">{</a> <a id="5321" href="Algebra.Bundles.html#1668" class="Field">isSelectiveMagma</a> <a id="5338" class="Symbol">=</a> <a id="5340" href="Algebra.Construct.NaturalChoice.MinOp.html#4387" class="Function">⊓-isSelectiveMagma</a>
|
|||
|
<a id="5361" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="⊓-monoid"></a><a id="5364" href="Algebra.Construct.NaturalChoice.MinOp.html#5364" class="Function">⊓-monoid</a> <a id="5373" class="Symbol">:</a> <a id="5375" class="Symbol">∀</a> <a id="5377" class="Symbol">{</a><a id="5378" href="Algebra.Construct.NaturalChoice.MinOp.html#5378" class="Bound">⊤</a><a id="5379" class="Symbol">}</a> <a id="5381" class="Symbol">→</a> <a id="5383" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a> <a id="5391" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="5395" href="Algebra.Construct.NaturalChoice.MinOp.html#5378" class="Bound">⊤</a> <a id="5397" class="Symbol">→</a> <a id="5399" href="Algebra.Bundles.html#6051" class="Record">Monoid</a> <a id="5406" href="Algebra.Construct.NaturalChoice.MinOp.html#834" class="Bound">a</a> <a id="5408" href="Algebra.Construct.NaturalChoice.MinOp.html#836" class="Bound">ℓ₁</a>
|
|||
|
<a id="5411" href="Algebra.Construct.NaturalChoice.MinOp.html#5364" class="Function">⊓-monoid</a> <a id="5420" href="Algebra.Construct.NaturalChoice.MinOp.html#5420" class="Bound">max</a> <a id="5424" class="Symbol">=</a> <a id="5426" class="Keyword">record</a>
|
|||
|
<a id="5435" class="Symbol">{</a> <a id="5437" href="Algebra.Bundles.html#6230" class="Field">isMonoid</a> <a id="5446" class="Symbol">=</a> <a id="5448" href="Algebra.Construct.NaturalChoice.MinOp.html#4506" class="Function">⊓-isMonoid</a> <a id="5459" href="Algebra.Construct.NaturalChoice.MinOp.html#5420" class="Bound">max</a>
|
|||
|
<a id="5465" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="5468" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="5541" class="Comment">-- Other properties</a>
|
|||
|
|
|||
|
<a id="x⊓y≈x⇒x≤y"></a><a id="5562" href="Algebra.Construct.NaturalChoice.MinOp.html#5562" class="Function">x⊓y≈x⇒x≤y</a> <a id="5572" class="Symbol">:</a> <a id="5574" class="Symbol">∀</a> <a id="5576" class="Symbol">{</a><a id="5577" href="Algebra.Construct.NaturalChoice.MinOp.html#5577" class="Bound">x</a> <a id="5579" href="Algebra.Construct.NaturalChoice.MinOp.html#5579" class="Bound">y</a><a id="5580" class="Symbol">}</a> <a id="5582" class="Symbol">→</a> <a id="5584" href="Algebra.Construct.NaturalChoice.MinOp.html#5577" class="Bound">x</a> <a id="5586" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="5588" href="Algebra.Construct.NaturalChoice.MinOp.html#5579" class="Bound">y</a> <a id="5590" href="Relation.Binary.Bundles.html#2954" class="Function Operator">≈</a> <a id="5592" href="Algebra.Construct.NaturalChoice.MinOp.html#5577" class="Bound">x</a> <a id="5594" class="Symbol">→</a> <a id="5596" href="Algebra.Construct.NaturalChoice.MinOp.html#5577" class="Bound">x</a> <a id="5598" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="5600" href="Algebra.Construct.NaturalChoice.MinOp.html#5579" class="Bound">y</a>
|
|||
|
<a id="5602" href="Algebra.Construct.NaturalChoice.MinOp.html#5562" class="Function">x⊓y≈x⇒x≤y</a> <a id="5612" class="Symbol">{</a><a id="5613" href="Algebra.Construct.NaturalChoice.MinOp.html#5613" class="Bound">x</a><a id="5614" class="Symbol">}</a> <a id="5616" class="Symbol">{</a><a id="5617" href="Algebra.Construct.NaturalChoice.MinOp.html#5617" class="Bound">y</a><a id="5618" class="Symbol">}</a> <a id="5620" href="Algebra.Construct.NaturalChoice.MinOp.html#5620" class="Bound">x⊓y≈x</a> <a id="5626" class="Keyword">with</a> <a id="5631" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="5637" href="Algebra.Construct.NaturalChoice.MinOp.html#5613" class="Bound">x</a> <a id="5639" href="Algebra.Construct.NaturalChoice.MinOp.html#5617" class="Bound">y</a>
|
|||
|
<a id="5641" class="Symbol">...</a> <a id="5645" class="Symbol">|</a> <a id="5647" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="5652" href="Algebra.Construct.NaturalChoice.MinOp.html#5652" class="Bound">x≤y</a> <a id="5656" class="Symbol">=</a> <a id="5658" href="Algebra.Construct.NaturalChoice.MinOp.html#5652" class="Bound">x≤y</a>
|
|||
|
<a id="5662" class="Symbol">...</a> <a id="5666" class="Symbol">|</a> <a id="5668" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="5673" href="Algebra.Construct.NaturalChoice.MinOp.html#5673" class="Bound">y≤x</a> <a id="5677" class="Symbol">=</a> <a id="5679" href="Relation.Binary.Structures.html#2359" class="Function">reflexive</a> <a id="5689" class="Symbol">(</a><a id="5690" href="Relation.Binary.Structures.html#1226" class="Function">Eq.trans</a> <a id="5699" class="Symbol">(</a><a id="5700" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="5707" class="Bound">x⊓y≈x</a><a id="5712" class="Symbol">)</a> <a id="5714" class="Symbol">(</a><a id="5715" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="5725" href="Algebra.Construct.NaturalChoice.MinOp.html#5673" class="Bound">y≤x</a><a id="5728" class="Symbol">))</a>
|
|||
|
|
|||
|
<a id="x⊓y≈y⇒y≤x"></a><a id="5732" href="Algebra.Construct.NaturalChoice.MinOp.html#5732" class="Function">x⊓y≈y⇒y≤x</a> <a id="5742" class="Symbol">:</a> <a id="5744" class="Symbol">∀</a> <a id="5746" class="Symbol">{</a><a id="5747" href="Algebra.Construct.NaturalChoice.MinOp.html#5747" class="Bound">x</a> <a id="5749" href="Algebra.Construct.NaturalChoice.MinOp.html#5749" class="Bound">y</a><a id="5750" class="Symbol">}</a> <a id="5752" class="Symbol">→</a> <a id="5754" href="Algebra.Construct.NaturalChoice.MinOp.html#5747" class="Bound">x</a> <a id="5756" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="5758" href="Algebra.Construct.NaturalChoice.MinOp.html#5749" class="Bound">y</a> <a id="5760" href="Relation.Binary.Bundles.html#2954" class="Function Operator">≈</a> <a id="5762" href="Algebra.Construct.NaturalChoice.MinOp.html#5749" class="Bound">y</a> <a id="5764" class="Symbol">→</a> <a id="5766" href="Algebra.Construct.NaturalChoice.MinOp.html#5749" class="Bound">y</a> <a id="5768" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="5770" href="Algebra.Construct.NaturalChoice.MinOp.html#5747" class="Bound">x</a>
|
|||
|
<a id="5772" href="Algebra.Construct.NaturalChoice.MinOp.html#5732" class="Function">x⊓y≈y⇒y≤x</a> <a id="5782" class="Symbol">{</a><a id="5783" href="Algebra.Construct.NaturalChoice.MinOp.html#5783" class="Bound">x</a><a id="5784" class="Symbol">}</a> <a id="5786" class="Symbol">{</a><a id="5787" href="Algebra.Construct.NaturalChoice.MinOp.html#5787" class="Bound">y</a><a id="5788" class="Symbol">}</a> <a id="5790" href="Algebra.Construct.NaturalChoice.MinOp.html#5790" class="Bound">x⊓y≈y</a> <a id="5796" class="Symbol">=</a> <a id="5798" href="Algebra.Construct.NaturalChoice.MinOp.html#5562" class="Function">x⊓y≈x⇒x≤y</a> <a id="5808" class="Symbol">(</a><a id="5809" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="5826" href="Algebra.Construct.NaturalChoice.MinOp.html#5787" class="Bound">y</a> <a id="5828" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="5830" href="Algebra.Construct.NaturalChoice.MinOp.html#5783" class="Bound">x</a> <a id="5833" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5836" href="Algebra.Construct.NaturalChoice.MinOp.html#1732" class="Function">⊓-comm</a> <a id="5843" href="Algebra.Construct.NaturalChoice.MinOp.html#5787" class="Bound">y</a> <a id="5845" href="Algebra.Construct.NaturalChoice.MinOp.html#5783" class="Bound">x</a> <a id="5847" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5851" href="Algebra.Construct.NaturalChoice.MinOp.html#5783" class="Bound">x</a> <a id="5853" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="5855" href="Algebra.Construct.NaturalChoice.MinOp.html#5787" class="Bound">y</a> <a id="5858" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5861" href="Algebra.Construct.NaturalChoice.MinOp.html#5790" class="Bound">x⊓y≈y</a> <a id="5867" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5871" href="Algebra.Construct.NaturalChoice.MinOp.html#5787" class="Bound">y</a> <a id="5878" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a><a id="5879" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="mono-≤-distrib-⊓"></a><a id="5882" href="Algebra.Construct.NaturalChoice.MinOp.html#5882" class="Function">mono-≤-distrib-⊓</a> <a id="5899" class="Symbol">:</a> <a id="5901" class="Symbol">∀</a> <a id="5903" class="Symbol">{</a><a id="5904" href="Algebra.Construct.NaturalChoice.MinOp.html#5904" class="Bound">f</a><a id="5905" class="Symbol">}</a> <a id="5907" class="Symbol">→</a> <a id="5909" href="Algebra.Construct.NaturalChoice.MinOp.html#5904" class="Bound">f</a> <a id="5911" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="5921" href="Relation.Binary.Bundles.html#2954" class="Function Operator">_≈_</a> <a id="5925" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="5927" href="Relation.Binary.Bundles.html#2954" class="Function Operator">_≈_</a> <a id="5931" class="Symbol">→</a> <a id="5933" href="Algebra.Construct.NaturalChoice.MinOp.html#5904" class="Bound">f</a> <a id="5935" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="5945" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="5949" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="5951" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="5955" class="Symbol">→</a>
|
|||
|
<a id="5976" class="Symbol">∀</a> <a id="5978" href="Algebra.Construct.NaturalChoice.MinOp.html#5978" class="Bound">x</a> <a id="5980" href="Algebra.Construct.NaturalChoice.MinOp.html#5980" class="Bound">y</a> <a id="5982" class="Symbol">→</a> <a id="5984" href="Algebra.Construct.NaturalChoice.MinOp.html#5904" class="Bound">f</a> <a id="5986" class="Symbol">(</a><a id="5987" href="Algebra.Construct.NaturalChoice.MinOp.html#5978" class="Bound">x</a> <a id="5989" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="5991" href="Algebra.Construct.NaturalChoice.MinOp.html#5980" class="Bound">y</a><a id="5992" class="Symbol">)</a> <a id="5994" href="Relation.Binary.Bundles.html#2954" class="Function Operator">≈</a> <a id="5996" href="Algebra.Construct.NaturalChoice.MinOp.html#5904" class="Bound">f</a> <a id="5998" href="Algebra.Construct.NaturalChoice.MinOp.html#5978" class="Bound">x</a> <a id="6000" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6002" href="Algebra.Construct.NaturalChoice.MinOp.html#5904" class="Bound">f</a> <a id="6004" href="Algebra.Construct.NaturalChoice.MinOp.html#5980" class="Bound">y</a>
|
|||
|
<a id="6006" href="Algebra.Construct.NaturalChoice.MinOp.html#5882" class="Function">mono-≤-distrib-⊓</a> <a id="6023" class="Symbol">{</a><a id="6024" href="Algebra.Construct.NaturalChoice.MinOp.html#6024" class="Bound">f</a><a id="6025" class="Symbol">}</a> <a id="6027" href="Algebra.Construct.NaturalChoice.MinOp.html#6027" class="Bound">cong</a> <a id="6032" href="Algebra.Construct.NaturalChoice.MinOp.html#6032" class="Bound">mono</a> <a id="6037" href="Algebra.Construct.NaturalChoice.MinOp.html#6037" class="Bound">x</a> <a id="6039" href="Algebra.Construct.NaturalChoice.MinOp.html#6039" class="Bound">y</a> <a id="6041" class="Keyword">with</a> <a id="6046" href="Relation.Binary.Structures.html#3288" class="Function">total</a> <a id="6052" href="Algebra.Construct.NaturalChoice.MinOp.html#6037" class="Bound">x</a> <a id="6054" href="Algebra.Construct.NaturalChoice.MinOp.html#6039" class="Bound">y</a>
|
|||
|
<a id="6056" class="Symbol">...</a> <a id="6060" class="Symbol">|</a> <a id="6062" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6067" href="Algebra.Construct.NaturalChoice.MinOp.html#6067" class="Bound">x≤y</a> <a id="6071" class="Symbol">=</a> <a id="6073" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="6090" class="Bound">f</a> <a id="6092" class="Symbol">(</a><a id="6093" class="Bound">x</a> <a id="6095" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6097" class="Bound">y</a><a id="6098" class="Symbol">)</a> <a id="6101" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6104" class="Bound">cong</a> <a id="6109" class="Symbol">(</a><a id="6110" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="6120" href="Algebra.Construct.NaturalChoice.MinOp.html#6067" class="Bound">x≤y</a><a id="6123" class="Symbol">)</a> <a id="6125" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="6129" class="Bound">f</a> <a id="6131" class="Bound">x</a> <a id="6140" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="6143" href="Algebra.Construct.NaturalChoice.Base.html#1095" class="Field">x≤y⇒x⊓y≈x</a> <a id="6153" class="Symbol">(</a><a id="6154" class="Bound">mono</a> <a id="6159" href="Algebra.Construct.NaturalChoice.MinOp.html#6067" class="Bound">x≤y</a><a id="6162" class="Symbol">)</a> <a id="6164" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="6168" class="Bound">f</a> <a id="6170" class="Bound">x</a> <a id="6172" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6174" class="Bound">f</a> <a id="6176" class="Bound">y</a> <a id="6179" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="6181" class="Symbol">...</a> <a id="6185" class="Symbol">|</a> <a id="6187" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="6192" href="Algebra.Construct.NaturalChoice.MinOp.html#6192" class="Bound">y≤x</a> <a id="6196" class="Symbol">=</a> <a id="6198" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="6215" class="Bound">f</a> <a id="6217" class="Symbol">(</a><a id="6218" class="Bound">x</a> <a id="6220" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6222" class="Bound">y</a><a id="6223" class="Symbol">)</a> <a id="6226" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6229" class="Bound">cong</a> <a id="6234" class="Symbol">(</a><a id="6235" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="6245" href="Algebra.Construct.NaturalChoice.MinOp.html#6192" class="Bound">y≤x</a><a id="6248" class="Symbol">)</a> <a id="6250" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="6254" class="Bound">f</a> <a id="6256" class="Bound">y</a> <a id="6265" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="6268" href="Algebra.Construct.NaturalChoice.Base.html#1141" class="Field">x≥y⇒x⊓y≈y</a> <a id="6278" class="Symbol">(</a><a id="6279" class="Bound">mono</a> <a id="6284" href="Algebra.Construct.NaturalChoice.MinOp.html#6192" class="Bound">y≤x</a><a id="6287" class="Symbol">)</a> <a id="6289" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="6293" class="Bound">f</a> <a id="6295" class="Bound">x</a> <a id="6297" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6299" class="Bound">f</a> <a id="6301" class="Bound">y</a> <a id="6304" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="x≤y⇒x⊓z≤y"></a><a id="6307" href="Algebra.Construct.NaturalChoice.MinOp.html#6307" class="Function">x≤y⇒x⊓z≤y</a> <a id="6317" class="Symbol">:</a> <a id="6319" class="Symbol">∀</a> <a id="6321" class="Symbol">{</a><a id="6322" href="Algebra.Construct.NaturalChoice.MinOp.html#6322" class="Bound">x</a> <a id="6324" href="Algebra.Construct.NaturalChoice.MinOp.html#6324" class="Bound">y</a><a id="6325" class="Symbol">}</a> <a id="6327" href="Algebra.Construct.NaturalChoice.MinOp.html#6327" class="Bound">z</a> <a id="6329" class="Symbol">→</a> <a id="6331" href="Algebra.Construct.NaturalChoice.MinOp.html#6322" class="Bound">x</a> <a id="6333" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="6335" href="Algebra.Construct.NaturalChoice.MinOp.html#6324" class="Bound">y</a> <a id="6337" class="Symbol">→</a> <a id="6339" href="Algebra.Construct.NaturalChoice.MinOp.html#6322" class="Bound">x</a> <a id="6341" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6343" href="Algebra.Construct.NaturalChoice.MinOp.html#6327" class="Bound">z</a> <a id="6345" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="6347" href="Algebra.Construct.NaturalChoice.MinOp.html#6324" class="Bound">y</a>
|
|||
|
<a id="6349" href="Algebra.Construct.NaturalChoice.MinOp.html#6307" class="Function">x≤y⇒x⊓z≤y</a> <a id="6359" href="Algebra.Construct.NaturalChoice.MinOp.html#6359" class="Bound">z</a> <a id="6361" href="Algebra.Construct.NaturalChoice.MinOp.html#6361" class="Bound">x≤y</a> <a id="6365" class="Symbol">=</a> <a id="6367" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="6373" class="Symbol">(</a><a id="6374" href="Algebra.Construct.NaturalChoice.MinOp.html#1304" class="Function">x⊓y≤x</a> <a id="6380" class="Symbol">_</a> <a id="6382" href="Algebra.Construct.NaturalChoice.MinOp.html#6359" class="Bound">z</a><a id="6383" class="Symbol">)</a> <a id="6385" href="Algebra.Construct.NaturalChoice.MinOp.html#6361" class="Bound">x≤y</a>
|
|||
|
|
|||
|
<a id="x≤y⇒z⊓x≤y"></a><a id="6390" href="Algebra.Construct.NaturalChoice.MinOp.html#6390" class="Function">x≤y⇒z⊓x≤y</a> <a id="6400" class="Symbol">:</a> <a id="6402" class="Symbol">∀</a> <a id="6404" class="Symbol">{</a><a id="6405" href="Algebra.Construct.NaturalChoice.MinOp.html#6405" class="Bound">x</a> <a id="6407" href="Algebra.Construct.NaturalChoice.MinOp.html#6407" class="Bound">y</a><a id="6408" class="Symbol">}</a> <a id="6410" href="Algebra.Construct.NaturalChoice.MinOp.html#6410" class="Bound">z</a> <a id="6412" class="Symbol">→</a> <a id="6414" href="Algebra.Construct.NaturalChoice.MinOp.html#6405" class="Bound">x</a> <a id="6416" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="6418" href="Algebra.Construct.NaturalChoice.MinOp.html#6407" class="Bound">y</a> <a id="6420" class="Symbol">→</a> <a id="6422" href="Algebra.Construct.NaturalChoice.MinOp.html#6410" class="Bound">z</a> <a id="6424" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6426" href="Algebra.Construct.NaturalChoice.MinOp.html#6405" class="Bound">x</a> <a id="6428" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="6430" href="Algebra.Construct.NaturalChoice.MinOp.html#6407" class="Bound">y</a>
|
|||
|
<a id="6432" href="Algebra.Construct.NaturalChoice.MinOp.html#6390" class="Function">x≤y⇒z⊓x≤y</a> <a id="6442" href="Algebra.Construct.NaturalChoice.MinOp.html#6442" class="Bound">y</a> <a id="6444" href="Algebra.Construct.NaturalChoice.MinOp.html#6444" class="Bound">x≤y</a> <a id="6448" class="Symbol">=</a> <a id="6450" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="6456" class="Symbol">(</a><a id="6457" href="Algebra.Construct.NaturalChoice.MinOp.html#1469" class="Function">x⊓y≤y</a> <a id="6463" href="Algebra.Construct.NaturalChoice.MinOp.html#6442" class="Bound">y</a> <a id="6465" class="Symbol">_)</a> <a id="6468" href="Algebra.Construct.NaturalChoice.MinOp.html#6444" class="Bound">x≤y</a>
|
|||
|
|
|||
|
<a id="x≤y⊓z⇒x≤y"></a><a id="6473" href="Algebra.Construct.NaturalChoice.MinOp.html#6473" class="Function">x≤y⊓z⇒x≤y</a> <a id="6483" class="Symbol">:</a> <a id="6485" class="Symbol">∀</a> <a id="6487" class="Symbol">{</a><a id="6488" href="Algebra.Construct.NaturalChoice.MinOp.html#6488" class="Bound">x</a><a id="6489" class="Symbol">}</a> <a id="6491" href="Algebra.Construct.NaturalChoice.MinOp.html#6491" class="Bound">y</a> <a id="6493" href="Algebra.Construct.NaturalChoice.MinOp.html#6493" class="Bound">z</a> <a id="6495" class="Symbol">→</a> <a id="6497" href="Algebra.Construct.NaturalChoice.MinOp.html#6488" class="Bound">x</a> <a id="6499" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="6501" href="Algebra.Construct.NaturalChoice.MinOp.html#6491" class="Bound">y</a> <a id="6503" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6505" href="Algebra.Construct.NaturalChoice.MinOp.html#6493" class="Bound">z</a> <a id="6507" class="Symbol">→</a> <a id="6509" href="Algebra.Construct.NaturalChoice.MinOp.html#6488" class="Bound">x</a> <a id="6511" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="6513" href="Algebra.Construct.NaturalChoice.MinOp.html#6491" class="Bound">y</a>
|
|||
|
<a id="6515" href="Algebra.Construct.NaturalChoice.MinOp.html#6473" class="Function">x≤y⊓z⇒x≤y</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" href="Algebra.Construct.NaturalChoice.MinOp.html#6529" class="Bound">x≤y⊓z</a> <a id="6535" class="Symbol">=</a> <a id="6537" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="6543" href="Algebra.Construct.NaturalChoice.MinOp.html#6529" class="Bound">x≤y⊓z</a> <a id="6549" class="Symbol">(</a><a id="6550" href="Algebra.Construct.NaturalChoice.MinOp.html#1304" class="Function">x⊓y≤x</a> <a id="6556" href="Algebra.Construct.NaturalChoice.MinOp.html#6525" class="Bound">y</a> <a id="6558" href="Algebra.Construct.NaturalChoice.MinOp.html#6527" class="Bound">z</a><a id="6559" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="x≤y⊓z⇒x≤z"></a><a id="6562" href="Algebra.Construct.NaturalChoice.MinOp.html#6562" class="Function">x≤y⊓z⇒x≤z</a> <a id="6572" class="Symbol">:</a> <a id="6574" class="Symbol">∀</a> <a id="6576" class="Symbol">{</a><a id="6577" href="Algebra.Construct.NaturalChoice.MinOp.html#6577" class="Bound">x</a><a id="6578" class="Symbol">}</a> <a id="6580" href="Algebra.Construct.NaturalChoice.MinOp.html#6580" class="Bound">y</a> <a id="6582" href="Algebra.Construct.NaturalChoice.MinOp.html#6582" class="Bound">z</a> <a id="6584" class="Symbol">→</a> <a id="6586" href="Algebra.Construct.NaturalChoice.MinOp.html#6577" class="Bound">x</a> <a id="6588" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="6590" href="Algebra.Construct.NaturalChoice.MinOp.html#6580" class="Bound">y</a> <a id="6592" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="6594" href="Algebra.Construct.NaturalChoice.MinOp.html#6582" class="Bound">z</a> <a id="6596" class="Symbol">→</a> <a id="6598" href="Algebra.Construct.NaturalChoice.MinOp.html#6577" class="Bound">x</a> <a id="6600" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="6602" href="Algebra.Construct.NaturalChoice.MinOp.html#6582" class="Bound">z</a>
|
|||
|
<a id="6604" href="Algebra.Construct.NaturalChoice.MinOp.html#6562" class="Function">x≤y⊓z⇒x≤z</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" href="Algebra.Construct.NaturalChoice.MinOp.html#6618" class="Bound">x≤y⊓z</a> <a id="6624" class="Symbol">=</a> <a id="6626" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="6632" href="Algebra.Construct.NaturalChoice.MinOp.html#6618" class="Bound">x≤y⊓z</a> <a id="6638" class="Symbol">(</a><a id="6639" href="Algebra.Construct.NaturalChoice.MinOp.html#1469" class="Function">x⊓y≤y</a> <a id="6645" href="Algebra.Construct.NaturalChoice.MinOp.html#6614" class="Bound">y</a> <a id="6647" href="Algebra.Construct.NaturalChoice.MinOp.html#6616" class="Bound">z</a><a id="6648" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="⊓-mono-≤"></a><a id="6651" href="Algebra.Construct.NaturalChoice.MinOp.html#6651" class="Function">⊓-mono-≤</a> <a id="6660" class="Symbol">:</a> <a id="6662" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓_</a> <a id="6666" href="Relation.Binary.Core.html#1703" class="Function Operator">Preserves₂</a> <a id="6677" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="6681" href="Relation.Binary.Core.html#1703" class="Function Operator">⟶</a> <a id="6683" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="6687" href="Relation.Binary.Core.html#1703" class="Function Operator">⟶</a> <a id="6689" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a>
|
|||
|
<a id="6693" href="Algebra.Construct.NaturalChoice.MinOp.html#6651" class="Function">⊓-mono-≤</a> <a id="6702" class="Symbol">{</a><a id="6703" href="Algebra.Construct.NaturalChoice.MinOp.html#6703" class="Bound">x</a><a id="6704" class="Symbol">}</a> <a id="6706" class="Symbol">{</a><a id="6707" href="Algebra.Construct.NaturalChoice.MinOp.html#6707" class="Bound">y</a><a id="6708" class="Symbol">}</a> <a id="6710" class="Symbol">{</a><a id="6711" href="Algebra.Construct.NaturalChoice.MinOp.html#6711" class="Bound">u</a><a id="6712" class="Symbol">}</a> <a id="6714" class="Symbol">{</a><a id="6715" href="Algebra.Construct.NaturalChoice.MinOp.html#6715" class="Bound">v</a><a id="6716" class="Symbol">}</a> <a id="6718" href="Algebra.Construct.NaturalChoice.MinOp.html#6718" class="Bound">x≤y</a> <a id="6722" href="Algebra.Construct.NaturalChoice.MinOp.html#6722" class="Bound">u≤v</a> <a id="6726" class="Keyword">with</a> <a id="6731" href="Algebra.Construct.NaturalChoice.MinOp.html#3223" class="Function">⊓-sel</a> <a id="6737" href="Algebra.Construct.NaturalChoice.MinOp.html#6707" class="Bound">y</a> <a id="6739" href="Algebra.Construct.NaturalChoice.MinOp.html#6715" class="Bound">v</a>
|
|||
|
<a id="6741" class="Symbol">...</a> <a id="6745" class="Symbol">|</a> <a id="6747" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6752" href="Algebra.Construct.NaturalChoice.MinOp.html#6752" class="Bound">y⊓v≈y</a> <a id="6758" class="Symbol">=</a> <a id="6760" href="Algebra.Construct.NaturalChoice.MinOp.html#1015" class="Function">≤-respʳ-≈</a> <a id="6770" class="Symbol">(</a><a id="6771" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="6778" href="Algebra.Construct.NaturalChoice.MinOp.html#6752" class="Bound">y⊓v≈y</a><a id="6783" class="Symbol">)</a> <a id="6785" class="Symbol">(</a><a id="6786" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="6792" class="Symbol">(</a><a id="6793" href="Algebra.Construct.NaturalChoice.MinOp.html#1304" class="Function">x⊓y≤x</a> <a id="6799" class="Bound">x</a> <a id="6801" class="Bound">u</a><a id="6802" class="Symbol">)</a> <a id="6804" class="Bound">x≤y</a><a id="6807" class="Symbol">)</a>
|
|||
|
<a id="6809" class="Symbol">...</a> <a id="6813" class="Symbol">|</a> <a id="6815" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="6820" href="Algebra.Construct.NaturalChoice.MinOp.html#6820" class="Bound">y⊓v≈v</a> <a id="6826" class="Symbol">=</a> <a id="6828" href="Algebra.Construct.NaturalChoice.MinOp.html#1015" class="Function">≤-respʳ-≈</a> <a id="6838" class="Symbol">(</a><a id="6839" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="6846" href="Algebra.Construct.NaturalChoice.MinOp.html#6820" class="Bound">y⊓v≈v</a><a id="6851" class="Symbol">)</a> <a id="6853" class="Symbol">(</a><a id="6854" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="6860" class="Symbol">(</a><a id="6861" href="Algebra.Construct.NaturalChoice.MinOp.html#1469" class="Function">x⊓y≤y</a> <a id="6867" class="Bound">x</a> <a id="6869" class="Bound">u</a><a id="6870" class="Symbol">)</a> <a id="6872" class="Bound">u≤v</a><a id="6875" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="⊓-monoˡ-≤"></a><a id="6878" href="Algebra.Construct.NaturalChoice.MinOp.html#6878" class="Function">⊓-monoˡ-≤</a> <a id="6888" class="Symbol">:</a> <a id="6890" class="Symbol">∀</a> <a id="6892" href="Algebra.Construct.NaturalChoice.MinOp.html#6892" class="Bound">x</a> <a id="6894" class="Symbol">→</a> <a id="6896" class="Symbol">(</a><a id="6897" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">_⊓</a> <a id="6900" href="Algebra.Construct.NaturalChoice.MinOp.html#6892" class="Bound">x</a><a id="6901" class="Symbol">)</a> <a id="6903" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="6913" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="6917" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="6919" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a>
|
|||
|
<a id="6923" href="Algebra.Construct.NaturalChoice.MinOp.html#6878" class="Function">⊓-monoˡ-≤</a> <a id="6933" href="Algebra.Construct.NaturalChoice.MinOp.html#6933" class="Bound">x</a> <a id="6935" href="Algebra.Construct.NaturalChoice.MinOp.html#6935" class="Bound">y≤z</a> <a id="6939" class="Symbol">=</a> <a id="6941" href="Algebra.Construct.NaturalChoice.MinOp.html#6651" class="Function">⊓-mono-≤</a> <a id="6950" href="Algebra.Construct.NaturalChoice.MinOp.html#6935" class="Bound">y≤z</a> <a id="6954" class="Symbol">(</a><a id="6955" href="Relation.Binary.Structures.html#2466" class="Function">refl</a> <a id="6960" class="Symbol">{</a><a id="6961" href="Algebra.Construct.NaturalChoice.MinOp.html#6933" class="Bound">x</a><a id="6962" class="Symbol">})</a>
|
|||
|
|
|||
|
<a id="⊓-monoʳ-≤"></a><a id="6966" href="Algebra.Construct.NaturalChoice.MinOp.html#6966" class="Function">⊓-monoʳ-≤</a> <a id="6976" class="Symbol">:</a> <a id="6978" class="Symbol">∀</a> <a id="6980" href="Algebra.Construct.NaturalChoice.MinOp.html#6980" class="Bound">x</a> <a id="6982" class="Symbol">→</a> <a id="6984" class="Symbol">(</a><a id="6985" href="Algebra.Construct.NaturalChoice.MinOp.html#6980" class="Bound">x</a> <a id="6987" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓_</a><a id="6989" class="Symbol">)</a> <a id="6991" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="7001" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a> <a id="7005" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="7007" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">_≤_</a>
|
|||
|
<a id="7011" href="Algebra.Construct.NaturalChoice.MinOp.html#6966" class="Function">⊓-monoʳ-≤</a> <a id="7021" href="Algebra.Construct.NaturalChoice.MinOp.html#7021" class="Bound">x</a> <a id="7023" href="Algebra.Construct.NaturalChoice.MinOp.html#7023" class="Bound">y≤z</a> <a id="7027" class="Symbol">=</a> <a id="7029" href="Algebra.Construct.NaturalChoice.MinOp.html#6651" class="Function">⊓-mono-≤</a> <a id="7038" class="Symbol">(</a><a id="7039" href="Relation.Binary.Structures.html#2466" class="Function">refl</a> <a id="7044" class="Symbol">{</a><a id="7045" href="Algebra.Construct.NaturalChoice.MinOp.html#7021" class="Bound">x</a><a id="7046" class="Symbol">})</a> <a id="7049" href="Algebra.Construct.NaturalChoice.MinOp.html#7023" class="Bound">y≤z</a>
|
|||
|
|
|||
|
<a id="⊓-glb"></a><a id="7054" href="Algebra.Construct.NaturalChoice.MinOp.html#7054" class="Function">⊓-glb</a> <a id="7060" class="Symbol">:</a> <a id="7062" class="Symbol">∀</a> <a id="7064" class="Symbol">{</a><a id="7065" href="Algebra.Construct.NaturalChoice.MinOp.html#7065" class="Bound">x</a> <a id="7067" href="Algebra.Construct.NaturalChoice.MinOp.html#7067" class="Bound">y</a> <a id="7069" href="Algebra.Construct.NaturalChoice.MinOp.html#7069" class="Bound">z</a><a id="7070" class="Symbol">}</a> <a id="7072" class="Symbol">→</a> <a id="7074" href="Algebra.Construct.NaturalChoice.MinOp.html#7065" class="Bound">x</a> <a id="7076" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="7078" href="Algebra.Construct.NaturalChoice.MinOp.html#7067" class="Bound">y</a> <a id="7080" class="Symbol">→</a> <a id="7082" href="Algebra.Construct.NaturalChoice.MinOp.html#7065" class="Bound">x</a> <a id="7084" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="7086" href="Algebra.Construct.NaturalChoice.MinOp.html#7069" class="Bound">z</a> <a id="7088" class="Symbol">→</a> <a id="7090" href="Algebra.Construct.NaturalChoice.MinOp.html#7065" class="Bound">x</a> <a id="7092" href="Algebra.Construct.NaturalChoice.MinOp.html#968" class="Function Operator">≤</a> <a id="7094" href="Algebra.Construct.NaturalChoice.MinOp.html#7067" class="Bound">y</a> <a id="7096" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7098" href="Algebra.Construct.NaturalChoice.MinOp.html#7069" class="Bound">z</a>
|
|||
|
<a id="7100" href="Algebra.Construct.NaturalChoice.MinOp.html#7054" class="Function">⊓-glb</a> <a id="7106" class="Symbol">{</a><a id="7107" href="Algebra.Construct.NaturalChoice.MinOp.html#7107" class="Bound">x</a><a id="7108" class="Symbol">}</a> <a id="7110" href="Algebra.Construct.NaturalChoice.MinOp.html#7110" class="Bound">x≤y</a> <a id="7114" href="Algebra.Construct.NaturalChoice.MinOp.html#7114" class="Bound">x≤z</a> <a id="7118" class="Symbol">=</a> <a id="7120" href="Algebra.Construct.NaturalChoice.MinOp.html#1042" class="Function">≤-respˡ-≈</a> <a id="7130" class="Symbol">(</a><a id="7131" href="Algebra.Construct.NaturalChoice.MinOp.html#3166" class="Function">⊓-idem</a> <a id="7138" href="Algebra.Construct.NaturalChoice.MinOp.html#7107" class="Bound">x</a><a id="7139" class="Symbol">)</a> <a id="7141" class="Symbol">(</a><a id="7142" href="Algebra.Construct.NaturalChoice.MinOp.html#6651" class="Function">⊓-mono-≤</a> <a id="7151" href="Algebra.Construct.NaturalChoice.MinOp.html#7110" class="Bound">x≤y</a> <a id="7155" href="Algebra.Construct.NaturalChoice.MinOp.html#7114" class="Bound">x≤z</a><a id="7158" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="⊓-triangulate"></a><a id="7161" href="Algebra.Construct.NaturalChoice.MinOp.html#7161" class="Function">⊓-triangulate</a> <a id="7175" class="Symbol">:</a> <a id="7177" class="Symbol">∀</a> <a id="7179" href="Algebra.Construct.NaturalChoice.MinOp.html#7179" class="Bound">x</a> <a id="7181" href="Algebra.Construct.NaturalChoice.MinOp.html#7181" class="Bound">y</a> <a id="7183" href="Algebra.Construct.NaturalChoice.MinOp.html#7183" class="Bound">z</a> <a id="7185" class="Symbol">→</a> <a id="7187" href="Algebra.Construct.NaturalChoice.MinOp.html#7179" class="Bound">x</a> <a id="7189" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7191" href="Algebra.Construct.NaturalChoice.MinOp.html#7181" class="Bound">y</a> <a id="7193" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7195" href="Algebra.Construct.NaturalChoice.MinOp.html#7183" class="Bound">z</a> <a id="7197" href="Relation.Binary.Bundles.html#2954" class="Function Operator">≈</a> <a id="7199" class="Symbol">(</a><a id="7200" href="Algebra.Construct.NaturalChoice.MinOp.html#7179" class="Bound">x</a> <a id="7202" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7204" href="Algebra.Construct.NaturalChoice.MinOp.html#7181" class="Bound">y</a><a id="7205" class="Symbol">)</a> <a id="7207" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7209" class="Symbol">(</a><a id="7210" href="Algebra.Construct.NaturalChoice.MinOp.html#7181" class="Bound">y</a> <a id="7212" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7214" href="Algebra.Construct.NaturalChoice.MinOp.html#7183" class="Bound">z</a><a id="7215" class="Symbol">)</a>
|
|||
|
<a id="7217" href="Algebra.Construct.NaturalChoice.MinOp.html#7161" class="Function">⊓-triangulate</a> <a id="7231" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7233" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7235" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a> <a id="7237" class="Symbol">=</a> <a id="7239" href="Relation.Binary.Reasoning.Syntax.html#2557" class="Function Operator">begin-equality</a>
|
|||
|
<a id="7256" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7258" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7260" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7262" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7264" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a> <a id="7276" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="7279" href="Algebra.Construct.NaturalChoice.MinOp.html#2241" class="Function">⊓-congʳ</a> <a id="7287" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a> <a id="7289" class="Symbol">(</a><a id="7290" href="Algebra.Construct.NaturalChoice.MinOp.html#1918" class="Function">⊓-congˡ</a> <a id="7298" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7300" class="Symbol">(</a><a id="7301" href="Algebra.Construct.NaturalChoice.MinOp.html#3166" class="Function">⊓-idem</a> <a id="7308" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a><a id="7309" class="Symbol">))</a> <a id="7312" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="7316" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7318" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7320" class="Symbol">(</a><a id="7321" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7323" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7325" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a><a id="7326" class="Symbol">)</a> <a id="7328" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7330" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a> <a id="7336" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7340" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a> <a id="7348" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7350" class="Symbol">_</a> <a id="7352" class="Symbol">_</a> <a id="7354" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="7358" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7360" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7362" class="Symbol">((</a><a id="7364" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7366" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7368" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a><a id="7369" class="Symbol">)</a> <a id="7371" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7373" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a><a id="7374" class="Symbol">)</a> <a id="7378" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7382" href="Algebra.Construct.NaturalChoice.MinOp.html#1918" class="Function">⊓-congˡ</a> <a id="7390" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7392" class="Symbol">(</a><a id="7393" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a> <a id="7401" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7403" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7405" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a><a id="7406" class="Symbol">)</a> <a id="7408" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="7412" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7414" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7416" class="Symbol">(</a><a id="7417" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7419" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7421" class="Symbol">(</a><a id="7422" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7424" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7426" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a><a id="7427" class="Symbol">))</a> <a id="7432" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">≈⟨</a> <a id="7435" href="Algebra.Construct.NaturalChoice.MinOp.html#2531" class="Function">⊓-assoc</a> <a id="7443" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7445" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7447" class="Symbol">(</a><a id="7448" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7450" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7452" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a><a id="7453" class="Symbol">)</a> <a id="7455" href="Relation.Binary.Reasoning.Syntax.html#7074" class="Function">⟨</a>
|
|||
|
<a id="7459" class="Symbol">(</a><a id="7460" href="Algebra.Construct.NaturalChoice.MinOp.html#7231" class="Bound">x</a> <a id="7462" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7464" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a><a id="7465" class="Symbol">)</a> <a id="7467" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7469" class="Symbol">(</a><a id="7470" href="Algebra.Construct.NaturalChoice.MinOp.html#7233" class="Bound">y</a> <a id="7472" href="Algebra.Construct.NaturalChoice.Base.html#1065" class="Field Operator">⊓</a> <a id="7474" href="Algebra.Construct.NaturalChoice.MinOp.html#7235" class="Bound">z</a><a id="7475" class="Symbol">)</a> <a id="7479" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
</pre></body></html>
|