bsc-leon-vatthauer/agda/bsc-thesis/Relation.Binary.Lattice.Bundles.html
2024-02-09 17:53:52 +01:00

230 lines
No EOL
68 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Relation.Binary.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">-- Bundles for order-theoretic lattices</a>
<a id="146" class="Comment">------------------------------------------------------------------------</a>
<a id="220" class="Comment">-- The contents of this module should be accessed via</a>
<a id="274" class="Comment">-- `Relation.Binary.Lattice`.</a>
<a id="305" class="Symbol">{-#</a> <a id="309" class="Keyword">OPTIONS</a> <a id="317" class="Pragma">--cubical-compatible</a> <a id="338" class="Pragma">--safe</a> <a id="345" class="Symbol">#-}</a>
<a id="350" class="Keyword">module</a> <a id="357" href="Relation.Binary.Lattice.Bundles.html" class="Module">Relation.Binary.Lattice.Bundles</a> <a id="389" class="Keyword">where</a>
<a id="396" class="Keyword">open</a> <a id="401" class="Keyword">import</a> <a id="408" href="Algebra.Core.html" class="Module">Algebra.Core</a>
<a id="421" class="Keyword">open</a> <a id="426" class="Keyword">import</a> <a id="433" href="Level.html" class="Module">Level</a> <a id="439" class="Keyword">using</a> <a id="445" class="Symbol">(</a><a id="446" href="Agda.Primitive.html#931" class="Primitive">suc</a><a id="449" class="Symbol">;</a> <a id="451" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="454" class="Symbol">)</a>
<a id="456" class="Keyword">open</a> <a id="461" class="Keyword">import</a> <a id="468" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="489" class="Keyword">using</a> <a id="495" class="Symbol">(</a><a id="496" href="Relation.Binary.Core.html#896" class="Function">Rel</a><a id="499" class="Symbol">)</a>
<a id="501" class="Keyword">open</a> <a id="506" class="Keyword">import</a> <a id="513" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="537" class="Keyword">using</a> <a id="543" class="Symbol">(</a><a id="544" href="Relation.Binary.Bundles.html#3530" class="Record">Poset</a><a id="549" class="Symbol">;</a> <a id="551" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a><a id="557" class="Symbol">)</a>
<a id="559" class="Keyword">open</a> <a id="564" class="Keyword">import</a> <a id="571" href="Relation.Binary.Lattice.Structures.html" class="Module">Relation.Binary.Lattice.Structures</a>
<a id="607" class="Comment">------------------------------------------------------------------------</a>
<a id="680" class="Comment">-- Join semilattices</a>
<a id="702" class="Keyword">record</a> <a id="JoinSemilattice"></a><a id="709" href="Relation.Binary.Lattice.Bundles.html#709" class="Record">JoinSemilattice</a> <a id="725" href="Relation.Binary.Lattice.Bundles.html#725" class="Bound">c</a> <a id="727" href="Relation.Binary.Lattice.Bundles.html#727" class="Bound">ℓ₁</a> <a id="730" href="Relation.Binary.Lattice.Bundles.html#730" class="Bound">ℓ₂</a> <a id="733" class="Symbol">:</a> <a id="735" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="739" class="Symbol">(</a><a id="740" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="744" class="Symbol">(</a><a id="745" href="Relation.Binary.Lattice.Bundles.html#725" class="Bound">c</a> <a id="747" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="749" href="Relation.Binary.Lattice.Bundles.html#727" class="Bound">ℓ₁</a> <a id="752" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="754" href="Relation.Binary.Lattice.Bundles.html#730" class="Bound">ℓ₂</a><a id="756" class="Symbol">))</a> <a id="759" class="Keyword">where</a>
<a id="767" class="Keyword">infix</a> <a id="774" class="Number">4</a> <a id="776" href="Relation.Binary.Lattice.Bundles.html#841" class="Field Operator">_≈_</a> <a id="780" href="Relation.Binary.Lattice.Bundles.html#909" class="Field Operator">_≤_</a>
<a id="786" class="Keyword">infixr</a> <a id="793" class="Number">6</a> <a id="795" href="Relation.Binary.Lattice.Bundles.html#971" class="Field Operator">__</a>
<a id="801" class="Keyword">field</a>
<a id="JoinSemilattice.Carrier"></a><a id="811" href="Relation.Binary.Lattice.Bundles.html#811" class="Field">Carrier</a> <a id="829" class="Symbol">:</a> <a id="831" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="835" href="Relation.Binary.Lattice.Bundles.html#725" class="Bound">c</a>
<a id="JoinSemilattice._≈_"></a><a id="841" href="Relation.Binary.Lattice.Bundles.html#841" class="Field Operator">_≈_</a> <a id="859" class="Symbol">:</a> <a id="861" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="865" href="Relation.Binary.Lattice.Bundles.html#811" class="Field">Carrier</a> <a id="873" href="Relation.Binary.Lattice.Bundles.html#727" class="Bound">ℓ₁</a> <a id="877" class="Comment">-- The underlying equality.</a>
<a id="JoinSemilattice._≤_"></a><a id="909" href="Relation.Binary.Lattice.Bundles.html#909" class="Field Operator">_≤_</a> <a id="927" class="Symbol">:</a> <a id="929" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="933" href="Relation.Binary.Lattice.Bundles.html#811" class="Field">Carrier</a> <a id="941" href="Relation.Binary.Lattice.Bundles.html#730" class="Bound">ℓ₂</a> <a id="945" class="Comment">-- The partial order.</a>
<a id="JoinSemilattice.__"></a><a id="971" href="Relation.Binary.Lattice.Bundles.html#971" class="Field Operator">__</a> <a id="989" class="Symbol">:</a> <a id="991" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="995" href="Relation.Binary.Lattice.Bundles.html#811" class="Field">Carrier</a> <a id="1007" class="Comment">-- The join operation.</a>
<a id="JoinSemilattice.isJoinSemilattice"></a><a id="1034" href="Relation.Binary.Lattice.Bundles.html#1034" class="Field">isJoinSemilattice</a> <a id="1052" class="Symbol">:</a> <a id="1054" href="Relation.Binary.Lattice.Structures.html#976" class="Record">IsJoinSemilattice</a> <a id="1072" href="Relation.Binary.Lattice.Bundles.html#841" class="Field Operator">_≈_</a> <a id="1076" href="Relation.Binary.Lattice.Bundles.html#909" class="Field Operator">_≤_</a> <a id="1080" href="Relation.Binary.Lattice.Bundles.html#971" class="Field Operator">__</a>
<a id="1087" class="Keyword">open</a> <a id="1092" href="Relation.Binary.Lattice.Structures.html#976" class="Module">IsJoinSemilattice</a> <a id="1110" href="Relation.Binary.Lattice.Bundles.html#1034" class="Field">isJoinSemilattice</a> <a id="1128" class="Keyword">public</a>
<a id="JoinSemilattice.poset"></a><a id="1138" href="Relation.Binary.Lattice.Bundles.html#1138" class="Function">poset</a> <a id="1144" class="Symbol">:</a> <a id="1146" href="Relation.Binary.Bundles.html#3530" class="Record">Poset</a> <a id="1152" href="Relation.Binary.Lattice.Bundles.html#725" class="Bound">c</a> <a id="1154" href="Relation.Binary.Lattice.Bundles.html#727" class="Bound">ℓ₁</a> <a id="1157" href="Relation.Binary.Lattice.Bundles.html#730" class="Bound">ℓ₂</a>
<a id="1162" href="Relation.Binary.Lattice.Bundles.html#1138" class="Function">poset</a> <a id="1168" class="Symbol">=</a> <a id="1170" class="Keyword">record</a> <a id="1177" class="Symbol">{</a> <a id="1179" href="Relation.Binary.Bundles.html#3705" class="Field">isPartialOrder</a> <a id="1194" class="Symbol">=</a> <a id="1196" href="Relation.Binary.Lattice.Structures.html#1097" class="Function">isPartialOrder</a> <a id="1211" class="Symbol">}</a>
<a id="1216" class="Keyword">open</a> <a id="1221" href="Relation.Binary.Bundles.html#3530" class="Module">Poset</a> <a id="1227" href="Relation.Binary.Lattice.Bundles.html#1138" class="Function">poset</a> <a id="1233" class="Keyword">public</a> <a id="1240" class="Keyword">using</a> <a id="1246" class="Symbol">(</a><a id="1247" href="Relation.Binary.Bundles.html#3825" class="Function">preorder</a><a id="1255" class="Symbol">)</a>
<a id="1259" class="Keyword">record</a> <a id="BoundedJoinSemilattice"></a><a id="1266" href="Relation.Binary.Lattice.Bundles.html#1266" class="Record">BoundedJoinSemilattice</a> <a id="1289" href="Relation.Binary.Lattice.Bundles.html#1289" class="Bound">c</a> <a id="1291" href="Relation.Binary.Lattice.Bundles.html#1291" class="Bound">ℓ₁</a> <a id="1294" href="Relation.Binary.Lattice.Bundles.html#1294" class="Bound">ℓ₂</a> <a id="1297" class="Symbol">:</a> <a id="1299" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1303" class="Symbol">(</a><a id="1304" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1308" class="Symbol">(</a><a id="1309" href="Relation.Binary.Lattice.Bundles.html#1289" class="Bound">c</a> <a id="1311" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1313" href="Relation.Binary.Lattice.Bundles.html#1291" class="Bound">ℓ₁</a> <a id="1316" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1318" href="Relation.Binary.Lattice.Bundles.html#1294" class="Bound">ℓ₂</a><a id="1320" class="Symbol">))</a> <a id="1323" class="Keyword">where</a>
<a id="1331" class="Keyword">infix</a> <a id="1338" class="Number">4</a> <a id="1340" href="Relation.Binary.Lattice.Bundles.html#1412" class="Field Operator">_≈_</a> <a id="1344" href="Relation.Binary.Lattice.Bundles.html#1487" class="Field Operator">_≤_</a>
<a id="1350" class="Keyword">infixr</a> <a id="1357" class="Number">6</a> <a id="1359" href="Relation.Binary.Lattice.Bundles.html#1556" class="Field Operator">__</a>
<a id="1365" class="Keyword">field</a>
<a id="BoundedJoinSemilattice.Carrier"></a><a id="1375" href="Relation.Binary.Lattice.Bundles.html#1375" class="Field">Carrier</a> <a id="1400" class="Symbol">:</a> <a id="1402" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1406" href="Relation.Binary.Lattice.Bundles.html#1289" class="Bound">c</a>
<a id="BoundedJoinSemilattice._≈_"></a><a id="1412" href="Relation.Binary.Lattice.Bundles.html#1412" class="Field Operator">_≈_</a> <a id="1437" class="Symbol">:</a> <a id="1439" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1443" href="Relation.Binary.Lattice.Bundles.html#1375" class="Field">Carrier</a> <a id="1451" href="Relation.Binary.Lattice.Bundles.html#1291" class="Bound">ℓ₁</a> <a id="1455" class="Comment">-- The underlying equality.</a>
<a id="BoundedJoinSemilattice._≤_"></a><a id="1487" href="Relation.Binary.Lattice.Bundles.html#1487" class="Field Operator">_≤_</a> <a id="1512" class="Symbol">:</a> <a id="1514" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1518" href="Relation.Binary.Lattice.Bundles.html#1375" class="Field">Carrier</a> <a id="1526" href="Relation.Binary.Lattice.Bundles.html#1294" class="Bound">ℓ₂</a> <a id="1530" class="Comment">-- The partial order.</a>
<a id="BoundedJoinSemilattice.__"></a><a id="1556" href="Relation.Binary.Lattice.Bundles.html#1556" class="Field Operator">__</a> <a id="1581" class="Symbol">:</a> <a id="1583" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1587" href="Relation.Binary.Lattice.Bundles.html#1375" class="Field">Carrier</a> <a id="1599" class="Comment">-- The join operation.</a>
<a id="BoundedJoinSemilattice.⊥"></a><a id="1626" href="Relation.Binary.Lattice.Bundles.html#1626" class="Field"></a> <a id="1651" class="Symbol">:</a> <a id="1653" href="Relation.Binary.Lattice.Bundles.html#1375" class="Field">Carrier</a> <a id="1669" class="Comment">-- The minimum.</a>
<a id="BoundedJoinSemilattice.isBoundedJoinSemilattice"></a><a id="1689" href="Relation.Binary.Lattice.Bundles.html#1689" class="Field">isBoundedJoinSemilattice</a> <a id="1714" class="Symbol">:</a> <a id="1716" href="Relation.Binary.Lattice.Structures.html#1505" class="Record">IsBoundedJoinSemilattice</a> <a id="1741" href="Relation.Binary.Lattice.Bundles.html#1412" class="Field Operator">_≈_</a> <a id="1745" href="Relation.Binary.Lattice.Bundles.html#1487" class="Field Operator">_≤_</a> <a id="1749" href="Relation.Binary.Lattice.Bundles.html#1556" class="Field Operator">__</a> <a id="1753" href="Relation.Binary.Lattice.Bundles.html#1626" class="Field"></a>
<a id="1758" class="Keyword">open</a> <a id="1763" href="Relation.Binary.Lattice.Structures.html#1505" class="Module">IsBoundedJoinSemilattice</a> <a id="1788" href="Relation.Binary.Lattice.Bundles.html#1689" class="Field">isBoundedJoinSemilattice</a> <a id="1813" class="Keyword">public</a>
<a id="BoundedJoinSemilattice.joinSemilattice"></a><a id="1823" href="Relation.Binary.Lattice.Bundles.html#1823" class="Function">joinSemilattice</a> <a id="1839" class="Symbol">:</a> <a id="1841" href="Relation.Binary.Lattice.Bundles.html#709" class="Record">JoinSemilattice</a> <a id="1857" href="Relation.Binary.Lattice.Bundles.html#1289" class="Bound">c</a> <a id="1859" href="Relation.Binary.Lattice.Bundles.html#1291" class="Bound">ℓ₁</a> <a id="1862" href="Relation.Binary.Lattice.Bundles.html#1294" class="Bound">ℓ₂</a>
<a id="1867" href="Relation.Binary.Lattice.Bundles.html#1823" class="Function">joinSemilattice</a> <a id="1883" class="Symbol">=</a> <a id="1885" class="Keyword">record</a> <a id="1892" class="Symbol">{</a> <a id="1894" href="Relation.Binary.Lattice.Bundles.html#1034" class="Field">isJoinSemilattice</a> <a id="1912" class="Symbol">=</a> <a id="1914" href="Relation.Binary.Lattice.Structures.html#1705" class="Function">isJoinSemilattice</a> <a id="1932" class="Symbol">}</a>
<a id="1937" class="Keyword">open</a> <a id="1942" href="Relation.Binary.Lattice.Bundles.html#709" class="Module">JoinSemilattice</a> <a id="1958" href="Relation.Binary.Lattice.Bundles.html#1823" class="Function">joinSemilattice</a> <a id="1974" class="Keyword">public</a> <a id="1981" class="Keyword">using</a> <a id="1987" class="Symbol">(</a><a id="1988" href="Relation.Binary.Bundles.html#3825" class="Function">preorder</a><a id="1996" class="Symbol">;</a> <a id="1998" href="Relation.Binary.Lattice.Bundles.html#1138" class="Function">poset</a><a id="2003" class="Symbol">)</a>
<a id="2006" class="Comment">------------------------------------------------------------------------</a>
<a id="2079" class="Comment">-- Meet semilattices</a>
<a id="2101" class="Keyword">record</a> <a id="MeetSemilattice"></a><a id="2108" href="Relation.Binary.Lattice.Bundles.html#2108" class="Record">MeetSemilattice</a> <a id="2124" href="Relation.Binary.Lattice.Bundles.html#2124" class="Bound">c</a> <a id="2126" href="Relation.Binary.Lattice.Bundles.html#2126" class="Bound">ℓ₁</a> <a id="2129" href="Relation.Binary.Lattice.Bundles.html#2129" class="Bound">ℓ₂</a> <a id="2132" class="Symbol">:</a> <a id="2134" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2138" class="Symbol">(</a><a id="2139" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2143" class="Symbol">(</a><a id="2144" href="Relation.Binary.Lattice.Bundles.html#2124" class="Bound">c</a> <a id="2146" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="2148" href="Relation.Binary.Lattice.Bundles.html#2126" class="Bound">ℓ₁</a> <a id="2151" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="2153" href="Relation.Binary.Lattice.Bundles.html#2129" class="Bound">ℓ₂</a><a id="2155" class="Symbol">))</a> <a id="2158" class="Keyword">where</a>
<a id="2166" class="Keyword">infix</a> <a id="2173" class="Number">4</a> <a id="2175" href="Relation.Binary.Lattice.Bundles.html#2240" class="Field Operator">_≈_</a> <a id="2179" href="Relation.Binary.Lattice.Bundles.html#2308" class="Field Operator">_≤_</a>
<a id="2185" class="Keyword">infixr</a> <a id="2192" class="Number">7</a> <a id="2194" href="Relation.Binary.Lattice.Bundles.html#2370" class="Field Operator">_∧_</a>
<a id="2200" class="Keyword">field</a>
<a id="MeetSemilattice.Carrier"></a><a id="2210" href="Relation.Binary.Lattice.Bundles.html#2210" class="Field">Carrier</a> <a id="2228" class="Symbol">:</a> <a id="2230" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2234" href="Relation.Binary.Lattice.Bundles.html#2124" class="Bound">c</a>
<a id="MeetSemilattice._≈_"></a><a id="2240" href="Relation.Binary.Lattice.Bundles.html#2240" class="Field Operator">_≈_</a> <a id="2258" class="Symbol">:</a> <a id="2260" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2264" href="Relation.Binary.Lattice.Bundles.html#2210" class="Field">Carrier</a> <a id="2272" href="Relation.Binary.Lattice.Bundles.html#2126" class="Bound">ℓ₁</a> <a id="2276" class="Comment">-- The underlying equality.</a>
<a id="MeetSemilattice._≤_"></a><a id="2308" href="Relation.Binary.Lattice.Bundles.html#2308" class="Field Operator">_≤_</a> <a id="2326" class="Symbol">:</a> <a id="2328" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2332" href="Relation.Binary.Lattice.Bundles.html#2210" class="Field">Carrier</a> <a id="2340" href="Relation.Binary.Lattice.Bundles.html#2129" class="Bound">ℓ₂</a> <a id="2344" class="Comment">-- The partial order.</a>
<a id="MeetSemilattice._∧_"></a><a id="2370" href="Relation.Binary.Lattice.Bundles.html#2370" class="Field Operator">_∧_</a> <a id="2388" class="Symbol">:</a> <a id="2390" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2394" href="Relation.Binary.Lattice.Bundles.html#2210" class="Field">Carrier</a> <a id="2406" class="Comment">-- The meet operation.</a>
<a id="MeetSemilattice.isMeetSemilattice"></a><a id="2433" href="Relation.Binary.Lattice.Bundles.html#2433" class="Field">isMeetSemilattice</a> <a id="2451" class="Symbol">:</a> <a id="2453" href="Relation.Binary.Lattice.Structures.html#1939" class="Record">IsMeetSemilattice</a> <a id="2471" href="Relation.Binary.Lattice.Bundles.html#2240" class="Field Operator">_≈_</a> <a id="2475" href="Relation.Binary.Lattice.Bundles.html#2308" class="Field Operator">_≤_</a> <a id="2479" href="Relation.Binary.Lattice.Bundles.html#2370" class="Field Operator">_∧_</a>
<a id="2486" class="Keyword">open</a> <a id="2491" href="Relation.Binary.Lattice.Structures.html#1939" class="Module">IsMeetSemilattice</a> <a id="2509" href="Relation.Binary.Lattice.Bundles.html#2433" class="Field">isMeetSemilattice</a> <a id="2527" class="Keyword">public</a>
<a id="MeetSemilattice.poset"></a><a id="2537" href="Relation.Binary.Lattice.Bundles.html#2537" class="Function">poset</a> <a id="2543" class="Symbol">:</a> <a id="2545" href="Relation.Binary.Bundles.html#3530" class="Record">Poset</a> <a id="2551" href="Relation.Binary.Lattice.Bundles.html#2124" class="Bound">c</a> <a id="2553" href="Relation.Binary.Lattice.Bundles.html#2126" class="Bound">ℓ₁</a> <a id="2556" href="Relation.Binary.Lattice.Bundles.html#2129" class="Bound">ℓ₂</a>
<a id="2561" href="Relation.Binary.Lattice.Bundles.html#2537" class="Function">poset</a> <a id="2567" class="Symbol">=</a> <a id="2569" class="Keyword">record</a> <a id="2576" class="Symbol">{</a> <a id="2578" href="Relation.Binary.Bundles.html#3705" class="Field">isPartialOrder</a> <a id="2593" class="Symbol">=</a> <a id="2595" href="Relation.Binary.Lattice.Structures.html#2060" class="Function">isPartialOrder</a> <a id="2610" class="Symbol">}</a>
<a id="2615" class="Keyword">open</a> <a id="2620" href="Relation.Binary.Bundles.html#3530" class="Module">Poset</a> <a id="2626" href="Relation.Binary.Lattice.Bundles.html#2537" class="Function">poset</a> <a id="2632" class="Keyword">public</a> <a id="2639" class="Keyword">using</a> <a id="2645" class="Symbol">(</a><a id="2646" href="Relation.Binary.Bundles.html#3825" class="Function">preorder</a><a id="2654" class="Symbol">)</a>
<a id="2657" class="Keyword">record</a> <a id="BoundedMeetSemilattice"></a><a id="2664" href="Relation.Binary.Lattice.Bundles.html#2664" class="Record">BoundedMeetSemilattice</a> <a id="2687" href="Relation.Binary.Lattice.Bundles.html#2687" class="Bound">c</a> <a id="2689" href="Relation.Binary.Lattice.Bundles.html#2689" class="Bound">ℓ₁</a> <a id="2692" href="Relation.Binary.Lattice.Bundles.html#2692" class="Bound">ℓ₂</a> <a id="2695" class="Symbol">:</a> <a id="2697" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2701" class="Symbol">(</a><a id="2702" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2706" class="Symbol">(</a><a id="2707" href="Relation.Binary.Lattice.Bundles.html#2687" class="Bound">c</a> <a id="2709" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="2711" href="Relation.Binary.Lattice.Bundles.html#2689" class="Bound">ℓ₁</a> <a id="2714" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="2716" href="Relation.Binary.Lattice.Bundles.html#2692" class="Bound">ℓ₂</a><a id="2718" class="Symbol">))</a> <a id="2721" class="Keyword">where</a>
<a id="2729" class="Keyword">infix</a> <a id="2736" class="Number">4</a> <a id="2738" href="Relation.Binary.Lattice.Bundles.html#2810" class="Field Operator">_≈_</a> <a id="2742" href="Relation.Binary.Lattice.Bundles.html#2885" class="Field Operator">_≤_</a>
<a id="2748" class="Keyword">infixr</a> <a id="2755" class="Number">7</a> <a id="2757" href="Relation.Binary.Lattice.Bundles.html#2954" class="Field Operator">_∧_</a>
<a id="2763" class="Keyword">field</a>
<a id="BoundedMeetSemilattice.Carrier"></a><a id="2773" href="Relation.Binary.Lattice.Bundles.html#2773" class="Field">Carrier</a> <a id="2798" class="Symbol">:</a> <a id="2800" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2804" href="Relation.Binary.Lattice.Bundles.html#2687" class="Bound">c</a>
<a id="BoundedMeetSemilattice._≈_"></a><a id="2810" href="Relation.Binary.Lattice.Bundles.html#2810" class="Field Operator">_≈_</a> <a id="2835" class="Symbol">:</a> <a id="2837" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2841" href="Relation.Binary.Lattice.Bundles.html#2773" class="Field">Carrier</a> <a id="2849" href="Relation.Binary.Lattice.Bundles.html#2689" class="Bound">ℓ₁</a> <a id="2853" class="Comment">-- The underlying equality.</a>
<a id="BoundedMeetSemilattice._≤_"></a><a id="2885" href="Relation.Binary.Lattice.Bundles.html#2885" class="Field Operator">_≤_</a> <a id="2910" class="Symbol">:</a> <a id="2912" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2916" href="Relation.Binary.Lattice.Bundles.html#2773" class="Field">Carrier</a> <a id="2924" href="Relation.Binary.Lattice.Bundles.html#2692" class="Bound">ℓ₂</a> <a id="2928" class="Comment">-- The partial order.</a>
<a id="BoundedMeetSemilattice._∧_"></a><a id="2954" href="Relation.Binary.Lattice.Bundles.html#2954" class="Field Operator">_∧_</a> <a id="2979" class="Symbol">:</a> <a id="2981" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2985" href="Relation.Binary.Lattice.Bundles.html#2773" class="Field">Carrier</a> <a id="2997" class="Comment">-- The join operation.</a>
<a id="BoundedMeetSemilattice."></a><a id="3024" href="Relation.Binary.Lattice.Bundles.html#3024" class="Field"></a> <a id="3049" class="Symbol">:</a> <a id="3051" href="Relation.Binary.Lattice.Bundles.html#2773" class="Field">Carrier</a> <a id="3067" class="Comment">-- The maximum.</a>
<a id="BoundedMeetSemilattice.isBoundedMeetSemilattice"></a><a id="3087" href="Relation.Binary.Lattice.Bundles.html#3087" class="Field">isBoundedMeetSemilattice</a> <a id="3112" class="Symbol">:</a> <a id="3114" href="Relation.Binary.Lattice.Structures.html#2470" class="Record">IsBoundedMeetSemilattice</a> <a id="3139" href="Relation.Binary.Lattice.Bundles.html#2810" class="Field Operator">_≈_</a> <a id="3143" href="Relation.Binary.Lattice.Bundles.html#2885" class="Field Operator">_≤_</a> <a id="3147" href="Relation.Binary.Lattice.Bundles.html#2954" class="Field Operator">_∧_</a> <a id="3151" href="Relation.Binary.Lattice.Bundles.html#3024" class="Field"></a>
<a id="3156" class="Keyword">open</a> <a id="3161" href="Relation.Binary.Lattice.Structures.html#2470" class="Module">IsBoundedMeetSemilattice</a> <a id="3186" href="Relation.Binary.Lattice.Bundles.html#3087" class="Field">isBoundedMeetSemilattice</a> <a id="3211" class="Keyword">public</a>
<a id="BoundedMeetSemilattice.meetSemilattice"></a><a id="3221" href="Relation.Binary.Lattice.Bundles.html#3221" class="Function">meetSemilattice</a> <a id="3237" class="Symbol">:</a> <a id="3239" href="Relation.Binary.Lattice.Bundles.html#2108" class="Record">MeetSemilattice</a> <a id="3255" href="Relation.Binary.Lattice.Bundles.html#2687" class="Bound">c</a> <a id="3257" href="Relation.Binary.Lattice.Bundles.html#2689" class="Bound">ℓ₁</a> <a id="3260" href="Relation.Binary.Lattice.Bundles.html#2692" class="Bound">ℓ₂</a>
<a id="3265" href="Relation.Binary.Lattice.Bundles.html#3221" class="Function">meetSemilattice</a> <a id="3281" class="Symbol">=</a> <a id="3283" class="Keyword">record</a> <a id="3290" class="Symbol">{</a> <a id="3292" href="Relation.Binary.Lattice.Bundles.html#2433" class="Field">isMeetSemilattice</a> <a id="3310" class="Symbol">=</a> <a id="3312" href="Relation.Binary.Lattice.Structures.html#2670" class="Function">isMeetSemilattice</a> <a id="3330" class="Symbol">}</a>
<a id="3335" class="Keyword">open</a> <a id="3340" href="Relation.Binary.Lattice.Bundles.html#2108" class="Module">MeetSemilattice</a> <a id="3356" href="Relation.Binary.Lattice.Bundles.html#3221" class="Function">meetSemilattice</a> <a id="3372" class="Keyword">public</a> <a id="3379" class="Keyword">using</a> <a id="3385" class="Symbol">(</a><a id="3386" href="Relation.Binary.Bundles.html#3825" class="Function">preorder</a><a id="3394" class="Symbol">;</a> <a id="3396" href="Relation.Binary.Lattice.Bundles.html#2537" class="Function">poset</a><a id="3401" class="Symbol">)</a>
<a id="3404" class="Comment">------------------------------------------------------------------------</a>
<a id="3477" class="Comment">-- Lattices</a>
<a id="3490" class="Keyword">record</a> <a id="Lattice"></a><a id="3497" href="Relation.Binary.Lattice.Bundles.html#3497" class="Record">Lattice</a> <a id="3505" href="Relation.Binary.Lattice.Bundles.html#3505" class="Bound">c</a> <a id="3507" href="Relation.Binary.Lattice.Bundles.html#3507" class="Bound">ℓ₁</a> <a id="3510" href="Relation.Binary.Lattice.Bundles.html#3510" class="Bound">ℓ₂</a> <a id="3513" class="Symbol">:</a> <a id="3515" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3519" class="Symbol">(</a><a id="3520" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="3524" class="Symbol">(</a><a id="3525" href="Relation.Binary.Lattice.Bundles.html#3505" class="Bound">c</a> <a id="3527" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="3529" href="Relation.Binary.Lattice.Bundles.html#3507" class="Bound">ℓ₁</a> <a id="3532" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="3534" href="Relation.Binary.Lattice.Bundles.html#3510" class="Bound">ℓ₂</a><a id="3536" class="Symbol">))</a> <a id="3539" class="Keyword">where</a>
<a id="3547" class="Keyword">infix</a> <a id="3554" class="Number">4</a> <a id="3556" href="Relation.Binary.Lattice.Bundles.html#3628" class="Field Operator">_≈_</a> <a id="3560" href="Relation.Binary.Lattice.Bundles.html#3688" class="Field Operator">_≤_</a>
<a id="3566" class="Keyword">infixr</a> <a id="3573" class="Number">6</a> <a id="3575" href="Relation.Binary.Lattice.Bundles.html#3742" class="Field Operator">__</a>
<a id="3581" class="Keyword">infixr</a> <a id="3588" class="Number">7</a> <a id="3590" href="Relation.Binary.Lattice.Bundles.html#3797" class="Field Operator">_∧_</a>
<a id="3596" class="Keyword">field</a>
<a id="Lattice.Carrier"></a><a id="3606" href="Relation.Binary.Lattice.Bundles.html#3606" class="Field">Carrier</a> <a id="3616" class="Symbol">:</a> <a id="3618" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3622" href="Relation.Binary.Lattice.Bundles.html#3505" class="Bound">c</a>
<a id="Lattice._≈_"></a><a id="3628" href="Relation.Binary.Lattice.Bundles.html#3628" class="Field Operator">_≈_</a> <a id="3638" class="Symbol">:</a> <a id="3640" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3644" href="Relation.Binary.Lattice.Bundles.html#3606" class="Field">Carrier</a> <a id="3652" href="Relation.Binary.Lattice.Bundles.html#3507" class="Bound">ℓ₁</a> <a id="3656" class="Comment">-- The underlying equality.</a>
<a id="Lattice._≤_"></a><a id="3688" href="Relation.Binary.Lattice.Bundles.html#3688" class="Field Operator">_≤_</a> <a id="3698" class="Symbol">:</a> <a id="3700" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3704" href="Relation.Binary.Lattice.Bundles.html#3606" class="Field">Carrier</a> <a id="3712" href="Relation.Binary.Lattice.Bundles.html#3510" class="Bound">ℓ₂</a> <a id="3716" class="Comment">-- The partial order.</a>
<a id="Lattice.__"></a><a id="3742" href="Relation.Binary.Lattice.Bundles.html#3742" class="Field Operator">__</a> <a id="3752" class="Symbol">:</a> <a id="3754" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3758" href="Relation.Binary.Lattice.Bundles.html#3606" class="Field">Carrier</a> <a id="3770" class="Comment">-- The join operation.</a>
<a id="Lattice._∧_"></a><a id="3797" href="Relation.Binary.Lattice.Bundles.html#3797" class="Field Operator">_∧_</a> <a id="3807" class="Symbol">:</a> <a id="3809" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3813" href="Relation.Binary.Lattice.Bundles.html#3606" class="Field">Carrier</a> <a id="3825" class="Comment">-- The meet operation.</a>
<a id="Lattice.isLattice"></a><a id="3852" href="Relation.Binary.Lattice.Bundles.html#3852" class="Field">isLattice</a> <a id="3862" class="Symbol">:</a> <a id="3864" href="Relation.Binary.Lattice.Structures.html#2895" class="Record">IsLattice</a> <a id="3874" href="Relation.Binary.Lattice.Bundles.html#3628" class="Field Operator">_≈_</a> <a id="3878" href="Relation.Binary.Lattice.Bundles.html#3688" class="Field Operator">_≤_</a> <a id="3882" href="Relation.Binary.Lattice.Bundles.html#3742" class="Field Operator">__</a> <a id="3886" href="Relation.Binary.Lattice.Bundles.html#3797" class="Field Operator">_∧_</a>
<a id="3893" class="Keyword">open</a> <a id="3898" href="Relation.Binary.Lattice.Structures.html#2895" class="Module">IsLattice</a> <a id="3908" href="Relation.Binary.Lattice.Bundles.html#3852" class="Field">isLattice</a> <a id="3918" class="Keyword">public</a>
<a id="Lattice.setoid"></a><a id="3928" href="Relation.Binary.Lattice.Bundles.html#3928" class="Function">setoid</a> <a id="3935" class="Symbol">:</a> <a id="3937" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="3944" href="Relation.Binary.Lattice.Bundles.html#3505" class="Bound">c</a> <a id="3946" href="Relation.Binary.Lattice.Bundles.html#3507" class="Bound">ℓ₁</a>
<a id="3951" href="Relation.Binary.Lattice.Bundles.html#3928" class="Function">setoid</a> <a id="3958" class="Symbol">=</a> <a id="3960" class="Keyword">record</a> <a id="3967" class="Symbol">{</a> <a id="3969" href="Relation.Binary.Bundles.html#1203" class="Field">isEquivalence</a> <a id="3983" class="Symbol">=</a> <a id="3985" href="Relation.Binary.Structures.html#2256" class="Function">isEquivalence</a> <a id="3999" class="Symbol">}</a>
<a id="Lattice.joinSemilattice"></a><a id="4004" href="Relation.Binary.Lattice.Bundles.html#4004" class="Function">joinSemilattice</a> <a id="4020" class="Symbol">:</a> <a id="4022" href="Relation.Binary.Lattice.Bundles.html#709" class="Record">JoinSemilattice</a> <a id="4038" href="Relation.Binary.Lattice.Bundles.html#3505" class="Bound">c</a> <a id="4040" href="Relation.Binary.Lattice.Bundles.html#3507" class="Bound">ℓ₁</a> <a id="4043" href="Relation.Binary.Lattice.Bundles.html#3510" class="Bound">ℓ₂</a>
<a id="4048" href="Relation.Binary.Lattice.Bundles.html#4004" class="Function">joinSemilattice</a> <a id="4064" class="Symbol">=</a> <a id="4066" class="Keyword">record</a> <a id="4073" class="Symbol">{</a> <a id="4075" href="Relation.Binary.Lattice.Bundles.html#1034" class="Field">isJoinSemilattice</a> <a id="4093" class="Symbol">=</a> <a id="4095" href="Relation.Binary.Lattice.Structures.html#3175" class="Function">isJoinSemilattice</a> <a id="4113" class="Symbol">}</a>
<a id="Lattice.meetSemilattice"></a><a id="4118" href="Relation.Binary.Lattice.Bundles.html#4118" class="Function">meetSemilattice</a> <a id="4134" class="Symbol">:</a> <a id="4136" href="Relation.Binary.Lattice.Bundles.html#2108" class="Record">MeetSemilattice</a> <a id="4152" href="Relation.Binary.Lattice.Bundles.html#3505" class="Bound">c</a> <a id="4154" href="Relation.Binary.Lattice.Bundles.html#3507" class="Bound">ℓ₁</a> <a id="4157" href="Relation.Binary.Lattice.Bundles.html#3510" class="Bound">ℓ₂</a>
<a id="4162" href="Relation.Binary.Lattice.Bundles.html#4118" class="Function">meetSemilattice</a> <a id="4178" class="Symbol">=</a> <a id="4180" class="Keyword">record</a> <a id="4187" class="Symbol">{</a> <a id="4189" href="Relation.Binary.Lattice.Bundles.html#2433" class="Field">isMeetSemilattice</a> <a id="4207" class="Symbol">=</a> <a id="4209" href="Relation.Binary.Lattice.Structures.html#3326" class="Function">isMeetSemilattice</a> <a id="4227" class="Symbol">}</a>
<a id="4232" class="Keyword">open</a> <a id="4237" href="Relation.Binary.Lattice.Bundles.html#709" class="Module">JoinSemilattice</a> <a id="4253" href="Relation.Binary.Lattice.Bundles.html#4004" class="Function">joinSemilattice</a> <a id="4269" class="Keyword">public</a> <a id="4276" class="Keyword">using</a> <a id="4282" class="Symbol">(</a><a id="4283" href="Relation.Binary.Lattice.Bundles.html#1138" class="Function">poset</a><a id="4288" class="Symbol">;</a> <a id="4290" href="Relation.Binary.Bundles.html#3825" class="Function">preorder</a><a id="4298" class="Symbol">)</a>
<a id="4301" class="Keyword">record</a> <a id="DistributiveLattice"></a><a id="4308" href="Relation.Binary.Lattice.Bundles.html#4308" class="Record">DistributiveLattice</a> <a id="4328" href="Relation.Binary.Lattice.Bundles.html#4328" class="Bound">c</a> <a id="4330" href="Relation.Binary.Lattice.Bundles.html#4330" class="Bound">ℓ₁</a> <a id="4333" href="Relation.Binary.Lattice.Bundles.html#4333" class="Bound">ℓ₂</a> <a id="4336" class="Symbol">:</a> <a id="4338" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4342" class="Symbol">(</a><a id="4343" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="4347" class="Symbol">(</a><a id="4348" href="Relation.Binary.Lattice.Bundles.html#4328" class="Bound">c</a> <a id="4350" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="4352" href="Relation.Binary.Lattice.Bundles.html#4330" class="Bound">ℓ₁</a> <a id="4355" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="4357" href="Relation.Binary.Lattice.Bundles.html#4333" class="Bound">ℓ₂</a><a id="4359" class="Symbol">))</a> <a id="4362" class="Keyword">where</a>
<a id="4370" class="Keyword">infix</a> <a id="4377" class="Number">4</a> <a id="4379" href="Relation.Binary.Lattice.Bundles.html#4449" class="Field Operator">_≈_</a> <a id="4383" href="Relation.Binary.Lattice.Bundles.html#4507" class="Field Operator">_≤_</a>
<a id="4389" class="Keyword">infixr</a> <a id="4396" class="Number">6</a> <a id="4398" href="Relation.Binary.Lattice.Bundles.html#4559" class="Field Operator">__</a>
<a id="4404" class="Keyword">infixr</a> <a id="4411" class="Number">7</a> <a id="4413" href="Relation.Binary.Lattice.Bundles.html#4612" class="Field Operator">_∧_</a>
<a id="4419" class="Keyword">field</a>
<a id="DistributiveLattice.Carrier"></a><a id="4429" href="Relation.Binary.Lattice.Bundles.html#4429" class="Field">Carrier</a> <a id="4437" class="Symbol">:</a> <a id="4439" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4443" href="Relation.Binary.Lattice.Bundles.html#4328" class="Bound">c</a>
<a id="DistributiveLattice._≈_"></a><a id="4449" href="Relation.Binary.Lattice.Bundles.html#4449" class="Field Operator">_≈_</a> <a id="4457" class="Symbol">:</a> <a id="4459" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="4463" href="Relation.Binary.Lattice.Bundles.html#4429" class="Field">Carrier</a> <a id="4471" href="Relation.Binary.Lattice.Bundles.html#4330" class="Bound">ℓ₁</a> <a id="4475" class="Comment">-- The underlying equality.</a>
<a id="DistributiveLattice._≤_"></a><a id="4507" href="Relation.Binary.Lattice.Bundles.html#4507" class="Field Operator">_≤_</a> <a id="4515" class="Symbol">:</a> <a id="4517" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="4521" href="Relation.Binary.Lattice.Bundles.html#4429" class="Field">Carrier</a> <a id="4529" href="Relation.Binary.Lattice.Bundles.html#4333" class="Bound">ℓ₂</a> <a id="4533" class="Comment">-- The partial order.</a>
<a id="DistributiveLattice.__"></a><a id="4559" href="Relation.Binary.Lattice.Bundles.html#4559" class="Field Operator">__</a> <a id="4567" class="Symbol">:</a> <a id="4569" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4573" href="Relation.Binary.Lattice.Bundles.html#4429" class="Field">Carrier</a> <a id="4585" class="Comment">-- The join operation.</a>
<a id="DistributiveLattice._∧_"></a><a id="4612" href="Relation.Binary.Lattice.Bundles.html#4612" class="Field Operator">_∧_</a> <a id="4620" class="Symbol">:</a> <a id="4622" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4626" href="Relation.Binary.Lattice.Bundles.html#4429" class="Field">Carrier</a> <a id="4638" class="Comment">-- The meet operation.</a>
<a id="DistributiveLattice.isDistributiveLattice"></a><a id="4665" href="Relation.Binary.Lattice.Bundles.html#4665" class="Field">isDistributiveLattice</a> <a id="4687" class="Symbol">:</a> <a id="4689" href="Relation.Binary.Lattice.Structures.html#3697" class="Record">IsDistributiveLattice</a> <a id="4711" href="Relation.Binary.Lattice.Bundles.html#4449" class="Field Operator">_≈_</a> <a id="4715" href="Relation.Binary.Lattice.Bundles.html#4507" class="Field Operator">_≤_</a> <a id="4719" href="Relation.Binary.Lattice.Bundles.html#4559" class="Field Operator">__</a> <a id="4723" href="Relation.Binary.Lattice.Bundles.html#4612" class="Field Operator">_∧_</a>
<a id="4730" class="Keyword">open</a> <a id="4735" href="Relation.Binary.Lattice.Structures.html#3697" class="Module">IsDistributiveLattice</a> <a id="4757" href="Relation.Binary.Lattice.Bundles.html#4665" class="Field">isDistributiveLattice</a> <a id="4779" class="Keyword">using</a> <a id="4785" class="Symbol">(</a><a id="4786" href="Relation.Binary.Lattice.Structures.html#3932" class="Field">∧-distribˡ-</a><a id="4798" class="Symbol">)</a> <a id="4800" class="Keyword">public</a>
<a id="4809" class="Keyword">open</a> <a id="4814" href="Relation.Binary.Lattice.Structures.html#3697" class="Module">IsDistributiveLattice</a> <a id="4836" href="Relation.Binary.Lattice.Bundles.html#4665" class="Field">isDistributiveLattice</a> <a id="4858" class="Keyword">using</a> <a id="4864" class="Symbol">(</a><a id="4865" href="Relation.Binary.Lattice.Structures.html#3895" class="Field">isLattice</a><a id="4874" class="Symbol">)</a>
<a id="DistributiveLattice.lattice"></a><a id="4879" href="Relation.Binary.Lattice.Bundles.html#4879" class="Function">lattice</a> <a id="4887" class="Symbol">:</a> <a id="4889" href="Relation.Binary.Lattice.Bundles.html#3497" class="Record">Lattice</a> <a id="4897" href="Relation.Binary.Lattice.Bundles.html#4328" class="Bound">c</a> <a id="4899" href="Relation.Binary.Lattice.Bundles.html#4330" class="Bound">ℓ₁</a> <a id="4902" href="Relation.Binary.Lattice.Bundles.html#4333" class="Bound">ℓ₂</a>
<a id="4907" href="Relation.Binary.Lattice.Bundles.html#4879" class="Function">lattice</a> <a id="4915" class="Symbol">=</a> <a id="4917" class="Keyword">record</a> <a id="4924" class="Symbol">{</a> <a id="4926" href="Relation.Binary.Lattice.Bundles.html#3852" class="Field">isLattice</a> <a id="4936" class="Symbol">=</a> <a id="4938" href="Relation.Binary.Lattice.Structures.html#3895" class="Function">isLattice</a> <a id="4948" class="Symbol">}</a>
<a id="4953" class="Keyword">open</a> <a id="4958" href="Relation.Binary.Lattice.Bundles.html#3497" class="Module">Lattice</a> <a id="4966" href="Relation.Binary.Lattice.Bundles.html#4879" class="Function">lattice</a> <a id="4974" class="Keyword">hiding</a> <a id="4981" class="Symbol">(</a><a id="4982" href="Relation.Binary.Lattice.Bundles.html#3606" class="Field">Carrier</a><a id="4989" class="Symbol">;</a> <a id="4991" href="Relation.Binary.Lattice.Bundles.html#3628" class="Field Operator">_≈_</a><a id="4994" class="Symbol">;</a> <a id="4996" href="Relation.Binary.Lattice.Bundles.html#3688" class="Field Operator">_≤_</a><a id="4999" class="Symbol">;</a> <a id="5001" href="Relation.Binary.Lattice.Bundles.html#3742" class="Field Operator">__</a><a id="5004" class="Symbol">;</a> <a id="5006" href="Relation.Binary.Lattice.Bundles.html#3797" class="Field Operator">_∧_</a><a id="5009" class="Symbol">)</a> <a id="5011" class="Keyword">public</a>
<a id="5019" class="Keyword">record</a> <a id="BoundedLattice"></a><a id="5026" href="Relation.Binary.Lattice.Bundles.html#5026" class="Record">BoundedLattice</a> <a id="5041" href="Relation.Binary.Lattice.Bundles.html#5041" class="Bound">c</a> <a id="5043" href="Relation.Binary.Lattice.Bundles.html#5043" class="Bound">ℓ₁</a> <a id="5046" href="Relation.Binary.Lattice.Bundles.html#5046" class="Bound">ℓ₂</a> <a id="5049" class="Symbol">:</a> <a id="5051" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5055" class="Symbol">(</a><a id="5056" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="5060" class="Symbol">(</a><a id="5061" href="Relation.Binary.Lattice.Bundles.html#5041" class="Bound">c</a> <a id="5063" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="5065" href="Relation.Binary.Lattice.Bundles.html#5043" class="Bound">ℓ₁</a> <a id="5068" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="5070" href="Relation.Binary.Lattice.Bundles.html#5046" class="Bound">ℓ₂</a><a id="5072" class="Symbol">))</a> <a id="5075" class="Keyword">where</a>
<a id="5083" class="Keyword">infix</a> <a id="5090" class="Number">4</a> <a id="5092" href="Relation.Binary.Lattice.Bundles.html#5171" class="Field Operator">_≈_</a> <a id="5096" href="Relation.Binary.Lattice.Bundles.html#5238" class="Field Operator">_≤_</a>
<a id="5102" class="Keyword">infixr</a> <a id="5109" class="Number">6</a> <a id="5111" href="Relation.Binary.Lattice.Bundles.html#5299" class="Field Operator">__</a>
<a id="5117" class="Keyword">infixr</a> <a id="5124" class="Number">7</a> <a id="5126" href="Relation.Binary.Lattice.Bundles.html#5361" class="Field Operator">_∧_</a>
<a id="5132" class="Keyword">field</a>
<a id="BoundedLattice.Carrier"></a><a id="5142" href="Relation.Binary.Lattice.Bundles.html#5142" class="Field">Carrier</a> <a id="5159" class="Symbol">:</a> <a id="5161" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5165" href="Relation.Binary.Lattice.Bundles.html#5041" class="Bound">c</a>
<a id="BoundedLattice._≈_"></a><a id="5171" href="Relation.Binary.Lattice.Bundles.html#5171" class="Field Operator">_≈_</a> <a id="5188" class="Symbol">:</a> <a id="5190" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="5194" href="Relation.Binary.Lattice.Bundles.html#5142" class="Field">Carrier</a> <a id="5202" href="Relation.Binary.Lattice.Bundles.html#5043" class="Bound">ℓ₁</a> <a id="5206" class="Comment">-- The underlying equality.</a>
<a id="BoundedLattice._≤_"></a><a id="5238" href="Relation.Binary.Lattice.Bundles.html#5238" class="Field Operator">_≤_</a> <a id="5255" class="Symbol">:</a> <a id="5257" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="5261" href="Relation.Binary.Lattice.Bundles.html#5142" class="Field">Carrier</a> <a id="5269" href="Relation.Binary.Lattice.Bundles.html#5046" class="Bound">ℓ₂</a> <a id="5273" class="Comment">-- The partial order.</a>
<a id="BoundedLattice.__"></a><a id="5299" href="Relation.Binary.Lattice.Bundles.html#5299" class="Field Operator">__</a> <a id="5316" class="Symbol">:</a> <a id="5318" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5322" href="Relation.Binary.Lattice.Bundles.html#5142" class="Field">Carrier</a> <a id="5334" class="Comment">-- The join operation.</a>
<a id="BoundedLattice._∧_"></a><a id="5361" href="Relation.Binary.Lattice.Bundles.html#5361" class="Field Operator">_∧_</a> <a id="5378" class="Symbol">:</a> <a id="5380" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5384" href="Relation.Binary.Lattice.Bundles.html#5142" class="Field">Carrier</a> <a id="5396" class="Comment">-- The meet operation.</a>
<a id="BoundedLattice."></a><a id="5423" href="Relation.Binary.Lattice.Bundles.html#5423" class="Field"></a> <a id="5440" class="Symbol">:</a> <a id="5442" href="Relation.Binary.Lattice.Bundles.html#5142" class="Field">Carrier</a> <a id="5458" class="Comment">-- The maximum.</a>
<a id="BoundedLattice.⊥"></a><a id="5478" href="Relation.Binary.Lattice.Bundles.html#5478" class="Field"></a> <a id="5495" class="Symbol">:</a> <a id="5497" href="Relation.Binary.Lattice.Bundles.html#5142" class="Field">Carrier</a> <a id="5513" class="Comment">-- The minimum.</a>
<a id="BoundedLattice.isBoundedLattice"></a><a id="5533" href="Relation.Binary.Lattice.Bundles.html#5533" class="Field">isBoundedLattice</a> <a id="5550" class="Symbol">:</a> <a id="5552" href="Relation.Binary.Lattice.Structures.html#4021" class="Record">IsBoundedLattice</a> <a id="5569" href="Relation.Binary.Lattice.Bundles.html#5171" class="Field Operator">_≈_</a> <a id="5573" href="Relation.Binary.Lattice.Bundles.html#5238" class="Field Operator">_≤_</a> <a id="5577" href="Relation.Binary.Lattice.Bundles.html#5299" class="Field Operator">__</a> <a id="5581" href="Relation.Binary.Lattice.Bundles.html#5361" class="Field Operator">_∧_</a> <a id="5585" href="Relation.Binary.Lattice.Bundles.html#5423" class="Field"></a> <a id="5587" href="Relation.Binary.Lattice.Bundles.html#5478" class="Field"></a>
<a id="5592" class="Keyword">open</a> <a id="5597" href="Relation.Binary.Lattice.Structures.html#4021" class="Module">IsBoundedLattice</a> <a id="5614" href="Relation.Binary.Lattice.Bundles.html#5533" class="Field">isBoundedLattice</a> <a id="5631" class="Keyword">public</a>
<a id="BoundedLattice.boundedJoinSemilattice"></a><a id="5641" href="Relation.Binary.Lattice.Bundles.html#5641" class="Function">boundedJoinSemilattice</a> <a id="5664" class="Symbol">:</a> <a id="5666" href="Relation.Binary.Lattice.Bundles.html#1266" class="Record">BoundedJoinSemilattice</a> <a id="5689" href="Relation.Binary.Lattice.Bundles.html#5041" class="Bound">c</a> <a id="5691" href="Relation.Binary.Lattice.Bundles.html#5043" class="Bound">ℓ₁</a> <a id="5694" href="Relation.Binary.Lattice.Bundles.html#5046" class="Bound">ℓ₂</a>
<a id="5699" href="Relation.Binary.Lattice.Bundles.html#5641" class="Function">boundedJoinSemilattice</a> <a id="5722" class="Symbol">=</a> <a id="5724" class="Keyword">record</a>
<a id="5735" class="Symbol">{</a> <a id="5737" href="Relation.Binary.Lattice.Bundles.html#1689" class="Field">isBoundedJoinSemilattice</a> <a id="5762" class="Symbol">=</a> <a id="5764" href="Relation.Binary.Lattice.Structures.html#4446" class="Function">isBoundedJoinSemilattice</a> <a id="5789" class="Symbol">}</a>
<a id="BoundedLattice.boundedMeetSemilattice"></a><a id="5794" href="Relation.Binary.Lattice.Bundles.html#5794" class="Function">boundedMeetSemilattice</a> <a id="5817" class="Symbol">:</a> <a id="5819" href="Relation.Binary.Lattice.Bundles.html#2664" class="Record">BoundedMeetSemilattice</a> <a id="5842" href="Relation.Binary.Lattice.Bundles.html#5041" class="Bound">c</a> <a id="5844" href="Relation.Binary.Lattice.Bundles.html#5043" class="Bound">ℓ₁</a> <a id="5847" href="Relation.Binary.Lattice.Bundles.html#5046" class="Bound">ℓ₂</a>
<a id="5852" href="Relation.Binary.Lattice.Bundles.html#5794" class="Function">boundedMeetSemilattice</a> <a id="5875" class="Symbol">=</a> <a id="5877" class="Keyword">record</a>
<a id="5888" class="Symbol">{</a> <a id="5890" href="Relation.Binary.Lattice.Bundles.html#3087" class="Field">isBoundedMeetSemilattice</a> <a id="5915" class="Symbol">=</a> <a id="5917" href="Relation.Binary.Lattice.Structures.html#4628" class="Function">isBoundedMeetSemilattice</a> <a id="5942" class="Symbol">}</a>
<a id="BoundedLattice.lattice"></a><a id="5947" href="Relation.Binary.Lattice.Bundles.html#5947" class="Function">lattice</a> <a id="5955" class="Symbol">:</a> <a id="5957" href="Relation.Binary.Lattice.Bundles.html#3497" class="Record">Lattice</a> <a id="5965" href="Relation.Binary.Lattice.Bundles.html#5041" class="Bound">c</a> <a id="5967" href="Relation.Binary.Lattice.Bundles.html#5043" class="Bound">ℓ₁</a> <a id="5970" href="Relation.Binary.Lattice.Bundles.html#5046" class="Bound">ℓ₂</a>
<a id="5975" href="Relation.Binary.Lattice.Bundles.html#5947" class="Function">lattice</a> <a id="5983" class="Symbol">=</a> <a id="5985" class="Keyword">record</a> <a id="5992" class="Symbol">{</a> <a id="5994" href="Relation.Binary.Lattice.Bundles.html#3852" class="Field">isLattice</a> <a id="6004" class="Symbol">=</a> <a id="6006" href="Relation.Binary.Lattice.Structures.html#4318" class="Function">isLattice</a> <a id="6016" class="Symbol">}</a>
<a id="6021" class="Keyword">open</a> <a id="6026" href="Relation.Binary.Lattice.Bundles.html#3497" class="Module">Lattice</a> <a id="6034" href="Relation.Binary.Lattice.Bundles.html#5947" class="Function">lattice</a> <a id="6042" class="Keyword">public</a>
<a id="6053" class="Keyword">using</a> <a id="6059" class="Symbol">(</a><a id="6060" href="Relation.Binary.Lattice.Bundles.html#4004" class="Function">joinSemilattice</a><a id="6075" class="Symbol">;</a> <a id="6077" href="Relation.Binary.Lattice.Bundles.html#4118" class="Function">meetSemilattice</a><a id="6092" class="Symbol">;</a> <a id="6094" href="Relation.Binary.Lattice.Bundles.html#1138" class="Function">poset</a><a id="6099" class="Symbol">;</a> <a id="6101" href="Relation.Binary.Bundles.html#3825" class="Function">preorder</a><a id="6109" class="Symbol">;</a> <a id="6111" href="Relation.Binary.Lattice.Bundles.html#3928" class="Function">setoid</a><a id="6117" class="Symbol">)</a>
<a id="6120" class="Comment">------------------------------------------------------------------------</a>
<a id="6193" class="Comment">-- Heyting algebras (a bounded lattice with exponential operator)</a>
<a id="6260" class="Keyword">record</a> <a id="HeytingAlgebra"></a><a id="6267" href="Relation.Binary.Lattice.Bundles.html#6267" class="Record">HeytingAlgebra</a> <a id="6282" href="Relation.Binary.Lattice.Bundles.html#6282" class="Bound">c</a> <a id="6284" href="Relation.Binary.Lattice.Bundles.html#6284" class="Bound">ℓ₁</a> <a id="6287" href="Relation.Binary.Lattice.Bundles.html#6287" class="Bound">ℓ₂</a> <a id="6290" class="Symbol">:</a> <a id="6292" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="6296" class="Symbol">(</a><a id="6297" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="6301" class="Symbol">(</a><a id="6302" href="Relation.Binary.Lattice.Bundles.html#6282" class="Bound">c</a> <a id="6304" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="6306" href="Relation.Binary.Lattice.Bundles.html#6284" class="Bound">ℓ₁</a> <a id="6309" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="6311" href="Relation.Binary.Lattice.Bundles.html#6287" class="Bound">ℓ₂</a><a id="6313" class="Symbol">))</a> <a id="6316" class="Keyword">where</a>
<a id="6324" class="Keyword">infix</a> <a id="6331" class="Number">4</a> <a id="6333" href="Relation.Binary.Lattice.Bundles.html#6427" class="Field Operator">_≈_</a> <a id="6337" href="Relation.Binary.Lattice.Bundles.html#6494" class="Field Operator">_≤_</a>
<a id="6343" class="Keyword">infixr</a> <a id="6350" class="Number">5</a> <a id="6352" href="Relation.Binary.Lattice.Bundles.html#6679" class="Field Operator">_⇨_</a>
<a id="6358" class="Keyword">infixr</a> <a id="6365" class="Number">6</a> <a id="6367" href="Relation.Binary.Lattice.Bundles.html#6555" class="Field Operator">__</a>
<a id="6373" class="Keyword">infixr</a> <a id="6380" class="Number">7</a> <a id="6382" href="Relation.Binary.Lattice.Bundles.html#6617" class="Field Operator">_∧_</a>
<a id="6388" class="Keyword">field</a>
<a id="HeytingAlgebra.Carrier"></a><a id="6398" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a> <a id="6415" class="Symbol">:</a> <a id="6417" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="6421" href="Relation.Binary.Lattice.Bundles.html#6282" class="Bound">c</a>
<a id="HeytingAlgebra._≈_"></a><a id="6427" href="Relation.Binary.Lattice.Bundles.html#6427" class="Field Operator">_≈_</a> <a id="6444" class="Symbol">:</a> <a id="6446" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="6450" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a> <a id="6458" href="Relation.Binary.Lattice.Bundles.html#6284" class="Bound">ℓ₁</a> <a id="6462" class="Comment">-- The underlying equality.</a>
<a id="HeytingAlgebra._≤_"></a><a id="6494" href="Relation.Binary.Lattice.Bundles.html#6494" class="Field Operator">_≤_</a> <a id="6511" class="Symbol">:</a> <a id="6513" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="6517" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a> <a id="6525" href="Relation.Binary.Lattice.Bundles.html#6287" class="Bound">ℓ₂</a> <a id="6529" class="Comment">-- The partial order.</a>
<a id="HeytingAlgebra.__"></a><a id="6555" href="Relation.Binary.Lattice.Bundles.html#6555" class="Field Operator">__</a> <a id="6572" class="Symbol">:</a> <a id="6574" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="6578" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a> <a id="6590" class="Comment">-- The join operation.</a>
<a id="HeytingAlgebra._∧_"></a><a id="6617" href="Relation.Binary.Lattice.Bundles.html#6617" class="Field Operator">_∧_</a> <a id="6634" class="Symbol">:</a> <a id="6636" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="6640" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a> <a id="6652" class="Comment">-- The meet operation.</a>
<a id="HeytingAlgebra._⇨_"></a><a id="6679" href="Relation.Binary.Lattice.Bundles.html#6679" class="Field Operator">_⇨_</a> <a id="6696" class="Symbol">:</a> <a id="6698" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="6702" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a> <a id="6714" class="Comment">-- The exponential operation.</a>
<a id="HeytingAlgebra."></a><a id="6748" href="Relation.Binary.Lattice.Bundles.html#6748" class="Field"></a> <a id="6765" class="Symbol">:</a> <a id="6767" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a> <a id="6783" class="Comment">-- The maximum.</a>
<a id="HeytingAlgebra.⊥"></a><a id="6803" href="Relation.Binary.Lattice.Bundles.html#6803" class="Field"></a> <a id="6820" class="Symbol">:</a> <a id="6822" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a> <a id="6838" class="Comment">-- The minimum.</a>
<a id="HeytingAlgebra.isHeytingAlgebra"></a><a id="6858" href="Relation.Binary.Lattice.Bundles.html#6858" class="Field">isHeytingAlgebra</a> <a id="6875" class="Symbol">:</a> <a id="6877" href="Relation.Binary.Lattice.Structures.html#4954" class="Record">IsHeytingAlgebra</a> <a id="6894" href="Relation.Binary.Lattice.Bundles.html#6427" class="Field Operator">_≈_</a> <a id="6898" href="Relation.Binary.Lattice.Bundles.html#6494" class="Field Operator">_≤_</a> <a id="6902" href="Relation.Binary.Lattice.Bundles.html#6555" class="Field Operator">__</a> <a id="6906" href="Relation.Binary.Lattice.Bundles.html#6617" class="Field Operator">_∧_</a> <a id="6910" href="Relation.Binary.Lattice.Bundles.html#6679" class="Field Operator">_⇨_</a> <a id="6914" href="Relation.Binary.Lattice.Bundles.html#6748" class="Field"></a> <a id="6916" href="Relation.Binary.Lattice.Bundles.html#6803" class="Field"></a>
<a id="HeytingAlgebra.boundedLattice"></a><a id="6921" href="Relation.Binary.Lattice.Bundles.html#6921" class="Function">boundedLattice</a> <a id="6936" class="Symbol">:</a> <a id="6938" href="Relation.Binary.Lattice.Bundles.html#5026" class="Record">BoundedLattice</a> <a id="6953" href="Relation.Binary.Lattice.Bundles.html#6282" class="Bound">c</a> <a id="6955" href="Relation.Binary.Lattice.Bundles.html#6284" class="Bound">ℓ₁</a> <a id="6958" href="Relation.Binary.Lattice.Bundles.html#6287" class="Bound">ℓ₂</a>
<a id="6963" href="Relation.Binary.Lattice.Bundles.html#6921" class="Function">boundedLattice</a> <a id="6978" class="Symbol">=</a> <a id="6980" class="Keyword">record</a>
<a id="6991" class="Symbol">{</a> <a id="6993" href="Relation.Binary.Lattice.Bundles.html#5533" class="Field">isBoundedLattice</a> <a id="7010" class="Symbol">=</a> <a id="7012" href="Relation.Binary.Lattice.Structures.html#5322" class="Field">IsHeytingAlgebra.isBoundedLattice</a> <a id="7046" href="Relation.Binary.Lattice.Bundles.html#6858" class="Field">isHeytingAlgebra</a> <a id="7063" class="Symbol">}</a>
<a id="7068" class="Keyword">open</a> <a id="7073" href="Relation.Binary.Lattice.Structures.html#4954" class="Module">IsHeytingAlgebra</a> <a id="7090" href="Relation.Binary.Lattice.Bundles.html#6858" class="Field">isHeytingAlgebra</a>
<a id="7111" class="Keyword">using</a> <a id="7117" class="Symbol">(</a><a id="7118" href="Relation.Binary.Lattice.Structures.html#5374" class="Field">exponential</a><a id="7129" class="Symbol">;</a> <a id="7131" href="Relation.Binary.Lattice.Structures.html#5420" class="Function">transpose-⇨</a><a id="7142" class="Symbol">;</a> <a id="7144" href="Relation.Binary.Lattice.Structures.html#5540" class="Function">transpose-∧</a><a id="7155" class="Symbol">)</a> <a id="7157" class="Keyword">public</a>
<a id="7166" class="Keyword">open</a> <a id="7171" href="Relation.Binary.Lattice.Bundles.html#5026" class="Module">BoundedLattice</a> <a id="7186" href="Relation.Binary.Lattice.Bundles.html#6921" class="Function">boundedLattice</a>
<a id="7205" class="Keyword">hiding</a> <a id="7212" class="Symbol">(</a><a id="7213" href="Relation.Binary.Lattice.Bundles.html#5142" class="Field">Carrier</a><a id="7220" class="Symbol">;</a> <a id="7222" href="Relation.Binary.Lattice.Bundles.html#5171" class="Field Operator">_≈_</a><a id="7225" class="Symbol">;</a> <a id="7227" href="Relation.Binary.Lattice.Bundles.html#5238" class="Field Operator">_≤_</a><a id="7230" class="Symbol">;</a> <a id="7232" href="Relation.Binary.Lattice.Bundles.html#5299" class="Field Operator">__</a><a id="7235" class="Symbol">;</a> <a id="7237" href="Relation.Binary.Lattice.Bundles.html#5361" class="Field Operator">_∧_</a><a id="7240" class="Symbol">;</a> <a id="7242" href="Relation.Binary.Lattice.Bundles.html#5423" class="Field"></a><a id="7243" class="Symbol">;</a> <a id="7245" href="Relation.Binary.Lattice.Bundles.html#5478" class="Field"></a><a id="7246" class="Symbol">)</a> <a id="7248" class="Keyword">public</a>
<a id="7256" class="Comment">------------------------------------------------------------------------</a>
<a id="7329" class="Comment">-- Boolean algebras (a specialized Heyting algebra)</a>
<a id="7382" class="Keyword">record</a> <a id="BooleanAlgebra"></a><a id="7389" href="Relation.Binary.Lattice.Bundles.html#7389" class="Record">BooleanAlgebra</a> <a id="7404" href="Relation.Binary.Lattice.Bundles.html#7404" class="Bound">c</a> <a id="7406" href="Relation.Binary.Lattice.Bundles.html#7406" class="Bound">ℓ₁</a> <a id="7409" href="Relation.Binary.Lattice.Bundles.html#7409" class="Bound">ℓ₂</a> <a id="7412" class="Symbol">:</a> <a id="7414" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="7418" class="Symbol">(</a><a id="7419" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="7423" class="Symbol">(</a><a id="7424" href="Relation.Binary.Lattice.Bundles.html#7404" class="Bound">c</a> <a id="7426" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="7428" href="Relation.Binary.Lattice.Bundles.html#7406" class="Bound">ℓ₁</a> <a id="7431" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="7433" href="Relation.Binary.Lattice.Bundles.html#7409" class="Bound">ℓ₂</a><a id="7435" class="Symbol">))</a> <a id="7438" class="Keyword">where</a>
<a id="7446" class="Keyword">infix</a> <a id="7453" class="Number">4</a> <a id="7455" href="Relation.Binary.Lattice.Bundles.html#7547" class="Field Operator">_≈_</a> <a id="7459" href="Relation.Binary.Lattice.Bundles.html#7614" class="Field Operator">_≤_</a>
<a id="7465" class="Keyword">infixr</a> <a id="7472" class="Number">6</a> <a id="7474" href="Relation.Binary.Lattice.Bundles.html#7675" class="Field Operator">__</a>
<a id="7480" class="Keyword">infixr</a> <a id="7487" class="Number">7</a> <a id="7489" href="Relation.Binary.Lattice.Bundles.html#7737" class="Field Operator">_∧_</a>
<a id="7495" class="Keyword">infix</a> <a id="7501" class="Number">8</a> <a id="7503" href="Relation.Binary.Lattice.Bundles.html#7799" class="Field Operator">¬_</a>
<a id="7508" class="Keyword">field</a>
<a id="BooleanAlgebra.Carrier"></a><a id="7518" href="Relation.Binary.Lattice.Bundles.html#7518" class="Field">Carrier</a> <a id="7535" class="Symbol">:</a> <a id="7537" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="7541" href="Relation.Binary.Lattice.Bundles.html#7404" class="Bound">c</a>
<a id="BooleanAlgebra._≈_"></a><a id="7547" href="Relation.Binary.Lattice.Bundles.html#7547" class="Field Operator">_≈_</a> <a id="7564" class="Symbol">:</a> <a id="7566" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="7570" href="Relation.Binary.Lattice.Bundles.html#7518" class="Field">Carrier</a> <a id="7578" href="Relation.Binary.Lattice.Bundles.html#7406" class="Bound">ℓ₁</a> <a id="7582" class="Comment">-- The underlying equality.</a>
<a id="BooleanAlgebra._≤_"></a><a id="7614" href="Relation.Binary.Lattice.Bundles.html#7614" class="Field Operator">_≤_</a> <a id="7631" class="Symbol">:</a> <a id="7633" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="7637" href="Relation.Binary.Lattice.Bundles.html#7518" class="Field">Carrier</a> <a id="7645" href="Relation.Binary.Lattice.Bundles.html#7409" class="Bound">ℓ₂</a> <a id="7649" class="Comment">-- The partial order.</a>
<a id="BooleanAlgebra.__"></a><a id="7675" href="Relation.Binary.Lattice.Bundles.html#7675" class="Field Operator">__</a> <a id="7692" class="Symbol">:</a> <a id="7694" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="7698" href="Relation.Binary.Lattice.Bundles.html#7518" class="Field">Carrier</a> <a id="7710" class="Comment">-- The join operation.</a>
<a id="BooleanAlgebra._∧_"></a><a id="7737" href="Relation.Binary.Lattice.Bundles.html#7737" class="Field Operator">_∧_</a> <a id="7754" class="Symbol">:</a> <a id="7756" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="7760" href="Relation.Binary.Lattice.Bundles.html#7518" class="Field">Carrier</a> <a id="7772" class="Comment">-- The meet operation.</a>
<a id="BooleanAlgebra.¬_"></a><a id="7799" href="Relation.Binary.Lattice.Bundles.html#7799" class="Field Operator">¬_</a> <a id="7816" class="Symbol">:</a> <a id="7818" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="7822" href="Relation.Binary.Lattice.Bundles.html#7518" class="Field">Carrier</a> <a id="7834" class="Comment">-- The negation operation.</a>
<a id="BooleanAlgebra."></a><a id="7865" href="Relation.Binary.Lattice.Bundles.html#7865" class="Field"></a> <a id="7882" class="Symbol">:</a> <a id="7884" href="Relation.Binary.Lattice.Bundles.html#7518" class="Field">Carrier</a> <a id="7900" class="Comment">-- The maximum.</a>
<a id="BooleanAlgebra.⊥"></a><a id="7920" href="Relation.Binary.Lattice.Bundles.html#7920" class="Field"></a> <a id="7937" class="Symbol">:</a> <a id="7939" href="Relation.Binary.Lattice.Bundles.html#7518" class="Field">Carrier</a> <a id="7955" class="Comment">-- The minimum.</a>
<a id="BooleanAlgebra.isBooleanAlgebra"></a><a id="7975" href="Relation.Binary.Lattice.Bundles.html#7975" class="Field">isBooleanAlgebra</a> <a id="7992" class="Symbol">:</a> <a id="7994" href="Relation.Binary.Lattice.Structures.html#5840" class="Record">IsBooleanAlgebra</a> <a id="8011" href="Relation.Binary.Lattice.Bundles.html#7547" class="Field Operator">_≈_</a> <a id="8015" href="Relation.Binary.Lattice.Bundles.html#7614" class="Field Operator">_≤_</a> <a id="8019" href="Relation.Binary.Lattice.Bundles.html#7675" class="Field Operator">__</a> <a id="8023" href="Relation.Binary.Lattice.Bundles.html#7737" class="Field Operator">_∧_</a> <a id="8027" href="Relation.Binary.Lattice.Bundles.html#7799" class="Field Operator">¬_</a> <a id="8030" href="Relation.Binary.Lattice.Bundles.html#7865" class="Field"></a> <a id="8032" href="Relation.Binary.Lattice.Bundles.html#7920" class="Field"></a>
<a id="8037" class="Keyword">open</a> <a id="8042" href="Relation.Binary.Lattice.Structures.html#5840" class="Module">IsBooleanAlgebra</a> <a id="8059" href="Relation.Binary.Lattice.Bundles.html#7975" class="Field">isBooleanAlgebra</a> <a id="8076" class="Keyword">using</a> <a id="8082" class="Symbol">(</a><a id="8083" href="Relation.Binary.Lattice.Structures.html#6255" class="Field">isHeytingAlgebra</a><a id="8099" class="Symbol">)</a>
<a id="BooleanAlgebra.heytingAlgebra"></a><a id="8104" href="Relation.Binary.Lattice.Bundles.html#8104" class="Function">heytingAlgebra</a> <a id="8119" class="Symbol">:</a> <a id="8121" href="Relation.Binary.Lattice.Bundles.html#6267" class="Record">HeytingAlgebra</a> <a id="8136" href="Relation.Binary.Lattice.Bundles.html#7404" class="Bound">c</a> <a id="8138" href="Relation.Binary.Lattice.Bundles.html#7406" class="Bound">ℓ₁</a> <a id="8141" href="Relation.Binary.Lattice.Bundles.html#7409" class="Bound">ℓ₂</a>
<a id="8146" href="Relation.Binary.Lattice.Bundles.html#8104" class="Function">heytingAlgebra</a> <a id="8161" class="Symbol">=</a> <a id="8163" class="Keyword">record</a> <a id="8170" class="Symbol">{</a> <a id="8172" href="Relation.Binary.Lattice.Bundles.html#6858" class="Field">isHeytingAlgebra</a> <a id="8189" class="Symbol">=</a> <a id="8191" href="Relation.Binary.Lattice.Structures.html#6255" class="Function">isHeytingAlgebra</a> <a id="8208" class="Symbol">}</a>
<a id="8213" class="Keyword">open</a> <a id="8218" href="Relation.Binary.Lattice.Bundles.html#6267" class="Module">HeytingAlgebra</a> <a id="8233" href="Relation.Binary.Lattice.Bundles.html#8104" class="Function">heytingAlgebra</a> <a id="8248" class="Keyword">public</a>
<a id="8259" class="Keyword">hiding</a> <a id="8266" class="Symbol">(</a><a id="8267" href="Relation.Binary.Lattice.Bundles.html#6398" class="Field">Carrier</a><a id="8274" class="Symbol">;</a> <a id="8276" href="Relation.Binary.Lattice.Bundles.html#6427" class="Field Operator">_≈_</a><a id="8279" class="Symbol">;</a> <a id="8281" href="Relation.Binary.Lattice.Bundles.html#6494" class="Field Operator">_≤_</a><a id="8284" class="Symbol">;</a> <a id="8286" href="Relation.Binary.Lattice.Bundles.html#6555" class="Field Operator">__</a><a id="8289" class="Symbol">;</a> <a id="8291" href="Relation.Binary.Lattice.Bundles.html#6617" class="Field Operator">_∧_</a><a id="8294" class="Symbol">;</a> <a id="8296" href="Relation.Binary.Lattice.Bundles.html#6748" class="Field"></a><a id="8297" class="Symbol">;</a> <a id="8299" href="Relation.Binary.Lattice.Bundles.html#6803" class="Field"></a><a id="8300" class="Symbol">)</a>
</pre></body></html>