mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
237 lines
57 KiB
HTML
237 lines
57 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Algebra.Properties.Lattice</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="74" class="Comment">-- The Agda standard library</a>
|
|||
|
<a id="103" class="Comment">--</a>
|
|||
|
<a id="106" class="Comment">-- Some derivable properties</a>
|
|||
|
<a id="135" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="209" class="Symbol">{-#</a> <a id="213" class="Keyword">OPTIONS</a> <a id="221" class="Pragma">--cubical-compatible</a> <a id="242" class="Pragma">--safe</a> <a id="249" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="254" class="Keyword">open</a> <a id="259" class="Keyword">import</a> <a id="266" href="Algebra.Bundles.html" class="Module">Algebra.Bundles</a>
|
|||
|
|
|||
|
<a id="283" class="Keyword">module</a> <a id="290" href="Algebra.Properties.Lattice.html" class="Module">Algebra.Properties.Lattice</a> <a id="317" class="Symbol">{</a><a id="318" href="Algebra.Properties.Lattice.html#318" class="Bound">l₁</a> <a id="321" href="Algebra.Properties.Lattice.html#321" class="Bound">l₂</a><a id="323" class="Symbol">}</a> <a id="325" class="Symbol">(</a><a id="326" href="Algebra.Properties.Lattice.html#326" class="Bound">L</a> <a id="328" class="Symbol">:</a> <a id="330" href="Algebra.Bundles.html#9170" class="Record">Lattice</a> <a id="338" href="Algebra.Properties.Lattice.html#318" class="Bound">l₁</a> <a id="341" href="Algebra.Properties.Lattice.html#321" class="Bound">l₂</a><a id="343" class="Symbol">)</a> <a id="345" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="352" class="Keyword">open</a> <a id="357" href="Algebra.Bundles.html#9170" class="Module">Lattice</a> <a id="365" href="Algebra.Properties.Lattice.html#326" class="Bound">L</a>
|
|||
|
<a id="367" class="Keyword">open</a> <a id="372" class="Keyword">import</a> <a id="379" href="Algebra.Structures.html" class="Module">Algebra.Structures</a> <a id="398" href="Algebra.Bundles.html#9287" class="Field Operator">_≈_</a>
|
|||
|
<a id="402" class="Keyword">open</a> <a id="407" class="Keyword">import</a> <a id="414" href="Algebra.Definitions.html" class="Module">Algebra.Definitions</a> <a id="434" href="Algebra.Bundles.html#9287" class="Field Operator">_≈_</a>
|
|||
|
<a id="438" class="Keyword">import</a> <a id="445" href="Algebra.Properties.Semilattice.html" class="Module">Algebra.Properties.Semilattice</a> <a id="476" class="Symbol">as</a> <a id="479" class="Module">SemilatticeProperties</a>
|
|||
|
<a id="501" class="Keyword">open</a> <a id="506" class="Keyword">import</a> <a id="513" href="Relation.Binary.html" class="Module">Relation.Binary</a>
|
|||
|
<a id="529" class="Keyword">import</a> <a id="536" href="Relation.Binary.Lattice.html" class="Module">Relation.Binary.Lattice</a> <a id="560" class="Symbol">as</a> <a id="563" class="Module">R</a>
|
|||
|
<a id="565" class="Keyword">open</a> <a id="570" class="Keyword">import</a> <a id="577" href="Relation.Binary.Reasoning.Setoid.html" class="Module">Relation.Binary.Reasoning.Setoid</a> <a id="611" href="Algebra.Bundles.html#9620" class="Function">setoid</a>
|
|||
|
<a id="618" class="Keyword">open</a> <a id="623" class="Keyword">import</a> <a id="630" href="Function.Base.html" class="Module">Function.Base</a>
|
|||
|
<a id="644" class="Keyword">open</a> <a id="649" class="Keyword">import</a> <a id="656" href="Function.Equality.html" class="Module">Function.Equality</a> <a id="674" class="Keyword">using</a> <a id="680" class="Symbol">(</a><a id="681" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a><a id="686" class="Symbol">)</a>
|
|||
|
<a id="688" class="Keyword">open</a> <a id="693" class="Keyword">import</a> <a id="700" href="Function.Equivalence.html" class="Module">Function.Equivalence</a> <a id="721" class="Keyword">using</a> <a id="727" class="Symbol">(</a><a id="728" href="Function.Equivalence.html#1213" class="Function Operator">_⇔_</a><a id="731" class="Symbol">;</a> <a id="733" class="Keyword">module</a> <a id="740" href="Function.Equivalence.html#838" class="Module">Equivalence</a><a id="751" class="Symbol">)</a>
|
|||
|
<a id="753" class="Keyword">open</a> <a id="758" class="Keyword">import</a> <a id="765" href="Data.Product.html" class="Module">Data.Product</a> <a id="778" class="Keyword">using</a> <a id="784" class="Symbol">(</a><a id="785" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="788" class="Symbol">;</a> <a id="790" href="Data.Product.html#5326" class="Function">swap</a><a id="794" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="797" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="870" class="Comment">-- _∧_ is a semilattice</a>
|
|||
|
|
|||
|
<a id="∧-idem"></a><a id="895" href="Algebra.Properties.Lattice.html#895" class="Function">∧-idem</a> <a id="902" class="Symbol">:</a> <a id="904" href="Algebra.Definitions.html#2656" class="Function">Idempotent</a> <a id="915" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
|
|||
|
<a id="919" href="Algebra.Properties.Lattice.html#895" class="Function">∧-idem</a> <a id="926" href="Algebra.Properties.Lattice.html#926" class="Bound">x</a> <a id="928" class="Symbol">=</a> <a id="930" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="938" href="Algebra.Properties.Lattice.html#926" class="Bound">x</a> <a id="940" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="942" href="Algebra.Properties.Lattice.html#926" class="Bound">x</a> <a id="955" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="958" href="Algebra.Structures.html#6627" class="Function">∧-congˡ</a> <a id="966" class="Symbol">(</a><a id="967" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="971" class="Symbol">(</a><a id="972" href="Algebra.Structures.html#6503" class="Function">∨-absorbs-∧</a> <a id="984" class="Symbol">_</a> <a id="986" class="Symbol">_))</a> <a id="990" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="994" href="Algebra.Properties.Lattice.html#926" class="Bound">x</a> <a id="996" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="998" class="Symbol">(</a><a id="999" href="Algebra.Properties.Lattice.html#926" class="Bound">x</a> <a id="1001" href="Algebra.Bundles.html#9317" class="Field Operator">∨</a> <a id="1003" href="Algebra.Properties.Lattice.html#926" class="Bound">x</a> <a id="1005" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="1007" href="Algebra.Properties.Lattice.html#926" class="Bound">x</a><a id="1008" class="Symbol">)</a> <a id="1011" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1014" href="Algebra.Structures.html#6565" class="Function">∧-absorbs-∨</a> <a id="1026" class="Symbol">_</a> <a id="1028" class="Symbol">_</a> <a id="1030" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="1034" href="Algebra.Properties.Lattice.html#926" class="Bound">x</a> <a id="1051" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="∧-isMagma"></a><a id="1054" href="Algebra.Properties.Lattice.html#1054" class="Function">∧-isMagma</a> <a id="1064" class="Symbol">:</a> <a id="1066" href="Algebra.Structures.html#1129" class="Record">IsMagma</a> <a id="1074" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
|
|||
|
<a id="1078" href="Algebra.Properties.Lattice.html#1054" class="Function">∧-isMagma</a> <a id="1088" class="Symbol">=</a> <a id="1090" class="Keyword">record</a>
|
|||
|
<a id="1099" class="Symbol">{</a> <a id="1101" href="Algebra.Structures.html#1181" class="Field">isEquivalence</a> <a id="1115" class="Symbol">=</a> <a id="1117" href="Algebra.Structures.html#6186" class="Function">isEquivalence</a>
|
|||
|
<a id="1133" class="Symbol">;</a> <a id="1135" href="Algebra.Structures.html#1219" class="Field">∙-cong</a> <a id="1149" class="Symbol">=</a> <a id="1151" href="Algebra.Structures.html#6393" class="Function">∧-cong</a>
|
|||
|
<a id="1160" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∧-isSemigroup"></a><a id="1163" href="Algebra.Properties.Lattice.html#1163" class="Function">∧-isSemigroup</a> <a id="1177" class="Symbol">:</a> <a id="1179" href="Algebra.Structures.html#1796" class="Record">IsSemigroup</a> <a id="1191" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
|
|||
|
<a id="1195" href="Algebra.Properties.Lattice.html#1163" class="Function">∧-isSemigroup</a> <a id="1209" class="Symbol">=</a> <a id="1211" class="Keyword">record</a>
|
|||
|
<a id="1220" class="Symbol">{</a> <a id="1222" href="Algebra.Structures.html#1852" class="Field">isMagma</a> <a id="1230" class="Symbol">=</a> <a id="1232" href="Algebra.Properties.Lattice.html#1054" class="Function">∧-isMagma</a>
|
|||
|
<a id="1244" class="Symbol">;</a> <a id="1246" href="Algebra.Structures.html#1876" class="Field">assoc</a> <a id="1254" class="Symbol">=</a> <a id="1256" href="Algebra.Structures.html#6359" class="Function">∧-assoc</a>
|
|||
|
<a id="1266" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∧-isBand"></a><a id="1269" href="Algebra.Properties.Lattice.html#1269" class="Function">∧-isBand</a> <a id="1278" class="Symbol">:</a> <a id="1280" href="Algebra.Structures.html#1940" class="Record">IsBand</a> <a id="1287" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
|
|||
|
<a id="1291" href="Algebra.Properties.Lattice.html#1269" class="Function">∧-isBand</a> <a id="1300" class="Symbol">=</a> <a id="1302" class="Keyword">record</a>
|
|||
|
<a id="1311" class="Symbol">{</a> <a id="1313" href="Algebra.Structures.html#1991" class="Field">isSemigroup</a> <a id="1325" class="Symbol">=</a> <a id="1327" href="Algebra.Properties.Lattice.html#1163" class="Function">∧-isSemigroup</a>
|
|||
|
<a id="1343" class="Symbol">;</a> <a id="1345" href="Algebra.Structures.html#2023" class="Field">idem</a> <a id="1357" class="Symbol">=</a> <a id="1359" href="Algebra.Properties.Lattice.html#895" class="Function">∧-idem</a>
|
|||
|
<a id="1368" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∧-isSemilattice"></a><a id="1371" href="Algebra.Properties.Lattice.html#1371" class="Function">∧-isSemilattice</a> <a id="1387" class="Symbol">:</a> <a id="1389" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="1403" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
|
|||
|
<a id="1407" href="Algebra.Properties.Lattice.html#1371" class="Function">∧-isSemilattice</a> <a id="1423" class="Symbol">=</a> <a id="1425" class="Keyword">record</a>
|
|||
|
<a id="1434" class="Symbol">{</a> <a id="1436" href="Algebra.Structures.html#2457" class="Field">isBand</a> <a id="1443" class="Symbol">=</a> <a id="1445" href="Algebra.Properties.Lattice.html#1269" class="Function">∧-isBand</a>
|
|||
|
<a id="1456" class="Symbol">;</a> <a id="1458" href="Algebra.Structures.html#2479" class="Field">comm</a> <a id="1465" class="Symbol">=</a> <a id="1467" href="Algebra.Structures.html#6325" class="Function">∧-comm</a>
|
|||
|
<a id="1476" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∧-semilattice"></a><a id="1479" href="Algebra.Properties.Lattice.html#1479" class="Function">∧-semilattice</a> <a id="1493" class="Symbol">:</a> <a id="1495" href="Algebra.Bundles.html#3482" class="Record">Semilattice</a> <a id="1507" href="Algebra.Properties.Lattice.html#318" class="Bound">l₁</a> <a id="1510" href="Algebra.Properties.Lattice.html#321" class="Bound">l₂</a>
|
|||
|
<a id="1513" href="Algebra.Properties.Lattice.html#1479" class="Function">∧-semilattice</a> <a id="1527" class="Symbol">=</a> <a id="1529" class="Keyword">record</a>
|
|||
|
<a id="1538" class="Symbol">{</a> <a id="1540" href="Algebra.Bundles.html#3658" class="Field">isSemilattice</a> <a id="1554" class="Symbol">=</a> <a id="1556" href="Algebra.Properties.Lattice.html#1371" class="Function">∧-isSemilattice</a>
|
|||
|
<a id="1574" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="1577" class="Keyword">open</a> <a id="1582" href="Algebra.Properties.Semilattice.html" class="Module">SemilatticeProperties</a> <a id="1604" href="Algebra.Properties.Lattice.html#1479" class="Function">∧-semilattice</a> <a id="1618" class="Keyword">public</a>
|
|||
|
<a id="1627" class="Keyword">using</a>
|
|||
|
<a id="1635" class="Symbol">(</a> <a id="1637" href="Algebra.Properties.Semilattice.html#1222" class="Function">∧-isOrderTheoreticMeetSemilattice</a>
|
|||
|
<a id="1673" class="Symbol">;</a> <a id="1675" href="Algebra.Properties.Semilattice.html#1432" class="Function">∧-isOrderTheoreticJoinSemilattice</a>
|
|||
|
<a id="1711" class="Symbol">;</a> <a id="1713" href="Algebra.Properties.Semilattice.html#1688" class="Function">∧-orderTheoreticMeetSemilattice</a>
|
|||
|
<a id="1747" class="Symbol">;</a> <a id="1749" href="Algebra.Properties.Semilattice.html#1848" class="Function">∧-orderTheoreticJoinSemilattice</a>
|
|||
|
<a id="1783" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="1786" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1859" class="Comment">-- _∨_ is a semilattice</a>
|
|||
|
|
|||
|
<a id="∨-idem"></a><a id="1884" href="Algebra.Properties.Lattice.html#1884" class="Function">∨-idem</a> <a id="1891" class="Symbol">:</a> <a id="1893" href="Algebra.Definitions.html#2656" class="Function">Idempotent</a> <a id="1904" href="Algebra.Bundles.html#9317" class="Field Operator">_∨_</a>
|
|||
|
<a id="1908" href="Algebra.Properties.Lattice.html#1884" class="Function">∨-idem</a> <a id="1915" href="Algebra.Properties.Lattice.html#1915" class="Bound">x</a> <a id="1917" class="Symbol">=</a> <a id="1919" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="1927" href="Algebra.Properties.Lattice.html#1915" class="Bound">x</a> <a id="1929" href="Algebra.Bundles.html#9317" class="Field Operator">∨</a> <a id="1931" href="Algebra.Properties.Lattice.html#1915" class="Bound">x</a> <a id="1938" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1941" href="Algebra.Structures.html#6750" class="Function">∨-congˡ</a> <a id="1949" class="Symbol">(</a><a id="1950" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="1954" class="Symbol">(</a><a id="1955" href="Algebra.Properties.Lattice.html#895" class="Function">∧-idem</a> <a id="1962" class="Symbol">_))</a> <a id="1966" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="1970" href="Algebra.Properties.Lattice.html#1915" class="Bound">x</a> <a id="1972" href="Algebra.Bundles.html#9317" class="Field Operator">∨</a> <a id="1974" href="Algebra.Properties.Lattice.html#1915" class="Bound">x</a> <a id="1976" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="1978" href="Algebra.Properties.Lattice.html#1915" class="Bound">x</a> <a id="1981" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1984" href="Algebra.Structures.html#6503" class="Function">∨-absorbs-∧</a> <a id="1996" class="Symbol">_</a> <a id="1998" class="Symbol">_</a> <a id="2000" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2004" href="Algebra.Properties.Lattice.html#1915" class="Bound">x</a> <a id="2015" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="∨-isMagma"></a><a id="2018" href="Algebra.Properties.Lattice.html#2018" class="Function">∨-isMagma</a> <a id="2028" class="Symbol">:</a> <a id="2030" href="Algebra.Structures.html#1129" class="Record">IsMagma</a> <a id="2038" href="Algebra.Bundles.html#9317" class="Field Operator">_∨_</a>
|
|||
|
<a id="2042" href="Algebra.Properties.Lattice.html#2018" class="Function">∨-isMagma</a> <a id="2052" class="Symbol">=</a> <a id="2054" class="Keyword">record</a>
|
|||
|
<a id="2063" class="Symbol">{</a> <a id="2065" href="Algebra.Structures.html#1181" class="Field">isEquivalence</a> <a id="2079" class="Symbol">=</a> <a id="2081" href="Algebra.Structures.html#6186" class="Function">isEquivalence</a>
|
|||
|
<a id="2097" class="Symbol">;</a> <a id="2099" href="Algebra.Structures.html#1219" class="Field">∙-cong</a> <a id="2113" class="Symbol">=</a> <a id="2115" href="Algebra.Structures.html#6292" class="Function">∨-cong</a>
|
|||
|
<a id="2124" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∨-isSemigroup"></a><a id="2127" href="Algebra.Properties.Lattice.html#2127" class="Function">∨-isSemigroup</a> <a id="2141" class="Symbol">:</a> <a id="2143" href="Algebra.Structures.html#1796" class="Record">IsSemigroup</a> <a id="2155" href="Algebra.Bundles.html#9317" class="Field Operator">_∨_</a>
|
|||
|
<a id="2159" href="Algebra.Properties.Lattice.html#2127" class="Function">∨-isSemigroup</a> <a id="2173" class="Symbol">=</a> <a id="2175" class="Keyword">record</a>
|
|||
|
<a id="2184" class="Symbol">{</a> <a id="2186" href="Algebra.Structures.html#1852" class="Field">isMagma</a> <a id="2194" class="Symbol">=</a> <a id="2196" href="Algebra.Properties.Lattice.html#2018" class="Function">∨-isMagma</a>
|
|||
|
<a id="2208" class="Symbol">;</a> <a id="2210" href="Algebra.Structures.html#1876" class="Field">assoc</a> <a id="2218" class="Symbol">=</a> <a id="2220" href="Algebra.Structures.html#6258" class="Function">∨-assoc</a>
|
|||
|
<a id="2230" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∨-isBand"></a><a id="2233" href="Algebra.Properties.Lattice.html#2233" class="Function">∨-isBand</a> <a id="2242" class="Symbol">:</a> <a id="2244" href="Algebra.Structures.html#1940" class="Record">IsBand</a> <a id="2251" href="Algebra.Bundles.html#9317" class="Field Operator">_∨_</a>
|
|||
|
<a id="2255" href="Algebra.Properties.Lattice.html#2233" class="Function">∨-isBand</a> <a id="2264" class="Symbol">=</a> <a id="2266" class="Keyword">record</a>
|
|||
|
<a id="2275" class="Symbol">{</a> <a id="2277" href="Algebra.Structures.html#1991" class="Field">isSemigroup</a> <a id="2289" class="Symbol">=</a> <a id="2291" href="Algebra.Properties.Lattice.html#2127" class="Function">∨-isSemigroup</a>
|
|||
|
<a id="2307" class="Symbol">;</a> <a id="2309" href="Algebra.Structures.html#2023" class="Field">idem</a> <a id="2321" class="Symbol">=</a> <a id="2323" href="Algebra.Properties.Lattice.html#1884" class="Function">∨-idem</a>
|
|||
|
<a id="2332" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∨-isSemilattice"></a><a id="2335" href="Algebra.Properties.Lattice.html#2335" class="Function">∨-isSemilattice</a> <a id="2351" class="Symbol">:</a> <a id="2353" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="2367" href="Algebra.Bundles.html#9317" class="Field Operator">_∨_</a>
|
|||
|
<a id="2371" href="Algebra.Properties.Lattice.html#2335" class="Function">∨-isSemilattice</a> <a id="2387" class="Symbol">=</a> <a id="2389" class="Keyword">record</a>
|
|||
|
<a id="2398" class="Symbol">{</a> <a id="2400" href="Algebra.Structures.html#2457" class="Field">isBand</a> <a id="2407" class="Symbol">=</a> <a id="2409" href="Algebra.Properties.Lattice.html#2233" class="Function">∨-isBand</a>
|
|||
|
<a id="2420" class="Symbol">;</a> <a id="2422" href="Algebra.Structures.html#2479" class="Field">comm</a> <a id="2429" class="Symbol">=</a> <a id="2431" href="Algebra.Structures.html#6224" class="Function">∨-comm</a>
|
|||
|
<a id="2440" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∨-semilattice"></a><a id="2443" href="Algebra.Properties.Lattice.html#2443" class="Function">∨-semilattice</a> <a id="2457" class="Symbol">:</a> <a id="2459" href="Algebra.Bundles.html#3482" class="Record">Semilattice</a> <a id="2471" href="Algebra.Properties.Lattice.html#318" class="Bound">l₁</a> <a id="2474" href="Algebra.Properties.Lattice.html#321" class="Bound">l₂</a>
|
|||
|
<a id="2477" href="Algebra.Properties.Lattice.html#2443" class="Function">∨-semilattice</a> <a id="2491" class="Symbol">=</a> <a id="2493" class="Keyword">record</a>
|
|||
|
<a id="2502" class="Symbol">{</a> <a id="2504" href="Algebra.Bundles.html#3658" class="Field">isSemilattice</a> <a id="2518" class="Symbol">=</a> <a id="2520" href="Algebra.Properties.Lattice.html#2335" class="Function">∨-isSemilattice</a>
|
|||
|
<a id="2538" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="2541" class="Keyword">open</a> <a id="2546" href="Algebra.Properties.Semilattice.html" class="Module">SemilatticeProperties</a> <a id="2568" href="Algebra.Properties.Lattice.html#2443" class="Function">∨-semilattice</a> <a id="2582" class="Keyword">public</a>
|
|||
|
<a id="2591" class="Keyword">using</a> <a id="2597" class="Symbol">()</a>
|
|||
|
<a id="2602" class="Keyword">renaming</a>
|
|||
|
<a id="2613" class="Symbol">(</a> <a id="2615" href="Algebra.Properties.Semilattice.html#1222" class="Function">∧-isOrderTheoreticMeetSemilattice</a> <a id="2649" class="Symbol">to</a> <a id="2652" class="Function">∨-isOrderTheoreticMeetSemilattice</a>
|
|||
|
<a id="2688" class="Symbol">;</a> <a id="2690" href="Algebra.Properties.Semilattice.html#1432" class="Function">∧-isOrderTheoreticJoinSemilattice</a> <a id="2724" class="Symbol">to</a> <a id="2727" class="Function">∨-isOrderTheoreticJoinSemilattice</a>
|
|||
|
<a id="2763" class="Symbol">;</a> <a id="2765" href="Algebra.Properties.Semilattice.html#1688" class="Function">∧-orderTheoreticMeetSemilattice</a> <a id="2799" class="Symbol">to</a> <a id="2802" class="Function">∨-orderTheoreticMeetSemilattice</a>
|
|||
|
<a id="2836" class="Symbol">;</a> <a id="2838" href="Algebra.Properties.Semilattice.html#1848" class="Function">∧-orderTheoreticJoinSemilattice</a> <a id="2872" class="Symbol">to</a> <a id="2875" class="Function">∨-orderTheoreticJoinSemilattice</a>
|
|||
|
<a id="2909" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2912" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="2985" class="Comment">-- The dual construction is also a lattice.</a>
|
|||
|
|
|||
|
<a id="∧-∨-isLattice"></a><a id="3030" href="Algebra.Properties.Lattice.html#3030" class="Function">∧-∨-isLattice</a> <a id="3044" class="Symbol">:</a> <a id="3046" href="Algebra.Structures.html#6130" class="Record">IsLattice</a> <a id="3056" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a> <a id="3060" href="Algebra.Bundles.html#9317" class="Field Operator">_∨_</a>
|
|||
|
<a id="3064" href="Algebra.Properties.Lattice.html#3030" class="Function">∧-∨-isLattice</a> <a id="3078" class="Symbol">=</a> <a id="3080" class="Keyword">record</a>
|
|||
|
<a id="3089" class="Symbol">{</a> <a id="3091" href="Algebra.Structures.html#6186" class="Field">isEquivalence</a> <a id="3105" class="Symbol">=</a> <a id="3107" href="Algebra.Structures.html#6186" class="Function">isEquivalence</a>
|
|||
|
<a id="3123" class="Symbol">;</a> <a id="3125" href="Algebra.Structures.html#6224" class="Field">∨-comm</a> <a id="3139" class="Symbol">=</a> <a id="3141" href="Algebra.Structures.html#6325" class="Function">∧-comm</a>
|
|||
|
<a id="3150" class="Symbol">;</a> <a id="3152" href="Algebra.Structures.html#6258" class="Field">∨-assoc</a> <a id="3166" class="Symbol">=</a> <a id="3168" href="Algebra.Structures.html#6359" class="Function">∧-assoc</a>
|
|||
|
<a id="3178" class="Symbol">;</a> <a id="3180" href="Algebra.Structures.html#6292" class="Field">∨-cong</a> <a id="3194" class="Symbol">=</a> <a id="3196" href="Algebra.Structures.html#6393" class="Function">∧-cong</a>
|
|||
|
<a id="3205" class="Symbol">;</a> <a id="3207" href="Algebra.Structures.html#6325" class="Field">∧-comm</a> <a id="3221" class="Symbol">=</a> <a id="3223" href="Algebra.Structures.html#6224" class="Function">∨-comm</a>
|
|||
|
<a id="3232" class="Symbol">;</a> <a id="3234" href="Algebra.Structures.html#6359" class="Field">∧-assoc</a> <a id="3248" class="Symbol">=</a> <a id="3250" href="Algebra.Structures.html#6258" class="Function">∨-assoc</a>
|
|||
|
<a id="3260" class="Symbol">;</a> <a id="3262" href="Algebra.Structures.html#6393" class="Field">∧-cong</a> <a id="3276" class="Symbol">=</a> <a id="3278" href="Algebra.Structures.html#6292" class="Function">∨-cong</a>
|
|||
|
<a id="3287" class="Symbol">;</a> <a id="3289" href="Algebra.Structures.html#6426" class="Field">absorptive</a> <a id="3303" class="Symbol">=</a> <a id="3305" href="Data.Product.html#5326" class="Function">swap</a> <a id="3310" href="Algebra.Structures.html#6426" class="Function">absorptive</a>
|
|||
|
<a id="3323" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="∧-∨-lattice"></a><a id="3326" href="Algebra.Properties.Lattice.html#3326" class="Function">∧-∨-lattice</a> <a id="3338" class="Symbol">:</a> <a id="3340" href="Algebra.Bundles.html#9170" class="Record">Lattice</a> <a id="3348" class="Symbol">_</a> <a id="3350" class="Symbol">_</a>
|
|||
|
<a id="3352" href="Algebra.Properties.Lattice.html#3326" class="Function">∧-∨-lattice</a> <a id="3364" class="Symbol">=</a> <a id="3366" class="Keyword">record</a>
|
|||
|
<a id="3375" class="Symbol">{</a> <a id="3377" href="Algebra.Bundles.html#9373" class="Field">isLattice</a> <a id="3387" class="Symbol">=</a> <a id="3389" href="Algebra.Properties.Lattice.html#3030" class="Function">∧-∨-isLattice</a>
|
|||
|
<a id="3405" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3408" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="3481" class="Comment">-- Every algebraic lattice can be turned into an order-theoretic one.</a>
|
|||
|
|
|||
|
<a id="3552" class="Keyword">open</a> <a id="3557" href="Algebra.Properties.Semilattice.html" class="Module">SemilatticeProperties</a> <a id="3579" href="Algebra.Properties.Lattice.html#1479" class="Function">∧-semilattice</a> <a id="3593" class="Keyword">public</a> <a id="3600" class="Keyword">using</a> <a id="3606" class="Symbol">(</a><a id="3607" href="Algebra.Properties.Semilattice.html#905" class="Function">poset</a><a id="3612" class="Symbol">)</a>
|
|||
|
<a id="3614" class="Keyword">open</a> <a id="3619" href="Relation.Binary.Bundles.html#3037" class="Module">Poset</a> <a id="3625" href="Algebra.Properties.Semilattice.html#905" class="Function">poset</a> <a id="3631" class="Keyword">using</a> <a id="3637" class="Symbol">(</a><a id="3638" href="Relation.Binary.Bundles.html#3176" class="Field Operator">_≤_</a><a id="3641" class="Symbol">;</a> <a id="3643" href="Relation.Binary.Bundles.html#3212" class="Field">isPartialOrder</a><a id="3657" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="∨-∧-isOrderTheoreticLattice"></a><a id="3660" href="Algebra.Properties.Lattice.html#3660" class="Function">∨-∧-isOrderTheoreticLattice</a> <a id="3688" class="Symbol">:</a> <a id="3690" href="Relation.Binary.Lattice.html#6836" class="Record">R.IsLattice</a> <a id="3702" href="Algebra.Bundles.html#9287" class="Field Operator">_≈_</a> <a id="3706" href="Relation.Binary.Bundles.html#3176" class="Function Operator">_≤_</a> <a id="3710" href="Algebra.Bundles.html#9317" class="Field Operator">_∨_</a> <a id="3714" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
|
|||
|
<a id="3718" href="Algebra.Properties.Lattice.html#3660" class="Function">∨-∧-isOrderTheoreticLattice</a> <a id="3746" class="Symbol">=</a> <a id="3748" class="Keyword">record</a>
|
|||
|
<a id="3757" class="Symbol">{</a> <a id="3759" href="Relation.Binary.Lattice.html#7155" class="Field">isPartialOrder</a> <a id="3774" class="Symbol">=</a> <a id="3776" href="Relation.Binary.Bundles.html#3212" class="Function">isPartialOrder</a>
|
|||
|
<a id="3793" class="Symbol">;</a> <a id="3795" href="Relation.Binary.Lattice.html#7199" class="Field">supremum</a> <a id="3810" class="Symbol">=</a> <a id="3812" href="Algebra.Properties.Lattice.html#4543" class="Function">supremum</a>
|
|||
|
<a id="3823" class="Symbol">;</a> <a id="3825" href="Relation.Binary.Lattice.html#7237" class="Field">infimum</a> <a id="3840" class="Symbol">=</a> <a id="3842" href="Relation.Binary.Lattice.html#4358" class="Function">infimum</a>
|
|||
|
<a id="3852" class="Symbol">}</a>
|
|||
|
<a id="3856" class="Keyword">where</a>
|
|||
|
<a id="3864" class="Keyword">open</a> <a id="3869" href="Relation.Binary.Lattice.html#4724" class="Module">R.MeetSemilattice</a> <a id="3887" href="Algebra.Properties.Semilattice.html#1688" class="Function">∧-orderTheoreticMeetSemilattice</a> <a id="3919" class="Keyword">using</a> <a id="3925" class="Symbol">(</a><a id="3926" href="Relation.Binary.Lattice.html#4358" class="Function">infimum</a><a id="3933" class="Symbol">)</a>
|
|||
|
<a id="3937" class="Keyword">open</a> <a id="3942" href="Relation.Binary.Lattice.html#1891" class="Module">R.JoinSemilattice</a> <a id="3960" href="Algebra.Properties.Lattice.html#2875" class="Function">∨-orderTheoreticJoinSemilattice</a> <a id="3992" class="Keyword">using</a> <a id="3998" class="Symbol">(</a><a id="3999" href="Relation.Binary.Lattice.html#1564" class="Function">x≤x∨y</a><a id="4004" class="Symbol">;</a> <a id="4006" href="Relation.Binary.Lattice.html#1645" class="Function">y≤x∨y</a><a id="4011" class="Symbol">;</a> <a id="4013" href="Relation.Binary.Lattice.html#1726" class="Function">∨-least</a><a id="4020" class="Symbol">)</a>
|
|||
|
<a id="4026" class="Keyword">renaming</a> <a id="4035" class="Symbol">(</a><a id="4036" href="Relation.Binary.Lattice.html#2091" class="Field Operator">_≤_</a> <a id="4040" class="Symbol">to</a> <a id="4043" class="Field Operator">_≤′_</a><a id="4047" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="4052" class="Comment">-- An alternative but equivalent interpretation of the order _≤_.</a>
|
|||
|
|
|||
|
<a id="4121" href="Algebra.Properties.Lattice.html#4121" class="Function">sound</a> <a id="4127" class="Symbol">:</a> <a id="4129" class="Symbol">∀</a> <a id="4131" class="Symbol">{</a><a id="4132" href="Algebra.Properties.Lattice.html#4132" class="Bound">x</a> <a id="4134" href="Algebra.Properties.Lattice.html#4134" class="Bound">y</a><a id="4135" class="Symbol">}</a> <a id="4137" class="Symbol">→</a> <a id="4139" href="Algebra.Properties.Lattice.html#4132" class="Bound">x</a> <a id="4141" href="Algebra.Properties.Lattice.html#4043" class="Function Operator">≤′</a> <a id="4144" href="Algebra.Properties.Lattice.html#4134" class="Bound">y</a> <a id="4146" class="Symbol">→</a> <a id="4148" href="Algebra.Properties.Lattice.html#4132" class="Bound">x</a> <a id="4150" href="Relation.Binary.Bundles.html#3176" class="Function Operator">≤</a> <a id="4152" href="Algebra.Properties.Lattice.html#4134" class="Bound">y</a>
|
|||
|
<a id="4156" href="Algebra.Properties.Lattice.html#4121" class="Function">sound</a> <a id="4162" class="Symbol">{</a><a id="4163" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a><a id="4164" class="Symbol">}</a> <a id="4166" class="Symbol">{</a><a id="4167" href="Algebra.Properties.Lattice.html#4167" class="Bound">y</a><a id="4168" class="Symbol">}</a> <a id="4170" href="Algebra.Properties.Lattice.html#4170" class="Bound">y≈y∨x</a> <a id="4176" class="Symbol">=</a> <a id="4178" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="4182" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="4184" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="4194" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a> <a id="4196" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="4198" href="Algebra.Properties.Lattice.html#4167" class="Bound">y</a> <a id="4207" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4210" href="Algebra.Structures.html#6627" class="Function">∧-congˡ</a> <a id="4218" href="Algebra.Properties.Lattice.html#4170" class="Bound">y≈y∨x</a> <a id="4224" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4230" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a> <a id="4232" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="4234" class="Symbol">(</a><a id="4235" href="Algebra.Properties.Lattice.html#4167" class="Bound">y</a> <a id="4237" href="Algebra.Bundles.html#9317" class="Field Operator">∨</a> <a id="4239" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a><a id="4240" class="Symbol">)</a> <a id="4243" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4246" href="Algebra.Structures.html#6627" class="Function">∧-congˡ</a> <a id="4254" class="Symbol">(</a><a id="4255" href="Algebra.Structures.html#6224" class="Function">∨-comm</a> <a id="4262" href="Algebra.Properties.Lattice.html#4167" class="Bound">y</a> <a id="4264" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a><a id="4265" class="Symbol">)</a> <a id="4267" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4273" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a> <a id="4275" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="4277" class="Symbol">(</a><a id="4278" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a> <a id="4280" href="Algebra.Bundles.html#9317" class="Field Operator">∨</a> <a id="4282" href="Algebra.Properties.Lattice.html#4167" class="Bound">y</a><a id="4283" class="Symbol">)</a> <a id="4286" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4289" href="Algebra.Structures.html#6565" class="Function">∧-absorbs-∨</a> <a id="4301" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a> <a id="4303" href="Algebra.Properties.Lattice.html#4167" class="Bound">y</a> <a id="4305" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4311" href="Algebra.Properties.Lattice.html#4163" class="Bound">x</a> <a id="4324" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="4329" href="Algebra.Properties.Lattice.html#4329" class="Function">complete</a> <a id="4338" class="Symbol">:</a> <a id="4340" class="Symbol">∀</a> <a id="4342" class="Symbol">{</a><a id="4343" href="Algebra.Properties.Lattice.html#4343" class="Bound">x</a> <a id="4345" href="Algebra.Properties.Lattice.html#4345" class="Bound">y</a><a id="4346" class="Symbol">}</a> <a id="4348" class="Symbol">→</a> <a id="4350" href="Algebra.Properties.Lattice.html#4343" class="Bound">x</a> <a id="4352" href="Relation.Binary.Bundles.html#3176" class="Function Operator">≤</a> <a id="4354" href="Algebra.Properties.Lattice.html#4345" class="Bound">y</a> <a id="4356" class="Symbol">→</a> <a id="4358" href="Algebra.Properties.Lattice.html#4343" class="Bound">x</a> <a id="4360" href="Algebra.Properties.Lattice.html#4043" class="Function Operator">≤′</a> <a id="4363" href="Algebra.Properties.Lattice.html#4345" class="Bound">y</a>
|
|||
|
<a id="4367" href="Algebra.Properties.Lattice.html#4329" class="Function">complete</a> <a id="4376" class="Symbol">{</a><a id="4377" href="Algebra.Properties.Lattice.html#4377" class="Bound">x</a><a id="4378" class="Symbol">}</a> <a id="4380" class="Symbol">{</a><a id="4381" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a><a id="4382" class="Symbol">}</a> <a id="4384" href="Algebra.Properties.Lattice.html#4384" class="Bound">x≈x∧y</a> <a id="4390" class="Symbol">=</a> <a id="4392" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="4396" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="4398" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="4408" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a> <a id="4410" href="Algebra.Bundles.html#9317" class="Field Operator">∨</a> <a id="4412" href="Algebra.Properties.Lattice.html#4377" class="Bound">x</a> <a id="4421" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4424" href="Algebra.Structures.html#6750" class="Function">∨-congˡ</a> <a id="4432" href="Algebra.Properties.Lattice.html#4384" class="Bound">x≈x∧y</a> <a id="4438" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4444" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a> <a id="4446" href="Algebra.Bundles.html#9317" class="Field Operator">∨</a> <a id="4448" class="Symbol">(</a><a id="4449" href="Algebra.Properties.Lattice.html#4377" class="Bound">x</a> <a id="4451" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="4453" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a><a id="4454" class="Symbol">)</a> <a id="4457" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4460" href="Algebra.Structures.html#6750" class="Function">∨-congˡ</a> <a id="4468" class="Symbol">(</a><a id="4469" href="Algebra.Structures.html#6325" class="Function">∧-comm</a> <a id="4476" href="Algebra.Properties.Lattice.html#4377" class="Bound">x</a> <a id="4478" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a><a id="4479" class="Symbol">)</a> <a id="4481" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4487" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a> <a id="4489" href="Algebra.Bundles.html#9317" class="Field Operator">∨</a> <a id="4491" class="Symbol">(</a><a id="4492" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a> <a id="4494" href="Algebra.Bundles.html#9345" class="Field Operator">∧</a> <a id="4496" href="Algebra.Properties.Lattice.html#4377" class="Bound">x</a><a id="4497" class="Symbol">)</a> <a id="4500" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4503" href="Algebra.Structures.html#6503" class="Function">∨-absorbs-∧</a> <a id="4515" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a> <a id="4517" href="Algebra.Properties.Lattice.html#4377" class="Bound">x</a> <a id="4519" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4525" href="Algebra.Properties.Lattice.html#4381" class="Bound">y</a> <a id="4538" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="4543" href="Algebra.Properties.Lattice.html#4543" class="Function">supremum</a> <a id="4552" class="Symbol">:</a> <a id="4554" href="Relation.Binary.Lattice.html#674" class="Function">R.Supremum</a> <a id="4565" href="Relation.Binary.Bundles.html#3176" class="Function Operator">_≤_</a> <a id="4569" href="Algebra.Bundles.html#9317" class="Field Operator">_∨_</a>
|
|||
|
<a id="4575" href="Algebra.Properties.Lattice.html#4543" class="Function">supremum</a> <a id="4584" href="Algebra.Properties.Lattice.html#4584" class="Bound">x</a> <a id="4586" href="Algebra.Properties.Lattice.html#4586" class="Bound">y</a> <a id="4588" class="Symbol">=</a>
|
|||
|
<a id="4595" href="Algebra.Properties.Lattice.html#4121" class="Function">sound</a> <a id="4601" class="Symbol">(</a><a id="4602" href="Relation.Binary.Lattice.html#1564" class="Function">x≤x∨y</a> <a id="4608" href="Algebra.Properties.Lattice.html#4584" class="Bound">x</a> <a id="4610" href="Algebra.Properties.Lattice.html#4586" class="Bound">y</a><a id="4611" class="Symbol">)</a> <a id="4613" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a>
|
|||
|
<a id="4620" href="Algebra.Properties.Lattice.html#4121" class="Function">sound</a> <a id="4626" class="Symbol">(</a><a id="4627" href="Relation.Binary.Lattice.html#1645" class="Function">y≤x∨y</a> <a id="4633" href="Algebra.Properties.Lattice.html#4584" class="Bound">x</a> <a id="4635" href="Algebra.Properties.Lattice.html#4586" class="Bound">y</a><a id="4636" class="Symbol">)</a> <a id="4638" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a>
|
|||
|
<a id="4645" class="Symbol">λ</a> <a id="4647" href="Algebra.Properties.Lattice.html#4647" class="Bound">z</a> <a id="4649" href="Algebra.Properties.Lattice.html#4649" class="Bound">x≤z</a> <a id="4653" href="Algebra.Properties.Lattice.html#4653" class="Bound">y≤z</a> <a id="4657" class="Symbol">→</a> <a id="4659" href="Algebra.Properties.Lattice.html#4121" class="Function">sound</a> <a id="4665" class="Symbol">(</a><a id="4666" href="Relation.Binary.Lattice.html#1726" class="Function">∨-least</a> <a id="4674" class="Symbol">(</a><a id="4675" href="Algebra.Properties.Lattice.html#4329" class="Function">complete</a> <a id="4684" href="Algebra.Properties.Lattice.html#4649" class="Bound">x≤z</a><a id="4687" class="Symbol">)</a> <a id="4689" class="Symbol">(</a><a id="4690" href="Algebra.Properties.Lattice.html#4329" class="Function">complete</a> <a id="4699" href="Algebra.Properties.Lattice.html#4653" class="Bound">y≤z</a><a id="4702" class="Symbol">))</a>
|
|||
|
|
|||
|
<a id="∨-∧-orderTheoreticLattice"></a><a id="4706" href="Algebra.Properties.Lattice.html#4706" class="Function">∨-∧-orderTheoreticLattice</a> <a id="4732" class="Symbol">:</a> <a id="4734" href="Relation.Binary.Lattice.html#7809" class="Record">R.Lattice</a> <a id="4744" class="Symbol">_</a> <a id="4746" class="Symbol">_</a> <a id="4748" class="Symbol">_</a>
|
|||
|
<a id="4750" href="Algebra.Properties.Lattice.html#4706" class="Function">∨-∧-orderTheoreticLattice</a> <a id="4776" class="Symbol">=</a> <a id="4778" class="Keyword">record</a>
|
|||
|
<a id="4787" class="Symbol">{</a> <a id="4789" href="Relation.Binary.Lattice.html#8164" class="Field">isLattice</a> <a id="4799" class="Symbol">=</a> <a id="4801" href="Algebra.Properties.Lattice.html#3660" class="Function">∨-∧-isOrderTheoreticLattice</a>
|
|||
|
<a id="4831" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4834" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="4907" class="Comment">-- DEPRECATED NAMES</a>
|
|||
|
<a id="4927" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="5000" class="Comment">-- Please use the new names as continuing support for the old names is</a>
|
|||
|
<a id="5071" class="Comment">-- not guaranteed.</a>
|
|||
|
|
|||
|
<a id="5091" class="Comment">-- Version 1.1</a>
|
|||
|
|
|||
|
<a id="∧-idempotent"></a><a id="5107" href="Algebra.Properties.Lattice.html#5107" class="Function">∧-idempotent</a> <a id="5120" class="Symbol">=</a> <a id="5122" href="Algebra.Properties.Lattice.html#895" class="Function">∧-idem</a>
|
|||
|
<a id="5129" class="Symbol">{-#</a> <a id="5133" class="Keyword">WARNING_ON_USAGE</a> <a id="5150" class="Pragma">∧-idempotent</a>
|
|||
|
<a id="5163" class="String">"Warning: ∧-idempotent was deprecated in v1.1.
|
|||
|
Please use ∧-idem instead."</a>
|
|||
|
<a id="5238" class="Symbol">#-}</a>
|
|||
|
<a id="∨-idempotent"></a><a id="5242" href="Algebra.Properties.Lattice.html#5242" class="Function">∨-idempotent</a> <a id="5255" class="Symbol">=</a> <a id="5257" href="Algebra.Properties.Lattice.html#1884" class="Function">∨-idem</a>
|
|||
|
<a id="5264" class="Symbol">{-#</a> <a id="5268" class="Keyword">WARNING_ON_USAGE</a> <a id="5285" class="Pragma">∨-idempotent</a>
|
|||
|
<a id="5298" class="String">"Warning: ∨-idempotent was deprecated in v1.1.
|
|||
|
Please use ∨-idem instead."</a>
|
|||
|
<a id="5373" class="Symbol">#-}</a>
|
|||
|
<a id="isOrderTheoreticLattice"></a><a id="5377" href="Algebra.Properties.Lattice.html#5377" class="Function">isOrderTheoreticLattice</a> <a id="5401" class="Symbol">=</a> <a id="5403" href="Algebra.Properties.Lattice.html#3660" class="Function">∨-∧-isOrderTheoreticLattice</a>
|
|||
|
<a id="5431" class="Symbol">{-#</a> <a id="5435" class="Keyword">WARNING_ON_USAGE</a> <a id="5452" class="Pragma">isOrderTheoreticLattice</a>
|
|||
|
<a id="5476" class="String">"Warning: isOrderTheoreticLattice was deprecated in v1.1.
|
|||
|
Please use ∨-∧-isOrderTheoreticLattice instead."</a>
|
|||
|
<a id="5583" class="Symbol">#-}</a>
|
|||
|
<a id="orderTheoreticLattice"></a><a id="5587" href="Algebra.Properties.Lattice.html#5587" class="Function">orderTheoreticLattice</a> <a id="5609" class="Symbol">=</a> <a id="5611" href="Algebra.Properties.Lattice.html#4706" class="Function">∨-∧-orderTheoreticLattice</a>
|
|||
|
<a id="5637" class="Symbol">{-#</a> <a id="5641" class="Keyword">WARNING_ON_USAGE</a> <a id="5658" class="Pragma">orderTheoreticLattice</a>
|
|||
|
<a id="5680" class="String">"Warning: orderTheoreticLattice was deprecated in v1.1.
|
|||
|
Please use ∨-∧-orderTheoreticLattice instead."</a>
|
|||
|
<a id="5783" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="5788" class="Comment">-- Version 1.4</a>
|
|||
|
|
|||
|
<a id="replace-equality"></a><a id="5804" href="Algebra.Properties.Lattice.html#5804" class="Function">replace-equality</a> <a id="5821" class="Symbol">:</a> <a id="5823" class="Symbol">{</a><a id="5824" href="Algebra.Properties.Lattice.html#5824" class="Bound Operator">_≈′_</a> <a id="5829" class="Symbol">:</a> <a id="5831" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="5835" href="Algebra.Bundles.html#9265" class="Field">Carrier</a> <a id="5843" href="Algebra.Properties.Lattice.html#321" class="Bound">l₂</a><a id="5845" class="Symbol">}</a> <a id="5847" class="Symbol">→</a>
|
|||
|
<a id="5868" class="Symbol">(∀</a> <a id="5871" class="Symbol">{</a><a id="5872" href="Algebra.Properties.Lattice.html#5872" class="Bound">x</a> <a id="5874" href="Algebra.Properties.Lattice.html#5874" class="Bound">y</a><a id="5875" class="Symbol">}</a> <a id="5877" class="Symbol">→</a> <a id="5879" href="Algebra.Properties.Lattice.html#5872" class="Bound">x</a> <a id="5881" href="Algebra.Bundles.html#9287" class="Field Operator">≈</a> <a id="5883" href="Algebra.Properties.Lattice.html#5874" class="Bound">y</a> <a id="5885" href="Function.Equivalence.html#1213" class="Function Operator">⇔</a> <a id="5887" class="Symbol">(</a><a id="5888" href="Algebra.Properties.Lattice.html#5872" class="Bound">x</a> <a id="5890" href="Algebra.Properties.Lattice.html#5824" class="Bound Operator">≈′</a> <a id="5893" href="Algebra.Properties.Lattice.html#5874" class="Bound">y</a><a id="5894" class="Symbol">))</a> <a id="5897" class="Symbol">→</a> <a id="5899" href="Algebra.Bundles.html#9170" class="Record">Lattice</a> <a id="5907" class="Symbol">_</a> <a id="5909" class="Symbol">_</a>
|
|||
|
<a id="5911" href="Algebra.Properties.Lattice.html#5804" class="Function">replace-equality</a> <a id="5928" class="Symbol">{</a><a id="5929" href="Algebra.Properties.Lattice.html#5929" class="Bound Operator">_≈′_</a><a id="5933" class="Symbol">}</a> <a id="5935" href="Algebra.Properties.Lattice.html#5935" class="Bound">≈⇔≈′</a> <a id="5940" class="Symbol">=</a> <a id="5942" class="Keyword">record</a>
|
|||
|
<a id="5951" class="Symbol">{</a> <a id="5953" href="Algebra.Bundles.html#9373" class="Field">isLattice</a> <a id="5963" class="Symbol">=</a> <a id="5965" class="Keyword">record</a>
|
|||
|
<a id="5976" class="Symbol">{</a> <a id="5978" href="Algebra.Structures.html#6186" class="Field">isEquivalence</a> <a id="5992" class="Symbol">=</a> <a id="5994" class="Keyword">record</a>
|
|||
|
<a id="6007" class="Symbol">{</a> <a id="6009" href="Relation.Binary.Structures.html#1577" class="Field">refl</a> <a id="6015" class="Symbol">=</a> <a id="6017" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6020" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6024" href="Relation.Binary.Structures.html#1577" class="Function">refl</a>
|
|||
|
<a id="6035" class="Symbol">;</a> <a id="6037" href="Relation.Binary.Structures.html#1603" class="Field">sym</a> <a id="6043" class="Symbol">=</a> <a id="6045" class="Symbol">λ</a> <a id="6047" href="Algebra.Properties.Lattice.html#6047" class="Bound">x≈y</a> <a id="6051" class="Symbol">→</a> <a id="6053" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6056" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6060" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="6064" class="Symbol">(</a><a id="6065" href="Function.Equivalence.html#1009" class="Function">from</a> <a id="6070" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6074" href="Algebra.Properties.Lattice.html#6047" class="Bound">x≈y</a><a id="6077" class="Symbol">)</a>
|
|||
|
<a id="6085" class="Symbol">;</a> <a id="6087" href="Relation.Binary.Structures.html#1629" class="Field">trans</a> <a id="6093" class="Symbol">=</a> <a id="6095" class="Symbol">λ</a> <a id="6097" href="Algebra.Properties.Lattice.html#6097" class="Bound">x≈y</a> <a id="6101" href="Algebra.Properties.Lattice.html#6101" class="Bound">y≈z</a> <a id="6105" class="Symbol">→</a> <a id="6107" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6110" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6114" href="Relation.Binary.Structures.html#1629" class="Function">trans</a> <a id="6120" class="Symbol">(</a><a id="6121" href="Function.Equivalence.html#1009" class="Function">from</a> <a id="6126" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6130" href="Algebra.Properties.Lattice.html#6097" class="Bound">x≈y</a><a id="6133" class="Symbol">)</a> <a id="6135" class="Symbol">(</a><a id="6136" href="Function.Equivalence.html#1009" class="Function">from</a> <a id="6141" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6145" href="Algebra.Properties.Lattice.html#6101" class="Bound">y≈z</a><a id="6148" class="Symbol">)</a>
|
|||
|
<a id="6156" class="Symbol">}</a>
|
|||
|
<a id="6162" class="Symbol">;</a> <a id="6164" href="Algebra.Structures.html#6224" class="Field">∨-comm</a> <a id="6175" class="Symbol">=</a> <a id="6177" class="Symbol">λ</a> <a id="6179" href="Algebra.Properties.Lattice.html#6179" class="Bound">x</a> <a id="6181" href="Algebra.Properties.Lattice.html#6181" class="Bound">y</a> <a id="6183" class="Symbol">→</a> <a id="6185" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6188" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6192" href="Algebra.Structures.html#6224" class="Function">∨-comm</a> <a id="6199" href="Algebra.Properties.Lattice.html#6179" class="Bound">x</a> <a id="6201" href="Algebra.Properties.Lattice.html#6181" class="Bound">y</a>
|
|||
|
<a id="6207" class="Symbol">;</a> <a id="6209" href="Algebra.Structures.html#6258" class="Field">∨-assoc</a> <a id="6220" class="Symbol">=</a> <a id="6222" class="Symbol">λ</a> <a id="6224" href="Algebra.Properties.Lattice.html#6224" class="Bound">x</a> <a id="6226" href="Algebra.Properties.Lattice.html#6226" class="Bound">y</a> <a id="6228" href="Algebra.Properties.Lattice.html#6228" class="Bound">z</a> <a id="6230" class="Symbol">→</a> <a id="6232" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6235" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6239" href="Algebra.Structures.html#6258" class="Function">∨-assoc</a> <a id="6247" href="Algebra.Properties.Lattice.html#6224" class="Bound">x</a> <a id="6249" href="Algebra.Properties.Lattice.html#6226" class="Bound">y</a> <a id="6251" href="Algebra.Properties.Lattice.html#6228" class="Bound">z</a>
|
|||
|
<a id="6257" class="Symbol">;</a> <a id="6259" href="Algebra.Structures.html#6292" class="Field">∨-cong</a> <a id="6270" class="Symbol">=</a> <a id="6272" class="Symbol">λ</a> <a id="6274" href="Algebra.Properties.Lattice.html#6274" class="Bound">x≈y</a> <a id="6278" href="Algebra.Properties.Lattice.html#6278" class="Bound">u≈v</a> <a id="6282" class="Symbol">→</a> <a id="6284" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6287" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6291" href="Algebra.Structures.html#6292" class="Function">∨-cong</a> <a id="6298" class="Symbol">(</a><a id="6299" href="Function.Equivalence.html#1009" class="Function">from</a> <a id="6304" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6308" href="Algebra.Properties.Lattice.html#6274" class="Bound">x≈y</a><a id="6311" class="Symbol">)</a> <a id="6313" class="Symbol">(</a><a id="6314" href="Function.Equivalence.html#1009" class="Function">from</a> <a id="6319" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6323" href="Algebra.Properties.Lattice.html#6278" class="Bound">u≈v</a><a id="6326" class="Symbol">)</a>
|
|||
|
<a id="6332" class="Symbol">;</a> <a id="6334" href="Algebra.Structures.html#6325" class="Field">∧-comm</a> <a id="6345" class="Symbol">=</a> <a id="6347" class="Symbol">λ</a> <a id="6349" href="Algebra.Properties.Lattice.html#6349" class="Bound">x</a> <a id="6351" href="Algebra.Properties.Lattice.html#6351" class="Bound">y</a> <a id="6353" class="Symbol">→</a> <a id="6355" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6358" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6362" href="Algebra.Structures.html#6325" class="Function">∧-comm</a> <a id="6369" href="Algebra.Properties.Lattice.html#6349" class="Bound">x</a> <a id="6371" href="Algebra.Properties.Lattice.html#6351" class="Bound">y</a>
|
|||
|
<a id="6377" class="Symbol">;</a> <a id="6379" href="Algebra.Structures.html#6359" class="Field">∧-assoc</a> <a id="6390" class="Symbol">=</a> <a id="6392" class="Symbol">λ</a> <a id="6394" href="Algebra.Properties.Lattice.html#6394" class="Bound">x</a> <a id="6396" href="Algebra.Properties.Lattice.html#6396" class="Bound">y</a> <a id="6398" href="Algebra.Properties.Lattice.html#6398" class="Bound">z</a> <a id="6400" class="Symbol">→</a> <a id="6402" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6405" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6409" href="Algebra.Structures.html#6359" class="Function">∧-assoc</a> <a id="6417" href="Algebra.Properties.Lattice.html#6394" class="Bound">x</a> <a id="6419" href="Algebra.Properties.Lattice.html#6396" class="Bound">y</a> <a id="6421" href="Algebra.Properties.Lattice.html#6398" class="Bound">z</a>
|
|||
|
<a id="6427" class="Symbol">;</a> <a id="6429" href="Algebra.Structures.html#6393" class="Field">∧-cong</a> <a id="6440" class="Symbol">=</a> <a id="6442" class="Symbol">λ</a> <a id="6444" href="Algebra.Properties.Lattice.html#6444" class="Bound">x≈y</a> <a id="6448" href="Algebra.Properties.Lattice.html#6448" class="Bound">u≈v</a> <a id="6452" class="Symbol">→</a> <a id="6454" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6457" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6461" href="Algebra.Structures.html#6393" class="Function">∧-cong</a> <a id="6468" class="Symbol">(</a><a id="6469" href="Function.Equivalence.html#1009" class="Function">from</a> <a id="6474" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6478" href="Algebra.Properties.Lattice.html#6444" class="Bound">x≈y</a><a id="6481" class="Symbol">)</a> <a id="6483" class="Symbol">(</a><a id="6484" href="Function.Equivalence.html#1009" class="Function">from</a> <a id="6489" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6493" href="Algebra.Properties.Lattice.html#6448" class="Bound">u≈v</a><a id="6496" class="Symbol">)</a>
|
|||
|
<a id="6502" class="Symbol">;</a> <a id="6504" href="Algebra.Structures.html#6426" class="Field">absorptive</a> <a id="6515" class="Symbol">=</a> <a id="6517" class="Symbol">(λ</a> <a id="6520" href="Algebra.Properties.Lattice.html#6520" class="Bound">x</a> <a id="6522" href="Algebra.Properties.Lattice.html#6522" class="Bound">y</a> <a id="6524" class="Symbol">→</a> <a id="6526" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6529" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6533" href="Algebra.Structures.html#6503" class="Function">∨-absorbs-∧</a> <a id="6545" href="Algebra.Properties.Lattice.html#6520" class="Bound">x</a> <a id="6547" href="Algebra.Properties.Lattice.html#6522" class="Bound">y</a><a id="6548" class="Symbol">)</a>
|
|||
|
<a id="6567" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6569" class="Symbol">(λ</a> <a id="6572" href="Algebra.Properties.Lattice.html#6572" class="Bound">x</a> <a id="6574" href="Algebra.Properties.Lattice.html#6574" class="Bound">y</a> <a id="6576" class="Symbol">→</a> <a id="6578" href="Function.Equivalence.html#988" class="Function">to</a> <a id="6581" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6585" href="Algebra.Structures.html#6565" class="Function">∧-absorbs-∨</a> <a id="6597" href="Algebra.Properties.Lattice.html#6572" class="Bound">x</a> <a id="6599" href="Algebra.Properties.Lattice.html#6574" class="Bound">y</a><a id="6600" class="Symbol">)</a>
|
|||
|
<a id="6606" class="Symbol">}</a>
|
|||
|
<a id="6610" class="Symbol">}</a> <a id="6612" class="Keyword">where</a> <a id="6618" class="Keyword">open</a> <a id="6623" class="Keyword">module</a> <a id="6630" href="Algebra.Properties.Lattice.html#6630" class="Module">E</a> <a id="6632" class="Symbol">{</a><a id="6633" href="Algebra.Properties.Lattice.html#6633" class="Bound">x</a> <a id="6635" href="Algebra.Properties.Lattice.html#6635" class="Bound">y</a><a id="6636" class="Symbol">}</a> <a id="6638" class="Symbol">=</a> <a id="6640" href="Function.Equivalence.html#838" class="Module">Equivalence</a> <a id="6652" class="Symbol">(</a><a id="6653" href="Algebra.Properties.Lattice.html#5935" class="Bound">≈⇔≈′</a> <a id="6658" class="Symbol">{</a><a id="6659" href="Algebra.Properties.Lattice.html#6633" class="Bound">x</a><a id="6660" class="Symbol">}</a> <a id="6662" class="Symbol">{</a><a id="6663" href="Algebra.Properties.Lattice.html#6635" class="Bound">y</a><a id="6664" class="Symbol">})</a>
|
|||
|
<a id="6667" class="Symbol">{-#</a> <a id="6671" class="Keyword">WARNING_ON_USAGE</a> <a id="6688" class="Pragma">replace-equality</a>
|
|||
|
<a id="6705" class="String">"Warning: replace-equality was deprecated in v1.4.
|
|||
|
Please use isLattice from `Algebra.Construct.Subst.Equality` instead."</a>
|
|||
|
<a id="6827" class="Symbol">#-}</a>
|
|||
|
</pre></body></html>
|