bsc-leon-vatthauer/agda/bsc-thesis/Algebra.Lattice.Bundles.html

231 lines
51 KiB
HTML
Raw Normal View History

2024-02-09 17:53:52 +01:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Algebra.Lattice.Bundles</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">-- Definitions of algebraic structures like semilattices and lattices</a>
<a id="176" class="Comment">-- (packed in records together with sets, operations, etc.), defined via</a>
<a id="249" class="Comment">-- meet/join operations and their properties</a>
<a id="294" class="Comment">--</a>
<a id="297" class="Comment">-- For lattices defined via an order relation, see</a>
<a id="348" class="Comment">-- Relation.Binary.Lattice.</a>
<a id="376" class="Comment">------------------------------------------------------------------------</a>
<a id="450" class="Comment">-- The contents of this module should be accessed via `Algebra.Lattice`.</a>
<a id="524" class="Symbol">{-#</a> <a id="528" class="Keyword">OPTIONS</a> <a id="536" class="Pragma">--cubical-compatible</a> <a id="557" class="Pragma">--safe</a> <a id="564" class="Symbol">#-}</a>
<a id="569" class="Keyword">module</a> <a id="576" href="Algebra.Lattice.Bundles.html" class="Module">Algebra.Lattice.Bundles</a> <a id="600" class="Keyword">where</a>
<a id="607" class="Keyword">open</a> <a id="612" class="Keyword">import</a> <a id="619" href="Algebra.Core.html" class="Module">Algebra.Core</a>
<a id="632" class="Keyword">open</a> <a id="637" class="Keyword">import</a> <a id="644" href="Algebra.Bundles.html" class="Module">Algebra.Bundles</a>
<a id="660" class="Keyword">open</a> <a id="665" class="Keyword">import</a> <a id="672" href="Algebra.Structures.html" class="Module">Algebra.Structures</a>
<a id="691" class="Keyword">import</a> <a id="698" href="Algebra.Lattice.Bundles.Raw.html" class="Module">Algebra.Lattice.Bundles.Raw</a> <a id="726" class="Symbol">as</a> <a id="729" class="Module">Raw</a>
<a id="733" class="Keyword">open</a> <a id="738" class="Keyword">import</a> <a id="745" href="Algebra.Lattice.Structures.html" class="Module">Algebra.Lattice.Structures</a>
<a id="772" class="Keyword">open</a> <a id="777" class="Keyword">import</a> <a id="784" href="Level.html" class="Module">Level</a> <a id="790" class="Keyword">using</a> <a id="796" class="Symbol">(</a><a id="797" href="Agda.Primitive.html#931" class="Primitive">suc</a><a id="800" class="Symbol">;</a> <a id="802" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="805" class="Symbol">)</a>
<a id="807" class="Keyword">open</a> <a id="812" class="Keyword">import</a> <a id="819" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="843" class="Keyword">using</a> <a id="849" class="Symbol">(</a><a id="850" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a><a id="856" class="Symbol">)</a>
<a id="858" class="Keyword">open</a> <a id="863" class="Keyword">import</a> <a id="870" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="891" class="Keyword">using</a> <a id="897" class="Symbol">(</a><a id="898" href="Relation.Binary.Core.html#896" class="Function">Rel</a><a id="901" class="Symbol">)</a>
<a id="904" class="Comment">------------------------------------------------------------------------</a>
<a id="977" class="Comment">-- Re-export definitions of &#39;raw&#39; bundles</a>
<a id="1020" class="Keyword">open</a> <a id="1025" href="Algebra.Lattice.Bundles.Raw.html" class="Module">Raw</a> <a id="1029" class="Keyword">public</a>
<a id="1038" class="Keyword">using</a> <a id="1044" class="Symbol">(</a><a id="1045" href="Algebra.Lattice.Bundles.Raw.html#461" class="Record">RawLattice</a><a id="1055" class="Symbol">)</a>
<a id="1058" class="Comment">------------------------------------------------------------------------</a>
<a id="1131" class="Comment">-- Bundles</a>
<a id="1142" class="Comment">------------------------------------------------------------------------</a>
<a id="1216" class="Keyword">record</a> <a id="Semilattice"></a><a id="1223" href="Algebra.Lattice.Bundles.html#1223" class="Record">Semilattice</a> <a id="1235" href="Algebra.Lattice.Bundles.html#1235" class="Bound">c</a> <a id="1237" href="Algebra.Lattice.Bundles.html#1237" class="Bound"></a> <a id="1239" class="Symbol">:</a> <a id="1241" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1245" class="Symbol">(</a><a id="1246" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1250" class="Symbol">(</a><a id="1251" href="Algebra.Lattice.Bundles.html#1235" class="Bound">c</a> <a id="1253" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1255" href="Algebra.Lattice.Bundles.html#1237" class="Bound"></a><a id="1256" class="Symbol">))</a> <a id="1259" class="Keyword">where</a>
<a id="1267" class="Keyword">infixr</a> <a id="1274" class="Number">7</a> <a id="1276" href="Algebra.Lattice.Bundles.html#1367" class="Field Operator">_∙_</a>
<a id="1282" class="Keyword">infix</a> <a id="1289" class="Number">4</a> <a id="1291" href="Algebra.Lattice.Bundles.html#1333" class="Field Operator">_≈_</a>
<a id="1297" class="Keyword">field</a>
<a id="Semilattice.Carrier"></a><a id="1307" href="Algebra.Lattice.Bundles.html#1307" class="Field">Carrier</a> <a id="1321" class="Symbol">:</a> <a id="1323" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1327" href="Algebra.Lattice.Bundles.html#1235" class="Bound">c</a>
<a id="Semilattice._≈_"></a><a id="1333" href="Algebra.Lattice.Bundles.html#1333" class="Field Operator">_≈_</a> <a id="1347" class="Symbol">:</a> <a id="1349" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1353" href="Algebra.Lattice.Bundles.html#1307" class="Field">Carrier</a> <a id="1361" href="Algebra.Lattice.Bundles.html#1237" class="Bound"></a>
<a id="Semilattice._∙_"></a><a id="1367" href="Algebra.Lattice.Bundles.html#1367" class="Field Operator">_∙_</a> <a id="1381" class="Symbol">:</a> <a id="1383" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1387" href="Algebra.Lattice.Bundles.html#1307" class="Field">Carrier</a>
<a id="Semilattice.isSemilattice"></a><a id="1399" href="Algebra.Lattice.Bundles.html#1399" class="Field">isSemilattice</a> <a id="1413" class="Symbol">:</a> <a id="1415" href="Algebra.Lattice.Structures.html#1160" class="Record">IsSemilattice</a> <a id="1429" href="Algebra.Lattice.Bundles.html#1333" class="Field Operator">_≈_</a> <a id="1433" href="Algebra.Lattice.Bundles.html#1367" class="Field Operator">_∙_</a>
<a id="1440" class="Keyword">open</a> <a id="1445" href="Algebra.Lattice.Structures.html#1160" class="Module">IsSemilattice</a> <a id="1459" href="Algebra.Lattice.Bundles.html#1399" class="Field">isSemilattice</a> <a id="1473" class="Keyword">public</a>
<a id="Semilattice.band"></a><a id="1483" href="Algebra.Lattice.Bundles.html#1483" class="Function">band</a> <a id="1488" class="Symbol">:</a> <a id="1490" href="Algebra.Bundles.html#4502" class="Record">Band</a> <a id="1495" href="Algebra.Lattice.Bundles.html#1235" class="Bound">c</a> <a id="1497" href="Algebra.Lattice.Bundles.html#1237" class="Bound"></a>
<a id="1501" href="Algebra.Lattice.Bundles.html#1483" class="Function">band</a> <a id="1506" class="Symbol">=</a> <a id="1508" class="Keyword">record</a> <a id="1515" class="Symbol">{</a> <a id="1517" href="Algebra.Bundles.html#4653" class="Field">isBand</a> <a id="1524" class="Symbol">=</a> <a id="1526" href="Algebra.Lattice.Structures.html#1218" class="Function">isBand</a> <a id="1533" class="Symbol">}</a>
<a id="1538" class="Keyword">open</a> <a id="1543" href="Algebra.Bundles.html#4502" class="Module">Band</a> <a id="1548" href="Algebra.Lattice.Bundles.html#1483" class="Function">band</a> <a id="1553" class="Keyword">public</a>
<a id="1564" class="Keyword">using</a> <a id="1570" class="Symbol">(</a><a id="1571" href="Algebra.Bundles.Raw.html#812" class="Function Operator">_≉_</a><a id="1574" class="Symbol">;</a> <a id="1576" href="Algebra.Bundles.html#1353" class="Function">rawMagma</a><a id="1584" class="Symbol">;</a> <a id="1586" href="Algebra.Bundles.html#4383" class="Function">magma</a><a id="1591" class="Symbol">;</a> <a id="1593" href="Algebra.Structures.html#2953" class="Function">isMagma</a><a id="1600" class="Symbol">;</a> <a id="1602" href="Algebra.Bundles.html#4710" class="Function">semigroup</a><a id="1611" class="Symbol">;</a> <a id="1613" href="Algebra.Structures.html#3092" class="Function">isSemigroup</a><a id="1624" class="Symbol">;</a> <a id="1626" href="Algebra.Bundles.html#4653" class="Field">isBand</a><a id="1632" class="Symbol">)</a>
<a id="1636" class="Keyword">record</a> <a id="MeetSemilattice"></a><a id="1643" href="Algebra.Lattice.Bundles.html#1643" class="Record">MeetSemilattice</a> <a id="1659" href="Algebra.Lattice.Bundles.html#1659" class="Bound">c</a> <a id="1661" href="Algebra.Lattice.Bundles.html#1661" class="Bound"></a> <a id="1663" class="Symbol">:</a> <a id="1665" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1669" class="Symbol">(</a><a id="1670" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1674" class="Symbol">(</a><a id="1675" href="Algebra.Lattice.Bundles.html#1659" class="Bound">c</a> <a id="1677" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1679" href="Algebra.Lattice.Bundles.html#1661" class="Bound"></a><a id="1680" class="Symbol">))</a> <a id="1683" class="Keyword">where</a>
<a id="1691" class="Keyword">infixr</a> <a id="1698" class="Number">7</a> <a id="1700" href="Algebra.Lattice.Bundles.html#1799" class="Field Operator">_∧_</a>
<a id="1706" class="Keyword">infix</a> <a id="1713" class="Number">4</a> <a id="1715" href="Algebra.Lattice.Bundles.html#1761" class="Field Operator">_≈_</a>
<a id="1721" class="Keyword">field</a>
<a id="MeetSemilattice.Carrier"></a><a id="1731" href="Algebra.Lattice.Bundles.html#1731" class="Field">Carrier</a> <a id="1749" class="Symbol">:</a> <a id="1751" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1755" href="Algebra.Lattice.Bundles.html#1659" class="Bound">c</a>
<a id="MeetSemilattice._≈_"></a><a id="1761" href="Algebra.Lattice.Bundles.html#1761" class="Field Operator">_≈_</a> <a id="1779" class="Symbol">:</a> <a id="1781" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1785" href="Algebra.Lattice.Bundles.html#1731" class="Field">Carrier</a> <a id="1793" href="Algebra.Lattice.Bundles.html#1661" class="Bound"></a>
<a id="MeetSemilattice._∧_"></a><a id="1799" href="Algebra.Lattice.Bundles.html#1799" class="Field Operator">_∧_</a> <a id="1817" class="Symbol">:</a> <a id="1819" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1823" href="Algebra.Lattice.Bundles.html#1731" class="Field">Carrier</a>
<a id="MeetSemilattice.isMeetSemilattice"></a><a id="1835" href="Algebra.Lattice.Bundles.html#1835" class="Field">isMeetSemilattice</a> <a id="1853" class="Symbol">:</a> <a id="1855" href="Algebra.Lattice.Structures.html#1160" class="Record">IsSemilattice</a> <a id="1869" href="Algebra.Lattice.Bundles.html#1761" class="Field Operator">_≈_</a> <a id="1873" href="Algebra.Lattice.Bundles.html#1799" class="Field Operator">_∧_</a>
<a id="1880" class="Keyword">open</a> <a id="1885" href="Algebra.Lattice.Structures.html#1404" class="Module">IsMeetSemilattice</a> <a id="1903" href="Algebra.Lattice.Bundles.html#1761" class="Field Operator">_≈_</a> <a id="1907" href="Algebra.Lattice.Bundles.html#1835" class="Field">isMeetSemilattice</a> <a id="1925" class="Keyword">public</a>
<a id="MeetSemilattice.semilattice"></a><a id="1935" href="Algebra.Lattice.Bundles.html#1935" class="Function">semilattice</a> <a id="1947" class="Symbol">:</a> <a id="1949" href="Algebra.Lattice.Bundles.html#1223" class="Record">Semilattice</a> <a id="1961" href="Algebra.Lattice.Bundles.html#1659" class="Bound">c</a> <a id="1963" href="Algebra.Lattice.Bundles.html#1661" class="Bound"></a>
<a id="1967" href="Algebra.Lattice.Bundles.html#1935" class="Function">semilattice</a> <a id="1979" class="Symbol">=</a> <a id="1981" class="Keyword">record</a> <a id="1988" class="Symbol">{</a> <a id="1990" href="Algebra.Lattice.Bundles.html#1399" class="Field">isSemilattice</a> <a id="2004" class="Symbol">=</a> <a id="2006" href="Algebra.Lattice.Bundles.html#1835" class="Field">isMeetSemilattice</a> <a id="2024" class="Symbol">}</a>
<a id="2029" class="Keyword">open</a> <a id="2034" href="Algebra.Lattice.Bundles.html#1223" class="Module">Semilattice</a> <a id="2046" href="Algebra.Lattice.Bundles.html#1935" class="Function">semilattice</a> <a id="2058" class="Keyword">public</a>
<a id="2069" class="Keyword">using</a> <a id="2075" class="Symbol">(</a><a id="2076" href="Algebra.Bundles.html#1353" class="Function">rawMagma</a><a id="2084" class="Symbol">;</a> <a id="2086" href="Algebra.Bundles.html#4383" class="Function">magma</a><a id="2091" class="Symbol">;</a> <a id="2093" href="Algebra.Bundles.html#4710" class="Function">semigroup</a><a id="2102" class="Symbol">;</a> <a id="2104" href="Algebra.Lattice.Bundles.html#1483" class="Function">band</a><a id="2108" class="Symbol">)</a>
<a id="2112" class="Keyword">record</a> <a id="JoinSemilattice"></a><a id="2119" href="Algebra.Lattice.Bundles.html#2119" class="Record">JoinSemilattice</a> <a id="2135" href="Algebra.Lattice.Bundles.html#2135" class="Bound">c</a> <a id="2137" href="Algebra.Lattice.Bundles.html#2137" class="Bound"></a> <a id="2139" class="Symbol">:</a> <a id="2141" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2145" class="Symbol">(</a><a id="2146" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2150" class="Symbol">(</a><a id="2151" href="Algebra.Lattice.Bundles.html#2135" class="Bound">c</a> <a id="2153" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="2155" href="Algebra.Lattice.Bundles.html#2137" class="Bound"></a><a id="2156" class="Symbol">))</a> <a id="2159" class="Keyword">where</a>
<a id="2167" class="Keyword">infixr</a> <a id="2174" class="Number">7</a> <a id="2176" href="Algebra.Lattice.Bundles.html#2275" class="Field Operator">__</a>
<a id="2182" class="Keyword">infix</a> <a id="2189" class="Number">4</a> <a id="2191" href="Algebra.Lattice.Bundles.html#2237" class="Field Operator">_≈_</a>
<a id="2197" class="Keyword">field</a>
<a id="JoinSemilattice.Carrier"></a><a id="2207" href="Algebra.Lattice.Bundles.html#2207" class="Field">Carrier</a> <a id="2225" class="Symbol">:</a> <a id="2227" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2231" href="Algebra.Lattice.Bundles.html#2135" class="Bound">c</a>
<a id="JoinSemilattice._≈_"></a><a id="2237" href="Algebra.Lattice.Bundles.html#2237" class="Field Operator">_≈_</a> <a id="2255" class="Symbol">:</a> <a id="2257" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2261" href="Algebra.Lattice.Bundles.html#2207" class="Field">Carrier</a> <a id="2269" href="Algebra.Lattice.Bundles.html#2137" class="Bound"></a>
<a id="JoinSemilattice.__"></a><a id="2275" href="Algebra.Lattice.Bundles.html#2275" class="Field Operator">__</a> <a id="2293" class="Symbol">:</a> <a id="2295" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2299" href="Algebra.Lattice.Bundles.html#2207" class="Field">Carrier</a>
<a id="JoinSemilattice.isJoinSemilattice"></a><a id="2311" href="Algebra.Lattice.Bundles.html#2311" class="Field">isJoinSemilattice</a> <a id="2329" class="Symbol">:</a> <a id="2331" href="Algebra.Lattice.Structures.html#1160" class="Record">IsSemilattice</a> <a id="2345" href="Algebra.Lattice.Bundles.html#2237" class="Field Operator">_≈_</a> <a id="2349" href="Algebra.Lattice.Bundles.html#2275" class="Field Operator">__</a>
<a id="2356" class="Keyword">open</a> <a id="2361" href="Algebra.Lattice.Structures.html#1693" class="Module">IsJoinSemilattice</a> <a id="2379" href="Algebra.Lattice.Bundles.html#2237" class="Field Operator">_≈_</a> <a id="2383" href="Algebra.Lattice.Bundles.html#2311" class="Field">isJoinSemilattice</a> <a id="2401" class="Keyword">public</a>
<a id="JoinSemilattice.semilattice"></a><a id="2411" href="Algebra.Lattice.Bundles.html#2411" class="Function">semilattice</a> <a id="2423" class="Symbol">:</a> <a id="2425" href="Algebra.Lattice.Bundles.html#1223" class="Record">Semilattice</a> <a id="2437" href="Algebra.Lattice.Bundles.html#2135" class="Bound">c</a> <a id="2439" href="Algebra.Lattice.Bundles.html#2137" class="Bound"></a>
<a id="2443" href="Algebra.Lattice.Bundles.html#2411" class="Function">semilattice</a> <a id="2455" class="Symbol">=</a> <a id="2457" class="Keyword">record</a> <a id="2464" class="Symbol">{</a> <a id="2466" href="Algebra.Lattice.Bundles.html#1399" class="Field">isSemilattice</a> <a id="2480" class="Symbol">=</a> <a id="2482" href="Algebra.Lattice.Bundles.html#2311" class="Field">isJoinSemilattice</a> <a id="2500" class="Symbol">}</a>
<a id="2505" class="Keyword">open</a> <a id="2510" href="Algebra.Lattice.Bundles.html#1223" class="Module">Semilattice</a> <a id="2522" href="Algebra.Lattice.Bundles.html#2411" class="Function">semilattice</a> <a id="2534" class="Keyword">public</a>
<a id="2545" class="Keyword">using</a> <a id="2551" class="Symbol">(</a><a id="2552" href="Algebra.Bundles.html#1353" class="Function">rawMagma</a><a id="2560" class="Symbol">;</a> <a id="2562" href="Algebra.Bundles.html#4383" class="Function">magma</a><a id="2567" class="Symbol">;</a> <a id="2569" href="Algebra.Bundles.html#4710" class="Function">semigroup</a><a id="2578" class="Symbol">;</a> <a id="2580" href="Algebra.Lattice.Bundles.html#1483" class="Function">band</a><a id="2584" class="Symbol">)</a>
<a id="2588" class="Keyword">record</a> <a id="BoundedSemilattice"></a><a id="2595" href="Algebra.Lattice.Bundles.html#2595" class="Record">BoundedSemilattice</a> <a id="2614" href="Algebra.Lattice.Bundles.html#2614" class="Bound">c</a> <a id="2616" href="Algebra.Lattice.Bundles.html#2616" class="Bound"></a> <a id="2618" class="Symbol">:</a> <a id="2620" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2624" class="Symbol">(</a><a id="2625" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2629" class="Symbol">(</a><a id="2630" href="Algebra.Lattice.Bundles.html#2614" class="Bound">c</a> <a id="2632" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="2634" href="Algebra.Lattice.Bundles.html#2616" class="Bound"></a><a id="2635" class="Symbol">))</a> <a id="2638" class="Keyword">where</a>
<a id="2646" class="Keyword">infixr</a> <a id="2653" class="Number">7</a> <a id="2655" href="Algebra.Lattice.Bundles.html#2760" class="Field Operator">_∙_</a>
<a id="2661" class="Keyword">infix</a> <a id="2668" class="Number">4</a> <a id="2670" href="Algebra.Lattice.Bundles.html#2719" class="Field Operator">_≈_</a>
<a id="2676" class="Keyword">field</a>
<a id="BoundedSemilattice.Carrier"></a><a id="2686" href="Algebra.Lattice.Bundles.html#2686" class="Field">Carrier</a> <a id="2707" class="Symbol">:</a> <a id="2709" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2713" href="Algebra.Lattice.Bundles.html#2614" class="Bound">c</a>
<a id="BoundedSemilattice._≈_"></a><a id="2719" href="Algebra.Lattice.Bundles.html#2719" class="Field Operator">_≈_</a> <a id="2740" class="Symbol">:</a> <a id="2742" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2746" href="Algebra.Lattice.Bundles.html#2686" class="Field">Carrier</a> <a id="2754" href="Algebra.Lattice.Bundles.html#2616" class="Bound"></a>
<a id="BoundedSemilattice._∙_"></a><a id="2760" href="Algebra.Lattice.Bundles.html#2760" class="Field Operator">_∙_</a> <a id="2781" class="Symbol">:</a> <a id="2783" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2787" href="Algebra.Lattice.Bundles.html#2686" class="Field">Carrier</a>
<a id="BoundedSemilattice.ε"></a><a id="2799" href="Algebra.Lattice.Bundles.html#2799" class="Field">ε</a> <a id="2820" class="Symbol">:</a> <a id="2822" href="Algebra.Lattice.Bundles.html#2686" class="Field">Carrier</a>
<a id="BoundedSemilattice.isBoundedSemilattice"></a><a id="2834" href="Algebra.Lattice.Bundles.html#2834" class="Field">isBoundedSemilattice</a> <a id="2855" class="Symbol">:</a> <a id="2857" href="Algebra.Lattice.Structures.html#2079" class="Function">IsBoundedSemilattice</a> <a id="2878" href="Algebra.Lattice.Bundles.html#2719" class="Field Operator">_≈_</a> <a id="2882" href="Algebra.Lattice.Bundles.html#2760" class="Field Operator">_∙_</a> <a id="2886" href="Algebra.Lattice.Bundles.html#2799" class="Field">ε</a>
<a id="2891" class="Keyword">open</a> <a id="2896" href="Algebra.Lattice.Structures.html#2139" class="Module">IsBoundedSemilattice</a> <a id="2917" href="Algebra.Lattice.Bundles.html#2719" class="Field Operator">_≈_</a> <a id="2921" href="Algebra.Lattice.Bundles.html#2834" class="Field">isBoundedSemilattice</a> <a id="2942" class="Keyword">public</a>
<a id="BoundedSemilattice.semilattice"></a><a id="2952" href="Algebra.Lattice.Bundles.html#2952" class="Function">semilattice</a> <a id="2964" class="Symbol">:</a> <a id="2966" href="Algebra.Lattice.Bundles.html#1223" class="Record">Semilattice</a> <a id="2978" href="Algebra.Lattice.Bundles.html#2614" class="Bound">c</a> <a id="2980" href="Algebra.Lattice.Bundles.html#2616" class="Bound"></a>
<a id="2984" href="Algebra.Lattice.Bundles.html#2952" class="Function">semilattice</a> <a id="2996" class="Symbol">=</a> <a id="2998" class="Keyword">record</a> <a id="3005" class="Symbol">{</a> <a id="3007" href="Algebra.Lattice.Bundles.html#1399" class="Field">isSemilattice</a> <a id="3021" class="Symbol">=</a> <a id="3023" href="Algebra.Lattice.Structures.html#2253" class="Function">isSemilattice</a> <a id="3037" class="Symbol">}</a>
<a id="3042" class="Keyword">open</a> <a id="3047" href="Algebra.Lattice.Bundles.html#1223" class="Module">Semilattice</a> <a id="3059" href="Algebra.Lattice.Bundles.html#2952" class="Function">semilattice</a> <a id="3071" class="Keyword">public</a> <a id="3078" class="Keyword">using</a> <a id="3084" class="Symbol">(</a><a id="3085" href="Algebra.Bundles.html#1353" class="Function">rawMagma</a><a id="3093" class="Symbol">;</a> <a id="3095" href="Algebra.Bundles.html#4383" class="Function">magma</a><a id="3100" class="Symbol">;</a> <a id="3102" href="Algebra.Bundles.html#4710" class="Function">semigroup</a><a id="3111" class="Symbol">;</a> <a id="3113" href="Algebra.Lattice.Bundles.html#1483" class="Function">band</a><a id="3117" class="Symbol">)</a>
<a id="3121" class="Keyword">record</a> <a id="BoundedMeetSemilattice"></a><a id="3128" href="Algebra.Lattice.Bundles.html#3128" class="Record">BoundedMeetSemilattice</a> <a id="3151" href="Algebra.Lattice.Bundles.html#3151" class="Bound">c</a> <a id="3153" href="Algebra.Lattice.Bundles.html#3153" class="Bound"></a> <a id="3155" class="Symbol">:</a> <a id="3157" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3161" class="Symbol">(</a><a id="3162" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="3166" class="Symbol">(</a><a id="3167" href="Algebra.Lattice.Bundles.html#3151" class="Bound">c</a> <a id="3169" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="3171" href="Algebra.Lattice.Bundles.html#3153" class="Bound"></a><a id="3172" class="Symbol">))</a> <a id="3175" class="Keyword">where</a>
<a id="3183" class="Keyword">infixr</a> <a id="3190" class="Number">7</a> <a id="3192" href="Algebra.Lattice.Bundles.html#3305" class="Field Operator">_∧_</a>
<a id="3198" class="Keyword">infix</a> <a id="3205" class="Number">4</a> <a id="3207" href="Algebra.Lattice.Bundles.html#3260" class="Field Operator">_≈_</a>
<a id="3213" class="Keyword">field</a>
<a id="BoundedMeetSemilattice.Carrier"></a><a id="3223" href="Algebra.Lattice.Bundles.html#3223" class="Field">Carrier</a> <a id="3248" class="Symbol">:</a> <a id="3250" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3254" href="Algebra.Lattice.Bundles.html#3151" class="Bound">c</a>
<a id="BoundedMeetSemilattice._≈_"></a><a id="3260" href="Algebra.Lattice.Bundles.html#3260" class="Field Operator">_≈_</a> <a id="3285" class="Symbol">:</a> <a id="3287" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3291" href="Algebra.Lattice.Bundles.html#3223" class="Field">Carrier</a> <a id="3299" href="Algebra.Lattice.Bundles.html#3153" class="Bound"></a>
<a id="BoundedMeetSemilattice._∧_"></a><a id="3305" href="Algebra.Lattice.Bundles.html#3305" class="Field Operator">_∧_</a> <a id="3330" class="Symbol">:</a> <a id="3332" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3336" href="Algebra.Lattice.Bundles.html#3223" class="Field">Carrier</a>
<a id="BoundedMeetSemilattice."></a><a id="3348" href="Algebra.Lattice.Bundles.html#3348" class="Field"></a> <a id="3373" class="Symbol">:</a> <a id="3375" href="Algebra.Lattice.Bundles.html#3223" class="Field">Carrier</a>
<a id="BoundedMeetSemilattice.isBoundedMeetSemilattice"></a><a id="3387" href="Algebra.Lattice.Bundles.html#3387" class="Field">isBoundedMeetSemilattice</a> <a id="3412" class="Symbol">:</a> <a id="3414" href="Algebra.Lattice.Structures.html#2079" class="Function">IsBoundedSemilattice</a> <a id="3435" href="Algebra.Lattice.Bundles.html#3260" class="Field Operator">_≈_</a> <a id="3439" href="Algebra.Lattice.Bundles.html#3305" class="Field Operator">_∧_</a> <a id="3443" href="Algebra.Lattice.Bundles.html#3348" class="Field"></a>
<a id="3448" class="Keyword">open</a> <a id="3453" href="Algebra.Lattice.Structures.html#2496" class="Module">IsBoundedMeetSemilattice</a> <a id="3478" href="Algebra.Lattice.Bundles.html#3260" class="Field Operator">_≈_</a> <a id="3482" href="Algebra.Lattice.Bundles.html#3387" class="Field">isBoundedMeetSemilattice</a> <a id="3507" class="Keyword">public</a>
<a id="BoundedMeetSemilattice.boundedSemilattice"></a><a id="3517" href="Algebra.Lattice.Bundles.html#3517" class="Function">boundedSemilattice</a> <a id="3536" class="Symbol">:</a> <a id="3538" href="Algebra.Lattice.Bundles.html#2595" class="Record">BoundedSemilattice</a> <a id="3557" href="Algebra.Lattice.Bundles.html#3151" class="Bound">c</a> <a id="3559" href="Algebra.Lattice.Bundles.html#3153" class="Bound"></a>
<a id="3563" href="Algebra.Lattice.Bundles.html#3517" class="Function">boundedSemilattice</a> <a id="3582" class="Symbol">=</a> <a id="3584" class="Keyword">record</a>
<a id="3595" class="Symbol">{</a> <a id="3597" href="Algebra.Lattice.Bundles.html#2834" class="Field">isBoundedSemilattice</a> <a id="3618" class="Symbol">=</a> <a id="3620" href="Algebra.Lattice.Bundles.html#3387" class="Field">isBoundedMeetSemilattice</a> <a id="3645" class="Symbol">}</a>
<a id="3650" class="Keyword">open</a> <a id="3655" href="Algebra.Lattice.Bundles.html#2595" class="Module">BoundedSemilattice</a> <a id="3674" href="Algebra.Lattice.Bundles.html#3517" class="Function">boundedSemilattice</a> <a id="3693" class="Keyword">public</a>
<a id="3704" class="Keyword">using</a> <a id="3710" class="Symbol">(</a><a id="3711" href="Algebra.Bundles.html#1353" class="Function">rawMagma</a><a id="3719" class="Symbol">;</a> <a id="3721" href="Algebra.Bundles.html#4383" class="Function">magma</a><a id="3726" class="Symbol">;</a> <a id="3728" href="Algebra.Bundles.html#4710" class="Function">semigroup</a><a id="3737" class="Symbol">;</a> <a id="3739" href="Algebra.Lattice.Bundles.html#1483" class="Function">band</a><a id="3743" class="Symbol">;</a> <a id="3745" href="Algebra.Lattice.Bundles.html#2952" class="Function">semilattice</a><a id="3756" class="Symbol">)</a>
<a id="3760" class="Keyword">record</a> <a id="BoundedJoinSemilattice"></a><a id="3767" href="Algebra.Lattice.Bundles.html#3767" class="Record">BoundedJoinSemilattice</a> <a id="3790" href="Algebra.Lattice.Bundles.html#3790" class="Bound">c</a> <a id="3792" href="Algebra.Lattice.Bundles.html#3792" class="Bound"></a> <a id="3794" class="Symbol">:</a> <a id="3796" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3800" class="Symbol">(</a><a id="3801" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="3805" class="Symbol">(</a><a id="3806" href="Algebra.Lattice.Bundles.html#3790" class="Bound">c</a> <a id="3808" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="3810" href="Algebra.Lattice.Bundles.html#3792" class="Bound"></a><a id="3811" class="Symbol">))</a> <a id="3814" class="Keyword">where</a>
<a id="3822" class="Keyword">infixr</a> <a id="3829" class="Number">7</a> <a id="3831" href="Algebra.Lattice.Bundles.html#3944" class="Field Operator">__</a>
<a id="3837" class="Keyword">infix</a> <a id="3844" class="Number">4</a> <a id="3846" href="Algebra.Lattice.Bundles.html#3899" class="Field Operator">_≈_</a>
<a id="3852" class="Keyword">field</a>
<a id="BoundedJoinSemilattice.Carrier"></a><a id="3862" href="Algebra.Lattice.Bundles.html#3862" class="Field">Carrier</a> <a id="3887" class="Symbol">:</a> <a id="3889" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3893" href="Algebra.Lattice.Bundles.html#3790" class="Bound">c</a>
<a id="BoundedJoinSemilattice._≈_"></a><a id="3899" href="Algebra.Lattice.Bundles.html#3899" class="Field Operator">_≈_</a> <a id="3924" class="Symbol">:</a> <a id="3926" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3930" href="Algebra.Lattice.Bundles.html#3862" class="Field">Carrier</a> <a id="3938" href="Algebra.Lattice.Bundles.html#3792" class="Bound"></a>
<a id="BoundedJoinSemilattice.__"></a><a id="3944" href="Algebra.Lattice.Bundles.html#3944" class="Field Operator">__</a> <a id="3969" class="Symbol">:</a> <a id="3971" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3975" href="Algebra.Lattice.Bundles.html#3862" class="Field">Carrier</a>
<a id="BoundedJoinSemilattice.⊥"></a><a id="3987" href="Algebra.Lattice.Bundles.html#3987" class="Field"></a> <a id="4012" class="Symbol">:</a> <a id="4014" href="Algebra.Lattice.Bundles.html#3862" class="Field">Carrier</a>
<a id="BoundedJoinSemilattice.isBoundedJoinSemilattice"></a><a id="4026" href="Algebra.Lattice.Bundles.html#4026" class="Field">isBoundedJoinSemilattice</a> <a id="4051" class="Symbol">:</a> <a id="4053" href="Algebra.Lattice.Structures.html#2079" class="Function">IsBoundedSemilattice</a> <a id="4074" href="Algebra.Lattice.Bundles.html#3899" class="Field Operator">_≈_</a> <a id="4078" href="Algebra.Lattice.Bundles.html#3944" class="Field Operator">__</a> <a id="4082" href="Algebra.Lattice.Bundles.html#3987" class="Field"></a>
<a id="4087" class="Keyword">open</a> <a id="4092" href="Algebra.Lattice.Structures.html#2890" class="Module">IsBoundedJoinSemilattice</a> <a id="4117" href="Algebra.Lattice.Bundles.html#3899" class="Field Operator">_≈_</a> <a id="4121" href="Algebra.Lattice.Bundles.html#4026" class="Field">isBoundedJoinSemilattice</a> <a id="4146" class="Keyword">public</a>
<a id="BoundedJoinSemilattice.boundedSemilattice"></a><a id="4156" href="Algebra.Lattice.Bundles.html#4156" class="Function">boundedSemilattice</a> <a id="4175" class="Symbol">:</a> <a id="4177" href="Algebra.Lattice.Bundles.html#2595" class="Record">BoundedSemilattice</a> <a id="4196" href="Algebra.Lattice.Bundles.html#3790" class="Bound">c</a> <a id="4198" href="Algebra.Lattice.Bundles.html#3792" class="Bound"></a>
<a id="4202" href="Algebra.Lattice.Bundles.html#4156" class="Function">boundedSemilattice</a> <a id="4221" class="Symbol">=</a> <a id="4223" class="Keyword">record</a>
<a id="4234" class="Symbol">{</a> <a id="4236" href="Algebra.Lattice.Bundles.html#2834" class="Field">isBoundedSemilattice</a> <a id="4257" class="Symbol">=</a> <a id="4259" href="Algebra.Lattice.Bundles.html#4026" class="Field">isBoundedJoinSemilattice</a> <a id="4284" class="Symbol">}</a>
<a id="4289" class="Keyword">open</a> <a id="4294" href="Algebra.Lattice.Bundles.html#2595" class="Module">BoundedSemilattice</a> <a id="4313" href="Algebra.Lattice.Bundles.html#4156" class="Function">boundedSemilattice</a> <a id="4332" class="Keyword">public</a>
<a id="4343" class="Keyword">using</a> <a id="4349" class="Symbol">(</a><a id="4350" href="Algebra.Bundles.html#1353" class="Function">rawMagma</a><a id="4358" class="Symbol">;</a> <a id="4360" href="Algebra.Bundles.html#4383" class="Function">magma</a><a id="4365" class="Symbol">;</a> <a id="4367" href="Algebra.Bundles.html#4710" class="Function">semigroup</a><a id="4376" class="Symbol">;</a> <a id="4378" href="Algebra.Lattice.Bundles.html#1483" class="Function">band</a><a id="4382" class="Symbol">;</a> <a id="4384" href="Algebra.Lattice.Bundles.html#2952" class="Function">semilattice</a><a id="4395" class="Symbol">)</a>
<a id="4399" class="Keyword">record</a> <a id="Lattice"></a><a id="4406" href="Algebra.Lattice.Bundles.html#4406" class="Record">Lattice</a> <a id="4414" href="Algebra.Lattice.Bundles.html#4414" class="Bound">c</a> <a id="4416" href="Algebra.Lattice.Bundles.html#4416" class="Bound"></a> <a id="4418" class="Symbol">:</a> <a id="4420" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4424" class="Symbol">(</a><a id="4425" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="4429" class="Symbol">(</a><a id="4430" href="Algebra.Lattice.Bundles.html#4414" class="Bound">c</a> <a id="4432" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="4434" href="Algebra.Lattice.Bundles.html#4416" class="Bound"></a><a id="4435" class="Symbol">))</a> <a id="4438" class="Keyword">where</a>
<a id="4446" class="Keyword">infixr</a> <a id="4453" class="Number">7</a> <a id="4455" href="Algebra.Lattice.Bundles.html#4581" class="Field Operator">_∧_</a>
<a id="4461" class="Keyword">infixr</a> <a id="4468" class="Number">6</a> <a id="4470" href="Algebra.Lattice.Bundles.html#4553" class="Field Operator">__</a>
<a id="4476" class="Keyword">infix</a> <a id="4483" class="Number">4</a> <a id="4485" href="Algebra.Lattice.Bundles.html#4523" class="Field Operator">_≈_</a>
<a id="4491" class="Keyword">field</a>
<a id="Lattice.Carrier"></a><a id="4501" href="Algebra.Lattice.Bundles.html#4501" class="Field">Carrier</a> <a id="4511" class="Symbol">:</a> <a id="4513" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4517" href="Algebra.Lattice.Bundles.html#4414" class="Bound">c</a>
<a id="Lattice._≈_"></a><a id="4523" href="Algebra.Lattice.Bundles.html#4523" class="Field Operator">_≈_</a> <a id="4533" class="Symbol">:</a> <a id="4535" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="4539" href="Algebra.Lattice.Bundles.html#4501" class="Field">Carrier</a> <a id="4547" href="Algebra.Lattice.Bundles.html#4416" class="Bound"></a>
<a id="Lattice.__"></a><a id="4553" href="Algebra.Lattice.Bundles.html#4553" class="Field Operator">__</a> <a id="4563" class="Symbol">:</a> <a id="4565" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4569" href="Algebra.Lattice.Bundles.html#4501" class="Field">Carrier</a>
<a id="Lattice._∧_"></a><a id="4581" href="Algebra.Lattice.Bundles.html#4581" class="Field Operator">_∧_</a> <a id="4591" class="Symbol">:</a> <a id="4593" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4597" href="Algebra.Lattice.Bundles.html#4501" class="Field">Carrier</a>
<a id="Lattice.isLattice"></a><a id="4609" href="Algebra.Lattice.Bundles.html#4609" class="Field">isLattice</a> <a id="4619" class="Symbol">:</a> <a id="4621" href="Algebra.Lattice.Structures.html#4019" class="Record">IsLattice</a> <a id="4631" href="Algebra.Lattice.Bundles.html#4523" class="Field Operator">_≈_</a> <a id="4635" href="Algebra.Lattice.Bundles.html#4553" class="Field Operator">__</a> <a id="4639" href="Algebra.Lattice.Bundles.html#4581" class="Field Operator">_∧_</a>
<a id="4646" class="Keyword">open</a> <a id="4651" href="Algebra.Lattice.Structures.html#4019" class="Module">IsLattice</a> <a id="4661" href="Algebra.Lattice.Bundles.html#4609" class="Field">isLattice</a> <a id="4671" class="Keyword">public</a>
<a id="Lattice.rawLattice"></a><a id="4681" href="Algebra.Lattice.Bundles.html#4681" class="Function">rawLattice</a> <a id="4692" class="Symbol">:</a> <a id="4694" href="Algebra.Lattice.Bundles.Raw.html#461" class="Record">RawLattice</a> <a id="4705" href="Algebra.Lattice.Bundles.html#4414" class="Bound">c</a> <a id="4707" href="Algebra.Lattice.Bundles.html#4416" class="Bound"></a>
<a id="4711" href="Algebra.Lattice.Bundles.html#4681" class="Function">rawLattice</a> <a id="4722" class="Symbol">=</a> <a id="4724" class="Keyword">record</a>
<a id="4735" class="Symbol">{</a> <a id="4737" href="Algebra.Lattice.Bundles.Raw.html#579" class="Field Operator">_≈_</a> <a id="4742" class="Symbol">=</a> <a id="4744" href="Algebra.Lattice.Bundles.html#4523" class="Field Operator">_≈_</a>
<a id="4752" class="Symbol">;</a> <a id="4754" href="Algebra.Lattice.Bundles.Raw.html#607" class="Field Operator">_∧_</a> <a id="4759" class="Symbol">=</a> <a id="4761" href="Algebra.Lattice.Bundles.html#4581" class="Field Operator">_∧_</a>
<a id="4769" class="Symbol">;</a> <a id="4771" href="Algebra.Lattice.Bundles.Raw.html#633" class="Field Operator">__</a> <a id="4776" class="Symbol">=</a> <a id="4778" href="Algebra.Lattice.Bundles.html#4553" class="Field Operator">__</a>
<a id="4786" class="Symbol">}</a>
<a id="4791" class="Keyword">open</a> <a id="4796" href="Algebra.Lattice.Bundles.Raw.html#461" class="Module">RawLattice</a> <a id="4807" href="Algebra.Lattice.Bundles.html#4681" class="Function">rawLattice</a> <a id="4818" class="Keyword">public</a>
<a id="4829" class="Keyword">using</a> <a id="4835" class="Symbol">(</a><a id="4836" href="Algebra.Lattice.Bundles.Raw.html#658" class="Function">-rawMagma</a><a id="4846" class="Symbol">;</a> <a id="4848" href="Algebra.Lattice.Bundles.Raw.html#734" class="Function">∧-rawMagma</a><a id="4858" class="Symbol">)</a>
<a id="Lattice.setoid"></a><a id="4863" href="Algebra.Lattice.Bundles.html#4863" class="Function">setoid</a> <a id="4870" class="Symbol">:</a> <a id="4872" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="4879" href="Algebra.Lattice.Bundles.html#4414" class="Bound">c</a> <a id="4881" href="Algebra.Lattice.Bundles.html#4416" class="Bound"></a>
<a id="4885" href="Algebra.Lattice.Bundles.html#4863" class="Function">setoid</a> <a id="4892" class="Symbol">=</a> <a id="4894" class="Keyword">record</a> <a id="4901" class="Symbol">{</a> <a id="4903" href="Relation.Binary.Bundles.html#1203" class="Field">isEquivalence</a> <a id="4917" class="Symbol">=</a> <a id="4919" href="Algebra.Lattice.Structures.html#4075" class="Function">isEquivalence</a> <a id="4933" class="Symbol">}</a>
<a id="4938" class="Keyword">open</a> <a id="4943" href="Relation.Binary.Bundles.html#1080" class="Module">Setoid</a> <a id="4950" href="Algebra.Lattice.Bundles.html#4863" class="Function">setoid</a> <a id="4957" class="Keyword">public</a>
<a id="4968" class="Keyword">using</a> <a id="4974" class="Symbol">(</a><a id="4975" href="Relation.Binary.Bundles.html#1031" class="Function Operator">_≉_</a><a id="4978" class="Symbol">)</a>
<a id="4982" class="Keyword">record</a> <a id="DistributiveLattice"></a><a id="4989" href="Algebra.Lattice.Bundles.html#4989" class="Record">DistributiveLattice</a> <a id="5009" href="Algebra.Lattice.Bundles.html#5009" class="Bound">c</a> <a id="5011" href="Algebra.Lattice.Bundles.html#5011" class="Bound"></a> <a id="5013" class="Symbol">:</a> <a id="5015" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5019" class="Symbol">(</a><a id="5020" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="5024" class="Symbol">(</a><a id="5025" href="Algebra.Lattice.Bundles.html#5009" class="Bound">c</a> <a id="5027" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="5029" href="Algebra.Lattice.Bundles.html#5011" class="Bound"></a><a id="5030" class="Symbol">))</a> <a id="5033" class="Keyword">where</a>
<a id="5041" class="Keyword">infixr</a> <a id="5048" class="Number">7</a> <a id="5050" href="Algebra.Lattice.Bundles.html#5212" class="Field Operator">_∧_</a>
<a id="5056" class="Keyword">infixr</a> <a id="5063" class="Number">6</a> <a id="5065" href="Algebra.Lattice.Bundles.html#5172" class="Field Operator">__</a>
<a id="5071" class="Keyword">infix</a> <a id="5078" class="Number">4</a> <a id="5080" href="Algebra.Lattice.Bundles.html#5130" class="Field Operator">_≈_</a>
<a id="5086" class="Keyword">field</a>
<a id="DistributiveLattice.Carrier"></a><a id="5096" href="Algebra.Lattice.Bundles.html#5096" class="Field">Carrier</a> <a id="5118" class="Symbol">:</a> <a id="5120" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5124" href="Algebra.Lattice.Bundles.html#5009" class="Bound">c</a>
<a id="DistributiveLattice._≈_"></a><a id="5130" href="Algebra.Lattice.Bundles.html#5130" class="Field Operator">_≈_</a> <a id="5152" class="Symbol">:</a> <a id="5154" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="5158" href="Algebra.Lattice.Bundles.html#5096" class="Field">Carrier</a> <a id="5166" href="Algebra.Lattice.Bundles.html#5011" class="Bound"></a>
<a id="DistributiveLattice.__"></a><a id="5172" href="Algebra.Lattice.Bundles.html#5172" class="Field Operator">__</a> <a id="5194" class="Symbol">:</a> <a id="5196" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5200" href="Algebra.Lattice.Bundles.html#5096" class="Field">Carrier</a>
<a id="DistributiveLattice._∧_"></a><a id="5212" href="Algebra.Lattice.Bundles.html#5212" class="Field Operator">_∧_</a> <a id="5234" class="Symbol">:</a> <a id="5236" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5240" href="Algebra.Lattice.Bundles.html#5096" class="Field">Carrier</a>
<a id="DistributiveLattice.isDistributiveLattice"></a><a id="5252" href="Algebra.Lattice.Bundles.html#5252" class="Field">isDistributiveLattice</a> <a id="5274" class="Symbol">:</a> <a id="5276" href="Algebra.Lattice.Structures.html#4768" class="Record">IsDistributiveLattice</a> <a id="5298" href="Algebra.Lattice.Bundles.html#5130" class="Field Operator">_≈_</a> <a id="5302" href="Algebra.Lattice.Bundles.html#5172" class="Field Operator">__</a> <a id="5306" href="Algebra.Lattice.Bundles.html#5212" class="Field Operator">_∧_</a>
<a id="5313" class="Keyword">open</a> <a id="5318" href="Algebra.Lattice.Structures.html#4768" class="Module">IsDistributiveLattice</a> <a id="5340" href="Algebra.Lattice.Bundles.html#5252" class="Field">isDistributiveLattice</a> <a id="5362" class="Keyword">public</a>
<a id="DistributiveLattice.lattice"></a><a id="5372" href="Algebra.Lattice.Bundles.html#5372" class="Function">lattice</a> <a id="5380" class="Symbol">:</a> <a id="5382" href="Algebra.Lattice.Bundles.html#4406" class="Record">Lattice</a> <a id="5390" class="Symbol">_</a> <a id="5392" class="Symbol">_</a>
<a id="5396" href="Algebra.Lattice.Bundles.html#5372" class="Function">lattice</a> <a id="5404" class="Symbol">=</a> <a id="5406" class="Keyword">record</a> <a id="5413" class="Symbol">{</a> <a id="5415" href="Algebra.Lattice.Bundles.html#4609" class="Field">isLattice</a> <a id="5425" class="Symbol">=</a> <a id="5427" href="Algebra.Lattice.Structures.html#4836" class="Function">isLattice</a> <a id="5437" class="Symbol">}</a>
<a id="5442" class="Keyword">open</a> <a id="5447" href="Algebra.Lattice.Bundles.html#4406" class="Module">Lattice</a> <a id="5455" href="Algebra.Lattice.Bundles.html#5372" class="Function">lattice</a> <a id="5463" class="Keyword">public</a>
<a id="5474" class="Keyword">using</a>
<a id="5484" class="Symbol">(</a> <a id="5486" href="Relation.Binary.Bundles.html#1031" class="Function Operator">_≉_</a><a id="5489" class="Symbol">;</a> <a id="5491" href="Algebra.Lattice.Bundles.html#4863" class="Function">setoid</a><a id="5497" class="Symbol">;</a> <a id="5499" href="Algebra.Lattice.Bundles.html#4681" class="Function">rawLattice</a>
<a id="5514" class="Symbol">;</a> <a id="5516" href="Algebra.Lattice.Bundles.Raw.html#658" class="Function">-rawMagma</a><a id="5526" class="Symbol">;</a> <a id="5528" href="Algebra.Lattice.Bundles.Raw.html#734" class="Function">∧-rawMagma</a>
<a id="5543" class="Symbol">)</a>
<a id="5547" class="Keyword">record</a> <a id="BooleanAlgebra"></a><a id="5554" href="Algebra.Lattice.Bundles.html#5554" class="Record">BooleanAlgebra</a> <a id="5569" href="Algebra.Lattice.Bundles.html#5569" class="Bound">c</a> <a id="5571" href="Algebra.Lattice.Bundles.html#5571" class="Bound"></a> <a id="5573" class="Symbol">:</a> <a id="5575" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5579" class="Symbol">(</a><a id="5580" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="5584" class="Symbol">(</a><a id="5585" href="Algebra.Lattice.Bundles.html#5569" class="Bound">c</a> <a id="5587" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="5589" href="Algebra.Lattice.Bundles.html#5571" class="Bound"></a><a id="5590" class="Symbol">))</a> <a id="5593" class="Keyword">where</a>
<a id="5601" class="Keyword">infix</a> <a id="5608" class="Number">8</a> <a id="5610" href="Algebra.Lattice.Bundles.html#5806" class="Field Operator">¬_</a>
<a id="5615" class="Keyword">infixr</a> <a id="5622" class="Number">7</a> <a id="5624" href="Algebra.Lattice.Bundles.html#5771" class="Field Operator">_∧_</a>
<a id="5630" class="Keyword">infixr</a> <a id="5637" class="Number">6</a> <a id="5639" href="Algebra.Lattice.Bundles.html#5736" class="Field Operator">__</a>
<a id="5645" class="Keyword">infix</a> <a id="5652" class="Number">4</a> <a id="5654" href="Algebra.Lattice.Bundles.html#5699" class="Field Operator">_≈_</a>
<a id="5660" class="Keyword">field</a>
<a id="BooleanAlgebra.Carrier"></a><a id="5670" href="Algebra.Lattice.Bundles.html#5670" class="Field">Carrier</a> <a id="5687" class="Symbol">:</a> <a id="5689" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5693" href="Algebra.Lattice.Bundles.html#5569" class="Bound">c</a>
<a id="BooleanAlgebra._≈_"></a><a id="5699" href="Algebra.Lattice.Bundles.html#5699" class="Field Operator">_≈_</a> <a id="5716" class="Symbol">:</a> <a id="5718" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="5722" href="Algebra.Lattice.Bundles.html#5670" class="Field">Carrier</a> <a id="5730" href="Algebra.Lattice.Bundles.html#5571" class="Bound"></a>
<a id="BooleanAlgebra.__"></a><a id="5736" href="Algebra.Lattice.Bundles.html#5736" class="Field Operator">__</a> <a id="5753" class="Symbol">:</a> <a id="5755" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5759" href="Algebra.Lattice.Bundles.html#5670" class="Field">Carrier</a>
<a id="BooleanAlgebra._∧_"></a><a id="5771" href="Algebra.Lattice.Bundles.html#5771" class="Field Operator">_∧_</a> <a id="5788" class="Symbol">:</a> <a id="5790" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5794" href="Algebra.Lattice.Bundles.html#5670" class="Field">Carrier</a>
<a id="BooleanAlgebra.¬_"></a><a id="5806" href="Algebra.Lattice.Bundles.html#5806" class="Field Operator">¬_</a> <a id="5823" class="Symbol">:</a> <a id="5825" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="5829" href="Algebra.Lattice.Bundles.html#5670" class="Field">Carrier</a>
<a id="BooleanAlgebra."></a><a id="5841" href="Algebra.Lattice.Bundles.html#5841" class="Field"></a> <a id="5858" class="Symbol">:</a> <a id="5860" href="Algebra.Lattice.Bundles.html#5670" class="Field">Carrier</a>
<a id="BooleanAlgebra.⊥"></a><a id="5872" href="Algebra.Lattice.Bundles.html#5872" class="Field"></a> <a id="5889" class="Symbol">:</a> <a id="5891" href="Algebra.Lattice.Bundles.html#5670" class="Field">Carrier</a>
<a id="BooleanAlgebra.isBooleanAlgebra"></a><a id="5903" href="Algebra.Lattice.Bundles.html#5903" class="Field">isBooleanAlgebra</a> <a id="5920" class="Symbol">:</a> <a id="5922" href="Algebra.Lattice.Structures.html#5413" class="Record">IsBooleanAlgebra</a> <a id="5939" href="Algebra.Lattice.Bundles.html#5699" class="Field Operator">_≈_</a> <a id="5943" href="Algebra.Lattice.Bundles.html#5736" class="Field Operator">__</a> <a id="5947" href="Algebra.Lattice.Bundles.html#5771" class="Field Operator">_∧_</a> <a id="5951" href="Algebra.Lattice.Bundles.html#5806" class="Field Operator">¬_</a> <a id="5954" href="Algebra.Lattice.Bundles.html#5841" class="Field"></a> <a id="5956" href="Algebra.Lattice.Bundles.html#5872" class="Field"></a>
<a id="5961" class="Keyword">open</a> <a id="5966" href="Algebra.Lattice.Structures.html#5413" class="Module">IsBooleanAlgebra</a> <a id="5983" href="Algebra.Lattice.Bundles.html#5903" class="Field">isBooleanAlgebra</a> <a id="6000" class="Keyword">public</a>
<a id="BooleanAlgebra.distributiveLattice"></a><a id="6010" href="Algebra.Lattice.Bundles.html#6010" class="Function">distributiveLattice</a> <a id="6030" class="Symbol">:</a> <a id="6032" href="Algebra.Lattice.Bundles.html#4989" class="Record">DistributiveLattice</a> <a id="6052" class="Symbol">_</a> <a id="6054" class="Symbol">_</a>
<a id="6058" href="Algebra.Lattice.Bundles.html#6010" class="Function">distributiveLattice</a> <a id="6078" class="Symbol">=</a> <a id="6080" class="Keyword">record</a>
<a id="6091" class="Symbol">{</a> <a id="6093" href="Algebra.Lattice.Bundles.html#5252" class="Field">isDistributiveLattice</a> <a id="6115" class="Symbol">=</a> <a id="6117" href="Algebra.Lattice.Structures.html#5501" class="Function">isDistributiveLattice</a>
<a id="6143" class="Symbol">}</a>
<a id="6148" class="Keyword">open</a> <a id="6153" href="Algebra.Lattice.Bundles.html#4989" class="Module">DistributiveLattice</a> <a id="6173" href="Algebra.Lattice.Bundles.html#6010" class="Function">distributiveLattice</a> <a id="6193" class="Keyword">public</a>
<a id="6204" class="Keyword">using</a>
<a id="6214" class="Symbol">(</a> <a id="6216" href="Relation.Binary.Bundles.html#1031" class="Function Operator">_≉_</a><a id="6219" class="Symbol">;</a> <a id="6221" href="Algebra.Lattice.Bundles.html#4863" class="Function">setoid</a><a id="6227" class="Symbol">;</a> <a id="6229" href="Algebra.Lattice.Bundles.html#4681" class="Function">rawLattice</a>
<a id="6244" class="Symbol">;</a> <a id="6246" href="Algebra.Lattice.Bundles.Raw.html#658" class="Function">-rawMagma</a><a id="6256" class="Symbol">;</a> <a id="6258" href="Algebra.Lattice.Bundles.Raw.html#734" class="Function">∧-rawMagma</a>
<a id="6273" class="Symbol">;</a> <a id="6275" href="Algebra.Lattice.Bundles.html#5372" class="Function">lattice</a>
<a id="6287" class="Symbol">)</a>
</pre></body></html>