bsc-leon-vatthauer/public/Algebra.Properties.DistributiveLattice.html

132 lines
No EOL
37 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>Algebra.Properties.DistributiveLattice</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
<a id="74" class="Comment">-- The Agda standard library</a>
<a id="103" class="Comment">--</a>
<a id="106" class="Comment">-- Some derivable properties</a>
<a id="135" class="Comment">------------------------------------------------------------------------</a>
<a id="209" class="Symbol">{-#</a> <a id="213" class="Keyword">OPTIONS</a> <a id="221" class="Pragma">--cubical-compatible</a> <a id="242" class="Pragma">--safe</a> <a id="249" class="Symbol">#-}</a>
<a id="254" class="Comment">-- Disabled to prevent warnings from deprecated names</a>
<a id="308" class="Symbol">{-#</a> <a id="312" class="Keyword">OPTIONS</a> <a id="320" class="Pragma">--warn=noUserWarning</a> <a id="341" class="Symbol">#-}</a>
<a id="346" class="Keyword">open</a> <a id="351" class="Keyword">import</a> <a id="358" href="Algebra.Bundles.html" class="Module">Algebra.Bundles</a>
<a id="375" class="Keyword">module</a> <a id="382" href="Algebra.Properties.DistributiveLattice.html" class="Module">Algebra.Properties.DistributiveLattice</a>
<a id="423" class="Symbol">{</a><a id="424" href="Algebra.Properties.DistributiveLattice.html#424" class="Bound">dl₁</a> <a id="428" href="Algebra.Properties.DistributiveLattice.html#428" class="Bound">dl₂</a><a id="431" class="Symbol">}</a> <a id="433" class="Symbol">(</a><a id="434" href="Algebra.Properties.DistributiveLattice.html#434" class="Bound">DL</a> <a id="437" class="Symbol">:</a> <a id="439" href="Algebra.Bundles.html#9746" class="Record">DistributiveLattice</a> <a id="459" href="Algebra.Properties.DistributiveLattice.html#424" class="Bound">dl₁</a> <a id="463" href="Algebra.Properties.DistributiveLattice.html#428" class="Bound">dl₂</a><a id="466" class="Symbol">)</a>
<a id="470" class="Keyword">where</a>
<a id="477" class="Keyword">open</a> <a id="482" href="Algebra.Bundles.html#9746" class="Module">DistributiveLattice</a> <a id="502" href="Algebra.Properties.DistributiveLattice.html#434" class="Bound">DL</a>
<a id="505" class="Keyword">import</a> <a id="512" href="Algebra.Properties.Lattice.html" class="Module">Algebra.Properties.Lattice</a> <a id="539" class="Symbol">as</a> <a id="542" class="Module">LatticeProperties</a>
<a id="560" class="Keyword">open</a> <a id="565" class="Keyword">import</a> <a id="572" href="Algebra.Structures.html" class="Module">Algebra.Structures</a>
<a id="591" class="Keyword">open</a> <a id="596" class="Keyword">import</a> <a id="603" href="Algebra.Definitions.html" class="Module">Algebra.Definitions</a> <a id="623" href="Algebra.Bundles.html#9887" class="Field Operator">_≈_</a>
<a id="627" class="Keyword">open</a> <a id="632" class="Keyword">import</a> <a id="639" href="Relation.Binary.html" class="Module">Relation.Binary</a>
<a id="655" class="Keyword">open</a> <a id="660" class="Keyword">import</a> <a id="667" href="Relation.Binary.Reasoning.Setoid.html" class="Module">Relation.Binary.Reasoning.Setoid</a> <a id="700" href="Algebra.Bundles.html#9620" class="Function">setoid</a>
<a id="707" class="Keyword">open</a> <a id="712" class="Keyword">import</a> <a id="719" href="Function.Base.html" class="Module">Function.Base</a>
<a id="733" class="Keyword">open</a> <a id="738" class="Keyword">import</a> <a id="745" href="Function.Equality.html" class="Module">Function.Equality</a> <a id="763" class="Keyword">using</a> <a id="769" class="Symbol">(</a><a id="770" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a><a id="775" class="Symbol">)</a>
<a id="777" class="Keyword">open</a> <a id="782" class="Keyword">import</a> <a id="789" href="Function.Equivalence.html" class="Module">Function.Equivalence</a> <a id="810" class="Keyword">using</a> <a id="816" class="Symbol">(</a><a id="817" href="Function.Equivalence.html#1213" class="Function Operator">_⇔_</a><a id="820" class="Symbol">;</a> <a id="822" class="Keyword">module</a> <a id="829" href="Function.Equivalence.html#838" class="Module">Equivalence</a><a id="840" class="Symbol">)</a>
<a id="842" class="Keyword">open</a> <a id="847" class="Keyword">import</a> <a id="854" href="Data.Product.html" class="Module">Data.Product</a> <a id="867" class="Keyword">using</a> <a id="873" class="Symbol">(</a><a id="874" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="877" class="Symbol">)</a>
<a id="880" class="Comment">------------------------------------------------------------------------</a>
<a id="953" class="Comment">-- Export properties of lattices</a>
<a id="987" class="Keyword">open</a> <a id="992" href="Algebra.Properties.Lattice.html" class="Module">LatticeProperties</a> <a id="1010" href="Algebra.Bundles.html#10129" class="Function">lattice</a> <a id="1018" class="Keyword">public</a>
<a id="1027" class="Keyword">hiding</a> <a id="1034" class="Symbol">(</a><a id="1035" href="Algebra.Properties.Lattice.html#5804" class="Function">replace-equality</a><a id="1051" class="Symbol">)</a>
<a id="1054" class="Comment">------------------------------------------------------------------------</a>
<a id="1127" class="Comment">-- Other properties</a>
<a id="-distribˡ-∧"></a><a id="1148" href="Algebra.Properties.DistributiveLattice.html#1148" class="Function">-distribˡ-∧</a> <a id="1161" class="Symbol">:</a> <a id="1163" href="Algebra.Bundles.html#9929" class="Field Operator">__</a> <a id="1167" href="Algebra.Definitions.html#2236" class="Function Operator">DistributesOverˡ</a> <a id="1184" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a>
<a id="1188" href="Algebra.Properties.DistributiveLattice.html#1148" class="Function">-distribˡ-∧</a> <a id="1201" href="Algebra.Properties.DistributiveLattice.html#1201" class="Bound">x</a> <a id="1203" href="Algebra.Properties.DistributiveLattice.html#1203" class="Bound">y</a> <a id="1205" href="Algebra.Properties.DistributiveLattice.html#1205" class="Bound">z</a> <a id="1207" class="Symbol">=</a> <a id="1209" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="1217" href="Algebra.Properties.DistributiveLattice.html#1201" class="Bound">x</a> <a id="1219" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1221" href="Algebra.Properties.DistributiveLattice.html#1203" class="Bound">y</a> <a id="1223" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1225" href="Algebra.Properties.DistributiveLattice.html#1205" class="Bound">z</a> <a id="1236" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1239" href="Algebra.Structures.html#6224" class="Function">-comm</a> <a id="1246" class="Symbol">_</a> <a id="1248" class="Symbol">_</a> <a id="1250" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1254" href="Algebra.Properties.DistributiveLattice.html#1203" class="Bound">y</a> <a id="1256" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1258" href="Algebra.Properties.DistributiveLattice.html#1205" class="Bound">z</a> <a id="1260" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1262" href="Algebra.Properties.DistributiveLattice.html#1201" class="Bound">x</a> <a id="1273" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1276" href="Algebra.Structures.html#6980" class="Function">-distribʳ-∧</a> <a id="1289" class="Symbol">_</a> <a id="1291" class="Symbol">_</a> <a id="1293" class="Symbol">_</a> <a id="1295" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1299" class="Symbol">(</a><a id="1300" href="Algebra.Properties.DistributiveLattice.html#1203" class="Bound">y</a> <a id="1302" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1304" href="Algebra.Properties.DistributiveLattice.html#1201" class="Bound">x</a><a id="1305" class="Symbol">)</a> <a id="1307" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1309" class="Symbol">(</a><a id="1310" href="Algebra.Properties.DistributiveLattice.html#1205" class="Bound">z</a> <a id="1312" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1314" href="Algebra.Properties.DistributiveLattice.html#1201" class="Bound">x</a><a id="1315" class="Symbol">)</a> <a id="1318" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1321" href="Algebra.Structures.html#6224" class="Function">-comm</a> <a id="1328" class="Symbol">_</a> <a id="1330" class="Symbol">_</a> <a id="1332" href="Function.Base.html#4407" class="Function Operator"></a> <a id="1334" href="Algebra.Structures.html#6393" class="Function">∧-cong</a> <a id="1341" href="Function.Base.html#4407" class="Function Operator"></a> <a id="1343" href="Algebra.Structures.html#6224" class="Function">-comm</a> <a id="1350" class="Symbol">_</a> <a id="1352" class="Symbol">_</a> <a id="1354" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1358" class="Symbol">(</a><a id="1359" href="Algebra.Properties.DistributiveLattice.html#1201" class="Bound">x</a> <a id="1361" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1363" href="Algebra.Properties.DistributiveLattice.html#1203" class="Bound">y</a><a id="1364" class="Symbol">)</a> <a id="1366" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1368" class="Symbol">(</a><a id="1369" href="Algebra.Properties.DistributiveLattice.html#1201" class="Bound">x</a> <a id="1371" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1373" href="Algebra.Properties.DistributiveLattice.html#1205" class="Bound">z</a><a id="1374" class="Symbol">)</a> <a id="1377" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="-distrib-∧"></a><a id="1380" href="Algebra.Properties.DistributiveLattice.html#1380" class="Function">-distrib-∧</a> <a id="1392" class="Symbol">:</a> <a id="1394" href="Algebra.Bundles.html#9929" class="Field Operator">__</a> <a id="1398" href="Algebra.Definitions.html#2474" class="Function Operator">DistributesOver</a> <a id="1414" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a>
<a id="1418" href="Algebra.Properties.DistributiveLattice.html#1380" class="Function">-distrib-∧</a> <a id="1430" class="Symbol">=</a> <a id="1432" href="Algebra.Properties.DistributiveLattice.html#1148" class="Function">-distribˡ-∧</a> <a id="1445" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="1447" href="Algebra.Structures.html#6980" class="Function">-distribʳ-∧</a>
<a id="∧-distribˡ-"></a><a id="1461" href="Algebra.Properties.DistributiveLattice.html#1461" class="Function">∧-distribˡ-</a> <a id="1474" class="Symbol">:</a> <a id="1476" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a> <a id="1480" href="Algebra.Definitions.html#2236" class="Function Operator">DistributesOverˡ</a> <a id="1497" href="Algebra.Bundles.html#9929" class="Field Operator">__</a>
<a id="1501" href="Algebra.Properties.DistributiveLattice.html#1461" class="Function">∧-distribˡ-</a> <a id="1514" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1516" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1518" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a> <a id="1520" class="Symbol">=</a> <a id="1522" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="1530" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1532" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1534" class="Symbol">(</a><a id="1535" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1537" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1539" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a><a id="1540" class="Symbol">)</a> <a id="1557" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1560" href="Algebra.Structures.html#6688" class="Function">∧-congʳ</a> <a id="1568" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1570" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="1574" class="Symbol">(</a><a id="1575" href="Algebra.Structures.html#6565" class="Function">∧-absorbs-</a> <a id="1587" class="Symbol">_</a> <a id="1589" class="Symbol">_)</a> <a id="1592" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1596" class="Symbol">(</a><a id="1597" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1599" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1601" class="Symbol">(</a><a id="1602" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1604" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1606" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a><a id="1607" class="Symbol">))</a> <a id="1610" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1612" class="Symbol">(</a><a id="1613" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1615" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1617" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a><a id="1618" class="Symbol">)</a> <a id="1623" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1626" href="Algebra.Structures.html#6688" class="Function">∧-congʳ</a> <a id="1634" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1636" href="Algebra.Structures.html#6627" class="Function">∧-congˡ</a> <a id="1644" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1646" href="Algebra.Structures.html#6224" class="Function">-comm</a> <a id="1653" class="Symbol">_</a> <a id="1655" class="Symbol">_</a> <a id="1657" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1661" class="Symbol">(</a><a id="1662" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1664" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1666" class="Symbol">(</a><a id="1667" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1669" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1671" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a><a id="1672" class="Symbol">))</a> <a id="1675" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1677" class="Symbol">(</a><a id="1678" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1680" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1682" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a><a id="1683" class="Symbol">)</a> <a id="1688" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1691" href="Algebra.Structures.html#6359" class="Function">∧-assoc</a> <a id="1699" class="Symbol">_</a> <a id="1701" class="Symbol">_</a> <a id="1703" class="Symbol">_</a> <a id="1705" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1709" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1711" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1713" class="Symbol">((</a><a id="1715" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1717" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1719" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a><a id="1720" class="Symbol">)</a> <a id="1722" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1724" class="Symbol">(</a><a id="1725" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1727" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1729" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a><a id="1730" class="Symbol">))</a> <a id="1736" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1739" href="Algebra.Structures.html#6627" class="Function">∧-congˡ</a> <a id="1747" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1749" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="1753" class="Symbol">(</a><a id="1754" href="Algebra.Properties.DistributiveLattice.html#1148" class="Function">-distribˡ-∧</a> <a id="1767" class="Symbol">_</a> <a id="1769" class="Symbol">_</a> <a id="1771" class="Symbol">_)</a> <a id="1774" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1778" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1780" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1782" class="Symbol">(</a><a id="1783" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1785" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1787" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1789" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1791" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a><a id="1792" class="Symbol">)</a> <a id="1805" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1808" href="Algebra.Structures.html#6688" class="Function">∧-congʳ</a> <a id="1816" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1818" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="1822" class="Symbol">(</a><a id="1823" href="Algebra.Structures.html#6503" class="Function">-absorbs-∧</a> <a id="1835" class="Symbol">_</a> <a id="1837" class="Symbol">_)</a> <a id="1840" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1844" class="Symbol">(</a><a id="1845" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1847" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1849" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1851" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1853" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a><a id="1854" class="Symbol">)</a> <a id="1856" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1858" class="Symbol">(</a><a id="1859" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1861" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1863" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1865" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1867" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a><a id="1868" class="Symbol">)</a> <a id="1871" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1874" href="Relation.Binary.Structures.html#1603" class="Function">sym</a> <a id="1878" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1880" href="Algebra.Structures.html#6980" class="Function">-distribʳ-∧</a> <a id="1893" class="Symbol">_</a> <a id="1895" class="Symbol">_</a> <a id="1897" class="Symbol">_</a> <a id="1899" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1903" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1905" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1907" href="Algebra.Properties.DistributiveLattice.html#1516" class="Bound">y</a> <a id="1909" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="1911" href="Algebra.Properties.DistributiveLattice.html#1514" class="Bound">x</a> <a id="1913" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="1915" href="Algebra.Properties.DistributiveLattice.html#1518" class="Bound">z</a> <a id="1930" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="∧-distribʳ-"></a><a id="1933" href="Algebra.Properties.DistributiveLattice.html#1933" class="Function">∧-distribʳ-</a> <a id="1946" class="Symbol">:</a> <a id="1948" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a> <a id="1952" href="Algebra.Definitions.html#2355" class="Function Operator">DistributesOverʳ</a> <a id="1969" href="Algebra.Bundles.html#9929" class="Field Operator">__</a>
<a id="1973" href="Algebra.Properties.DistributiveLattice.html#1933" class="Function">∧-distribʳ-</a> <a id="1986" href="Algebra.Properties.DistributiveLattice.html#1986" class="Bound">x</a> <a id="1988" href="Algebra.Properties.DistributiveLattice.html#1988" class="Bound">y</a> <a id="1990" href="Algebra.Properties.DistributiveLattice.html#1990" class="Bound">z</a> <a id="1992" class="Symbol">=</a> <a id="1994" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2002" class="Symbol">(</a><a id="2003" href="Algebra.Properties.DistributiveLattice.html#1988" class="Bound">y</a> <a id="2005" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="2007" href="Algebra.Properties.DistributiveLattice.html#1990" class="Bound">z</a><a id="2008" class="Symbol">)</a> <a id="2010" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="2012" href="Algebra.Properties.DistributiveLattice.html#1986" class="Bound">x</a> <a id="2017" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2020" href="Algebra.Structures.html#6325" class="Function">∧-comm</a> <a id="2027" class="Symbol">_</a> <a id="2029" class="Symbol">_</a> <a id="2031" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2035" href="Algebra.Properties.DistributiveLattice.html#1986" class="Bound">x</a> <a id="2037" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="2039" class="Symbol">(</a><a id="2040" href="Algebra.Properties.DistributiveLattice.html#1988" class="Bound">y</a> <a id="2042" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="2044" href="Algebra.Properties.DistributiveLattice.html#1990" class="Bound">z</a><a id="2045" class="Symbol">)</a> <a id="2050" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2053" href="Algebra.Properties.DistributiveLattice.html#1461" class="Function">∧-distribˡ-</a> <a id="2066" class="Symbol">_</a> <a id="2068" class="Symbol">_</a> <a id="2070" class="Symbol">_</a> <a id="2072" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2076" href="Algebra.Properties.DistributiveLattice.html#1986" class="Bound">x</a> <a id="2078" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="2080" href="Algebra.Properties.DistributiveLattice.html#1988" class="Bound">y</a> <a id="2082" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="2084" href="Algebra.Properties.DistributiveLattice.html#1986" class="Bound">x</a> <a id="2086" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="2088" href="Algebra.Properties.DistributiveLattice.html#1990" class="Bound">z</a> <a id="2091" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2094" href="Algebra.Structures.html#6325" class="Function">∧-comm</a> <a id="2101" class="Symbol">_</a> <a id="2103" class="Symbol">_</a> <a id="2105" href="Function.Base.html#4407" class="Function Operator"></a> <a id="2107" href="Algebra.Structures.html#6292" class="Function">-cong</a> <a id="2114" href="Function.Base.html#4407" class="Function Operator"></a> <a id="2116" href="Algebra.Structures.html#6325" class="Function">∧-comm</a> <a id="2123" class="Symbol">_</a> <a id="2125" class="Symbol">_</a> <a id="2127" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2131" href="Algebra.Properties.DistributiveLattice.html#1988" class="Bound">y</a> <a id="2133" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="2135" href="Algebra.Properties.DistributiveLattice.html#1986" class="Bound">x</a> <a id="2137" href="Algebra.Bundles.html#9929" class="Field Operator"></a> <a id="2139" href="Algebra.Properties.DistributiveLattice.html#1990" class="Bound">z</a> <a id="2141" href="Algebra.Bundles.html#9969" class="Field Operator"></a> <a id="2143" href="Algebra.Properties.DistributiveLattice.html#1986" class="Bound">x</a> <a id="2146" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="∧-distrib-"></a><a id="2149" href="Algebra.Properties.DistributiveLattice.html#2149" class="Function">∧-distrib-</a> <a id="2161" class="Symbol">:</a> <a id="2163" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a> <a id="2167" href="Algebra.Definitions.html#2474" class="Function Operator">DistributesOver</a> <a id="2183" href="Algebra.Bundles.html#9929" class="Field Operator">__</a>
<a id="2187" href="Algebra.Properties.DistributiveLattice.html#2149" class="Function">∧-distrib-</a> <a id="2199" class="Symbol">=</a> <a id="2201" href="Algebra.Properties.DistributiveLattice.html#1461" class="Function">∧-distribˡ-</a> <a id="2214" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="2216" href="Algebra.Properties.DistributiveLattice.html#1933" class="Function">∧-distribʳ-</a>
<a id="2230" class="Comment">-- The dual construction is also a distributive lattice.</a>
<a id="∧--isDistributiveLattice"></a><a id="2288" href="Algebra.Properties.DistributiveLattice.html#2288" class="Function">∧--isDistributiveLattice</a> <a id="2314" class="Symbol">:</a> <a id="2316" href="Algebra.Structures.html#6879" class="Record">IsDistributiveLattice</a> <a id="2338" href="Algebra.Bundles.html#9887" class="Field Operator">_≈_</a> <a id="2342" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a> <a id="2346" href="Algebra.Bundles.html#9929" class="Field Operator">__</a>
<a id="2350" href="Algebra.Properties.DistributiveLattice.html#2288" class="Function">∧--isDistributiveLattice</a> <a id="2376" class="Symbol">=</a> <a id="2378" class="Keyword">record</a>
<a id="2387" class="Symbol">{</a> <a id="2389" href="Algebra.Structures.html#6947" class="Field">isLattice</a> <a id="2402" class="Symbol">=</a> <a id="2404" href="Algebra.Properties.Lattice.html#3030" class="Function">∧--isLattice</a>
<a id="2420" class="Symbol">;</a> <a id="2422" href="Algebra.Structures.html#6980" class="Field">-distribʳ-∧</a> <a id="2435" class="Symbol">=</a> <a id="2437" href="Algebra.Properties.DistributiveLattice.html#1933" class="Function">∧-distribʳ-</a>
<a id="2452" class="Symbol">}</a>
<a id="∧--distributiveLattice"></a><a id="2455" href="Algebra.Properties.DistributiveLattice.html#2455" class="Function">∧--distributiveLattice</a> <a id="2479" class="Symbol">:</a> <a id="2481" href="Algebra.Bundles.html#9746" class="Record">DistributiveLattice</a> <a id="2501" class="Symbol">_</a> <a id="2503" class="Symbol">_</a>
<a id="2505" href="Algebra.Properties.DistributiveLattice.html#2455" class="Function">∧--distributiveLattice</a> <a id="2529" class="Symbol">=</a> <a id="2531" class="Keyword">record</a>
<a id="2540" class="Symbol">{</a> <a id="2542" href="Algebra.Bundles.html#10009" class="Field">isDistributiveLattice</a> <a id="2564" class="Symbol">=</a> <a id="2566" href="Algebra.Properties.DistributiveLattice.html#2288" class="Function">∧--isDistributiveLattice</a>
<a id="2594" class="Symbol">}</a>
<a id="2597" class="Comment">------------------------------------------------------------------------</a>
<a id="2670" class="Comment">-- DEPRECATED NAMES</a>
<a id="2690" class="Comment">------------------------------------------------------------------------</a>
<a id="2763" class="Comment">-- Please use the new names as continuing support for the old names is</a>
<a id="2834" class="Comment">-- not guaranteed.</a>
<a id="2854" class="Comment">-- Version 1.1</a>
<a id="-∧-distribˡ"></a><a id="2870" href="Algebra.Properties.DistributiveLattice.html#2870" class="Function">-∧-distribˡ</a> <a id="2883" class="Symbol">=</a> <a id="2885" href="Algebra.Properties.DistributiveLattice.html#1148" class="Function">-distribˡ-∧</a>
<a id="2898" class="Symbol">{-#</a> <a id="2902" class="Keyword">WARNING_ON_USAGE</a> <a id="2919" class="Pragma">-∧-distribˡ</a>
<a id="2932" class="String">&quot;Warning: -∧-distribˡ was deprecated in v1.1.
Please use -distribˡ-∧ instead.&quot;</a>
<a id="3013" class="Symbol">#-}</a>
<a id="-∧-distrib"></a><a id="3017" href="Algebra.Properties.DistributiveLattice.html#3017" class="Function">-∧-distrib</a> <a id="3029" class="Symbol">=</a> <a id="3031" href="Algebra.Properties.DistributiveLattice.html#1380" class="Function">-distrib-∧</a>
<a id="3043" class="Symbol">{-#</a> <a id="3047" class="Keyword">WARNING_ON_USAGE</a> <a id="3064" class="Pragma">-∧-distrib</a>
<a id="3076" class="String">&quot;Warning: -∧-distrib was deprecated in v1.1.
Please use -distrib-∧ instead.&quot;</a>
<a id="3155" class="Symbol">#-}</a>
<a id="∧--distribˡ"></a><a id="3159" href="Algebra.Properties.DistributiveLattice.html#3159" class="Function">∧--distribˡ</a> <a id="3172" class="Symbol">=</a> <a id="3174" href="Algebra.Properties.DistributiveLattice.html#1461" class="Function">∧-distribˡ-</a>
<a id="3187" class="Symbol">{-#</a> <a id="3191" class="Keyword">WARNING_ON_USAGE</a> <a id="3208" class="Pragma">∧--distribˡ</a>
<a id="3221" class="String">&quot;Warning: ∧--distribˡ was deprecated in v1.1.
Please use ∧-distribˡ- instead.&quot;</a>
<a id="3302" class="Symbol">#-}</a>
<a id="∧--distribʳ"></a><a id="3306" href="Algebra.Properties.DistributiveLattice.html#3306" class="Function">∧--distribʳ</a> <a id="3319" class="Symbol">=</a> <a id="3321" href="Algebra.Properties.DistributiveLattice.html#1933" class="Function">∧-distribʳ-</a>
<a id="3334" class="Symbol">{-#</a> <a id="3338" class="Keyword">WARNING_ON_USAGE</a> <a id="3355" class="Pragma">∧--distribʳ</a>
<a id="3368" class="String">&quot;Warning: ∧--distribʳ was deprecated in v1.1.
Please use ∧-distribʳ- instead.&quot;</a>
<a id="3449" class="Symbol">#-}</a>
<a id="∧--distrib"></a><a id="3453" href="Algebra.Properties.DistributiveLattice.html#3453" class="Function">∧--distrib</a> <a id="3465" class="Symbol">=</a> <a id="3467" href="Algebra.Properties.DistributiveLattice.html#2149" class="Function">∧-distrib-</a>
<a id="3479" class="Symbol">{-#</a> <a id="3483" class="Keyword">WARNING_ON_USAGE</a> <a id="3500" class="Pragma">∧--distrib</a>
<a id="3512" class="String">&quot;Warning: ∧--distrib was deprecated in v1.1.
Please use ∧-distrib- instead.&quot;</a>
<a id="3591" class="Symbol">#-}</a>
<a id="3596" class="Comment">-- Version 1.4</a>
<a id="replace-equality"></a><a id="3612" href="Algebra.Properties.DistributiveLattice.html#3612" class="Function">replace-equality</a> <a id="3629" class="Symbol">:</a> <a id="3631" class="Symbol">{</a><a id="3632" href="Algebra.Properties.DistributiveLattice.html#3632" class="Bound Operator">_≈_</a> <a id="3637" class="Symbol">:</a> <a id="3639" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="3643" href="Algebra.Bundles.html#9853" class="Field">Carrier</a> <a id="3651" href="Algebra.Properties.DistributiveLattice.html#428" class="Bound">dl₂</a><a id="3654" class="Symbol">}</a> <a id="3656" class="Symbol"></a>
<a id="3677" class="Symbol">(∀</a> <a id="3680" class="Symbol">{</a><a id="3681" href="Algebra.Properties.DistributiveLattice.html#3681" class="Bound">x</a> <a id="3683" href="Algebra.Properties.DistributiveLattice.html#3683" class="Bound">y</a><a id="3684" class="Symbol">}</a> <a id="3686" class="Symbol"></a> <a id="3688" href="Algebra.Properties.DistributiveLattice.html#3681" class="Bound">x</a> <a id="3690" href="Algebra.Bundles.html#9887" class="Field Operator"></a> <a id="3692" href="Algebra.Properties.DistributiveLattice.html#3683" class="Bound">y</a> <a id="3694" href="Function.Equivalence.html#1213" class="Function Operator"></a> <a id="3696" class="Symbol">(</a><a id="3697" href="Algebra.Properties.DistributiveLattice.html#3681" class="Bound">x</a> <a id="3699" href="Algebra.Properties.DistributiveLattice.html#3632" class="Bound Operator">≈′</a> <a id="3702" href="Algebra.Properties.DistributiveLattice.html#3683" class="Bound">y</a><a id="3703" class="Symbol">))</a> <a id="3706" class="Symbol"></a>
<a id="3727" href="Algebra.Bundles.html#9746" class="Record">DistributiveLattice</a> <a id="3747" class="Symbol">_</a> <a id="3749" class="Symbol">_</a>
<a id="3751" href="Algebra.Properties.DistributiveLattice.html#3612" class="Function">replace-equality</a> <a id="3768" class="Symbol">{</a><a id="3769" href="Algebra.Properties.DistributiveLattice.html#3769" class="Bound Operator">_≈_</a><a id="3773" class="Symbol">}</a> <a id="3775" href="Algebra.Properties.DistributiveLattice.html#3775" class="Bound">≈⇔≈′</a> <a id="3780" class="Symbol">=</a> <a id="3782" class="Keyword">record</a>
<a id="3791" class="Symbol">{</a> <a id="3793" href="Algebra.Bundles.html#10009" class="Field">isDistributiveLattice</a> <a id="3815" class="Symbol">=</a> <a id="3817" class="Keyword">record</a>
<a id="3828" class="Symbol">{</a> <a id="3830" href="Algebra.Structures.html#6947" class="Field">isLattice</a> <a id="3843" class="Symbol">=</a> <a id="3845" href="Algebra.Bundles.html#9373" class="Field">Lattice.isLattice</a>
<a id="3886" class="Symbol">(</a><a id="3887" href="Algebra.Properties.Lattice.html#5804" class="Function">LatticeProperties.replace-equality</a> <a id="3922" href="Algebra.Bundles.html#10129" class="Function">lattice</a> <a id="3930" href="Algebra.Properties.DistributiveLattice.html#3775" class="Bound">≈⇔≈′</a><a id="3934" class="Symbol">)</a>
<a id="3940" class="Symbol">;</a> <a id="3942" href="Algebra.Structures.html#6980" class="Field">-distribʳ-∧</a> <a id="3955" class="Symbol">=</a> <a id="3957" class="Symbol">λ</a> <a id="3959" href="Algebra.Properties.DistributiveLattice.html#3959" class="Bound">x</a> <a id="3961" href="Algebra.Properties.DistributiveLattice.html#3961" class="Bound">y</a> <a id="3963" href="Algebra.Properties.DistributiveLattice.html#3963" class="Bound">z</a> <a id="3965" class="Symbol"></a> <a id="3967" href="Function.Equivalence.html#988" class="Function">to</a> <a id="3970" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="3974" href="Algebra.Structures.html#6980" class="Function">-distribʳ-∧</a> <a id="3987" href="Algebra.Properties.DistributiveLattice.html#3959" class="Bound">x</a> <a id="3989" href="Algebra.Properties.DistributiveLattice.html#3961" class="Bound">y</a> <a id="3991" href="Algebra.Properties.DistributiveLattice.html#3963" class="Bound">z</a>
<a id="3997" class="Symbol">}</a>
<a id="4001" class="Symbol">}</a> <a id="4003" class="Keyword">where</a> <a id="4009" class="Keyword">open</a> <a id="4014" class="Keyword">module</a> <a id="4021" href="Algebra.Properties.DistributiveLattice.html#4021" class="Module">E</a> <a id="4023" class="Symbol">{</a><a id="4024" href="Algebra.Properties.DistributiveLattice.html#4024" class="Bound">x</a> <a id="4026" href="Algebra.Properties.DistributiveLattice.html#4026" class="Bound">y</a><a id="4027" class="Symbol">}</a> <a id="4029" class="Symbol">=</a> <a id="4031" href="Function.Equivalence.html#838" class="Module">Equivalence</a> <a id="4043" class="Symbol">(</a><a id="4044" href="Algebra.Properties.DistributiveLattice.html#3775" class="Bound">≈⇔≈′</a> <a id="4049" class="Symbol">{</a><a id="4050" href="Algebra.Properties.DistributiveLattice.html#4024" class="Bound">x</a><a id="4051" class="Symbol">}</a> <a id="4053" class="Symbol">{</a><a id="4054" href="Algebra.Properties.DistributiveLattice.html#4026" class="Bound">y</a><a id="4055" class="Symbol">})</a>
<a id="4058" class="Symbol">{-#</a> <a id="4062" class="Keyword">WARNING_ON_USAGE</a> <a id="4079" class="Pragma">replace-equality</a>
<a id="4096" class="String">&quot;Warning: replace-equality was deprecated in v1.4.
Please use isDistributiveLattice from `Algebra.Construct.Subst.Equality` instead.&quot;</a>
<a id="4230" class="Symbol">#-}</a>
</pre></body></html>