mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
188 lines
No EOL
62 KiB
HTML
188 lines
No EOL
62 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Relation.Binary.Lattice.Structures</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">-- Structures for order-theoretic lattices</a>
|
||
<a id="149" class="Comment">------------------------------------------------------------------------</a>
|
||
|
||
<a id="223" class="Comment">-- The contents of this module should be accessed via</a>
|
||
<a id="277" class="Comment">-- `Relation.Binary.Lattice`.</a>
|
||
|
||
<a id="308" class="Symbol">{-#</a> <a id="312" class="Keyword">OPTIONS</a> <a id="320" class="Pragma">--cubical-compatible</a> <a id="341" class="Pragma">--safe</a> <a id="348" class="Symbol">#-}</a>
|
||
|
||
<a id="353" class="Keyword">open</a> <a id="358" class="Keyword">import</a> <a id="365" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="386" class="Keyword">using</a> <a id="392" class="Symbol">(</a><a id="393" href="Relation.Binary.Core.html#896" class="Function">Rel</a><a id="396" class="Symbol">)</a>
|
||
<a id="398" class="Keyword">open</a> <a id="403" class="Keyword">import</a> <a id="410" href="Relation.Binary.Structures.html" class="Module">Relation.Binary.Structures</a> <a id="437" class="Keyword">using</a> <a id="443" class="Symbol">(</a><a id="444" href="Relation.Binary.Structures.html#3522" class="Record">IsPartialOrder</a><a id="458" class="Symbol">)</a>
|
||
<a id="460" class="Keyword">open</a> <a id="465" class="Keyword">import</a> <a id="472" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a> <a id="500" class="Keyword">using</a> <a id="506" class="Symbol">(</a><a id="507" href="Relation.Binary.Definitions.html#3663" class="Function">Minimum</a><a id="514" class="Symbol">;</a> <a id="516" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a><a id="523" class="Symbol">)</a>
|
||
|
||
<a id="526" class="Keyword">module</a> <a id="533" href="Relation.Binary.Lattice.Structures.html" class="Module">Relation.Binary.Lattice.Structures</a>
|
||
<a id="569" class="Symbol">{</a><a id="570" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="572" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="575" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="577" class="Symbol">}</a> <a id="579" class="Symbol">{</a><a id="580" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a> <a id="582" class="Symbol">:</a> <a id="584" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="588" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a><a id="589" class="Symbol">}</a>
|
||
<a id="592" class="Symbol">(</a><a id="593" href="Relation.Binary.Lattice.Structures.html#593" class="Bound Operator">_≈_</a> <a id="597" class="Symbol">:</a> <a id="599" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="603" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a> <a id="605" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a><a id="607" class="Symbol">)</a> <a id="609" class="Comment">-- The underlying equality.</a>
|
||
<a id="638" class="Symbol">(</a><a id="639" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="643" class="Symbol">:</a> <a id="645" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="649" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a> <a id="651" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="653" class="Symbol">)</a> <a id="655" class="Comment">-- The partial order.</a>
|
||
<a id="678" class="Keyword">where</a>
|
||
|
||
<a id="685" class="Keyword">open</a> <a id="690" class="Keyword">import</a> <a id="697" href="Algebra.Core.html" class="Module">Algebra.Core</a>
|
||
<a id="710" class="Keyword">open</a> <a id="715" class="Keyword">import</a> <a id="722" href="Algebra.Definitions.html" class="Module">Algebra.Definitions</a>
|
||
<a id="742" class="Keyword">open</a> <a id="747" class="Keyword">import</a> <a id="754" href="Data.Product.Base.html" class="Module">Data.Product.Base</a> <a id="772" class="Keyword">using</a> <a id="778" class="Symbol">(</a><a id="779" href="Data.Product.Base.html#1618" class="Function Operator">_×_</a><a id="782" class="Symbol">;</a> <a id="784" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="787" class="Symbol">)</a>
|
||
<a id="789" class="Keyword">open</a> <a id="794" class="Keyword">import</a> <a id="801" href="Level.html" class="Module">Level</a> <a id="807" class="Keyword">using</a> <a id="813" class="Symbol">(</a><a id="814" href="Agda.Primitive.html#931" class="Primitive">suc</a><a id="817" class="Symbol">;</a> <a id="819" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="822" class="Symbol">)</a>
|
||
|
||
<a id="825" class="Keyword">open</a> <a id="830" class="Keyword">import</a> <a id="837" href="Relation.Binary.Lattice.Definitions.html" class="Module">Relation.Binary.Lattice.Definitions</a>
|
||
|
||
<a id="874" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="947" class="Comment">-- Join semilattices</a>
|
||
|
||
<a id="969" class="Keyword">record</a> <a id="IsJoinSemilattice"></a><a id="976" href="Relation.Binary.Lattice.Structures.html#976" class="Record">IsJoinSemilattice</a> <a id="994" class="Symbol">(</a><a id="995" href="Relation.Binary.Lattice.Structures.html#995" class="Bound Operator">_∨_</a> <a id="999" class="Symbol">:</a> <a id="1001" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1005" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="1006" class="Symbol">)</a> <a id="1011" class="Comment">-- The join operation.</a>
|
||
<a id="1059" class="Symbol">:</a> <a id="1061" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1065" class="Symbol">(</a><a id="1066" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="1068" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1070" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="1073" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1075" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="1077" class="Symbol">)</a> <a id="1079" class="Keyword">where</a>
|
||
<a id="1087" class="Keyword">field</a>
|
||
<a id="IsJoinSemilattice.isPartialOrder"></a><a id="1097" href="Relation.Binary.Lattice.Structures.html#1097" class="Field">isPartialOrder</a> <a id="1112" class="Symbol">:</a> <a id="1114" href="Relation.Binary.Structures.html#3522" class="Record">IsPartialOrder</a> <a id="1129" href="Relation.Binary.Lattice.Structures.html#593" class="Bound Operator">_≈_</a> <a id="1133" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a>
|
||
<a id="IsJoinSemilattice.supremum"></a><a id="1141" href="Relation.Binary.Lattice.Structures.html#1141" class="Field">supremum</a> <a id="1156" class="Symbol">:</a> <a id="1158" href="Relation.Binary.Lattice.Definitions.html#763" class="Function">Supremum</a> <a id="1167" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="1171" href="Relation.Binary.Lattice.Structures.html#995" class="Bound Operator">_∨_</a>
|
||
|
||
<a id="IsJoinSemilattice.x≤x∨y"></a><a id="1178" href="Relation.Binary.Lattice.Structures.html#1178" class="Function">x≤x∨y</a> <a id="1184" class="Symbol">:</a> <a id="1186" class="Symbol">∀</a> <a id="1188" href="Relation.Binary.Lattice.Structures.html#1188" class="Bound">x</a> <a id="1190" href="Relation.Binary.Lattice.Structures.html#1190" class="Bound">y</a> <a id="1192" class="Symbol">→</a> <a id="1194" href="Relation.Binary.Lattice.Structures.html#1188" class="Bound">x</a> <a id="1196" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="1198" class="Symbol">(</a><a id="1199" href="Relation.Binary.Lattice.Structures.html#1188" class="Bound">x</a> <a id="1201" href="Relation.Binary.Lattice.Structures.html#995" class="Bound Operator">∨</a> <a id="1203" href="Relation.Binary.Lattice.Structures.html#1190" class="Bound">y</a><a id="1204" class="Symbol">)</a>
|
||
<a id="1208" href="Relation.Binary.Lattice.Structures.html#1178" class="Function">x≤x∨y</a> <a id="1214" href="Relation.Binary.Lattice.Structures.html#1214" class="Bound">x</a> <a id="1216" href="Relation.Binary.Lattice.Structures.html#1216" class="Bound">y</a> <a id="1218" class="Symbol">=</a> <a id="1220" class="Keyword">let</a> <a id="1224" href="Relation.Binary.Lattice.Structures.html#1224" class="Bound">pf</a> <a id="1227" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1229" class="Symbol">_</a> <a id="1231" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1233" class="Symbol">_</a> <a id="1235" class="Symbol">=</a> <a id="1237" href="Relation.Binary.Lattice.Structures.html#1141" class="Field">supremum</a> <a id="1246" href="Relation.Binary.Lattice.Structures.html#1214" class="Bound">x</a> <a id="1248" href="Relation.Binary.Lattice.Structures.html#1216" class="Bound">y</a> <a id="1250" class="Keyword">in</a> <a id="1253" href="Relation.Binary.Lattice.Structures.html#1224" class="Bound">pf</a>
|
||
|
||
<a id="IsJoinSemilattice.y≤x∨y"></a><a id="1259" href="Relation.Binary.Lattice.Structures.html#1259" class="Function">y≤x∨y</a> <a id="1265" class="Symbol">:</a> <a id="1267" class="Symbol">∀</a> <a id="1269" href="Relation.Binary.Lattice.Structures.html#1269" class="Bound">x</a> <a id="1271" href="Relation.Binary.Lattice.Structures.html#1271" class="Bound">y</a> <a id="1273" class="Symbol">→</a> <a id="1275" href="Relation.Binary.Lattice.Structures.html#1271" class="Bound">y</a> <a id="1277" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="1279" class="Symbol">(</a><a id="1280" href="Relation.Binary.Lattice.Structures.html#1269" class="Bound">x</a> <a id="1282" href="Relation.Binary.Lattice.Structures.html#995" class="Bound Operator">∨</a> <a id="1284" href="Relation.Binary.Lattice.Structures.html#1271" class="Bound">y</a><a id="1285" class="Symbol">)</a>
|
||
<a id="1289" href="Relation.Binary.Lattice.Structures.html#1259" class="Function">y≤x∨y</a> <a id="1295" href="Relation.Binary.Lattice.Structures.html#1295" class="Bound">x</a> <a id="1297" href="Relation.Binary.Lattice.Structures.html#1297" class="Bound">y</a> <a id="1299" class="Symbol">=</a> <a id="1301" class="Keyword">let</a> <a id="1305" class="Symbol">_</a> <a id="1307" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1309" href="Relation.Binary.Lattice.Structures.html#1309" class="Bound">pf</a> <a id="1312" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1314" class="Symbol">_</a> <a id="1316" class="Symbol">=</a> <a id="1318" href="Relation.Binary.Lattice.Structures.html#1141" class="Field">supremum</a> <a id="1327" href="Relation.Binary.Lattice.Structures.html#1295" class="Bound">x</a> <a id="1329" href="Relation.Binary.Lattice.Structures.html#1297" class="Bound">y</a> <a id="1331" class="Keyword">in</a> <a id="1334" href="Relation.Binary.Lattice.Structures.html#1309" class="Bound">pf</a>
|
||
|
||
<a id="IsJoinSemilattice.∨-least"></a><a id="1340" href="Relation.Binary.Lattice.Structures.html#1340" class="Function">∨-least</a> <a id="1348" class="Symbol">:</a> <a id="1350" class="Symbol">∀</a> <a id="1352" class="Symbol">{</a><a id="1353" href="Relation.Binary.Lattice.Structures.html#1353" class="Bound">x</a> <a id="1355" href="Relation.Binary.Lattice.Structures.html#1355" class="Bound">y</a> <a id="1357" href="Relation.Binary.Lattice.Structures.html#1357" class="Bound">z</a><a id="1358" class="Symbol">}</a> <a id="1360" class="Symbol">→</a> <a id="1362" href="Relation.Binary.Lattice.Structures.html#1353" class="Bound">x</a> <a id="1364" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="1366" href="Relation.Binary.Lattice.Structures.html#1357" class="Bound">z</a> <a id="1368" class="Symbol">→</a> <a id="1370" href="Relation.Binary.Lattice.Structures.html#1355" class="Bound">y</a> <a id="1372" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="1374" href="Relation.Binary.Lattice.Structures.html#1357" class="Bound">z</a> <a id="1376" class="Symbol">→</a> <a id="1378" class="Symbol">(</a><a id="1379" href="Relation.Binary.Lattice.Structures.html#1353" class="Bound">x</a> <a id="1381" href="Relation.Binary.Lattice.Structures.html#995" class="Bound Operator">∨</a> <a id="1383" href="Relation.Binary.Lattice.Structures.html#1355" class="Bound">y</a><a id="1384" class="Symbol">)</a> <a id="1386" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="1388" href="Relation.Binary.Lattice.Structures.html#1357" class="Bound">z</a>
|
||
<a id="1392" href="Relation.Binary.Lattice.Structures.html#1340" class="Function">∨-least</a> <a id="1400" class="Symbol">{</a><a id="1401" href="Relation.Binary.Lattice.Structures.html#1401" class="Bound">x</a><a id="1402" class="Symbol">}</a> <a id="1404" class="Symbol">{</a><a id="1405" href="Relation.Binary.Lattice.Structures.html#1405" class="Bound">y</a><a id="1406" class="Symbol">}</a> <a id="1408" class="Symbol">{</a><a id="1409" href="Relation.Binary.Lattice.Structures.html#1409" class="Bound">z</a><a id="1410" class="Symbol">}</a> <a id="1412" class="Symbol">=</a> <a id="1414" class="Keyword">let</a> <a id="1418" class="Symbol">_</a> <a id="1420" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1422" class="Symbol">_</a> <a id="1424" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1426" href="Relation.Binary.Lattice.Structures.html#1426" class="Bound">pf</a> <a id="1429" class="Symbol">=</a> <a id="1431" href="Relation.Binary.Lattice.Structures.html#1141" class="Field">supremum</a> <a id="1440" href="Relation.Binary.Lattice.Structures.html#1401" class="Bound">x</a> <a id="1442" href="Relation.Binary.Lattice.Structures.html#1405" class="Bound">y</a> <a id="1444" class="Keyword">in</a> <a id="1447" href="Relation.Binary.Lattice.Structures.html#1426" class="Bound">pf</a> <a id="1450" href="Relation.Binary.Lattice.Structures.html#1409" class="Bound">z</a>
|
||
|
||
<a id="1455" class="Keyword">open</a> <a id="1460" href="Relation.Binary.Structures.html#3522" class="Module">IsPartialOrder</a> <a id="1475" href="Relation.Binary.Lattice.Structures.html#1097" class="Field">isPartialOrder</a> <a id="1490" class="Keyword">public</a>
|
||
|
||
<a id="1498" class="Keyword">record</a> <a id="IsBoundedJoinSemilattice"></a><a id="1505" href="Relation.Binary.Lattice.Structures.html#1505" class="Record">IsBoundedJoinSemilattice</a> <a id="1530" class="Symbol">(</a><a id="1531" href="Relation.Binary.Lattice.Structures.html#1531" class="Bound Operator">_∨_</a> <a id="1535" class="Symbol">:</a> <a id="1537" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1541" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="1542" class="Symbol">)</a> <a id="1547" class="Comment">-- The join operation.</a>
|
||
<a id="1602" class="Symbol">(</a><a id="1603" href="Relation.Binary.Lattice.Structures.html#1603" class="Bound">⊥</a> <a id="1607" class="Symbol">:</a> <a id="1609" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="1610" class="Symbol">)</a> <a id="1619" class="Comment">-- The minimum.</a>
|
||
<a id="1667" class="Symbol">:</a> <a id="1669" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1673" class="Symbol">(</a><a id="1674" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="1676" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1678" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="1681" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1683" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="1685" class="Symbol">)</a> <a id="1687" class="Keyword">where</a>
|
||
<a id="1695" class="Keyword">field</a>
|
||
<a id="IsBoundedJoinSemilattice.isJoinSemilattice"></a><a id="1705" href="Relation.Binary.Lattice.Structures.html#1705" class="Field">isJoinSemilattice</a> <a id="1723" class="Symbol">:</a> <a id="1725" href="Relation.Binary.Lattice.Structures.html#976" class="Record">IsJoinSemilattice</a> <a id="1743" href="Relation.Binary.Lattice.Structures.html#1531" class="Bound Operator">_∨_</a>
|
||
<a id="IsBoundedJoinSemilattice.minimum"></a><a id="1751" href="Relation.Binary.Lattice.Structures.html#1751" class="Field">minimum</a> <a id="1769" class="Symbol">:</a> <a id="1771" href="Relation.Binary.Definitions.html#3663" class="Function">Minimum</a> <a id="1779" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="1783" href="Relation.Binary.Lattice.Structures.html#1603" class="Bound">⊥</a>
|
||
|
||
<a id="1788" class="Keyword">open</a> <a id="1793" href="Relation.Binary.Lattice.Structures.html#976" class="Module">IsJoinSemilattice</a> <a id="1811" href="Relation.Binary.Lattice.Structures.html#1705" class="Field">isJoinSemilattice</a> <a id="1829" class="Keyword">public</a>
|
||
|
||
<a id="1837" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="1910" class="Comment">-- Meet semilattices</a>
|
||
|
||
<a id="1932" class="Keyword">record</a> <a id="IsMeetSemilattice"></a><a id="1939" href="Relation.Binary.Lattice.Structures.html#1939" class="Record">IsMeetSemilattice</a> <a id="1957" class="Symbol">(</a><a id="1958" href="Relation.Binary.Lattice.Structures.html#1958" class="Bound Operator">_∧_</a> <a id="1962" class="Symbol">:</a> <a id="1964" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1968" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="1969" class="Symbol">)</a> <a id="1974" class="Comment">-- The meet operation.</a>
|
||
<a id="2022" class="Symbol">:</a> <a id="2024" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2028" class="Symbol">(</a><a id="2029" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="2031" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2033" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="2036" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2038" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="2040" class="Symbol">)</a> <a id="2042" class="Keyword">where</a>
|
||
<a id="2050" class="Keyword">field</a>
|
||
<a id="IsMeetSemilattice.isPartialOrder"></a><a id="2060" href="Relation.Binary.Lattice.Structures.html#2060" class="Field">isPartialOrder</a> <a id="2075" class="Symbol">:</a> <a id="2077" href="Relation.Binary.Structures.html#3522" class="Record">IsPartialOrder</a> <a id="2092" href="Relation.Binary.Lattice.Structures.html#593" class="Bound Operator">_≈_</a> <a id="2096" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a>
|
||
<a id="IsMeetSemilattice.infimum"></a><a id="2104" href="Relation.Binary.Lattice.Structures.html#2104" class="Field">infimum</a> <a id="2119" class="Symbol">:</a> <a id="2121" href="Relation.Binary.Lattice.Definitions.html#890" class="Function">Infimum</a> <a id="2129" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="2133" href="Relation.Binary.Lattice.Structures.html#1958" class="Bound Operator">_∧_</a>
|
||
|
||
<a id="IsMeetSemilattice.x∧y≤x"></a><a id="2140" href="Relation.Binary.Lattice.Structures.html#2140" class="Function">x∧y≤x</a> <a id="2146" class="Symbol">:</a> <a id="2148" class="Symbol">∀</a> <a id="2150" href="Relation.Binary.Lattice.Structures.html#2150" class="Bound">x</a> <a id="2152" href="Relation.Binary.Lattice.Structures.html#2152" class="Bound">y</a> <a id="2154" class="Symbol">→</a> <a id="2156" class="Symbol">(</a><a id="2157" href="Relation.Binary.Lattice.Structures.html#2150" class="Bound">x</a> <a id="2159" href="Relation.Binary.Lattice.Structures.html#1958" class="Bound Operator">∧</a> <a id="2161" href="Relation.Binary.Lattice.Structures.html#2152" class="Bound">y</a><a id="2162" class="Symbol">)</a> <a id="2164" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="2166" href="Relation.Binary.Lattice.Structures.html#2150" class="Bound">x</a>
|
||
<a id="2170" href="Relation.Binary.Lattice.Structures.html#2140" class="Function">x∧y≤x</a> <a id="2176" href="Relation.Binary.Lattice.Structures.html#2176" class="Bound">x</a> <a id="2178" href="Relation.Binary.Lattice.Structures.html#2178" class="Bound">y</a> <a id="2180" class="Symbol">=</a> <a id="2182" class="Keyword">let</a> <a id="2186" href="Relation.Binary.Lattice.Structures.html#2186" class="Bound">pf</a> <a id="2189" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2191" class="Symbol">_</a> <a id="2193" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2195" class="Symbol">_</a> <a id="2197" class="Symbol">=</a> <a id="2199" href="Relation.Binary.Lattice.Structures.html#2104" class="Field">infimum</a> <a id="2207" href="Relation.Binary.Lattice.Structures.html#2176" class="Bound">x</a> <a id="2209" href="Relation.Binary.Lattice.Structures.html#2178" class="Bound">y</a> <a id="2211" class="Keyword">in</a> <a id="2214" href="Relation.Binary.Lattice.Structures.html#2186" class="Bound">pf</a>
|
||
|
||
<a id="IsMeetSemilattice.x∧y≤y"></a><a id="2220" href="Relation.Binary.Lattice.Structures.html#2220" class="Function">x∧y≤y</a> <a id="2226" class="Symbol">:</a> <a id="2228" class="Symbol">∀</a> <a id="2230" href="Relation.Binary.Lattice.Structures.html#2230" class="Bound">x</a> <a id="2232" href="Relation.Binary.Lattice.Structures.html#2232" class="Bound">y</a> <a id="2234" class="Symbol">→</a> <a id="2236" class="Symbol">(</a><a id="2237" href="Relation.Binary.Lattice.Structures.html#2230" class="Bound">x</a> <a id="2239" href="Relation.Binary.Lattice.Structures.html#1958" class="Bound Operator">∧</a> <a id="2241" href="Relation.Binary.Lattice.Structures.html#2232" class="Bound">y</a><a id="2242" class="Symbol">)</a> <a id="2244" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="2246" href="Relation.Binary.Lattice.Structures.html#2232" class="Bound">y</a>
|
||
<a id="2250" href="Relation.Binary.Lattice.Structures.html#2220" class="Function">x∧y≤y</a> <a id="2256" href="Relation.Binary.Lattice.Structures.html#2256" class="Bound">x</a> <a id="2258" href="Relation.Binary.Lattice.Structures.html#2258" class="Bound">y</a> <a id="2260" class="Symbol">=</a> <a id="2262" class="Keyword">let</a> <a id="2266" class="Symbol">_</a> <a id="2268" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2270" href="Relation.Binary.Lattice.Structures.html#2270" class="Bound">pf</a> <a id="2273" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2275" class="Symbol">_</a> <a id="2277" class="Symbol">=</a> <a id="2279" href="Relation.Binary.Lattice.Structures.html#2104" class="Field">infimum</a> <a id="2287" href="Relation.Binary.Lattice.Structures.html#2256" class="Bound">x</a> <a id="2289" href="Relation.Binary.Lattice.Structures.html#2258" class="Bound">y</a> <a id="2291" class="Keyword">in</a> <a id="2294" href="Relation.Binary.Lattice.Structures.html#2270" class="Bound">pf</a>
|
||
|
||
<a id="IsMeetSemilattice.∧-greatest"></a><a id="2300" href="Relation.Binary.Lattice.Structures.html#2300" class="Function">∧-greatest</a> <a id="2311" class="Symbol">:</a> <a id="2313" class="Symbol">∀</a> <a id="2315" class="Symbol">{</a><a id="2316" href="Relation.Binary.Lattice.Structures.html#2316" class="Bound">x</a> <a id="2318" href="Relation.Binary.Lattice.Structures.html#2318" class="Bound">y</a> <a id="2320" href="Relation.Binary.Lattice.Structures.html#2320" class="Bound">z</a><a id="2321" class="Symbol">}</a> <a id="2323" class="Symbol">→</a> <a id="2325" href="Relation.Binary.Lattice.Structures.html#2316" class="Bound">x</a> <a id="2327" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="2329" href="Relation.Binary.Lattice.Structures.html#2318" class="Bound">y</a> <a id="2331" class="Symbol">→</a> <a id="2333" href="Relation.Binary.Lattice.Structures.html#2316" class="Bound">x</a> <a id="2335" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="2337" href="Relation.Binary.Lattice.Structures.html#2320" class="Bound">z</a> <a id="2339" class="Symbol">→</a> <a id="2341" href="Relation.Binary.Lattice.Structures.html#2316" class="Bound">x</a> <a id="2343" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="2345" class="Symbol">(</a><a id="2346" href="Relation.Binary.Lattice.Structures.html#2318" class="Bound">y</a> <a id="2348" href="Relation.Binary.Lattice.Structures.html#1958" class="Bound Operator">∧</a> <a id="2350" href="Relation.Binary.Lattice.Structures.html#2320" class="Bound">z</a><a id="2351" class="Symbol">)</a>
|
||
<a id="2355" href="Relation.Binary.Lattice.Structures.html#2300" class="Function">∧-greatest</a> <a id="2366" class="Symbol">{</a><a id="2367" href="Relation.Binary.Lattice.Structures.html#2367" class="Bound">x</a><a id="2368" class="Symbol">}</a> <a id="2370" class="Symbol">{</a><a id="2371" href="Relation.Binary.Lattice.Structures.html#2371" class="Bound">y</a><a id="2372" class="Symbol">}</a> <a id="2374" class="Symbol">{</a><a id="2375" href="Relation.Binary.Lattice.Structures.html#2375" class="Bound">z</a><a id="2376" class="Symbol">}</a> <a id="2378" class="Symbol">=</a> <a id="2380" class="Keyword">let</a> <a id="2384" class="Symbol">_</a> <a id="2386" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2388" class="Symbol">_</a> <a id="2390" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2392" href="Relation.Binary.Lattice.Structures.html#2392" class="Bound">pf</a> <a id="2395" class="Symbol">=</a> <a id="2397" href="Relation.Binary.Lattice.Structures.html#2104" class="Field">infimum</a> <a id="2405" href="Relation.Binary.Lattice.Structures.html#2371" class="Bound">y</a> <a id="2407" href="Relation.Binary.Lattice.Structures.html#2375" class="Bound">z</a> <a id="2409" class="Keyword">in</a> <a id="2412" href="Relation.Binary.Lattice.Structures.html#2392" class="Bound">pf</a> <a id="2415" href="Relation.Binary.Lattice.Structures.html#2367" class="Bound">x</a>
|
||
|
||
<a id="2420" class="Keyword">open</a> <a id="2425" href="Relation.Binary.Structures.html#3522" class="Module">IsPartialOrder</a> <a id="2440" href="Relation.Binary.Lattice.Structures.html#2060" class="Field">isPartialOrder</a> <a id="2455" class="Keyword">public</a>
|
||
|
||
<a id="2463" class="Keyword">record</a> <a id="IsBoundedMeetSemilattice"></a><a id="2470" href="Relation.Binary.Lattice.Structures.html#2470" class="Record">IsBoundedMeetSemilattice</a> <a id="2495" class="Symbol">(</a><a id="2496" href="Relation.Binary.Lattice.Structures.html#2496" class="Bound Operator">_∧_</a> <a id="2500" class="Symbol">:</a> <a id="2502" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2506" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="2507" class="Symbol">)</a> <a id="2512" class="Comment">-- The join operation.</a>
|
||
<a id="2567" class="Symbol">(</a><a id="2568" href="Relation.Binary.Lattice.Structures.html#2568" class="Bound">⊤</a> <a id="2572" class="Symbol">:</a> <a id="2574" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="2575" class="Symbol">)</a> <a id="2584" class="Comment">-- The maximum.</a>
|
||
<a id="2632" class="Symbol">:</a> <a id="2634" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2638" class="Symbol">(</a><a id="2639" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="2641" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2643" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="2646" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2648" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="2650" class="Symbol">)</a> <a id="2652" class="Keyword">where</a>
|
||
<a id="2660" class="Keyword">field</a>
|
||
<a id="IsBoundedMeetSemilattice.isMeetSemilattice"></a><a id="2670" href="Relation.Binary.Lattice.Structures.html#2670" class="Field">isMeetSemilattice</a> <a id="2688" class="Symbol">:</a> <a id="2690" href="Relation.Binary.Lattice.Structures.html#1939" class="Record">IsMeetSemilattice</a> <a id="2708" href="Relation.Binary.Lattice.Structures.html#2496" class="Bound Operator">_∧_</a>
|
||
<a id="IsBoundedMeetSemilattice.maximum"></a><a id="2716" href="Relation.Binary.Lattice.Structures.html#2716" class="Field">maximum</a> <a id="2734" class="Symbol">:</a> <a id="2736" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a> <a id="2744" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="2748" href="Relation.Binary.Lattice.Structures.html#2568" class="Bound">⊤</a>
|
||
|
||
<a id="2753" class="Keyword">open</a> <a id="2758" href="Relation.Binary.Lattice.Structures.html#1939" class="Module">IsMeetSemilattice</a> <a id="2776" href="Relation.Binary.Lattice.Structures.html#2670" class="Field">isMeetSemilattice</a> <a id="2794" class="Keyword">public</a>
|
||
|
||
<a id="2802" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="2875" class="Comment">-- Lattices</a>
|
||
|
||
<a id="2888" class="Keyword">record</a> <a id="IsLattice"></a><a id="2895" href="Relation.Binary.Lattice.Structures.html#2895" class="Record">IsLattice</a> <a id="2905" class="Symbol">(</a><a id="2906" href="Relation.Binary.Lattice.Structures.html#2906" class="Bound Operator">_∨_</a> <a id="2910" class="Symbol">:</a> <a id="2912" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2916" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="2917" class="Symbol">)</a> <a id="2922" class="Comment">-- The join operation.</a>
|
||
<a id="2962" class="Symbol">(</a><a id="2963" href="Relation.Binary.Lattice.Structures.html#2963" class="Bound Operator">_∧_</a> <a id="2967" class="Symbol">:</a> <a id="2969" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2973" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="2974" class="Symbol">)</a> <a id="2979" class="Comment">-- The meet operation.</a>
|
||
<a id="3019" class="Symbol">:</a> <a id="3021" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3025" class="Symbol">(</a><a id="3026" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="3028" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3030" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="3033" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3035" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="3037" class="Symbol">)</a> <a id="3039" class="Keyword">where</a>
|
||
<a id="3047" class="Keyword">field</a>
|
||
<a id="IsLattice.isPartialOrder"></a><a id="3057" href="Relation.Binary.Lattice.Structures.html#3057" class="Field">isPartialOrder</a> <a id="3072" class="Symbol">:</a> <a id="3074" href="Relation.Binary.Structures.html#3522" class="Record">IsPartialOrder</a> <a id="3089" href="Relation.Binary.Lattice.Structures.html#593" class="Bound Operator">_≈_</a> <a id="3093" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a>
|
||
<a id="IsLattice.supremum"></a><a id="3101" href="Relation.Binary.Lattice.Structures.html#3101" class="Field">supremum</a> <a id="3116" class="Symbol">:</a> <a id="3118" href="Relation.Binary.Lattice.Definitions.html#763" class="Function">Supremum</a> <a id="3127" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="3131" href="Relation.Binary.Lattice.Structures.html#2906" class="Bound Operator">_∨_</a>
|
||
<a id="IsLattice.infimum"></a><a id="3139" href="Relation.Binary.Lattice.Structures.html#3139" class="Field">infimum</a> <a id="3154" class="Symbol">:</a> <a id="3156" href="Relation.Binary.Lattice.Definitions.html#890" class="Function">Infimum</a> <a id="3164" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="3168" href="Relation.Binary.Lattice.Structures.html#2963" class="Bound Operator">_∧_</a>
|
||
|
||
<a id="IsLattice.isJoinSemilattice"></a><a id="3175" href="Relation.Binary.Lattice.Structures.html#3175" class="Function">isJoinSemilattice</a> <a id="3193" class="Symbol">:</a> <a id="3195" href="Relation.Binary.Lattice.Structures.html#976" class="Record">IsJoinSemilattice</a> <a id="3214" href="Relation.Binary.Lattice.Structures.html#2906" class="Bound Operator">_∨_</a>
|
||
<a id="3220" href="Relation.Binary.Lattice.Structures.html#3175" class="Function">isJoinSemilattice</a> <a id="3238" class="Symbol">=</a> <a id="3240" class="Keyword">record</a>
|
||
<a id="3251" class="Symbol">{</a> <a id="3253" href="Relation.Binary.Lattice.Structures.html#1097" class="Field">isPartialOrder</a> <a id="3268" class="Symbol">=</a> <a id="3270" href="Relation.Binary.Lattice.Structures.html#3057" class="Field">isPartialOrder</a>
|
||
<a id="3289" class="Symbol">;</a> <a id="3291" href="Relation.Binary.Lattice.Structures.html#1141" class="Field">supremum</a> <a id="3306" class="Symbol">=</a> <a id="3308" href="Relation.Binary.Lattice.Structures.html#3101" class="Field">supremum</a>
|
||
<a id="3321" class="Symbol">}</a>
|
||
|
||
<a id="IsLattice.isMeetSemilattice"></a><a id="3326" href="Relation.Binary.Lattice.Structures.html#3326" class="Function">isMeetSemilattice</a> <a id="3344" class="Symbol">:</a> <a id="3346" href="Relation.Binary.Lattice.Structures.html#1939" class="Record">IsMeetSemilattice</a> <a id="3365" href="Relation.Binary.Lattice.Structures.html#2963" class="Bound Operator">_∧_</a>
|
||
<a id="3371" href="Relation.Binary.Lattice.Structures.html#3326" class="Function">isMeetSemilattice</a> <a id="3389" class="Symbol">=</a> <a id="3391" class="Keyword">record</a>
|
||
<a id="3402" class="Symbol">{</a> <a id="3404" href="Relation.Binary.Lattice.Structures.html#2060" class="Field">isPartialOrder</a> <a id="3419" class="Symbol">=</a> <a id="3421" href="Relation.Binary.Lattice.Structures.html#3057" class="Field">isPartialOrder</a>
|
||
<a id="3440" class="Symbol">;</a> <a id="3442" href="Relation.Binary.Lattice.Structures.html#2104" class="Field">infimum</a> <a id="3457" class="Symbol">=</a> <a id="3459" href="Relation.Binary.Lattice.Structures.html#3139" class="Field">infimum</a>
|
||
<a id="3471" class="Symbol">}</a>
|
||
|
||
<a id="3476" class="Keyword">open</a> <a id="3481" href="Relation.Binary.Lattice.Structures.html#976" class="Module">IsJoinSemilattice</a> <a id="3499" href="Relation.Binary.Lattice.Structures.html#3175" class="Function">isJoinSemilattice</a> <a id="3517" class="Keyword">public</a>
|
||
<a id="3528" class="Keyword">using</a> <a id="3534" class="Symbol">(</a><a id="3535" href="Relation.Binary.Lattice.Structures.html#1178" class="Function">x≤x∨y</a><a id="3540" class="Symbol">;</a> <a id="3542" href="Relation.Binary.Lattice.Structures.html#1259" class="Function">y≤x∨y</a><a id="3547" class="Symbol">;</a> <a id="3549" href="Relation.Binary.Lattice.Structures.html#1340" class="Function">∨-least</a><a id="3556" class="Symbol">)</a>
|
||
<a id="3560" class="Keyword">open</a> <a id="3565" href="Relation.Binary.Lattice.Structures.html#1939" class="Module">IsMeetSemilattice</a> <a id="3583" href="Relation.Binary.Lattice.Structures.html#3326" class="Function">isMeetSemilattice</a> <a id="3601" class="Keyword">public</a>
|
||
<a id="3612" class="Keyword">using</a> <a id="3618" class="Symbol">(</a><a id="3619" href="Relation.Binary.Lattice.Structures.html#2140" class="Function">x∧y≤x</a><a id="3624" class="Symbol">;</a> <a id="3626" href="Relation.Binary.Lattice.Structures.html#2220" class="Function">x∧y≤y</a><a id="3631" class="Symbol">;</a> <a id="3633" href="Relation.Binary.Lattice.Structures.html#2300" class="Function">∧-greatest</a><a id="3643" class="Symbol">)</a>
|
||
<a id="3647" class="Keyword">open</a> <a id="3652" href="Relation.Binary.Structures.html#3522" class="Module">IsPartialOrder</a> <a id="3667" href="Relation.Binary.Lattice.Structures.html#3057" class="Field">isPartialOrder</a> <a id="3682" class="Keyword">public</a>
|
||
|
||
<a id="3690" class="Keyword">record</a> <a id="IsDistributiveLattice"></a><a id="3697" href="Relation.Binary.Lattice.Structures.html#3697" class="Record">IsDistributiveLattice</a> <a id="3719" class="Symbol">(</a><a id="3720" href="Relation.Binary.Lattice.Structures.html#3720" class="Bound Operator">_∨_</a> <a id="3724" class="Symbol">:</a> <a id="3726" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3730" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="3731" class="Symbol">)</a> <a id="3736" class="Comment">-- The join operation.</a>
|
||
<a id="3788" class="Symbol">(</a><a id="3789" href="Relation.Binary.Lattice.Structures.html#3789" class="Bound Operator">_∧_</a> <a id="3793" class="Symbol">:</a> <a id="3795" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3799" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="3800" class="Symbol">)</a> <a id="3805" class="Comment">-- The meet operation.</a>
|
||
<a id="3857" class="Symbol">:</a> <a id="3859" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3863" class="Symbol">(</a><a id="3864" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="3866" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3868" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="3871" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3873" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="3875" class="Symbol">)</a> <a id="3877" class="Keyword">where</a>
|
||
<a id="3885" class="Keyword">field</a>
|
||
<a id="IsDistributiveLattice.isLattice"></a><a id="3895" href="Relation.Binary.Lattice.Structures.html#3895" class="Field">isLattice</a> <a id="3908" class="Symbol">:</a> <a id="3910" href="Relation.Binary.Lattice.Structures.html#2895" class="Record">IsLattice</a> <a id="3920" href="Relation.Binary.Lattice.Structures.html#3720" class="Bound Operator">_∨_</a> <a id="3924" href="Relation.Binary.Lattice.Structures.html#3789" class="Bound Operator">_∧_</a>
|
||
<a id="IsDistributiveLattice.∧-distribˡ-∨"></a><a id="3932" href="Relation.Binary.Lattice.Structures.html#3932" class="Field">∧-distribˡ-∨</a> <a id="3945" class="Symbol">:</a> <a id="3947" href="Algebra.Definitions.html#3155" class="Function Operator">_DistributesOverˡ_</a> <a id="3966" href="Relation.Binary.Lattice.Structures.html#593" class="Bound Operator">_≈_</a> <a id="3970" href="Relation.Binary.Lattice.Structures.html#3789" class="Bound Operator">_∧_</a> <a id="3974" href="Relation.Binary.Lattice.Structures.html#3720" class="Bound Operator">_∨_</a>
|
||
|
||
<a id="3981" class="Keyword">open</a> <a id="3986" href="Relation.Binary.Lattice.Structures.html#2895" class="Module">IsLattice</a> <a id="3996" href="Relation.Binary.Lattice.Structures.html#3895" class="Field">isLattice</a> <a id="4006" class="Keyword">public</a>
|
||
|
||
<a id="4014" class="Keyword">record</a> <a id="IsBoundedLattice"></a><a id="4021" href="Relation.Binary.Lattice.Structures.html#4021" class="Record">IsBoundedLattice</a> <a id="4038" class="Symbol">(</a><a id="4039" href="Relation.Binary.Lattice.Structures.html#4039" class="Bound Operator">_∨_</a> <a id="4043" class="Symbol">:</a> <a id="4045" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4049" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="4050" class="Symbol">)</a> <a id="4055" class="Comment">-- The join operation.</a>
|
||
<a id="4102" class="Symbol">(</a><a id="4103" href="Relation.Binary.Lattice.Structures.html#4103" class="Bound Operator">_∧_</a> <a id="4107" class="Symbol">:</a> <a id="4109" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4113" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="4114" class="Symbol">)</a> <a id="4119" class="Comment">-- The meet operation.</a>
|
||
<a id="4166" class="Symbol">(</a><a id="4167" href="Relation.Binary.Lattice.Structures.html#4167" class="Bound">⊤</a> <a id="4171" class="Symbol">:</a> <a id="4173" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="4174" class="Symbol">)</a> <a id="4183" class="Comment">-- The maximum.</a>
|
||
<a id="4223" class="Symbol">(</a><a id="4224" href="Relation.Binary.Lattice.Structures.html#4224" class="Bound">⊥</a> <a id="4228" class="Symbol">:</a> <a id="4230" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="4231" class="Symbol">)</a> <a id="4240" class="Comment">-- The minimum.</a>
|
||
<a id="4280" class="Symbol">:</a> <a id="4282" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4286" class="Symbol">(</a><a id="4287" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="4289" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="4291" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="4294" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="4296" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="4298" class="Symbol">)</a> <a id="4300" class="Keyword">where</a>
|
||
<a id="4308" class="Keyword">field</a>
|
||
<a id="IsBoundedLattice.isLattice"></a><a id="4318" href="Relation.Binary.Lattice.Structures.html#4318" class="Field">isLattice</a> <a id="4328" class="Symbol">:</a> <a id="4330" href="Relation.Binary.Lattice.Structures.html#2895" class="Record">IsLattice</a> <a id="4340" href="Relation.Binary.Lattice.Structures.html#4039" class="Bound Operator">_∨_</a> <a id="4344" href="Relation.Binary.Lattice.Structures.html#4103" class="Bound Operator">_∧_</a>
|
||
<a id="IsBoundedLattice.maximum"></a><a id="4352" href="Relation.Binary.Lattice.Structures.html#4352" class="Field">maximum</a> <a id="4362" class="Symbol">:</a> <a id="4364" href="Relation.Binary.Definitions.html#3514" class="Function">Maximum</a> <a id="4372" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="4376" href="Relation.Binary.Lattice.Structures.html#4167" class="Bound">⊤</a>
|
||
<a id="IsBoundedLattice.minimum"></a><a id="4382" href="Relation.Binary.Lattice.Structures.html#4382" class="Field">minimum</a> <a id="4392" class="Symbol">:</a> <a id="4394" href="Relation.Binary.Definitions.html#3663" class="Function">Minimum</a> <a id="4402" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="4406" href="Relation.Binary.Lattice.Structures.html#4224" class="Bound">⊥</a>
|
||
|
||
<a id="4411" class="Keyword">open</a> <a id="4416" href="Relation.Binary.Lattice.Structures.html#2895" class="Module">IsLattice</a> <a id="4426" href="Relation.Binary.Lattice.Structures.html#4318" class="Field">isLattice</a> <a id="4436" class="Keyword">public</a>
|
||
|
||
<a id="IsBoundedLattice.isBoundedJoinSemilattice"></a><a id="4446" href="Relation.Binary.Lattice.Structures.html#4446" class="Function">isBoundedJoinSemilattice</a> <a id="4471" class="Symbol">:</a> <a id="4473" href="Relation.Binary.Lattice.Structures.html#1505" class="Record">IsBoundedJoinSemilattice</a> <a id="4499" href="Relation.Binary.Lattice.Structures.html#4039" class="Bound Operator">_∨_</a> <a id="4503" href="Relation.Binary.Lattice.Structures.html#4224" class="Bound">⊥</a>
|
||
<a id="4507" href="Relation.Binary.Lattice.Structures.html#4446" class="Function">isBoundedJoinSemilattice</a> <a id="4532" class="Symbol">=</a> <a id="4534" class="Keyword">record</a>
|
||
<a id="4545" class="Symbol">{</a> <a id="4547" href="Relation.Binary.Lattice.Structures.html#1705" class="Field">isJoinSemilattice</a> <a id="4565" class="Symbol">=</a> <a id="4567" href="Relation.Binary.Lattice.Structures.html#3175" class="Function">isJoinSemilattice</a>
|
||
<a id="4589" class="Symbol">;</a> <a id="4591" href="Relation.Binary.Lattice.Structures.html#1751" class="Field">minimum</a> <a id="4609" class="Symbol">=</a> <a id="4611" href="Relation.Binary.Lattice.Structures.html#4382" class="Field">minimum</a>
|
||
<a id="4623" class="Symbol">}</a>
|
||
|
||
<a id="IsBoundedLattice.isBoundedMeetSemilattice"></a><a id="4628" href="Relation.Binary.Lattice.Structures.html#4628" class="Function">isBoundedMeetSemilattice</a> <a id="4653" class="Symbol">:</a> <a id="4655" href="Relation.Binary.Lattice.Structures.html#2470" class="Record">IsBoundedMeetSemilattice</a> <a id="4680" href="Relation.Binary.Lattice.Structures.html#4103" class="Bound Operator">_∧_</a> <a id="4684" href="Relation.Binary.Lattice.Structures.html#4167" class="Bound">⊤</a>
|
||
<a id="4688" href="Relation.Binary.Lattice.Structures.html#4628" class="Function">isBoundedMeetSemilattice</a> <a id="4713" class="Symbol">=</a> <a id="4715" class="Keyword">record</a>
|
||
<a id="4726" class="Symbol">{</a> <a id="4728" href="Relation.Binary.Lattice.Structures.html#2670" class="Field">isMeetSemilattice</a> <a id="4746" class="Symbol">=</a> <a id="4748" href="Relation.Binary.Lattice.Structures.html#3326" class="Function">isMeetSemilattice</a>
|
||
<a id="4770" class="Symbol">;</a> <a id="4772" href="Relation.Binary.Lattice.Structures.html#2716" class="Field">maximum</a> <a id="4790" class="Symbol">=</a> <a id="4792" href="Relation.Binary.Lattice.Structures.html#4352" class="Field">maximum</a>
|
||
<a id="4804" class="Symbol">}</a>
|
||
|
||
<a id="4807" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="4880" class="Comment">-- Heyting algebras (a bounded lattice with exponential operator)</a>
|
||
|
||
<a id="4947" class="Keyword">record</a> <a id="IsHeytingAlgebra"></a><a id="4954" href="Relation.Binary.Lattice.Structures.html#4954" class="Record">IsHeytingAlgebra</a> <a id="4971" class="Symbol">(</a><a id="4972" href="Relation.Binary.Lattice.Structures.html#4972" class="Bound Operator">_∨_</a> <a id="4976" class="Symbol">:</a> <a id="4978" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4982" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="4983" class="Symbol">)</a> <a id="4988" class="Comment">-- The join operation.</a>
|
||
<a id="5035" class="Symbol">(</a><a id="5036" href="Relation.Binary.Lattice.Structures.html#5036" class="Bound Operator">_∧_</a> <a id="5040" class="Symbol">:</a> <a id="5042" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5046" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="5047" class="Symbol">)</a> <a id="5052" class="Comment">-- The meet operation.</a>
|
||
<a id="5099" class="Symbol">(</a><a id="5100" href="Relation.Binary.Lattice.Structures.html#5100" class="Bound Operator">_⇨_</a> <a id="5104" class="Symbol">:</a> <a id="5106" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5110" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="5111" class="Symbol">)</a> <a id="5116" class="Comment">-- The exponential operation.</a>
|
||
<a id="5170" class="Symbol">(</a><a id="5171" href="Relation.Binary.Lattice.Structures.html#5171" class="Bound">⊤</a> <a id="5175" class="Symbol">:</a> <a id="5177" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="5178" class="Symbol">)</a> <a id="5187" class="Comment">-- The maximum.</a>
|
||
<a id="5227" class="Symbol">(</a><a id="5228" href="Relation.Binary.Lattice.Structures.html#5228" class="Bound">⊥</a> <a id="5232" class="Symbol">:</a> <a id="5234" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="5235" class="Symbol">)</a> <a id="5244" class="Comment">-- The minimum.</a>
|
||
<a id="5284" class="Symbol">:</a> <a id="5286" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5290" class="Symbol">(</a><a id="5291" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="5293" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="5295" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="5298" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="5300" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="5302" class="Symbol">)</a> <a id="5304" class="Keyword">where</a>
|
||
<a id="5312" class="Keyword">field</a>
|
||
<a id="IsHeytingAlgebra.isBoundedLattice"></a><a id="5322" href="Relation.Binary.Lattice.Structures.html#5322" class="Field">isBoundedLattice</a> <a id="5339" class="Symbol">:</a> <a id="5341" href="Relation.Binary.Lattice.Structures.html#4021" class="Record">IsBoundedLattice</a> <a id="5358" href="Relation.Binary.Lattice.Structures.html#4972" class="Bound Operator">_∨_</a> <a id="5362" href="Relation.Binary.Lattice.Structures.html#5036" class="Bound Operator">_∧_</a> <a id="5366" href="Relation.Binary.Lattice.Structures.html#5171" class="Bound">⊤</a> <a id="5368" href="Relation.Binary.Lattice.Structures.html#5228" class="Bound">⊥</a>
|
||
<a id="IsHeytingAlgebra.exponential"></a><a id="5374" href="Relation.Binary.Lattice.Structures.html#5374" class="Field">exponential</a> <a id="5391" class="Symbol">:</a> <a id="5393" href="Relation.Binary.Lattice.Definitions.html#959" class="Function">Exponential</a> <a id="5405" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">_≤_</a> <a id="5409" href="Relation.Binary.Lattice.Structures.html#5036" class="Bound Operator">_∧_</a> <a id="5413" href="Relation.Binary.Lattice.Structures.html#5100" class="Bound Operator">_⇨_</a>
|
||
|
||
<a id="IsHeytingAlgebra.transpose-⇨"></a><a id="5420" href="Relation.Binary.Lattice.Structures.html#5420" class="Function">transpose-⇨</a> <a id="5432" class="Symbol">:</a> <a id="5434" class="Symbol">∀</a> <a id="5436" class="Symbol">{</a><a id="5437" href="Relation.Binary.Lattice.Structures.html#5437" class="Bound">w</a> <a id="5439" href="Relation.Binary.Lattice.Structures.html#5439" class="Bound">x</a> <a id="5441" href="Relation.Binary.Lattice.Structures.html#5441" class="Bound">y</a><a id="5442" class="Symbol">}</a> <a id="5444" class="Symbol">→</a> <a id="5446" class="Symbol">(</a><a id="5447" href="Relation.Binary.Lattice.Structures.html#5437" class="Bound">w</a> <a id="5449" href="Relation.Binary.Lattice.Structures.html#5036" class="Bound Operator">∧</a> <a id="5451" href="Relation.Binary.Lattice.Structures.html#5439" class="Bound">x</a><a id="5452" class="Symbol">)</a> <a id="5454" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="5456" href="Relation.Binary.Lattice.Structures.html#5441" class="Bound">y</a> <a id="5458" class="Symbol">→</a> <a id="5460" href="Relation.Binary.Lattice.Structures.html#5437" class="Bound">w</a> <a id="5462" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="5464" class="Symbol">(</a><a id="5465" href="Relation.Binary.Lattice.Structures.html#5439" class="Bound">x</a> <a id="5467" href="Relation.Binary.Lattice.Structures.html#5100" class="Bound Operator">⇨</a> <a id="5469" href="Relation.Binary.Lattice.Structures.html#5441" class="Bound">y</a><a id="5470" class="Symbol">)</a>
|
||
<a id="5474" href="Relation.Binary.Lattice.Structures.html#5420" class="Function">transpose-⇨</a> <a id="5486" class="Symbol">{</a><a id="5487" href="Relation.Binary.Lattice.Structures.html#5487" class="Bound">w</a><a id="5488" class="Symbol">}</a> <a id="5490" class="Symbol">{</a><a id="5491" href="Relation.Binary.Lattice.Structures.html#5491" class="Bound">x</a><a id="5492" class="Symbol">}</a> <a id="5494" class="Symbol">{</a><a id="5495" href="Relation.Binary.Lattice.Structures.html#5495" class="Bound">y</a><a id="5496" class="Symbol">}</a> <a id="5498" class="Symbol">=</a> <a id="5500" class="Keyword">let</a> <a id="5504" href="Relation.Binary.Lattice.Structures.html#5504" class="Bound">pf</a> <a id="5507" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5509" class="Symbol">_</a> <a id="5511" class="Symbol">=</a> <a id="5513" href="Relation.Binary.Lattice.Structures.html#5374" class="Field">exponential</a> <a id="5525" href="Relation.Binary.Lattice.Structures.html#5487" class="Bound">w</a> <a id="5527" href="Relation.Binary.Lattice.Structures.html#5491" class="Bound">x</a> <a id="5529" href="Relation.Binary.Lattice.Structures.html#5495" class="Bound">y</a> <a id="5531" class="Keyword">in</a> <a id="5534" href="Relation.Binary.Lattice.Structures.html#5504" class="Bound">pf</a>
|
||
|
||
<a id="IsHeytingAlgebra.transpose-∧"></a><a id="5540" href="Relation.Binary.Lattice.Structures.html#5540" class="Function">transpose-∧</a> <a id="5552" class="Symbol">:</a> <a id="5554" class="Symbol">∀</a> <a id="5556" class="Symbol">{</a><a id="5557" href="Relation.Binary.Lattice.Structures.html#5557" class="Bound">w</a> <a id="5559" href="Relation.Binary.Lattice.Structures.html#5559" class="Bound">x</a> <a id="5561" href="Relation.Binary.Lattice.Structures.html#5561" class="Bound">y</a><a id="5562" class="Symbol">}</a> <a id="5564" class="Symbol">→</a> <a id="5566" href="Relation.Binary.Lattice.Structures.html#5557" class="Bound">w</a> <a id="5568" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="5570" class="Symbol">(</a><a id="5571" href="Relation.Binary.Lattice.Structures.html#5559" class="Bound">x</a> <a id="5573" href="Relation.Binary.Lattice.Structures.html#5100" class="Bound Operator">⇨</a> <a id="5575" href="Relation.Binary.Lattice.Structures.html#5561" class="Bound">y</a><a id="5576" class="Symbol">)</a> <a id="5578" class="Symbol">→</a> <a id="5580" class="Symbol">(</a><a id="5581" href="Relation.Binary.Lattice.Structures.html#5557" class="Bound">w</a> <a id="5583" href="Relation.Binary.Lattice.Structures.html#5036" class="Bound Operator">∧</a> <a id="5585" href="Relation.Binary.Lattice.Structures.html#5559" class="Bound">x</a><a id="5586" class="Symbol">)</a> <a id="5588" href="Relation.Binary.Lattice.Structures.html#639" class="Bound Operator">≤</a> <a id="5590" href="Relation.Binary.Lattice.Structures.html#5561" class="Bound">y</a>
|
||
<a id="5594" href="Relation.Binary.Lattice.Structures.html#5540" class="Function">transpose-∧</a> <a id="5606" class="Symbol">{</a><a id="5607" href="Relation.Binary.Lattice.Structures.html#5607" class="Bound">w</a><a id="5608" class="Symbol">}</a> <a id="5610" class="Symbol">{</a><a id="5611" href="Relation.Binary.Lattice.Structures.html#5611" class="Bound">x</a><a id="5612" class="Symbol">}</a> <a id="5614" class="Symbol">{</a><a id="5615" href="Relation.Binary.Lattice.Structures.html#5615" class="Bound">y</a><a id="5616" class="Symbol">}</a> <a id="5618" class="Symbol">=</a> <a id="5620" class="Keyword">let</a> <a id="5624" class="Symbol">_</a> <a id="5626" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5628" href="Relation.Binary.Lattice.Structures.html#5628" class="Bound">pf</a> <a id="5631" class="Symbol">=</a> <a id="5633" href="Relation.Binary.Lattice.Structures.html#5374" class="Field">exponential</a> <a id="5645" href="Relation.Binary.Lattice.Structures.html#5607" class="Bound">w</a> <a id="5647" href="Relation.Binary.Lattice.Structures.html#5611" class="Bound">x</a> <a id="5649" href="Relation.Binary.Lattice.Structures.html#5615" class="Bound">y</a> <a id="5651" class="Keyword">in</a> <a id="5654" href="Relation.Binary.Lattice.Structures.html#5628" class="Bound">pf</a>
|
||
|
||
<a id="5660" class="Keyword">open</a> <a id="5665" href="Relation.Binary.Lattice.Structures.html#4021" class="Module">IsBoundedLattice</a> <a id="5682" href="Relation.Binary.Lattice.Structures.html#5322" class="Field">isBoundedLattice</a> <a id="5699" class="Keyword">public</a>
|
||
|
||
<a id="5707" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="5780" class="Comment">-- Boolean algebras (a specialized Heyting algebra)</a>
|
||
|
||
<a id="5833" class="Keyword">record</a> <a id="IsBooleanAlgebra"></a><a id="5840" href="Relation.Binary.Lattice.Structures.html#5840" class="Record">IsBooleanAlgebra</a> <a id="5857" class="Symbol">(</a><a id="5858" href="Relation.Binary.Lattice.Structures.html#5858" class="Bound Operator">_∨_</a> <a id="5862" class="Symbol">:</a> <a id="5864" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5868" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="5869" class="Symbol">)</a> <a id="5874" class="Comment">-- The join operation.</a>
|
||
<a id="5921" class="Symbol">(</a><a id="5922" href="Relation.Binary.Lattice.Structures.html#5922" class="Bound Operator">_∧_</a> <a id="5926" class="Symbol">:</a> <a id="5928" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5932" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="5933" class="Symbol">)</a> <a id="5938" class="Comment">-- The meet operation.</a>
|
||
<a id="5985" class="Symbol">(</a><a id="5986" href="Relation.Binary.Lattice.Structures.html#5986" class="Bound Operator">¬_</a> <a id="5989" class="Symbol">:</a> <a id="5991" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="5995" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="5996" class="Symbol">)</a> <a id="6002" class="Comment">-- The negation operation.</a>
|
||
<a id="6053" class="Symbol">(</a><a id="6054" href="Relation.Binary.Lattice.Structures.html#6054" class="Bound">⊤</a> <a id="6058" class="Symbol">:</a> <a id="6060" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="6061" class="Symbol">)</a> <a id="6070" class="Comment">-- The maximum.</a>
|
||
<a id="6110" class="Symbol">(</a><a id="6111" href="Relation.Binary.Lattice.Structures.html#6111" class="Bound">⊥</a> <a id="6115" class="Symbol">:</a> <a id="6117" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a><a id="6118" class="Symbol">)</a> <a id="6127" class="Comment">-- The minimum.</a>
|
||
<a id="6167" class="Symbol">:</a> <a id="6169" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="6173" class="Symbol">(</a><a id="6174" href="Relation.Binary.Lattice.Structures.html#570" class="Bound">a</a> <a id="6176" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6178" href="Relation.Binary.Lattice.Structures.html#572" class="Bound">ℓ₁</a> <a id="6181" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6183" href="Relation.Binary.Lattice.Structures.html#575" class="Bound">ℓ₂</a><a id="6185" class="Symbol">)</a> <a id="6187" class="Keyword">where</a>
|
||
<a id="6195" class="Keyword">infixr</a> <a id="6202" class="Number">5</a> <a id="6204" href="Relation.Binary.Lattice.Structures.html#6210" class="Function Operator">_⇨_</a>
|
||
<a id="IsBooleanAlgebra._⇨_"></a><a id="6210" href="Relation.Binary.Lattice.Structures.html#6210" class="Function Operator">_⇨_</a> <a id="6214" class="Symbol">:</a> <a id="6216" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="6220" href="Relation.Binary.Lattice.Structures.html#580" class="Bound">A</a>
|
||
<a id="6224" href="Relation.Binary.Lattice.Structures.html#6224" class="Bound">x</a> <a id="6226" href="Relation.Binary.Lattice.Structures.html#6210" class="Function Operator">⇨</a> <a id="6228" href="Relation.Binary.Lattice.Structures.html#6228" class="Bound">y</a> <a id="6230" class="Symbol">=</a> <a id="6232" class="Symbol">(</a><a id="6233" href="Relation.Binary.Lattice.Structures.html#5986" class="Bound Operator">¬</a> <a id="6235" href="Relation.Binary.Lattice.Structures.html#6224" class="Bound">x</a><a id="6236" class="Symbol">)</a> <a id="6238" href="Relation.Binary.Lattice.Structures.html#5858" class="Bound Operator">∨</a> <a id="6240" href="Relation.Binary.Lattice.Structures.html#6228" class="Bound">y</a>
|
||
|
||
<a id="6245" class="Keyword">field</a>
|
||
<a id="IsBooleanAlgebra.isHeytingAlgebra"></a><a id="6255" href="Relation.Binary.Lattice.Structures.html#6255" class="Field">isHeytingAlgebra</a> <a id="6272" class="Symbol">:</a> <a id="6274" href="Relation.Binary.Lattice.Structures.html#4954" class="Record">IsHeytingAlgebra</a> <a id="6291" href="Relation.Binary.Lattice.Structures.html#5858" class="Bound Operator">_∨_</a> <a id="6295" href="Relation.Binary.Lattice.Structures.html#5922" class="Bound Operator">_∧_</a> <a id="6299" href="Relation.Binary.Lattice.Structures.html#6210" class="Function Operator">_⇨_</a> <a id="6303" href="Relation.Binary.Lattice.Structures.html#6054" class="Bound">⊤</a> <a id="6305" href="Relation.Binary.Lattice.Structures.html#6111" class="Bound">⊥</a>
|
||
|
||
<a id="6310" class="Keyword">open</a> <a id="6315" href="Relation.Binary.Lattice.Structures.html#4954" class="Module">IsHeytingAlgebra</a> <a id="6332" href="Relation.Binary.Lattice.Structures.html#6255" class="Field">isHeytingAlgebra</a> <a id="6349" class="Keyword">public</a>
|
||
</pre></body></html> |