bsc-leon-vatthauer/public/Algebra.Bundles.html

934 lines
194 KiB
HTML
Raw Normal View History

2023-08-19 16:11:22 +02:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Algebra.Bundles</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
<a id="74" class="Comment">-- The Agda standard library</a>
<a id="103" class="Comment">--</a>
<a id="106" class="Comment">-- Definitions of algebraic structures like monoids and rings</a>
<a id="168" class="Comment">-- (packed in records together with sets, operations, etc.)</a>
<a id="228" class="Comment">------------------------------------------------------------------------</a>
<a id="302" class="Comment">-- The contents of this module should be accessed via `Algebra`.</a>
<a id="368" class="Symbol">{-#</a> <a id="372" class="Keyword">OPTIONS</a> <a id="380" class="Pragma">--cubical-compatible</a> <a id="401" class="Pragma">--safe</a> <a id="408" class="Symbol">#-}</a>
<a id="413" class="Keyword">module</a> <a id="420" href="Algebra.Bundles.html" class="Module">Algebra.Bundles</a> <a id="436" class="Keyword">where</a>
<a id="443" class="Keyword">open</a> <a id="448" class="Keyword">import</a> <a id="455" href="Algebra.Core.html" class="Module">Algebra.Core</a>
<a id="468" class="Keyword">open</a> <a id="473" class="Keyword">import</a> <a id="480" href="Algebra.Structures.html" class="Module">Algebra.Structures</a>
<a id="499" class="Keyword">open</a> <a id="504" class="Keyword">import</a> <a id="511" href="Relation.Binary.html" class="Module">Relation.Binary</a>
<a id="527" class="Keyword">open</a> <a id="532" class="Keyword">import</a> <a id="539" href="Function.Base.html" class="Module">Function.Base</a>
<a id="553" class="Keyword">import</a> <a id="560" href="Relation.Nullary.html" class="Module">Relation.Nullary</a> <a id="577" class="Symbol">as</a> <a id="580" class="Module">N</a>
<a id="582" class="Keyword">open</a> <a id="587" class="Keyword">import</a> <a id="594" href="Level.html" class="Module">Level</a>
<a id="601" class="Comment">------------------------------------------------------------------------</a>
<a id="674" class="Comment">-- Bundles with 1 binary operation</a>
<a id="709" class="Comment">------------------------------------------------------------------------</a>
<a id="783" class="Keyword">record</a> <a id="RawMagma"></a><a id="790" href="Algebra.Bundles.html#790" class="Record">RawMagma</a> <a id="799" href="Algebra.Bundles.html#799" class="Bound">c</a> <a id="801" href="Algebra.Bundles.html#801" class="Bound"></a> <a id="803" class="Symbol">:</a> <a id="805" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="809" class="Symbol">(</a><a id="810" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="814" class="Symbol">(</a><a id="815" href="Algebra.Bundles.html#799" class="Bound">c</a> <a id="817" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="819" href="Algebra.Bundles.html#801" class="Bound"></a><a id="820" class="Symbol">))</a> <a id="823" class="Keyword">where</a>
<a id="831" class="Keyword">infixl</a> <a id="838" class="Number">7</a> <a id="840" href="Algebra.Bundles.html#919" class="Field Operator">_∙_</a>
<a id="846" class="Keyword">infix</a> <a id="853" class="Number">4</a> <a id="855" href="Algebra.Bundles.html#891" class="Field Operator">_≈_</a>
<a id="861" class="Keyword">field</a>
<a id="RawMagma.Carrier"></a><a id="871" href="Algebra.Bundles.html#871" class="Field">Carrier</a> <a id="879" class="Symbol">:</a> <a id="881" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="885" href="Algebra.Bundles.html#799" class="Bound">c</a>
<a id="RawMagma._≈_"></a><a id="891" href="Algebra.Bundles.html#891" class="Field Operator">_≈_</a> <a id="899" class="Symbol">:</a> <a id="901" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="905" href="Algebra.Bundles.html#871" class="Field">Carrier</a> <a id="913" href="Algebra.Bundles.html#801" class="Bound"></a>
<a id="RawMagma._∙_"></a><a id="919" href="Algebra.Bundles.html#919" class="Field Operator">_∙_</a> <a id="927" class="Symbol">:</a> <a id="929" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="933" href="Algebra.Bundles.html#871" class="Field">Carrier</a>
<a id="944" class="Keyword">infix</a> <a id="950" class="Number">4</a> <a id="952" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a>
<a id="RawMagma._≉_"></a><a id="958" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a> <a id="962" class="Symbol">:</a> <a id="964" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="968" href="Algebra.Bundles.html#871" class="Field">Carrier</a> <a id="976" class="Symbol">_</a>
<a id="980" href="Algebra.Bundles.html#980" class="Bound">x</a> <a id="982" href="Algebra.Bundles.html#958" class="Function Operator"></a> <a id="984" href="Algebra.Bundles.html#984" class="Bound">y</a> <a id="986" class="Symbol">=</a> <a id="988" href="Relation.Nullary.html#665" class="Function Operator">N.¬</a> <a id="992" class="Symbol">(</a><a id="993" href="Algebra.Bundles.html#980" class="Bound">x</a> <a id="995" href="Algebra.Bundles.html#891" class="Field Operator"></a> <a id="997" href="Algebra.Bundles.html#984" class="Bound">y</a><a id="998" class="Symbol">)</a>
<a id="1002" class="Keyword">record</a> <a id="Magma"></a><a id="1009" href="Algebra.Bundles.html#1009" class="Record">Magma</a> <a id="1015" href="Algebra.Bundles.html#1015" class="Bound">c</a> <a id="1017" href="Algebra.Bundles.html#1017" class="Bound"></a> <a id="1019" class="Symbol">:</a> <a id="1021" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1025" class="Symbol">(</a><a id="1026" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1030" class="Symbol">(</a><a id="1031" href="Algebra.Bundles.html#1015" class="Bound">c</a> <a id="1033" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1035" href="Algebra.Bundles.html#1017" class="Bound"></a><a id="1036" class="Symbol">))</a> <a id="1039" class="Keyword">where</a>
<a id="1047" class="Keyword">infixl</a> <a id="1054" class="Number">7</a> <a id="1056" href="Algebra.Bundles.html#1135" class="Field Operator">_∙_</a>
<a id="1062" class="Keyword">infix</a> <a id="1069" class="Number">4</a> <a id="1071" href="Algebra.Bundles.html#1107" class="Field Operator">_≈_</a>
<a id="1077" class="Keyword">field</a>
<a id="Magma.Carrier"></a><a id="1087" href="Algebra.Bundles.html#1087" class="Field">Carrier</a> <a id="1095" class="Symbol">:</a> <a id="1097" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1101" href="Algebra.Bundles.html#1015" class="Bound">c</a>
<a id="Magma._≈_"></a><a id="1107" href="Algebra.Bundles.html#1107" class="Field Operator">_≈_</a> <a id="1115" class="Symbol">:</a> <a id="1117" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1121" href="Algebra.Bundles.html#1087" class="Field">Carrier</a> <a id="1129" href="Algebra.Bundles.html#1017" class="Bound"></a>
<a id="Magma._∙_"></a><a id="1135" href="Algebra.Bundles.html#1135" class="Field Operator">_∙_</a> <a id="1143" class="Symbol">:</a> <a id="1145" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1149" href="Algebra.Bundles.html#1087" class="Field">Carrier</a>
<a id="Magma.isMagma"></a><a id="1161" href="Algebra.Bundles.html#1161" class="Field">isMagma</a> <a id="1169" class="Symbol">:</a> <a id="1171" href="Algebra.Structures.html#1129" class="Record">IsMagma</a> <a id="1179" href="Algebra.Bundles.html#1107" class="Field Operator">_≈_</a> <a id="1183" href="Algebra.Bundles.html#1135" class="Field Operator">_∙_</a>
<a id="1190" class="Keyword">open</a> <a id="1195" href="Algebra.Structures.html#1129" class="Module">IsMagma</a> <a id="1203" href="Algebra.Bundles.html#1161" class="Field">isMagma</a> <a id="1211" class="Keyword">public</a>
<a id="Magma.rawMagma"></a><a id="1221" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a> <a id="1230" class="Symbol">:</a> <a id="1232" href="Algebra.Bundles.html#790" class="Record">RawMagma</a> <a id="1241" class="Symbol">_</a> <a id="1243" class="Symbol">_</a>
<a id="1247" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a> <a id="1256" class="Symbol">=</a> <a id="1258" class="Keyword">record</a> <a id="1265" class="Symbol">{</a> <a id="1267" href="Algebra.Bundles.html#891" class="Field Operator">_≈_</a> <a id="1271" class="Symbol">=</a> <a id="1273" href="Algebra.Bundles.html#1107" class="Field Operator">_≈_</a><a id="1276" class="Symbol">;</a> <a id="1278" href="Algebra.Bundles.html#919" class="Field Operator">_∙_</a> <a id="1282" class="Symbol">=</a> <a id="1284" href="Algebra.Bundles.html#1135" class="Field Operator">_∙_</a> <a id="1288" class="Symbol">}</a>
<a id="1293" class="Keyword">open</a> <a id="1298" href="Algebra.Bundles.html#790" class="Module">RawMagma</a> <a id="1307" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a> <a id="1316" class="Keyword">public</a>
<a id="1327" class="Keyword">using</a> <a id="1333" class="Symbol">(</a><a id="1334" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="1337" class="Symbol">)</a>
<a id="1341" class="Keyword">record</a> <a id="SelectiveMagma"></a><a id="1348" href="Algebra.Bundles.html#1348" class="Record">SelectiveMagma</a> <a id="1363" href="Algebra.Bundles.html#1363" class="Bound">c</a> <a id="1365" href="Algebra.Bundles.html#1365" class="Bound"></a> <a id="1367" class="Symbol">:</a> <a id="1369" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1373" class="Symbol">(</a><a id="1374" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1378" class="Symbol">(</a><a id="1379" href="Algebra.Bundles.html#1363" class="Bound">c</a> <a id="1381" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1383" href="Algebra.Bundles.html#1365" class="Bound"></a><a id="1384" class="Symbol">))</a> <a id="1387" class="Keyword">where</a>
<a id="1395" class="Keyword">infixl</a> <a id="1402" class="Number">7</a> <a id="1404" href="Algebra.Bundles.html#1501" class="Field Operator">_∙_</a>
<a id="1410" class="Keyword">infix</a> <a id="1417" class="Number">4</a> <a id="1419" href="Algebra.Bundles.html#1464" class="Field Operator">_≈_</a>
<a id="1425" class="Keyword">field</a>
<a id="SelectiveMagma.Carrier"></a><a id="1435" href="Algebra.Bundles.html#1435" class="Field">Carrier</a> <a id="1452" class="Symbol">:</a> <a id="1454" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1458" href="Algebra.Bundles.html#1363" class="Bound">c</a>
<a id="SelectiveMagma._≈_"></a><a id="1464" href="Algebra.Bundles.html#1464" class="Field Operator">_≈_</a> <a id="1481" class="Symbol">:</a> <a id="1483" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1487" href="Algebra.Bundles.html#1435" class="Field">Carrier</a> <a id="1495" href="Algebra.Bundles.html#1365" class="Bound"></a>
<a id="SelectiveMagma._∙_"></a><a id="1501" href="Algebra.Bundles.html#1501" class="Field Operator">_∙_</a> <a id="1518" class="Symbol">:</a> <a id="1520" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1524" href="Algebra.Bundles.html#1435" class="Field">Carrier</a>
<a id="SelectiveMagma.isSelectiveMagma"></a><a id="1536" href="Algebra.Bundles.html#1536" class="Field">isSelectiveMagma</a> <a id="1553" class="Symbol">:</a> <a id="1555" href="Algebra.Structures.html#1649" class="Record">IsSelectiveMagma</a> <a id="1572" href="Algebra.Bundles.html#1464" class="Field Operator">_≈_</a> <a id="1576" href="Algebra.Bundles.html#1501" class="Field Operator">_∙_</a>
<a id="1583" class="Keyword">open</a> <a id="1588" href="Algebra.Structures.html#1649" class="Module">IsSelectiveMagma</a> <a id="1605" href="Algebra.Bundles.html#1536" class="Field">isSelectiveMagma</a> <a id="1622" class="Keyword">public</a>
<a id="SelectiveMagma.magma"></a><a id="1632" href="Algebra.Bundles.html#1632" class="Function">magma</a> <a id="1638" class="Symbol">:</a> <a id="1640" href="Algebra.Bundles.html#1009" class="Record">Magma</a> <a id="1646" href="Algebra.Bundles.html#1363" class="Bound">c</a> <a id="1648" href="Algebra.Bundles.html#1365" class="Bound"></a>
<a id="1652" href="Algebra.Bundles.html#1632" class="Function">magma</a> <a id="1658" class="Symbol">=</a> <a id="1660" class="Keyword">record</a> <a id="1667" class="Symbol">{</a> <a id="1669" href="Algebra.Bundles.html#1161" class="Field">isMagma</a> <a id="1677" class="Symbol">=</a> <a id="1679" href="Algebra.Structures.html#1710" class="Function">isMagma</a> <a id="1687" class="Symbol">}</a>
<a id="1692" class="Keyword">open</a> <a id="1697" href="Algebra.Bundles.html#1009" class="Module">Magma</a> <a id="1703" href="Algebra.Bundles.html#1632" class="Function">magma</a> <a id="1709" class="Keyword">public</a> <a id="1716" class="Keyword">using</a> <a id="1722" class="Symbol">(</a><a id="1723" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="1731" class="Symbol">)</a>
<a id="1735" class="Keyword">record</a> <a id="CommutativeMagma"></a><a id="1742" href="Algebra.Bundles.html#1742" class="Record">CommutativeMagma</a> <a id="1759" href="Algebra.Bundles.html#1759" class="Bound">c</a> <a id="1761" href="Algebra.Bundles.html#1761" class="Bound"></a> <a id="1763" class="Symbol">:</a> <a id="1765" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1769" class="Symbol">(</a><a id="1770" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1774" class="Symbol">(</a><a id="1775" href="Algebra.Bundles.html#1759" class="Bound">c</a> <a id="1777" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1779" href="Algebra.Bundles.html#1761" class="Bound"></a><a id="1780" class="Symbol">))</a> <a id="1783" class="Keyword">where</a>
<a id="1791" class="Keyword">infixl</a> <a id="1798" class="Number">7</a> <a id="1800" href="Algebra.Bundles.html#1901" class="Field Operator">_∙_</a>
<a id="1806" class="Keyword">infix</a> <a id="1813" class="Number">4</a> <a id="1815" href="Algebra.Bundles.html#1862" class="Field Operator">_≈_</a>
<a id="1821" class="Keyword">field</a>
<a id="CommutativeMagma.Carrier"></a><a id="1831" href="Algebra.Bundles.html#1831" class="Field">Carrier</a> <a id="1850" class="Symbol">:</a> <a id="1852" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1856" href="Algebra.Bundles.html#1759" class="Bound">c</a>
<a id="CommutativeMagma._≈_"></a><a id="1862" href="Algebra.Bundles.html#1862" class="Field Operator">_≈_</a> <a id="1881" class="Symbol">:</a> <a id="1883" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1887" href="Algebra.Bundles.html#1831" class="Field">Carrier</a> <a id="1895" href="Algebra.Bundles.html#1761" class="Bound"></a>
<a id="CommutativeMagma._∙_"></a><a id="1901" href="Algebra.Bundles.html#1901" class="Field Operator">_∙_</a> <a id="1920" class="Symbol">:</a> <a id="1922" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1926" href="Algebra.Bundles.html#1831" class="Field">Carrier</a>
<a id="CommutativeMagma.isCommutativeMagma"></a><a id="1938" href="Algebra.Bundles.html#1938" class="Field">isCommutativeMagma</a> <a id="1957" class="Symbol">:</a> <a id="1959" href="Algebra.Structures.html#1498" class="Record">IsCommutativeMagma</a> <a id="1978" href="Algebra.Bundles.html#1862" class="Field Operator">_≈_</a> <a id="1982" href="Algebra.Bundles.html#1901" class="Field Operator">_∙_</a>
<a id="1989" class="Keyword">open</a> <a id="1994" href="Algebra.Structures.html#1498" class="Module">IsCommutativeMagma</a> <a id="2013" href="Algebra.Bundles.html#1938" class="Field">isCommutativeMagma</a> <a id="2032" class="Keyword">public</a>
<a id="CommutativeMagma.magma"></a><a id="2042" href="Algebra.Bundles.html#2042" class="Function">magma</a> <a id="2048" class="Symbol">:</a> <a id="2050" href="Algebra.Bundles.html#1009" class="Record">Magma</a> <a id="2056" href="Algebra.Bundles.html#1759" class="Bound">c</a> <a id="2058" href="Algebra.Bundles.html#1761" class="Bound"></a>
<a id="2062" href="Algebra.Bundles.html#2042" class="Function">magma</a> <a id="2068" class="Symbol">=</a> <a id="2070" class="Keyword">record</a> <a id="2077" class="Symbol">{</a> <a id="2079" href="Algebra.Bundles.html#1161" class="Field">isMagma</a> <a id="2087" class="Symbol">=</a> <a id="2089" href="Algebra.Structures.html#1561" class="Function">isMagma</a> <a id="2097" class="Symbol">}</a>
<a id="2102" class="Keyword">open</a> <a id="2107" href="Algebra.Bundles.html#1009" class="Module">Magma</a> <a id="2113" href="Algebra.Bundles.html#2042" class="Function">magma</a> <a id="2119" class="Keyword">public</a> <a id="2126" class="Keyword">using</a> <a id="2132" class="Symbol">(</a><a id="2133" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="2141" class="Symbol">)</a>
<a id="2145" class="Keyword">record</a> <a id="Semigroup"></a><a id="2152" href="Algebra.Bundles.html#2152" class="Record">Semigroup</a> <a id="2162" href="Algebra.Bundles.html#2162" class="Bound">c</a> <a id="2164" href="Algebra.Bundles.html#2164" class="Bound"></a> <a id="2166" class="Symbol">:</a> <a id="2168" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2172" class="Symbol">(</a><a id="2173" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="2177" class="Symbol">(</a><a id="2178" href="Algebra.Bundles.html#2162" class="Bound">c</a> <a id="2180" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="2182" href="Algebra.Bundles.html#2164" class="Bound"></a><a id="2183" class="Symbol">))</a> <a id="2186" class="Keyword">where</a>
<a id="2194" class="Keyword">infixl</a> <a id="2201" class="Number">7</a> <a id="2203" href="Algebra.Bundles.html#2290" class="Field Operator">_∙_</a>
<a id="2209" class="Keyword">infix</a> <a id="2216" class="Number">4</a> <a id="2218" href="Algebra.Bundles.html#2258" class="Field Operator">_≈_</a>
<a id="2224" class="Keyword">field</a>
<a id="Semigroup.Carrier"></a><a id="2234" href="Algebra.Bundles.html#2234" class="Field">Carrier</a> <a id="2246" class="Symbol">:</a> <a id="2248" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2252" href="Algebra.Bundles.html#2162" class="Bound">c</a>
<a id="Semigroup._≈_"></a><a id="2258" href="Algebra.Bundles.html#2258" class="Field Operator">_≈_</a> <a id="2270" class="Symbol">:</a> <a id="2272" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2276" href="Algebra.Bundles.html#2234" class="Field">Carrier</a> <a id="2284" href="Algebra.Bundles.html#2164" class="Bound"></a>
<a id="Semigroup._∙_"></a><a id="2290" href="Algebra.Bundles.html#2290" class="Field Operator">_∙_</a> <a id="2302" class="Symbol">:</a> <a id="2304" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2308" href="Algebra.Bundles.html#2234" class="Field">Carrier</a>
<a id="Semigroup.isSemigroup"></a><a id="2320" href="Algebra.Bundles.html#2320" class="Field">isSemigroup</a> <a id="2332" class="Symbol">:</a> <a id="2334" href="Algebra.Structures.html#1796" class="Record">IsSemigroup</a> <a id="2346" href="Algebra.Bundles.html#2258" class="Field Operator">_≈_</a> <a id="2350" href="Algebra.Bundles.html#2290" class="Field Operator">_∙_</a>
<a id="2357" class="Keyword">open</a> <a id="2362" href="Algebra.Structures.html#1796" class="Module">IsSemigroup</a> <a id="2374" href="Algebra.Bundles.html#2320" class="Field">isSemigroup</a> <a id="2386" class="Keyword">public</a>
<a id="Semigroup.magma"></a><a id="2396" href="Algebra.Bundles.html#2396" class="Function">magma</a> <a id="2402" class="Symbol">:</a> <a id="2404" href="Algebra.Bundles.html#1009" class="Record">Magma</a> <a id="2410" href="Algebra.Bundles.html#2162" class="Bound">c</a> <a id="2412" href="Algebra.Bundles.html#2164" class="Bound"></a>
<a id="2416" href="Algebra.Bundles.html#2396" class="Function">magma</a> <a id="2422" class="Symbol">=</a> <a id="2424" class="Keyword">record</a> <a id="2431" class="Symbol">{</a> <a id="2433" href="Algebra.Bundles.html#1161" class="Field">isMagma</a> <a id="2441" class="Symbol">=</a> <a id="2443" href="Algebra.Structures.html#1852" class="Function">isMagma</a> <a id="2451" class="Symbol">}</a>
<a id="2456" class="Keyword">open</a> <a id="2461" href="Algebra.Bundles.html#1009" class="Module">Magma</a> <a id="2467" href="Algebra.Bundles.html#2396" class="Function">magma</a> <a id="2473" class="Keyword">public</a>
<a id="2484" class="Keyword">using</a> <a id="2490" class="Symbol">(</a><a id="2491" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="2494" class="Symbol">;</a> <a id="2496" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="2504" class="Symbol">)</a>
<a id="2508" class="Keyword">record</a> <a id="Band"></a><a id="2515" href="Algebra.Bundles.html#2515" class="Record">Band</a> <a id="2520" href="Algebra.Bundles.html#2520" class="Bound">c</a> <a id="2522" href="Algebra.Bundles.html#2522" class="Bound"></a> <a id="2524" class="Symbol">:</a> <a id="2526" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2530" class="Symbol">(</a><a id="2531" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="2535" class="Symbol">(</a><a id="2536" href="Algebra.Bundles.html#2520" class="Bound">c</a> <a id="2538" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="2540" href="Algebra.Bundles.html#2522" class="Bound"></a><a id="2541" class="Symbol">))</a> <a id="2544" class="Keyword">where</a>
<a id="2552" class="Keyword">infixl</a> <a id="2559" class="Number">7</a> <a id="2561" href="Algebra.Bundles.html#2640" class="Field Operator">_∙_</a>
<a id="2567" class="Keyword">infix</a> <a id="2574" class="Number">4</a> <a id="2576" href="Algebra.Bundles.html#2612" class="Field Operator">_≈_</a>
<a id="2582" class="Keyword">field</a>
<a id="Band.Carrier"></a><a id="2592" href="Algebra.Bundles.html#2592" class="Field">Carrier</a> <a id="2600" class="Symbol">:</a> <a id="2602" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2606" href="Algebra.Bundles.html#2520" class="Bound">c</a>
<a id="Band._≈_"></a><a id="2612" href="Algebra.Bundles.html#2612" class="Field Operator">_≈_</a> <a id="2620" class="Symbol">:</a> <a id="2622" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2626" href="Algebra.Bundles.html#2592" class="Field">Carrier</a> <a id="2634" href="Algebra.Bundles.html#2522" class="Bound"></a>
<a id="Band._∙_"></a><a id="2640" href="Algebra.Bundles.html#2640" class="Field Operator">_∙_</a> <a id="2648" class="Symbol">:</a> <a id="2650" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2654" href="Algebra.Bundles.html#2592" class="Field">Carrier</a>
<a id="Band.isBand"></a><a id="2666" href="Algebra.Bundles.html#2666" class="Field">isBand</a> <a id="2674" class="Symbol">:</a> <a id="2676" href="Algebra.Structures.html#1940" class="Record">IsBand</a> <a id="2683" href="Algebra.Bundles.html#2612" class="Field Operator">_≈_</a> <a id="2687" href="Algebra.Bundles.html#2640" class="Field Operator">_∙_</a>
<a id="2694" class="Keyword">open</a> <a id="2699" href="Algebra.Structures.html#1940" class="Module">IsBand</a> <a id="2706" href="Algebra.Bundles.html#2666" class="Field">isBand</a> <a id="2713" class="Keyword">public</a>
<a id="Band.semigroup"></a><a id="2723" href="Algebra.Bundles.html#2723" class="Function">semigroup</a> <a id="2733" class="Symbol">:</a> <a id="2735" href="Algebra.Bundles.html#2152" class="Record">Semigroup</a> <a id="2745" href="Algebra.Bundles.html#2520" class="Bound">c</a> <a id="2747" href="Algebra.Bundles.html#2522" class="Bound"></a>
<a id="2751" href="Algebra.Bundles.html#2723" class="Function">semigroup</a> <a id="2761" class="Symbol">=</a> <a id="2763" class="Keyword">record</a> <a id="2770" class="Symbol">{</a> <a id="2772" href="Algebra.Bundles.html#2320" class="Field">isSemigroup</a> <a id="2784" class="Symbol">=</a> <a id="2786" href="Algebra.Structures.html#1991" class="Function">isSemigroup</a> <a id="2798" class="Symbol">}</a>
<a id="2803" class="Keyword">open</a> <a id="2808" href="Algebra.Bundles.html#2152" class="Module">Semigroup</a> <a id="2818" href="Algebra.Bundles.html#2723" class="Function">semigroup</a> <a id="2828" class="Keyword">public</a>
<a id="2839" class="Keyword">using</a> <a id="2845" class="Symbol">(</a><a id="2846" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="2849" class="Symbol">;</a> <a id="2851" href="Algebra.Bundles.html#2396" class="Function">magma</a><a id="2856" class="Symbol">;</a> <a id="2858" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="2866" class="Symbol">)</a>
<a id="2870" class="Keyword">record</a> <a id="CommutativeSemigroup"></a><a id="2877" href="Algebra.Bundles.html#2877" class="Record">CommutativeSemigroup</a> <a id="2898" href="Algebra.Bundles.html#2898" class="Bound">c</a> <a id="2900" href="Algebra.Bundles.html#2900" class="Bound"></a> <a id="2902" class="Symbol">:</a> <a id="2904" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2908" class="Symbol">(</a><a id="2909" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="2913" class="Symbol">(</a><a id="2914" href="Algebra.Bundles.html#2898" class="Bound">c</a> <a id="2916" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="2918" href="Algebra.Bundles.html#2900" class="Bound"></a><a id="2919" class="Symbol">))</a> <a id="2922" class="Keyword">where</a>
<a id="2930" class="Keyword">infixl</a> <a id="2937" class="Number">7</a> <a id="2939" href="Algebra.Bundles.html#3050" class="Field Operator">_∙_</a>
<a id="2945" class="Keyword">infix</a> <a id="2952" class="Number">4</a> <a id="2954" href="Algebra.Bundles.html#3006" class="Field Operator">_≈_</a>
<a id="2960" class="Keyword">field</a>
<a id="CommutativeSemigroup.Carrier"></a><a id="2970" href="Algebra.Bundles.html#2970" class="Field">Carrier</a> <a id="2994" class="Symbol">:</a> <a id="2996" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="3000" href="Algebra.Bundles.html#2898" class="Bound">c</a>
<a id="CommutativeSemigroup._≈_"></a><a id="3006" href="Algebra.Bundles.html#3006" class="Field Operator">_≈_</a> <a id="3030" class="Symbol">:</a> <a id="3032" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="3036" href="Algebra.Bundles.html#2970" class="Field">Carrier</a> <a id="3044" href="Algebra.Bundles.html#2900" class="Bound"></a>
<a id="CommutativeSemigroup._∙_"></a><a id="3050" href="Algebra.Bundles.html#3050" class="Field Operator">_∙_</a> <a id="3074" class="Symbol">:</a> <a id="3076" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3080" href="Algebra.Bundles.html#2970" class="Field">Carrier</a>
<a id="CommutativeSemigroup.isCommutativeSemigroup"></a><a id="3092" href="Algebra.Bundles.html#3092" class="Field">isCommutativeSemigroup</a> <a id="3116" class="Symbol">:</a> <a id="3118" href="Algebra.Structures.html#2098" class="Record">IsCommutativeSemigroup</a> <a id="3141" href="Algebra.Bundles.html#3006" class="Field Operator">_≈_</a> <a id="3145" href="Algebra.Bundles.html#3050" class="Field Operator">_∙_</a>
<a id="3152" class="Keyword">open</a> <a id="3157" href="Algebra.Structures.html#2098" class="Module">IsCommutativeSemigroup</a> <a id="3180" href="Algebra.Bundles.html#3092" class="Field">isCommutativeSemigroup</a> <a id="3203" class="Keyword">public</a>
<a id="CommutativeSemigroup.semigroup"></a><a id="3213" href="Algebra.Bundles.html#3213" class="Function">semigroup</a> <a id="3223" class="Symbol">:</a> <a id="3225" href="Algebra.Bundles.html#2152" class="Record">Semigroup</a> <a id="3235" href="Algebra.Bundles.html#2898" class="Bound">c</a> <a id="3237" href="Algebra.Bundles.html#2900" class="Bound"></a>
<a id="3241" href="Algebra.Bundles.html#3213" class="Function">semigroup</a> <a id="3251" class="Symbol">=</a> <a id="3253" class="Keyword">record</a> <a id="3260" class="Symbol">{</a> <a id="3262" href="Algebra.Bundles.html#2320" class="Field">isSemigroup</a> <a id="3274" class="Symbol">=</a> <a id="3276" href="Algebra.Structures.html#2165" class="Function">isSemigroup</a> <a id="3288" class="Symbol">}</a>
<a id="3293" class="Keyword">open</a> <a id="3298" href="Algebra.Bundles.html#2152" class="Module">Semigroup</a> <a id="3308" href="Algebra.Bundles.html#3213" class="Function">semigroup</a> <a id="3318" class="Keyword">public</a>
<a id="3329" class="Keyword">using</a> <a id="3335" class="Symbol">(</a><a id="3336" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="3339" class="Symbol">;</a> <a id="3341" href="Algebra.Bundles.html#2396" class="Function">magma</a><a id="3346" class="Symbol">;</a> <a id="3348" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="3356" class="Symbol">)</a>
<a id="CommutativeSemigroup.commutativeMagma"></a><a id="3361" href="Algebra.Bundles.html#3361" class="Function">commutativeMagma</a> <a id="3378" class="Symbol">:</a> <a id="3380" href="Algebra.Bundles.html#1742" class="Record">CommutativeMagma</a> <a id="3397" href="Algebra.Bundles.html#2898" class="Bound">c</a> <a id="3399" href="Algebra.Bundles.html#2900" class="Bound"></a>
<a id="3403" href="Algebra.Bundles.html#3361" class="Function">commutativeMagma</a> <a id="3420" class="Symbol">=</a> <a id="3422" class="Keyword">record</a> <a id="3429" class="Symbol">{</a> <a id="3431" href="Algebra.Bundles.html#1938" class="Field">isCommutativeMagma</a> <a id="3450" class="Symbol">=</a> <a id="3452" href="Algebra.Structures.html#2267" class="Function">isCommutativeMagma</a> <a id="3471" class="Symbol">}</a>
<a id="3475" class="Keyword">record</a> <a id="Semilattice"></a><a id="3482" href="Algebra.Bundles.html#3482" class="Record">Semilattice</a> <a id="3494" href="Algebra.Bundles.html#3494" class="Bound">c</a> <a id="3496" href="Algebra.Bundles.html#3496" class="Bound"></a> <a id="3498" class="Symbol">:</a> <a id="3500" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="3504" class="Symbol">(</a><a id="3505" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="3509" class="Symbol">(</a><a id="3510" href="Algebra.Bundles.html#3494" class="Bound">c</a> <a id="3512" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="3514" href="Algebra.Bundles.html#3496" class="Bound"></a><a id="3515" class="Symbol">))</a> <a id="3518" class="Keyword">where</a>
<a id="3526" class="Keyword">infixr</a> <a id="3533" class="Number">7</a> <a id="3535" href="Algebra.Bundles.html#3626" class="Field Operator">_∧_</a>
<a id="3541" class="Keyword">infix</a> <a id="3548" class="Number">4</a> <a id="3550" href="Algebra.Bundles.html#3592" class="Field Operator">_≈_</a>
<a id="3556" class="Keyword">field</a>
<a id="Semilattice.Carrier"></a><a id="3566" href="Algebra.Bundles.html#3566" class="Field">Carrier</a> <a id="3580" class="Symbol">:</a> <a id="3582" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="3586" href="Algebra.Bundles.html#3494" class="Bound">c</a>
<a id="Semilattice._≈_"></a><a id="3592" href="Algebra.Bundles.html#3592" class="Field Operator">_≈_</a> <a id="3606" class="Symbol">:</a> <a id="3608" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="3612" href="Algebra.Bundles.html#3566" class="Field">Carrier</a> <a id="3620" href="Algebra.Bundles.html#3496" class="Bound"></a>
<a id="Semilattice._∧_"></a><a id="3626" href="Algebra.Bundles.html#3626" class="Field Operator">_∧_</a> <a id="3640" class="Symbol">:</a> <a id="3642" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3646" href="Algebra.Bundles.html#3566" class="Field">Carrier</a>
<a id="Semilattice.isSemilattice"></a><a id="3658" href="Algebra.Bundles.html#3658" class="Field">isSemilattice</a> <a id="3672" class="Symbol">:</a> <a id="3674" href="Algebra.Structures.html#2399" class="Record">IsSemilattice</a> <a id="3688" href="Algebra.Bundles.html#3592" class="Field Operator">_≈_</a> <a id="3692" href="Algebra.Bundles.html#3626" class="Field Operator">_∧_</a>
<a id="3699" class="Keyword">open</a> <a id="3704" href="Algebra.Structures.html#2399" class="Module">IsSemilattice</a> <a id="3718" href="Algebra.Bundles.html#3658" class="Field">isSemilattice</a> <a id="3732" class="Keyword">public</a>
<a id="Semilattice.band"></a><a id="3742" href="Algebra.Bundles.html#3742" class="Function">band</a> <a id="3747" class="Symbol">:</a> <a id="3749" href="Algebra.Bundles.html#2515" class="Record">Band</a> <a id="3754" href="Algebra.Bundles.html#3494" class="Bound">c</a> <a id="3756" href="Algebra.Bundles.html#3496" class="Bound"></a>
<a id="3760" href="Algebra.Bundles.html#3742" class="Function">band</a> <a id="3765" class="Symbol">=</a> <a id="3767" class="Keyword">record</a> <a id="3774" class="Symbol">{</a> <a id="3776" href="Algebra.Bundles.html#2666" class="Field">isBand</a> <a id="3783" class="Symbol">=</a> <a id="3785" href="Algebra.Structures.html#2457" class="Function">isBand</a> <a id="3792" class="Symbol">}</a>
<a id="3797" class="Keyword">open</a> <a id="3802" href="Algebra.Bundles.html#2515" class="Module">Band</a> <a id="3807" href="Algebra.Bundles.html#3742" class="Function">band</a> <a id="3812" class="Keyword">public</a>
<a id="3823" class="Keyword">using</a> <a id="3829" class="Symbol">(</a><a id="3830" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="3833" class="Symbol">;</a> <a id="3835" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="3843" class="Symbol">;</a> <a id="3845" href="Algebra.Bundles.html#2396" class="Function">magma</a><a id="3850" class="Symbol">;</a> <a id="3852" href="Algebra.Bundles.html#2723" class="Function">semigroup</a><a id="3861" class="Symbol">)</a>
<a id="3865" class="Comment">------------------------------------------------------------------------</a>
<a id="3938" class="Comment">-- Bundles with 1 binary operation &amp; 1 element</a>
<a id="3985" class="Comment">------------------------------------------------------------------------</a>
<a id="4059" class="Comment">-- A raw monoid is a monoid without any laws.</a>
<a id="4106" class="Keyword">record</a> <a id="RawMonoid"></a><a id="4113" href="Algebra.Bundles.html#4113" class="Record">RawMonoid</a> <a id="4123" href="Algebra.Bundles.html#4123" class="Bound">c</a> <a id="4125" href="Algebra.Bundles.html#4125" class="Bound"></a> <a id="4127" class="Symbol">:</a> <a id="4129" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="4133" class="Symbol">(</a><a id="4134" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="4138" class="Symbol">(</a><a id="4139" href="Algebra.Bundles.html#4123" class="Bound">c</a> <a id="4141" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="4143" href="Algebra.Bundles.html#4125" class="Bound"></a><a id="4144" class="Symbol">))</a> <a id="4147" class="Keyword">where</a>
<a id="4155" class="Keyword">infixl</a> <a id="4162" class="Number">7</a> <a id="4164" href="Algebra.Bundles.html#4243" class="Field Operator">_∙_</a>
<a id="4170" class="Keyword">infix</a> <a id="4177" class="Number">4</a> <a id="4179" href="Algebra.Bundles.html#4215" class="Field Operator">_≈_</a>
<a id="4185" class="Keyword">field</a>
<a id="RawMonoid.Carrier"></a><a id="4195" href="Algebra.Bundles.html#4195" class="Field">Carrier</a> <a id="4203" class="Symbol">:</a> <a id="4205" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="4209" href="Algebra.Bundles.html#4123" class="Bound">c</a>
<a id="RawMonoid._≈_"></a><a id="4215" href="Algebra.Bundles.html#4215" class="Field Operator">_≈_</a> <a id="4223" class="Symbol">:</a> <a id="4225" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="4229" href="Algebra.Bundles.html#4195" class="Field">Carrier</a> <a id="4237" href="Algebra.Bundles.html#4125" class="Bound"></a>
<a id="RawMonoid._∙_"></a><a id="4243" href="Algebra.Bundles.html#4243" class="Field Operator">_∙_</a> <a id="4251" class="Symbol">:</a> <a id="4253" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4257" href="Algebra.Bundles.html#4195" class="Field">Carrier</a>
<a id="RawMonoid.ε"></a><a id="4269" href="Algebra.Bundles.html#4269" class="Field">ε</a> <a id="4277" class="Symbol">:</a> <a id="4279" href="Algebra.Bundles.html#4195" class="Field">Carrier</a>
<a id="RawMonoid.rawMagma"></a><a id="4290" href="Algebra.Bundles.html#4290" class="Function">rawMagma</a> <a id="4299" class="Symbol">:</a> <a id="4301" href="Algebra.Bundles.html#790" class="Record">RawMagma</a> <a id="4310" href="Algebra.Bundles.html#4123" class="Bound">c</a> <a id="4312" href="Algebra.Bundles.html#4125" class="Bound"></a>
<a id="4316" href="Algebra.Bundles.html#4290" class="Function">rawMagma</a> <a id="4325" class="Symbol">=</a> <a id="4327" class="Keyword">record</a>
<a id="4338" class="Symbol">{</a> <a id="4340" href="Algebra.Bundles.html#891" class="Field Operator">_≈_</a> <a id="4344" class="Symbol">=</a> <a id="4346" href="Algebra.Bundles.html#4215" class="Field Operator">_≈_</a>
<a id="4354" class="Symbol">;</a> <a id="4356" href="Algebra.Bundles.html#919" class="Field Operator">_∙_</a> <a id="4360" class="Symbol">=</a> <a id="4362" href="Algebra.Bundles.html#4243" class="Field Operator">_∙_</a>
<a id="4370" class="Symbol">}</a>
<a id="4375" class="Keyword">open</a> <a id="4380" href="Algebra.Bundles.html#790" class="Module">RawMagma</a> <a id="4389" href="Algebra.Bundles.html#4290" class="Function">rawMagma</a> <a id="4398" class="Keyword">public</a>
<a id="4409" class="Keyword">using</a> <a id="4415" class="Symbol">(</a><a id="4416" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="4419" class="Symbol">)</a>
<a id="4423" class="Keyword">record</a> <a id="Monoid"></a><a id="4430" href="Algebra.Bundles.html#4430" class="Record">Monoid</a> <a id="4437" href="Algebra.Bundles.html#4437" class="Bound">c</a> <a id="4439" href="Algebra.Bundles.html#4439" class="Bound"></a> <a id="4441" class="Symbol">:</a> <a id="4443" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="4447" class="Symbol">(</a><a id="4448" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="4452" class="Symbol">(</a><a id="4453" href="Algebra.Bundles.html#4437" class="Bound">c</a> <a id="4455" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="4457" href="Algebra.Bundles.html#4439" class="Bound"></a><a id="4458" class="Symbol">))</a> <a id="4461" class="Keyword">where</a>
<a id="4469" class="Keyword">infixl</a> <a id="4476" class="Number">7</a> <a id="4478" href="Algebra.Bundles.html#4559" class="Field Operator">_∙_</a>
<a id="4484" class="Keyword">infix</a> <a id="4491" class="Number">4</a> <a id="4493" href="Algebra.Bundles.html#4530" class="Field Operator">_≈_</a>
<a id="4499" class="Keyword">field</a>
<a id="Monoid.Carrier"></a><a id="4509" href="Algebra.Bundles.html#4509" class="Field">Carrier</a> <a id="4518" class="Symbol">:</a> <a id="4520" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="4524" href="Algebra.Bundles.html#4437" class="Bound">c</a>
<a id="Monoid._≈_"></a><a id="4530" href="Algebra.Bundles.html#4530" class="Field Operator">_≈_</a> <a id="4539" class="Symbol">:</a> <a id="4541" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="4545" href="Algebra.Bundles.html#4509" class="Field">Carrier</a> <a id="4553" href="Algebra.Bundles.html#4439" class="Bound"></a>
<a id="Monoid._∙_"></a><a id="4559" href="Algebra.Bundles.html#4559" class="Field Operator">_∙_</a> <a id="4568" class="Symbol">:</a> <a id="4570" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4574" href="Algebra.Bundles.html#4509" class="Field">Carrier</a>
<a id="Monoid.ε"></a><a id="4586" href="Algebra.Bundles.html#4586" class="Field">ε</a> <a id="4595" class="Symbol">:</a> <a id="4597" href="Algebra.Bundles.html#4509" class="Field">Carrier</a>
<a id="Monoid.isMonoid"></a><a id="4609" href="Algebra.Bundles.html#4609" class="Field">isMonoid</a> <a id="4618" class="Symbol">:</a> <a id="4620" href="Algebra.Structures.html#2810" class="Record">IsMonoid</a> <a id="4629" href="Algebra.Bundles.html#4530" class="Field Operator">_≈_</a> <a id="4633" href="Algebra.Bundles.html#4559" class="Field Operator">_∙_</a> <a id="4637" href="Algebra.Bundles.html#4586" class="Field">ε</a>
<a id="4642" class="Keyword">open</a> <a id="4647" href="Algebra.Structures.html#2810" class="Module">IsMonoid</a> <a id="4656" href="Algebra.Bundles.html#4609" class="Field">isMonoid</a> <a id="4665" class="Keyword">public</a>
<a id="Monoid.semigroup"></a><a id="4675" href="Algebra.Bundles.html#4675" class="Function">semigroup</a> <a id="4685" class="Symbol">:</a> <a id="4687" href="Algebra.Bundles.html#2152" class="Record">Semigroup</a> <a id="4697" class="Symbol">_</a> <a id="4699" class="Symbol">_</a>
<a id="4703" href="Algebra.Bundles.html#4675" class="Function">semigroup</a> <a id="4713" class="Symbol">=</a> <a id="4715" class="Keyword">record</a> <a id="4722" class="Symbol">{</a> <a id="4724" href="Algebra.Bundles.html#2320" class="Field">isSemigroup</a> <a id="4736" class="Symbol">=</a> <a id="4738" href="Algebra.Structures.html#2871" class="Function">isSemigroup</a> <a id="4750" class="Symbol">}</a>
<a id="4755" class="Keyword">open</a> <a id="4760" href="Algebra.Bundles.html#2152" class="Module">Semigroup</a> <a id="4770" href="Algebra.Bundles.html#4675" class="Function">semigroup</a> <a id="4780" class="Keyword">public</a>
<a id="4791" class="Keyword">using</a> <a id="4797" class="Symbol">(</a><a id="4798" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="4801" class="Symbol">;</a> <a id="4803" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="4811" class="Symbol">;</a> <a id="4813" href="Algebra.Bundles.html#2396" class="Function">magma</a><a id="4818" class="Symbol">)</a>
<a id="Monoid.rawMonoid"></a><a id="4823" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a> <a id="4833" class="Symbol">:</a> <a id="4835" href="Algebra.Bundles.html#4113" class="Record">RawMonoid</a> <a id="4845" class="Symbol">_</a> <a id="4847" class="Symbol">_</a>
<a id="4851" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a> <a id="4861" class="Symbol">=</a> <a id="4863" class="Keyword">record</a> <a id="4870" class="Symbol">{</a> <a id="4872" href="Algebra.Bundles.html#4215" class="Field Operator">_≈_</a> <a id="4876" class="Symbol">=</a> <a id="4878" href="Algebra.Bundles.html#4530" class="Field Operator">_≈_</a><a id="4881" class="Symbol">;</a> <a id="4883" href="Algebra.Bundles.html#4243" class="Field Operator">_∙_</a> <a id="4887" class="Symbol">=</a> <a id="4889" href="Algebra.Bundles.html#4559" class="Field Operator">_∙_</a><a id="4892" class="Symbol">;</a> <a id="4894" href="Algebra.Bundles.html#4269" class="Field">ε</a> <a id="4896" class="Symbol">=</a> <a id="4898" href="Algebra.Bundles.html#4586" class="Field">ε</a><a id="4899" class="Symbol">}</a>
<a id="4903" class="Keyword">record</a> <a id="CommutativeMonoid"></a><a id="4910" href="Algebra.Bundles.html#4910" class="Record">CommutativeMonoid</a> <a id="4928" href="Algebra.Bundles.html#4928" class="Bound">c</a> <a id="4930" href="Algebra.Bundles.html#4930" class="Bound"></a> <a id="4932" class="Symbol">:</a> <a id="4934" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="4938" class="Symbol">(</a><a id="4939" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="4943" class="Symbol">(</a><a id="4944" href="Algebra.Bundles.html#4928" class="Bound">c</a> <a id="4946" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="4948" href="Algebra.Bundles.html#4930" class="Bound"></a><a id="4949" class="Symbol">))</a> <a id="4952" class="Keyword">where</a>
<a id="4960" class="Keyword">infixl</a> <a id="4967" class="Number">7</a> <a id="4969" href="Algebra.Bundles.html#5072" class="Field Operator">_∙_</a>
<a id="4975" class="Keyword">infix</a> <a id="4982" class="Number">4</a> <a id="4984" href="Algebra.Bundles.html#5032" class="Field Operator">_≈_</a>
<a id="4990" class="Keyword">field</a>
<a id="CommutativeMonoid.Carrier"></a><a id="5000" href="Algebra.Bundles.html#5000" class="Field">Carrier</a> <a id="5020" class="Symbol">:</a> <a id="5022" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="5026" href="Algebra.Bundles.html#4928" class="Bound">c</a>
<a id="CommutativeMonoid._≈_"></a><a id="5032" href="Algebra.Bundles.html#5032" class="Field Operator">_≈_</a> <a id="5052" class="Symbol">:</a> <a id="5054" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="5058" href="Algebra.Bundles.html#5000" class="Field">Carrier</a> <a id="5066" href="Algebra.Bundles.html#4930" class="Bound"></a>
<a id="CommutativeMonoid._∙_"></a><a id="5072" href="Algebra.Bundles.html#5072" class="Field Operator">_∙_</a> <a id="5092" class="Symbol">:</a> <a id="5094" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5098" href="Algebra.Bundles.html#5000" class="Field">Carrier</a>
<a id="CommutativeMonoid.ε"></a><a id="5110" href="Algebra.Bundles.html#5110" class="Field">ε</a> <a id="5130" class="Symbol">:</a> <a id="5132" href="Algebra.Bundles.html#5000" class="Field">Carrier</a>
<a id="CommutativeMonoid.isCommutativeMonoid"></a><a id="5144" href="Algebra.Bundles.html#5144" class="Field">isCommutativeMonoid</a> <a id="5164" class="Symbol">:</a> <a id="5166" href="Algebra.Structures.html#3101" class="Record">IsCommutativeMonoid</a> <a id="5186" href="Algebra.Bundles.html#5032" class="Field Operator">_≈_</a> <a id="5190" href="Algebra.Bundles.html#5072" class="Field Operator">_∙_</a> <a id="5194" href="Algebra.Bundles.html#5110" class="Field">ε</a>
<a id="5199" class="Keyword">open</a> <a id="5204" href="Algebra.Structures.html#3101" class="Module">IsCommutativeMonoid</a> <a id="5224" href="Algebra.Bundles.html#5144" class="Field">isCommutativeMonoid</a> <a id="5244" class="Keyword">public</a>
<a id="CommutativeMonoid.monoid"></a><a id="5254" href="Algebra.Bundles.html#5254" class="Function">monoid</a> <a id="5261" class="Symbol">:</a> <a id="5263" href="Algebra.Bundles.html#4430" class="Record">Monoid</a> <a id="5270" class="Symbol">_</a> <a id="5272" class="Symbol">_</a>
<a id="5276" href="Algebra.Bundles.html#5254" class="Function">monoid</a> <a id="5283" class="Symbol">=</a> <a id="5285" class="Keyword">record</a> <a id="5292" class="Symbol">{</a> <a id="5294" href="Algebra.Bundles.html#4609" class="Field">isMonoid</a> <a id="5303" class="Symbol">=</a> <a id="5305" href="Algebra.Structures.html#3173" class="Function">isMonoid</a> <a id="5314" class="Symbol">}</a>
<a id="5319" class="Keyword">open</a> <a id="5324" href="Algebra.Bundles.html#4430" class="Module">Monoid</a> <a id="5331" href="Algebra.Bundles.html#5254" class="Function">monoid</a> <a id="5338" class="Keyword">public</a>
<a id="5349" class="Keyword">using</a> <a id="5355" class="Symbol">(</a><a id="5356" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="5359" class="Symbol">;</a> <a id="5361" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="5369" class="Symbol">;</a> <a id="5371" href="Algebra.Bundles.html#2396" class="Function">magma</a><a id="5376" class="Symbol">;</a> <a id="5378" href="Algebra.Bundles.html#4675" class="Function">semigroup</a><a id="5387" class="Symbol">;</a> <a id="5389" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a><a id="5398" class="Symbol">)</a>
<a id="CommutativeMonoid.commutativeSemigroup"></a><a id="5403" href="Algebra.Bundles.html#5403" class="Function">commutativeSemigroup</a> <a id="5424" class="Symbol">:</a> <a id="5426" href="Algebra.Bundles.html#2877" class="Record">CommutativeSemigroup</a> <a id="5447" class="Symbol">_</a> <a id="5449" class="Symbol">_</a>
<a id="5453" href="Algebra.Bundles.html#5403" class="Function">commutativeSemigroup</a> <a id="5474" class="Symbol">=</a> <a id="5476" class="Keyword">record</a> <a id="5483" class="Symbol">{</a> <a id="5485" href="Algebra.Bundles.html#3092" class="Field">isCommutativeSemigroup</a> <a id="5508" class="Symbol">=</a> <a id="5510" href="Algebra.Structures.html#3262" class="Function">isCommutativeSemigroup</a> <a id="5533" class="Symbol">}</a>
<a id="5538" class="Keyword">open</a> <a id="5543" href="Algebra.Bundles.html#2877" class="Module">CommutativeSemigroup</a> <a id="5564" href="Algebra.Bundles.html#5403" class="Function">commutativeSemigroup</a> <a id="5585" class="Keyword">public</a>
<a id="5596" class="Keyword">using</a> <a id="5602" class="Symbol">(</a><a id="5603" href="Algebra.Bundles.html#3361" class="Function">commutativeMagma</a><a id="5619" class="Symbol">)</a>
<a id="5623" class="Keyword">record</a> <a id="IdempotentCommutativeMonoid"></a><a id="5630" href="Algebra.Bundles.html#5630" class="Record">IdempotentCommutativeMonoid</a> <a id="5658" href="Algebra.Bundles.html#5658" class="Bound">c</a> <a id="5660" href="Algebra.Bundles.html#5660" class="Bound"></a> <a id="5662" class="Symbol">:</a> <a id="5664" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="5668" class="Symbol">(</a><a id="5669" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="5673" class="Symbol">(</a><a id="5674" href="Algebra.Bundles.html#5658" class="Bound">c</a> <a id="5676" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="5678" href="Algebra.Bundles.html#5660" class="Bound"></a><a id="5679" class="Symbol">))</a> <a id="5682" class="Keyword">where</a>
<a id="5690" class="Keyword">infixl</a> <a id="5697" class="Number">7</a> <a id="5699" href="Algebra.Bundles.html#5822" class="Field Operator">_∙_</a>
<a id="5705" class="Keyword">infix</a> <a id="5712" class="Number">4</a> <a id="5714" href="Algebra.Bundles.html#5772" class="Field Operator">_≈_</a>
<a id="5720" class="Keyword">field</a>
<a id="IdempotentCommutativeMonoid.Carrier"></a><a id="5730" href="Algebra.Bundles.html#5730" class="Field">Carrier</a> <a id="5760" class="Symbol">:</a> <a id="5762" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="5766" href="Algebra.Bundles.html#5658" class="Bound">c</a>
<a id="IdempotentCommutativeMonoid._≈_"></a><a id="5772" href="Algebra.Bundles.html#5772" class="Field Operator">_≈_</a> <a id="5802" class="Symbol">:</a> <a id="5804" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="5808" href="Algebra.Bundles.html#5730" class="Field">Carrier</a> <a id="5816" href="Algebra.Bundles.html#5660" class="Bound"></a>
<a id="IdempotentCommutativeMonoid._∙_"></a><a id="5822" href="Algebra.Bundles.html#5822" class="Field Operator">_∙_</a> <a id="5852" class="Symbol">:</a> <a id="5854" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5858" href="Algebra.Bundles.html#5730" class="Field">Carrier</a>
<a id="IdempotentCommutativeMonoid.ε"></a><a id="5870" href="Algebra.Bundles.html#5870" class="Field">ε</a> <a id="5900" class="Symbol">:</a> <a id="5902" href="Algebra.Bundles.html#5730" class="Field">Carrier</a>
<a id="IdempotentCommutativeMonoid.isIdempotentCommutativeMonoid"></a><a id="5914" href="Algebra.Bundles.html#5914" class="Field">isIdempotentCommutativeMonoid</a> <a id="5944" class="Symbol">:</a> <a id="5946" href="Algebra.Structures.html#3510" class="Record">IsIdempotentCommutativeMonoid</a> <a id="5976" href="Algebra.Bundles.html#5772" class="Field Operator">_≈_</a> <a id="5980" href="Algebra.Bundles.html#5822" class="Field Operator">_∙_</a> <a id="5984" href="Algebra.Bundles.html#5870" class="Field">ε</a>
<a id="5989" class="Keyword">open</a> <a id="5994" href="Algebra.Structures.html#3510" class="Module">IsIdempotentCommutativeMonoid</a> <a id="6024" href="Algebra.Bundles.html#5914" class="Field">isIdempotentCommutativeMonoid</a> <a id="6054" class="Keyword">public</a>
<a id="IdempotentCommutativeMonoid.commutativeMonoid"></a><a id="6064" href="Algebra.Bundles.html#6064" class="Function">commutativeMonoid</a> <a id="6082" class="Symbol">:</a> <a id="6084" href="Algebra.Bundles.html#4910" class="Record">CommutativeMonoid</a> <a id="6102" class="Symbol">_</a> <a id="6104" class="Symbol">_</a>
<a id="6108" href="Algebra.Bundles.html#6064" class="Function">commutativeMonoid</a> <a id="6126" class="Symbol">=</a> <a id="6128" class="Keyword">record</a> <a id="6135" class="Symbol">{</a> <a id="6137" href="Algebra.Bundles.html#5144" class="Field">isCommutativeMonoid</a> <a id="6157" class="Symbol">=</a> <a id="6159" href="Algebra.Structures.html#3629" class="Function">isCommutativeMonoid</a> <a id="6179" class="Symbol">}</a>
<a id="6184" class="Keyword">open</a> <a id="6189" href="Algebra.Bundles.html#4910" class="Module">CommutativeMonoid</a> <a id="6207" href="Algebra.Bundles.html#6064" class="Function">commutativeMonoid</a> <a id="6225" class="Keyword">public</a>
<a id="6236" class="Keyword">using</a>
<a id="6246" class="Symbol">(</a> <a id="6248" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="6251" class="Symbol">;</a> <a id="6253" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="6261" class="Symbol">;</a> <a id="6263" href="Algebra.Bundles.html#2396" class="Function">magma</a><a id="6268" class="Symbol">;</a> <a id="6270" href="Algebra.Bundles.html#3361" class="Function">commutativeMagma</a><a id="6286" class="Symbol">;</a> <a id="6288" href="Algebra.Bundles.html#4675" class="Function">semigroup</a><a id="6297" class="Symbol">;</a> <a id="6299" href="Algebra.Bundles.html#5403" class="Function">commutativeSemigroup</a>
<a id="6324" class="Symbol">;</a> <a id="6326" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a><a id="6335" class="Symbol">;</a> <a id="6337" href="Algebra.Bundles.html#5254" class="Function">monoid</a>
<a id="6348" class="Symbol">)</a>
<a id="6352" class="Comment">-- Idempotent commutative monoids are also known as bounded lattices.</a>
<a id="6422" class="Comment">-- Note that the BoundedLattice necessarily uses the notation inherited</a>
<a id="6494" class="Comment">-- from monoids rather than lattices.</a>
<a id="BoundedLattice"></a><a id="6533" href="Algebra.Bundles.html#6533" class="Function">BoundedLattice</a> <a id="6548" class="Symbol">=</a> <a id="6550" href="Algebra.Bundles.html#5630" class="Record">IdempotentCommutativeMonoid</a>
<a id="6579" class="Keyword">module</a> <a id="BoundedLattice"></a><a id="6586" href="Algebra.Bundles.html#6586" class="Module">BoundedLattice</a> <a id="6601" class="Symbol">{</a><a id="6602" href="Algebra.Bundles.html#6602" class="Bound">c</a> <a id="6604" href="Algebra.Bundles.html#6604" class="Bound"></a><a id="6605" class="Symbol">}</a> <a id="6607" class="Symbol">(</a><a id="6608" href="Algebra.Bundles.html#6608" class="Bound">idemCommMonoid</a> <a id="6623" class="Symbol">:</a> <a id="6625" href="Algebra.Bundles.html#5630" class="Record">IdempotentCommutativeMonoid</a> <a id="6653" href="Algebra.Bundles.html#6602" class="Bound">c</a> <a id="6655" href="Algebra.Bundles.html#6604" class="Bound"></a><a id="6656" class="Symbol">)</a> <a id="6658" class="Symbol">=</a>
<a id="6667" href="Algebra.Bundles.html#5630" class="Module">IdempotentCommutativeMonoid</a> <a id="6695" href="Algebra.Bundles.html#6608" class="Bound">idemCommMonoid</a>
<a id="6712" class="Comment">------------------------------------------------------------------------</a>
<a id="6785" class="Comment">-- Bundles with 1 binary operation, 1 unary operation &amp; 1 element</a>
<a id="6851" class="Comment">------------------------------------------------------------------------</a>
<a id="6925" class="Keyword">record</a> <a id="RawGroup"></a><a id="6932" href="Algebra.Bundles.html#6932" class="Record">RawGroup</a> <a id="6941" href="Algebra.Bundles.html#6941" class="Bound">c</a> <a id="6943" href="Algebra.Bundles.html#6943" class="Bound"></a> <a id="6945" class="Symbol">:</a> <a id="6947" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="6951" class="Symbol">(</a><a id="6952" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="6956" class="Symbol">(</a><a id="6957" href="Algebra.Bundles.html#6941" class="Bound">c</a> <a id="6959" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="6961" href="Algebra.Bundles.html#6943" class="Bound"></a><a id="6962" class="Symbol">))</a> <a id="6965" class="Keyword">where</a>
<a id="6973" class="Keyword">infix</a> <a id="6980" class="Number">8</a> <a id="6982" href="Algebra.Bundles.html#7124" class="Field Operator">_⁻¹</a>
<a id="6988" class="Keyword">infixl</a> <a id="6995" class="Number">7</a> <a id="6997" href="Algebra.Bundles.html#7076" class="Field Operator">_∙_</a>
<a id="7003" class="Keyword">infix</a> <a id="7010" class="Number">4</a> <a id="7012" href="Algebra.Bundles.html#7048" class="Field Operator">_≈_</a>
<a id="7018" class="Keyword">field</a>
<a id="RawGroup.Carrier"></a><a id="7028" href="Algebra.Bundles.html#7028" class="Field">Carrier</a> <a id="7036" class="Symbol">:</a> <a id="7038" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="7042" href="Algebra.Bundles.html#6941" class="Bound">c</a>
<a id="RawGroup._≈_"></a><a id="7048" href="Algebra.Bundles.html#7048" class="Field Operator">_≈_</a> <a id="7056" class="Symbol">:</a> <a id="7058" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="7062" href="Algebra.Bundles.html#7028" class="Field">Carrier</a> <a id="7070" href="Algebra.Bundles.html#6943" class="Bound"></a>
<a id="RawGroup._∙_"></a><a id="7076" href="Algebra.Bundles.html#7076" class="Field Operator">_∙_</a> <a id="7084" class="Symbol">:</a> <a id="7086" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="7090" href="Algebra.Bundles.html#7028" class="Field">Carrier</a>
<a id="RawGroup.ε"></a><a id="7102" href="Algebra.Bundles.html#7102" class="Field">ε</a> <a id="7110" class="Symbol">:</a> <a id="7112" href="Algebra.Bundles.html#7028" class="Field">Carrier</a>
<a id="RawGroup._⁻¹"></a><a id="7124" href="Algebra.Bundles.html#7124" class="Field Operator">_⁻¹</a> <a id="7132" class="Symbol">:</a> <a id="7134" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="7138" href="Algebra.Bundles.html#7028" class="Field">Carrier</a>
<a id="RawGroup.rawMonoid"></a><a id="7149" href="Algebra.Bundles.html#7149" class="Function">rawMonoid</a> <a id="7159" class="Symbol">:</a> <a id="7161" href="Algebra.Bundles.html#4113" class="Record">RawMonoid</a> <a id="7171" href="Algebra.Bundles.html#6941" class="Bound">c</a> <a id="7173" href="Algebra.Bundles.html#6943" class="Bound"></a>
<a id="7177" href="Algebra.Bundles.html#7149" class="Function">rawMonoid</a> <a id="7187" class="Symbol">=</a> <a id="7189" class="Keyword">record</a>
<a id="7200" class="Symbol">{</a> <a id="7202" href="Algebra.Bundles.html#4215" class="Field Operator">_≈_</a> <a id="7206" class="Symbol">=</a> <a id="7208" href="Algebra.Bundles.html#7048" class="Field Operator">_≈_</a>
<a id="7216" class="Symbol">;</a> <a id="7218" href="Algebra.Bundles.html#4243" class="Field Operator">_∙_</a> <a id="7222" class="Symbol">=</a> <a id="7224" href="Algebra.Bundles.html#7076" class="Field Operator">_∙_</a>
<a id="7232" class="Symbol">;</a> <a id="7234" href="Algebra.Bundles.html#4269" class="Field">ε</a> <a id="7238" class="Symbol">=</a> <a id="7240" href="Algebra.Bundles.html#7102" class="Field">ε</a>
<a id="7246" class="Symbol">}</a>
<a id="7251" class="Keyword">open</a> <a id="7256" href="Algebra.Bundles.html#4113" class="Module">RawMonoid</a> <a id="7266" href="Algebra.Bundles.html#7149" class="Function">rawMonoid</a> <a id="7276" class="Keyword">public</a>
<a id="7287" class="Keyword">using</a> <a id="7293" class="Symbol">(</a><a id="7294" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="7297" class="Symbol">;</a> <a id="7299" href="Algebra.Bundles.html#4290" class="Function">rawMagma</a><a id="7307" class="Symbol">)</a>
<a id="7311" class="Keyword">record</a> <a id="Group"></a><a id="7318" href="Algebra.Bundles.html#7318" class="Record">Group</a> <a id="7324" href="Algebra.Bundles.html#7324" class="Bound">c</a> <a id="7326" href="Algebra.Bundles.html#7326" class="Bound"></a> <a id="7328" class="Symbol">:</a> <a id="7330" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="7334" class="Symbol">(</a><a id="7335" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="7339" class="Symbol">(</a><a id="7340" href="Algebra.Bundles.html#7324" class="Bound">c</a> <a id="7342" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="7344" href="Algebra.Bundles.html#7326" class="Bound"></a><a id="7345" class="Symbol">))</a> <a id="7348" class="Keyword">where</a>
<a id="7356" class="Keyword">infix</a> <a id="7363" class="Number">8</a> <a id="7365" href="Algebra.Bundles.html#7507" class="Field Operator">_⁻¹</a>
<a id="7371" class="Keyword">infixl</a> <a id="7378" class="Number">7</a> <a id="7380" href="Algebra.Bundles.html#7459" class="Field Operator">_∙_</a>
<a id="7386" class="Keyword">infix</a> <a id="7393" class="Number">4</a> <a id="7395" href="Algebra.Bundles.html#7431" class="Field Operator">_≈_</a>
<a id="7401" class="Keyword">field</a>
<a id="Group.Carrier"></a><a id="7411" href="Algebra.Bundles.html#7411" class="Field">Carrier</a> <a id="7419" class="Symbol">:</a> <a id="7421" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="7425" href="Algebra.Bundles.html#7324" class="Bound">c</a>
<a id="Group._≈_"></a><a id="7431" href="Algebra.Bundles.html#7431" class="Field Operator">_≈_</a> <a id="7439" class="Symbol">:</a> <a id="7441" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="7445" href="Algebra.Bundles.html#7411" class="Field">Carrier</a> <a id="7453" href="Algebra.Bundles.html#7326" class="Bound"></a>
<a id="Group._∙_"></a><a id="7459" href="Algebra.Bundles.html#7459" class="Field Operator">_∙_</a> <a id="7467" class="Symbol">:</a> <a id="7469" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="7473" href="Algebra.Bundles.html#7411" class="Field">Carrier</a>
<a id="Group.ε"></a><a id="7485" href="Algebra.Bundles.html#7485" class="Field">ε</a> <a id="7493" class="Symbol">:</a> <a id="7495" href="Algebra.Bundles.html#7411" class="Field">Carrier</a>
<a id="Group._⁻¹"></a><a id="7507" href="Algebra.Bundles.html#7507" class="Field Operator">_⁻¹</a> <a id="7515" class="Symbol">:</a> <a id="7517" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="7521" href="Algebra.Bundles.html#7411" class="Field">Carrier</a>
<a id="Group.isGroup"></a><a id="7533" href="Algebra.Bundles.html#7533" class="Field">isGroup</a> <a id="7541" class="Symbol">:</a> <a id="7543" href="Algebra.Structures.html#4430" class="Record">IsGroup</a> <a id="7551" href="Algebra.Bundles.html#7431" class="Field Operator">_≈_</a> <a id="7555" href="Algebra.Bundles.html#7459" class="Field Operator">_∙_</a> <a id="7559" href="Algebra.Bundles.html#7485" class="Field">ε</a> <a id="7561" href="Algebra.Bundles.html#7507" class="Field Operator">_⁻¹</a>
<a id="7568" class="Keyword">open</a> <a id="7573" href="Algebra.Structures.html#4430" class="Module">IsGroup</a> <a id="7581" href="Algebra.Bundles.html#7533" class="Field">isGroup</a> <a id="7589" class="Keyword">public</a>
<a id="Group.rawGroup"></a><a id="7599" href="Algebra.Bundles.html#7599" class="Function">rawGroup</a> <a id="7608" class="Symbol">:</a> <a id="7610" href="Algebra.Bundles.html#6932" class="Record">RawGroup</a> <a id="7619" class="Symbol">_</a> <a id="7621" class="Symbol">_</a>
<a id="7625" href="Algebra.Bundles.html#7599" class="Function">rawGroup</a> <a id="7634" class="Symbol">=</a> <a id="7636" class="Keyword">record</a> <a id="7643" class="Symbol">{</a> <a id="7645" href="Algebra.Bundles.html#7048" class="Field Operator">_≈_</a> <a id="7649" class="Symbol">=</a> <a id="7651" href="Algebra.Bundles.html#7431" class="Field Operator">_≈_</a><a id="7654" class="Symbol">;</a> <a id="7656" href="Algebra.Bundles.html#7076" class="Field Operator">_∙_</a> <a id="7660" class="Symbol">=</a> <a id="7662" href="Algebra.Bundles.html#7459" class="Field Operator">_∙_</a><a id="7665" class="Symbol">;</a> <a id="7667" href="Algebra.Bundles.html#7102" class="Field">ε</a> <a id="7669" class="Symbol">=</a> <a id="7671" href="Algebra.Bundles.html#7485" class="Field">ε</a><a id="7672" class="Symbol">;</a> <a id="7674" href="Algebra.Bundles.html#7124" class="Field Operator">_⁻¹</a> <a id="7678" class="Symbol">=</a> <a id="7680" href="Algebra.Bundles.html#7507" class="Field Operator">_⁻¹</a><a id="7683" class="Symbol">}</a>
<a id="Group.monoid"></a><a id="7688" href="Algebra.Bundles.html#7688" class="Function">monoid</a> <a id="7695" class="Symbol">:</a> <a id="7697" href="Algebra.Bundles.html#4430" class="Record">Monoid</a> <a id="7704" class="Symbol">_</a> <a id="7706" class="Symbol">_</a>
<a id="7710" href="Algebra.Bundles.html#7688" class="Function">monoid</a> <a id="7717" class="Symbol">=</a> <a id="7719" class="Keyword">record</a> <a id="7726" class="Symbol">{</a> <a id="7728" href="Algebra.Bundles.html#4609" class="Field">isMonoid</a> <a id="7737" class="Symbol">=</a> <a id="7739" href="Algebra.Structures.html#4506" class="Function">isMonoid</a> <a id="7748" class="Symbol">}</a>
<a id="7753" class="Keyword">open</a> <a id="7758" href="Algebra.Bundles.html#4430" class="Module">Monoid</a> <a id="7765" href="Algebra.Bundles.html#7688" class="Function">monoid</a> <a id="7772" class="Keyword">public</a>
<a id="7783" class="Keyword">using</a> <a id="7789" class="Symbol">(</a><a id="7790" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="7793" class="Symbol">;</a> <a id="7795" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="7803" class="Symbol">;</a> <a id="7805" href="Algebra.Bundles.html#2396" class="Function">magma</a><a id="7810" class="Symbol">;</a> <a id="7812" href="Algebra.Bundles.html#4675" class="Function">semigroup</a><a id="7821" class="Symbol">;</a> <a id="7823" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a><a id="7832" class="Symbol">)</a>
<a id="7835" class="Keyword">record</a> <a id="AbelianGroup"></a><a id="7842" href="Algebra.Bundles.html#7842" class="Record">AbelianGroup</a> <a id="7855" href="Algebra.Bundles.html#7855" class="Bound">c</a> <a id="7857" href="Algebra.Bundles.html#7857" class="Bound"></a> <a id="7859" class="Symbol">:</a> <a id="7861" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="7865" class="Symbol">(</a><a id="7866" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="7870" class="Symbol">(</a><a id="7871" href="Algebra.Bundles.html#7855" class="Bound">c</a> <a id="7873" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="7875" href="Algebra.Bundles.html#7857" class="Bound"></a><a id="7876" class="Symbol">))</a> <a id="7879" class="Keyword">where</a>
<a id="7887" class="Keyword">infix</a> <a id="7894" class="Number">8</a> <a id="7896" href="Algebra.Bundles.html#8066" class="Field Operator">_⁻¹</a>
<a id="7902" class="Keyword">infixl</a> <a id="7909" class="Number">7</a> <a id="7911" href="Algebra.Bundles.html#8004" class="Field Operator">_∙_</a>
<a id="7917" class="Keyword">infix</a> <a id="7924" class="Number">4</a> <a id="7926" href="Algebra.Bundles.html#7969" class="Field Operator">_≈_</a>
<a id="7932" class="Keyword">field</a>
<a id="AbelianGroup.Carrier"></a><a id="7942" href="Algebra.Bundles.html#7942" class="Field">Carrier</a> <a id="7957" class="Symbol">:</a> <a id="7959" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="7963" href="Algebra.Bundles.html#7855" class="Bound">c</a>
<a id="AbelianGroup._≈_"></a><a id="7969" href="Algebra.Bundles.html#7969" class="Field Operator">_≈_</a> <a id="7984" class="Symbol">:</a> <a id="7986" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="7990" href="Algebra.Bundles.html#7942" class="Field">Carrier</a> <a id="7998" href="Algebra.Bundles.html#7857" class="Bound"></a>
<a id="AbelianGroup._∙_"></a><a id="8004" href="Algebra.Bundles.html#8004" class="Field Operator">_∙_</a> <a id="8019" class="Symbol">:</a> <a id="8021" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="8025" href="Algebra.Bundles.html#7942" class="Field">Carrier</a>
<a id="AbelianGroup.ε"></a><a id="8037" href="Algebra.Bundles.html#8037" class="Field">ε</a> <a id="8052" class="Symbol">:</a> <a id="8054" href="Algebra.Bundles.html#7942" class="Field">Carrier</a>
<a id="AbelianGroup._⁻¹"></a><a id="8066" href="Algebra.Bundles.html#8066" class="Field Operator">_⁻¹</a> <a id="8081" class="Symbol">:</a> <a id="8083" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="8087" href="Algebra.Bundles.html#7942" class="Field">Carrier</a>
<a id="AbelianGroup.isAbelianGroup"></a><a id="8099" href="Algebra.Bundles.html#8099" class="Field">isAbelianGroup</a> <a id="8114" class="Symbol">:</a> <a id="8116" href="Algebra.Structures.html#5132" class="Record">IsAbelianGroup</a> <a id="8131" href="Algebra.Bundles.html#7969" class="Field Operator">_≈_</a> <a id="8135" href="Algebra.Bundles.html#8004" class="Field Operator">_∙_</a> <a id="8139" href="Algebra.Bundles.html#8037" class="Field">ε</a> <a id="8141" href="Algebra.Bundles.html#8066" class="Field Operator">_⁻¹</a>
<a id="8148" class="Keyword">open</a> <a id="8153" href="Algebra.Structures.html#5132" class="Module">IsAbelianGroup</a> <a id="8168" href="Algebra.Bundles.html#8099" class="Field">isAbelianGroup</a> <a id="8183" class="Keyword">public</a>
<a id="AbelianGroup.group"></a><a id="8193" href="Algebra.Bundles.html#8193" class="Function">group</a> <a id="8199" class="Symbol">:</a> <a id="8201" href="Algebra.Bundles.html#7318" class="Record">Group</a> <a id="8207" class="Symbol">_</a> <a id="8209" class="Symbol">_</a>
<a id="8213" href="Algebra.Bundles.html#8193" class="Function">group</a> <a id="8219" class="Symbol">=</a> <a id="8221" class="Keyword">record</a> <a id="8228" class="Symbol">{</a> <a id="8230" href="Algebra.Bundles.html#7533" class="Field">isGroup</a> <a id="8238" class="Symbol">=</a> <a id="8240" href="Algebra.Structures.html#5234" class="Function">isGroup</a> <a id="8248" class="Symbol">}</a>
<a id="8253" class="Keyword">open</a> <a id="8258" href="Algebra.Bundles.html#7318" class="Module">Group</a> <a id="8264" href="Algebra.Bundles.html#8193" class="Function">group</a> <a id="8270" class="Keyword">public</a>
<a id="8281" class="Keyword">using</a> <a id="8287" class="Symbol">(</a><a id="8288" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="8291" class="Symbol">;</a> <a id="8293" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a><a id="8301" class="Symbol">;</a> <a id="8303" href="Algebra.Bundles.html#2396" class="Function">magma</a><a id="8308" class="Symbol">;</a> <a id="8310" href="Algebra.Bundles.html#4675" class="Function">semigroup</a><a id="8319" class="Symbol">;</a> <a id="8321" href="Algebra.Bundles.html#7688" class="Function">monoid</a><a id="8327" class="Symbol">;</a> <a id="8329" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a><a id="8338" class="Symbol">;</a> <a id="8340" href="Algebra.Bundles.html#7599" class="Function">rawGroup</a><a id="8348" class="Symbol">)</a>
<a id="AbelianGroup.commutativeMonoid"></a><a id="8353" href="Algebra.Bundles.html#8353" class="Function">commutativeMonoid</a> <a id="8371" class="Symbol">:</a> <a id="8373" href="Algebra.Bundles.html#4910" class="Record">CommutativeMonoid</a> <a id="8391" class="Symbol">_</a> <a id="8393" class="Symbol">_</a>
<a id="8397" href="Algebra.Bundles.html#8353" class="Function">commutativeMonoid</a> <a id="8415" class="Symbol">=</a> <a id="8417" class="Keyword">record</a> <a id="8424" class="Symbol">{</a> <a id="8426" href="Algebra.Bundles.html#5144" class="Field">isCommutativeMonoid</a> <a id="8446" class="Symbol">=</a> <a id="8448" href="Algebra.Structures.html#5321" class="Function">isCommutativeMonoid</a> <a id="8468" class="Symbol">}</a>
<a id="8473" class="Keyword">open</a> <a id="8478" href="Algebra.Bundles.html#4910" class="Module">CommutativeMonoid</a> <a id="8496" href="Algebra.Bundles.html#8353" class="Function">commutativeMonoid</a> <a id="8514" class="Keyword">public</a>
<a id="8525" class="Keyword">using</a> <a id="8531" class="Symbol">(</a><a id="8532" href="Algebra.Bundles.html#3361" class="Function">commutativeMagma</a><a id="8548" class="Symbol">;</a> <a id="8550" href="Algebra.Bundles.html#5403" class="Function">commutativeSemigroup</a><a id="8570" class="Symbol">)</a>
<a id="8574" class="Comment">------------------------------------------------------------------------</a>
<a id="8647" class="Comment">-- Bundles with 2 binary operations</a>
<a id="8683" class="Comment">------------------------------------------------------------------------</a>
<a id="8757" class="Keyword">record</a> <a id="RawLattice"></a><a id="8764" href="Algebra.Bundles.html#8764" class="Record">RawLattice</a> <a id="8775" href="Algebra.Bundles.html#8775" class="Bound">c</a> <a id="8777" href="Algebra.Bundles.html#8777" class="Bound"></a> <a id="8779" class="Symbol">:</a> <a id="8781" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8785" class="Symbol">(</a><a id="8786" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="8790" class="Symbol">(</a><a id="8791" href="Algebra.Bundles.html#8775" class="Bound">c</a> <a id="8793" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="8795" href="Algebra.Bundles.html#8777" class="Bound"></a><a id="8796" class="Symbol">))</a> <a id="8799" class="Keyword">where</a>
<a id="8807" class="Keyword">infixr</a> <a id="8814" class="Number">7</a> <a id="8816" href="Algebra.Bundles.html#8910" class="Field Operator">_∧_</a>
<a id="8822" class="Keyword">infixr</a> <a id="8829" class="Number">6</a> <a id="8831" href="Algebra.Bundles.html#8936" class="Field Operator">__</a>
<a id="8837" class="Keyword">infix</a> <a id="8844" class="Number">4</a> <a id="8846" href="Algebra.Bundles.html#8882" class="Field Operator">_≈_</a>
<a id="8852" class="Keyword">field</a>
<a id="RawLattice.Carrier"></a><a id="8862" href="Algebra.Bundles.html#8862" class="Field">Carrier</a> <a id="8870" class="Symbol">:</a> <a id="8872" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8876" href="Algebra.Bundles.html#8775" class="Bound">c</a>
<a id="RawLattice._≈_"></a><a id="8882" href="Algebra.Bundles.html#8882" class="Field Operator">_≈_</a> <a id="8890" class="Symbol">:</a> <a id="8892" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="8896" href="Algebra.Bundles.html#8862" class="Field">Carrier</a> <a id="8904" href="Algebra.Bundles.html#8777" class="Bound"></a>
<a id="RawLattice._∧_"></a><a id="8910" href="Algebra.Bundles.html#8910" class="Field Operator">_∧_</a> <a id="8918" class="Symbol">:</a> <a id="8920" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="8924" href="Algebra.Bundles.html#8862" class="Field">Carrier</a>
<a id="RawLattice.__"></a><a id="8936" href="Algebra.Bundles.html#8936" class="Field Operator">__</a> <a id="8944" class="Symbol">:</a> <a id="8946" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="8950" href="Algebra.Bundles.html#8862" class="Field">Carrier</a>
<a id="RawLattice.-rawMagma"></a><a id="8961" href="Algebra.Bundles.html#8961" class="Function">-rawMagma</a> <a id="8972" class="Symbol">:</a> <a id="8974" href="Algebra.Bundles.html#790" class="Record">RawMagma</a> <a id="8983" href="Algebra.Bundles.html#8775" class="Bound">c</a> <a id="8985" href="Algebra.Bundles.html#8777" class="Bound"></a>
<a id="8989" href="Algebra.Bundles.html#8961" class="Function">-rawMagma</a> <a id="9000" class="Symbol">=</a> <a id="9002" class="Keyword">record</a> <a id="9009" class="Symbol">{</a> <a id="9011" href="Algebra.Bundles.html#891" class="Field Operator">_≈_</a> <a id="9015" class="Symbol">=</a> <a id="9017" href="Algebra.Bundles.html#8882" class="Field Operator">_≈_</a><a id="9020" class="Symbol">;</a> <a id="9022" href="Algebra.Bundles.html#919" class="Field Operator">_∙_</a> <a id="9026" class="Symbol">=</a> <a id="9028" href="Algebra.Bundles.html#8936" class="Field Operator">__</a> <a id="9032" class="Symbol">}</a>
<a id="RawLattice.∧-rawMagma"></a><a id="9037" href="Algebra.Bundles.html#9037" class="Function">∧-rawMagma</a> <a id="9048" class="Symbol">:</a> <a id="9050" href="Algebra.Bundles.html#790" class="Record">RawMagma</a> <a id="9059" href="Algebra.Bundles.html#8775" class="Bound">c</a> <a id="9061" href="Algebra.Bundles.html#8777" class="Bound"></a>
<a id="9065" href="Algebra.Bundles.html#9037" class="Function">∧-rawMagma</a> <a id="9076" class="Symbol">=</a> <a id="9078" class="Keyword">record</a> <a id="9085" class="Symbol">{</a> <a id="9087" href="Algebra.Bundles.html#891" class="Field Operator">_≈_</a> <a id="9091" class="Symbol">=</a> <a id="9093" href="Algebra.Bundles.html#8882" class="Field Operator">_≈_</a><a id="9096" class="Symbol">;</a> <a id="9098" href="Algebra.Bundles.html#919" class="Field Operator">_∙_</a> <a id="9102" class="Symbol">=</a> <a id="9104" href="Algebra.Bundles.html#8910" class="Field Operator">_∧_</a> <a id="9108" class="Symbol">}</a>
<a id="9113" class="Keyword">open</a> <a id="9118" href="Algebra.Bundles.html#790" class="Module">RawMagma</a> <a id="9127" href="Algebra.Bundles.html#8961" class="Function">-rawMagma</a> <a id="9138" class="Keyword">public</a>
<a id="9149" class="Keyword">using</a> <a id="9155" class="Symbol">(</a><a id="9156" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="9159" class="Symbol">)</a>
<a id="9163" class="Keyword">record</a> <a id="Lattice"></a><a id="9170" href="Algebra.Bundles.html#9170" class="Record">Lattice</a> <a id="9178" href="Algebra.Bundles.html#9178" class="Bound">c</a> <a id="9180" href="Algebra.Bundles.html#9180" class="Bound"></a> <a id="9182" class="Symbol">:</a> <a id="9184" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="9188" class="Symbol">(</a><a id="9189" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="9193" class="Symbol">(</a><a id="9194" href="Algebra.Bundles.html#9178" class="Bound">c</a> <a id="9196" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="9198" href="Algebra.Bundles.html#9180" class="Bound"></a><a id="9199" class="Symbol">))</a> <a id="9202" class="Keyword">where</a>
<a id="9210" class="Keyword">infixr</a> <a id="9217" class="Number">7</a> <a id="9219" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
<a id="9225" class="Keyword">infixr</a> <a id="9232" class="Number">6</a> <a id="9234" href="Algebra.Bundles.html#9317" class="Field Operator">__</a>
<a id="9240" class="Keyword">infix</a> <a id="9247" class="Number">4</a> <a id="9249" href="Algebra.Bundles.html#9287" class="Field Operator">_≈_</a>
<a id="9255" class="Keyword">field</a>
<a id="Lattice.Carrier"></a><a id="9265" href="Algebra.Bundles.html#9265" class="Field">Carrier</a> <a id="9275" class="Symbol">:</a> <a id="9277" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="9281" href="Algebra.Bundles.html#9178" class="Bound">c</a>
<a id="Lattice._≈_"></a><a id="9287" href="Algebra.Bundles.html#9287" class="Field Operator">_≈_</a> <a id="9297" class="Symbol">:</a> <a id="9299" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="9303" href="Algebra.Bundles.html#9265" class="Field">Carrier</a> <a id="9311" href="Algebra.Bundles.html#9180" class="Bound"></a>
<a id="Lattice.__"></a><a id="9317" href="Algebra.Bundles.html#9317" class="Field Operator">__</a> <a id="9327" class="Symbol">:</a> <a id="9329" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="9333" href="Algebra.Bundles.html#9265" class="Field">Carrier</a>
<a id="Lattice._∧_"></a><a id="9345" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a> <a id="9355" class="Symbol">:</a> <a id="9357" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="9361" href="Algebra.Bundles.html#9265" class="Field">Carrier</a>
<a id="Lattice.isLattice"></a><a id="9373" href="Algebra.Bundles.html#9373" class="Field">isLattice</a> <a id="9383" class="Symbol">:</a> <a id="9385" href="Algebra.Structures.html#6130" class="Record">IsLattice</a> <a id="9395" href="Algebra.Bundles.html#9287" class="Field Operator">_≈_</a> <a id="9399" href="Algebra.Bundles.html#9317" class="Field Operator">__</a> <a id="9403" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
<a id="9410" class="Keyword">open</a> <a id="9415" href="Algebra.Structures.html#6130" class="Module">IsLattice</a> <a id="9425" href="Algebra.Bundles.html#9373" class="Field">isLattice</a> <a id="9435" class="Keyword">public</a>
<a id="Lattice.rawLattice"></a><a id="9445" href="Algebra.Bundles.html#9445" class="Function">rawLattice</a> <a id="9456" class="Symbol">:</a> <a id="9458" href="Algebra.Bundles.html#8764" class="Record">RawLattice</a> <a id="9469" href="Algebra.Bundles.html#9178" class="Bound">c</a> <a id="9471" href="Algebra.Bundles.html#9180" class="Bound"></a>
<a id="9475" href="Algebra.Bundles.html#9445" class="Function">rawLattice</a> <a id="9486" class="Symbol">=</a> <a id="9488" class="Keyword">record</a>
<a id="9499" class="Symbol">{</a> <a id="9501" href="Algebra.Bundles.html#8882" class="Field Operator">_≈_</a> <a id="9506" class="Symbol">=</a> <a id="9508" href="Algebra.Bundles.html#9287" class="Field Operator">_≈_</a>
<a id="9516" class="Symbol">;</a> <a id="9518" href="Algebra.Bundles.html#8910" class="Field Operator">_∧_</a> <a id="9523" class="Symbol">=</a> <a id="9525" href="Algebra.Bundles.html#9345" class="Field Operator">_∧_</a>
<a id="9533" class="Symbol">;</a> <a id="9535" href="Algebra.Bundles.html#8936" class="Field Operator">__</a> <a id="9540" class="Symbol">=</a> <a id="9542" href="Algebra.Bundles.html#9317" class="Field Operator">__</a>
<a id="9550" class="Symbol">}</a>
<a id="9555" class="Keyword">open</a> <a id="9560" href="Algebra.Bundles.html#8764" class="Module">RawLattice</a> <a id="9571" href="Algebra.Bundles.html#9445" class="Function">rawLattice</a>
<a id="9586" class="Keyword">using</a> <a id="9592" class="Symbol">(</a><a id="9593" href="Algebra.Bundles.html#8961" class="Function">-rawMagma</a><a id="9603" class="Symbol">;</a> <a id="9605" href="Algebra.Bundles.html#9037" class="Function">∧-rawMagma</a><a id="9615" class="Symbol">)</a>
<a id="Lattice.setoid"></a><a id="9620" href="Algebra.Bundles.html#9620" class="Function">setoid</a> <a id="9627" class="Symbol">:</a> <a id="9629" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="9636" class="Symbol">_</a> <a id="9638" class="Symbol">_</a>
<a id="9642" href="Algebra.Bundles.html#9620" class="Function">setoid</a> <a id="9649" class="Symbol">=</a> <a id="9651" class="Keyword">record</a> <a id="9658" class="Symbol">{</a> <a id="9660" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="9674" class="Symbol">=</a> <a id="9676" href="Algebra.Structures.html#6186" class="Function">isEquivalence</a> <a id="9690" class="Symbol">}</a>
<a id="9695" class="Keyword">open</a> <a id="9700" href="Relation.Binary.Bundles.html#1018" class="Module">Setoid</a> <a id="9707" href="Algebra.Bundles.html#9620" class="Function">setoid</a> <a id="9714" class="Keyword">public</a>
<a id="9725" class="Keyword">using</a> <a id="9731" class="Symbol">(</a><a id="9732" href="Relation.Binary.Bundles.html#969" class="Function Operator">_≉_</a><a id="9735" class="Symbol">)</a>
<a id="9739" class="Keyword">record</a> <a id="DistributiveLattice"></a><a id="9746" href="Algebra.Bundles.html#9746" class="Record">DistributiveLattice</a> <a id="9766" href="Algebra.Bundles.html#9766" class="Bound">c</a> <a id="9768" href="Algebra.Bundles.html#9768" class="Bound"></a> <a id="9770" class="Symbol">:</a> <a id="9772" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="9776" class="Symbol">(</a><a id="9777" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="9781" class="Symbol">(</a><a id="9782" href="Algebra.Bundles.html#9766" class="Bound">c</a> <a id="9784" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="9786" href="Algebra.Bundles.html#9768" class="Bound"></a><a id="9787" class="Symbol">))</a> <a id="9790" class="Keyword">where</a>
<a id="9798" class="Keyword">infixr</a> <a id="9805" class="Number">7</a> <a id="9807" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a>
<a id="9813" class="Keyword">infixr</a> <a id="9820" class="Number">6</a> <a id="9822" href="Algebra.Bundles.html#9929" class="Field Operator">__</a>
<a id="9828" class="Keyword">infix</a> <a id="9835" class="Number">4</a> <a id="9837" href="Algebra.Bundles.html#9887" class="Field Operator">_≈_</a>
<a id="9843" class="Keyword">field</a>
<a id="DistributiveLattice.Carrier"></a><a id="9853" href="Algebra.Bundles.html#9853" class="Field">Carrier</a> <a id="9875" class="Symbol">:</a> <a id="9877" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="9881" href="Algebra.Bundles.html#9766" class="Bound">c</a>
<a id="DistributiveLattice._≈_"></a><a id="9887" href="Algebra.Bundles.html#9887" class="Field Operator">_≈_</a> <a id="9909" class="Symbol">:</a> <a id="9911" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="9915" href="Algebra.Bundles.html#9853" class="Field">Carrier</a> <a id="9923" href="Algebra.Bundles.html#9768" class="Bound"></a>
<a id="DistributiveLattice.__"></a><a id="9929" href="Algebra.Bundles.html#9929" class="Field Operator">__</a> <a id="9951" class="Symbol">:</a> <a id="9953" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="9957" href="Algebra.Bundles.html#9853" class="Field">Carrier</a>
<a id="DistributiveLattice._∧_"></a><a id="9969" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a> <a id="9991" class="Symbol">:</a> <a id="9993" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="9997" href="Algebra.Bundles.html#9853" class="Field">Carrier</a>
<a id="DistributiveLattice.isDistributiveLattice"></a><a id="10009" href="Algebra.Bundles.html#10009" class="Field">isDistributiveLattice</a> <a id="10031" class="Symbol">:</a> <a id="10033" href="Algebra.Structures.html#6879" class="Record">IsDistributiveLattice</a> <a id="10055" href="Algebra.Bundles.html#9887" class="Field Operator">_≈_</a> <a id="10059" href="Algebra.Bundles.html#9929" class="Field Operator">__</a> <a id="10063" href="Algebra.Bundles.html#9969" class="Field Operator">_∧_</a>
<a id="10070" class="Keyword">open</a> <a id="10075" href="Algebra.Structures.html#6879" class="Module">IsDistributiveLattice</a> <a id="10097" href="Algebra.Bundles.html#10009" class="Field">isDistributiveLattice</a> <a id="10119" class="Keyword">public</a>
<a id="DistributiveLattice.lattice"></a><a id="10129" href="Algebra.Bundles.html#10129" class="Function">lattice</a> <a id="10137" class="Symbol">:</a> <a id="10139" href="Algebra.Bundles.html#9170" class="Record">Lattice</a> <a id="10147" class="Symbol">_</a> <a id="10149" class="Symbol">_</a>
<a id="10153" href="Algebra.Bundles.html#10129" class="Function">lattice</a> <a id="10161" class="Symbol">=</a> <a id="10163" class="Keyword">record</a> <a id="10170" class="Symbol">{</a> <a id="10172" href="Algebra.Bundles.html#9373" class="Field">isLattice</a> <a id="10182" class="Symbol">=</a> <a id="10184" href="Algebra.Structures.html#6947" class="Function">isLattice</a> <a id="10194" class="Symbol">}</a>
<a id="10199" class="Keyword">open</a> <a id="10204" href="Algebra.Bundles.html#9170" class="Module">Lattice</a> <a id="10212" href="Algebra.Bundles.html#10129" class="Function">lattice</a> <a id="10220" class="Keyword">public</a>
<a id="10231" class="Keyword">using</a> <a id="10237" class="Symbol">(</a><a id="10238" href="Relation.Binary.Bundles.html#969" class="Function Operator">_≉_</a><a id="10241" class="Symbol">;</a> <a id="10243" href="Algebra.Bundles.html#9445" class="Function">rawLattice</a><a id="10253" class="Symbol">;</a> <a id="10255" href="Algebra.Bundles.html#9620" class="Function">setoid</a><a id="10261" class="Symbol">)</a>
<a id="10265" class="Comment">------------------------------------------------------------------------</a>
<a id="10338" class="Comment">-- Bundles with 2 binary operations &amp; 1 element</a>
<a id="10386" class="Comment">------------------------------------------------------------------------</a>
<a id="10460" class="Keyword">record</a> <a id="RawNearSemiring"></a><a id="10467" href="Algebra.Bundles.html#10467" class="Record">RawNearSemiring</a> <a id="10483" href="Algebra.Bundles.html#10483" class="Bound">c</a> <a id="10485" href="Algebra.Bundles.html#10485" class="Bound"></a> <a id="10487" class="Symbol">:</a> <a id="10489" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="10493" class="Symbol">(</a><a id="10494" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="10498" class="Symbol">(</a><a id="10499" href="Algebra.Bundles.html#10483" class="Bound">c</a> <a id="10501" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="10503" href="Algebra.Bundles.html#10485" class="Bound"></a><a id="10504" class="Symbol">))</a> <a id="10507" class="Keyword">where</a>
<a id="10515" class="Keyword">infixl</a> <a id="10522" class="Number">7</a> <a id="10524" href="Algebra.Bundles.html#10644" class="Field Operator">_*_</a>
<a id="10530" class="Keyword">infixl</a> <a id="10537" class="Number">6</a> <a id="10539" href="Algebra.Bundles.html#10618" class="Field Operator">_+_</a>
<a id="10545" class="Keyword">infix</a> <a id="10552" class="Number">4</a> <a id="10554" href="Algebra.Bundles.html#10590" class="Field Operator">_≈_</a>
<a id="10560" class="Keyword">field</a>
<a id="RawNearSemiring.Carrier"></a><a id="10570" href="Algebra.Bundles.html#10570" class="Field">Carrier</a> <a id="10578" class="Symbol">:</a> <a id="10580" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="10584" href="Algebra.Bundles.html#10483" class="Bound">c</a>
<a id="RawNearSemiring._≈_"></a><a id="10590" href="Algebra.Bundles.html#10590" class="Field Operator">_≈_</a> <a id="10598" class="Symbol">:</a> <a id="10600" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="10604" href="Algebra.Bundles.html#10570" class="Field">Carrier</a> <a id="10612" href="Algebra.Bundles.html#10485" class="Bound"></a>
<a id="RawNearSemiring._+_"></a><a id="10618" href="Algebra.Bundles.html#10618" class="Field Operator">_+_</a> <a id="10626" class="Symbol">:</a> <a id="10628" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="10632" href="Algebra.Bundles.html#10570" class="Field">Carrier</a>
<a id="RawNearSemiring._*_"></a><a id="10644" href="Algebra.Bundles.html#10644" class="Field Operator">_*_</a> <a id="10652" class="Symbol">:</a> <a id="10654" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="10658" href="Algebra.Bundles.html#10570" class="Field">Carrier</a>
<a id="RawNearSemiring.0#"></a><a id="10670" href="Algebra.Bundles.html#10670" class="Field">0#</a> <a id="10678" class="Symbol">:</a> <a id="10680" href="Algebra.Bundles.html#10570" class="Field">Carrier</a>
<a id="RawNearSemiring.+-rawMonoid"></a><a id="10691" href="Algebra.Bundles.html#10691" class="Function">+-rawMonoid</a> <a id="10703" class="Symbol">:</a> <a id="10705" href="Algebra.Bundles.html#4113" class="Record">RawMonoid</a> <a id="10715" href="Algebra.Bundles.html#10483" class="Bound">c</a> <a id="10717" href="Algebra.Bundles.html#10485" class="Bound"></a>
<a id="10721" href="Algebra.Bundles.html#10691" class="Function">+-rawMonoid</a> <a id="10733" class="Symbol">=</a> <a id="10735" class="Keyword">record</a>
<a id="10746" class="Symbol">{</a> <a id="10748" href="Algebra.Bundles.html#4215" class="Field Operator">_≈_</a> <a id="10752" class="Symbol">=</a> <a id="10754" href="Algebra.Bundles.html#10590" class="Field Operator">_≈_</a>
<a id="10762" class="Symbol">;</a> <a id="10764" href="Algebra.Bundles.html#4243" class="Field Operator">_∙_</a> <a id="10768" class="Symbol">=</a> <a id="10770" href="Algebra.Bundles.html#10618" class="Field Operator">_+_</a>
<a id="10778" class="Symbol">;</a> <a id="10781" href="Algebra.Bundles.html#4269" class="Field">ε</a> <a id="10784" class="Symbol">=</a> <a id="10786" href="Algebra.Bundles.html#10670" class="Field">0#</a>
<a id="10793" class="Symbol">}</a>
<a id="10798" class="Keyword">open</a> <a id="10803" href="Algebra.Bundles.html#4113" class="Module">RawMonoid</a> <a id="10813" href="Algebra.Bundles.html#10691" class="Function">+-rawMonoid</a> <a id="10825" class="Keyword">public</a>
<a id="10836" class="Keyword">using</a> <a id="10842" class="Symbol">(</a><a id="10843" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="10846" class="Symbol">)</a> <a id="10848" class="Keyword">renaming</a> <a id="10857" class="Symbol">(</a><a id="10858" href="Algebra.Bundles.html#4290" class="Function">rawMagma</a> <a id="10867" class="Symbol">to</a> <a id="10870" class="Function">+-rawMagma</a><a id="10880" class="Symbol">)</a>
<a id="RawNearSemiring.*-rawMagma"></a><a id="10885" href="Algebra.Bundles.html#10885" class="Function">*-rawMagma</a> <a id="10896" class="Symbol">:</a> <a id="10898" href="Algebra.Bundles.html#790" class="Record">RawMagma</a> <a id="10907" href="Algebra.Bundles.html#10483" class="Bound">c</a> <a id="10909" href="Algebra.Bundles.html#10485" class="Bound"></a>
<a id="10913" href="Algebra.Bundles.html#10885" class="Function">*-rawMagma</a> <a id="10924" class="Symbol">=</a> <a id="10926" class="Keyword">record</a>
<a id="10937" class="Symbol">{</a> <a id="10939" href="Algebra.Bundles.html#891" class="Field Operator">_≈_</a> <a id="10943" class="Symbol">=</a> <a id="10945" href="Algebra.Bundles.html#10590" class="Field Operator">_≈_</a>
<a id="10953" class="Symbol">;</a> <a id="10955" href="Algebra.Bundles.html#919" class="Field Operator">_∙_</a> <a id="10959" class="Symbol">=</a> <a id="10961" href="Algebra.Bundles.html#10644" class="Field Operator">_*_</a>
<a id="10969" class="Symbol">}</a>
<a id="10973" class="Keyword">record</a> <a id="NearSemiring"></a><a id="10980" href="Algebra.Bundles.html#10980" class="Record">NearSemiring</a> <a id="10993" href="Algebra.Bundles.html#10993" class="Bound">c</a> <a id="10995" href="Algebra.Bundles.html#10995" class="Bound"></a> <a id="10997" class="Symbol">:</a> <a id="10999" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="11003" class="Symbol">(</a><a id="11004" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="11008" class="Symbol">(</a><a id="11009" href="Algebra.Bundles.html#10993" class="Bound">c</a> <a id="11011" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="11013" href="Algebra.Bundles.html#10995" class="Bound"></a><a id="11014" class="Symbol">))</a> <a id="11017" class="Keyword">where</a>
<a id="11025" class="Keyword">infixl</a> <a id="11032" class="Number">7</a> <a id="11034" href="Algebra.Bundles.html#11175" class="Field Operator">_*_</a>
<a id="11040" class="Keyword">infixl</a> <a id="11047" class="Number">6</a> <a id="11049" href="Algebra.Bundles.html#11142" class="Field Operator">_+_</a>
<a id="11055" class="Keyword">infix</a> <a id="11062" class="Number">4</a> <a id="11064" href="Algebra.Bundles.html#11107" class="Field Operator">_≈_</a>
<a id="11070" class="Keyword">field</a>
<a id="NearSemiring.Carrier"></a><a id="11080" href="Algebra.Bundles.html#11080" class="Field">Carrier</a> <a id="11095" class="Symbol">:</a> <a id="11097" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="11101" href="Algebra.Bundles.html#10993" class="Bound">c</a>
<a id="NearSemiring._≈_"></a><a id="11107" href="Algebra.Bundles.html#11107" class="Field Operator">_≈_</a> <a id="11122" class="Symbol">:</a> <a id="11124" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="11128" href="Algebra.Bundles.html#11080" class="Field">Carrier</a> <a id="11136" href="Algebra.Bundles.html#10995" class="Bound"></a>
<a id="NearSemiring._+_"></a><a id="11142" href="Algebra.Bundles.html#11142" class="Field Operator">_+_</a> <a id="11157" class="Symbol">:</a> <a id="11159" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="11163" href="Algebra.Bundles.html#11080" class="Field">Carrier</a>
<a id="NearSemiring._*_"></a><a id="11175" href="Algebra.Bundles.html#11175" class="Field Operator">_*_</a> <a id="11190" class="Symbol">:</a> <a id="11192" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="11196" href="Algebra.Bundles.html#11080" class="Field">Carrier</a>
<a id="NearSemiring.0#"></a><a id="11208" href="Algebra.Bundles.html#11208" class="Field">0#</a> <a id="11223" class="Symbol">:</a> <a id="11225" href="Algebra.Bundles.html#11080" class="Field">Carrier</a>
<a id="NearSemiring.isNearSemiring"></a><a id="11237" href="Algebra.Bundles.html#11237" class="Field">isNearSemiring</a> <a id="11252" class="Symbol">:</a> <a id="11254" href="Algebra.Structures.html#7415" class="Record">IsNearSemiring</a> <a id="11269" href="Algebra.Bundles.html#11107" class="Field Operator">_≈_</a> <a id="11273" href="Algebra.Bundles.html#11142" class="Field Operator">_+_</a> <a id="11277" href="Algebra.Bundles.html#11175" class="Field Operator">_*_</a> <a id="11281" href="Algebra.Bundles.html#11208" class="Field">0#</a>
<a id="11287" class="Keyword">open</a> <a id="11292" href="Algebra.Structures.html#7415" class="Module">IsNearSemiring</a> <a id="11307" href="Algebra.Bundles.html#11237" class="Field">isNearSemiring</a> <a id="11322" class="Keyword">public</a>
<a id="NearSemiring.rawNearSemiring"></a><a id="11332" href="Algebra.Bundles.html#11332" class="Function">rawNearSemiring</a> <a id="11348" class="Symbol">:</a> <a id="11350" href="Algebra.Bundles.html#10467" class="Record">RawNearSemiring</a> <a id="11366" class="Symbol">_</a> <a id="11368" class="Symbol">_</a>
<a id="11372" href="Algebra.Bundles.html#11332" class="Function">rawNearSemiring</a> <a id="11388" class="Symbol">=</a> <a id="11390" class="Keyword">record</a>
<a id="11401" class="Symbol">{</a> <a id="11403" href="Algebra.Bundles.html#10590" class="Field Operator">_≈_</a> <a id="11407" class="Symbol">=</a> <a id="11409" href="Algebra.Bundles.html#11107" class="Field Operator">_≈_</a>
<a id="11417" class="Symbol">;</a> <a id="11419" href="Algebra.Bundles.html#10618" class="Field Operator">_+_</a> <a id="11423" class="Symbol">=</a> <a id="11425" href="Algebra.Bundles.html#11142" class="Field Operator">_+_</a>
<a id="11433" class="Symbol">;</a> <a id="11435" href="Algebra.Bundles.html#10644" class="Field Operator">_*_</a> <a id="11439" class="Symbol">=</a> <a id="11441" href="Algebra.Bundles.html#11175" class="Field Operator">_*_</a>
<a id="11449" class="Symbol">;</a> <a id="11451" href="Algebra.Bundles.html#10670" class="Field">0#</a> <a id="11455" class="Symbol">=</a> <a id="11457" href="Algebra.Bundles.html#11208" class="Field">0#</a>
<a id="11464" class="Symbol">}</a>
<a id="NearSemiring.+-monoid"></a><a id="11469" href="Algebra.Bundles.html#11469" class="Function">+-monoid</a> <a id="11478" class="Symbol">:</a> <a id="11480" href="Algebra.Bundles.html#4430" class="Record">Monoid</a> <a id="11487" class="Symbol">_</a> <a id="11489" class="Symbol">_</a>
<a id="11493" href="Algebra.Bundles.html#11469" class="Function">+-monoid</a> <a id="11502" class="Symbol">=</a> <a id="11504" class="Keyword">record</a> <a id="11511" class="Symbol">{</a> <a id="11513" href="Algebra.Bundles.html#4609" class="Field">isMonoid</a> <a id="11522" class="Symbol">=</a> <a id="11524" href="Algebra.Structures.html#7485" class="Function">+-isMonoid</a> <a id="11535" class="Symbol">}</a>
<a id="11540" class="Keyword">open</a> <a id="11545" href="Algebra.Bundles.html#4430" class="Module">Monoid</a> <a id="11552" href="Algebra.Bundles.html#11469" class="Function">+-monoid</a> <a id="11561" class="Keyword">public</a>
<a id="11572" class="Keyword">using</a> <a id="11578" class="Symbol">(</a><a id="11579" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="11582" class="Symbol">)</a> <a id="11584" class="Keyword">renaming</a>
<a id="11597" class="Symbol">(</a> <a id="11599" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a> <a id="11609" class="Symbol">to</a> <a id="11612" class="Function">+-rawMagma</a>
<a id="11627" class="Symbol">;</a> <a id="11629" href="Algebra.Bundles.html#2396" class="Function">magma</a> <a id="11639" class="Symbol">to</a> <a id="11642" class="Function">+-magma</a>
<a id="11654" class="Symbol">;</a> <a id="11656" href="Algebra.Bundles.html#4675" class="Function">semigroup</a> <a id="11666" class="Symbol">to</a> <a id="11669" class="Function">+-semigroup</a>
<a id="11685" class="Symbol">;</a> <a id="11687" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a> <a id="11697" class="Symbol">to</a> <a id="11700" class="Function">+-rawMonoid</a>
<a id="11716" class="Symbol">)</a>
<a id="NearSemiring.*-semigroup"></a><a id="11721" href="Algebra.Bundles.html#11721" class="Function">*-semigroup</a> <a id="11733" class="Symbol">:</a> <a id="11735" href="Algebra.Bundles.html#2152" class="Record">Semigroup</a> <a id="11745" class="Symbol">_</a> <a id="11747" class="Symbol">_</a>
<a id="11751" href="Algebra.Bundles.html#11721" class="Function">*-semigroup</a> <a id="11763" class="Symbol">=</a> <a id="11765" class="Keyword">record</a> <a id="11772" class="Symbol">{</a> <a id="11774" href="Algebra.Bundles.html#2320" class="Field">isSemigroup</a> <a id="11786" class="Symbol">=</a> <a id="11788" href="Algebra.Structures.html#7519" class="Function">*-isSemigroup</a> <a id="11802" class="Symbol">}</a>
<a id="11807" class="Keyword">open</a> <a id="11812" href="Algebra.Bundles.html#2152" class="Module">Semigroup</a> <a id="11822" href="Algebra.Bundles.html#11721" class="Function">*-semigroup</a> <a id="11834" class="Keyword">public</a>
<a id="11845" class="Keyword">using</a> <a id="11851" class="Symbol">()</a> <a id="11854" class="Keyword">renaming</a>
<a id="11867" class="Symbol">(</a> <a id="11869" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a> <a id="11878" class="Symbol">to</a> <a id="11881" class="Function">*-rawMagma</a>
<a id="11896" class="Symbol">;</a> <a id="11898" href="Algebra.Bundles.html#2396" class="Function">magma</a> <a id="11907" class="Symbol">to</a> <a id="11910" class="Function">*-magma</a>
<a id="11922" class="Symbol">)</a>
<a id="11926" class="Keyword">record</a> <a id="SemiringWithoutOne"></a><a id="11933" href="Algebra.Bundles.html#11933" class="Record">SemiringWithoutOne</a> <a id="11952" href="Algebra.Bundles.html#11952" class="Bound">c</a> <a id="11954" href="Algebra.Bundles.html#11954" class="Bound"></a> <a id="11956" class="Symbol">:</a> <a id="11958" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="11962" class="Symbol">(</a><a id="11963" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="11967" class="Symbol">(</a><a id="11968" href="Algebra.Bundles.html#11952" class="Bound">c</a> <a id="11970" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="11972" href="Algebra.Bundles.html#11954" class="Bound"></a><a id="11973" class="Symbol">))</a> <a id="11976" class="Keyword">where</a>
<a id="11984" class="Keyword">infixl</a> <a id="11991" class="Number">7</a> <a id="11993" href="Algebra.Bundles.html#12152" class="Field Operator">_*_</a>
<a id="11999" class="Keyword">infixl</a> <a id="12006" class="Number">6</a> <a id="12008" href="Algebra.Bundles.html#12113" class="Field Operator">_+_</a>
<a id="12014" class="Keyword">infix</a> <a id="12021" class="Number">4</a> <a id="12023" href="Algebra.Bundles.html#12072" class="Field Operator">_≈_</a>
<a id="12029" class="Keyword">field</a>
<a id="SemiringWithoutOne.Carrier"></a><a id="12039" href="Algebra.Bundles.html#12039" class="Field">Carrier</a> <a id="12060" class="Symbol">:</a> <a id="12062" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="12066" href="Algebra.Bundles.html#11952" class="Bound">c</a>
<a id="SemiringWithoutOne._≈_"></a><a id="12072" href="Algebra.Bundles.html#12072" class="Field Operator">_≈_</a> <a id="12093" class="Symbol">:</a> <a id="12095" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="12099" href="Algebra.Bundles.html#12039" class="Field">Carrier</a> <a id="12107" href="Algebra.Bundles.html#11954" class="Bound"></a>
<a id="SemiringWithoutOne._+_"></a><a id="12113" href="Algebra.Bundles.html#12113" class="Field Operator">_+_</a> <a id="12134" class="Symbol">:</a> <a id="12136" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="12140" href="Algebra.Bundles.html#12039" class="Field">Carrier</a>
<a id="SemiringWithoutOne._*_"></a><a id="12152" href="Algebra.Bundles.html#12152" class="Field Operator">_*_</a> <a id="12173" class="Symbol">:</a> <a id="12175" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="12179" href="Algebra.Bundles.html#12039" class="Field">Carrier</a>
<a id="SemiringWithoutOne.0#"></a><a id="12191" href="Algebra.Bundles.html#12191" class="Field">0#</a> <a id="12212" class="Symbol">:</a> <a id="12214" href="Algebra.Bundles.html#12039" class="Field">Carrier</a>
<a id="SemiringWithoutOne.isSemiringWithoutOne"></a><a id="12226" href="Algebra.Bundles.html#12226" class="Field">isSemiringWithoutOne</a> <a id="12247" class="Symbol">:</a> <a id="12249" href="Algebra.Structures.html#8170" class="Record">IsSemiringWithoutOne</a> <a id="12270" href="Algebra.Bundles.html#12072" class="Field Operator">_≈_</a> <a id="12274" href="Algebra.Bundles.html#12113" class="Field Operator">_+_</a> <a id="12278" href="Algebra.Bundles.html#12152" class="Field Operator">_*_</a> <a id="12282" href="Algebra.Bundles.html#12191" class="Field">0#</a>
<a id="12288" class="Keyword">open</a> <a id="12293" href="Algebra.Structures.html#8170" class="Module">IsSemiringWithoutOne</a> <a id="12314" href="Algebra.Bundles.html#12226" class="Field">isSemiringWithoutOne</a> <a id="12335" class="Keyword">public</a>
<a id="SemiringWithoutOne.nearSemiring"></a><a id="12345" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a> <a id="12358" class="Symbol">:</a> <a id="12360" href="Algebra.Bundles.html#10980" class="Record">NearSemiring</a> <a id="12373" class="Symbol">_</a> <a id="12375" class="Symbol">_</a>
<a id="12379" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a> <a id="12392" class="Symbol">=</a> <a id="12394" class="Keyword">record</a> <a id="12401" class="Symbol">{</a> <a id="12403" href="Algebra.Bundles.html#11237" class="Field">isNearSemiring</a> <a id="12418" class="Symbol">=</a> <a id="12420" href="Algebra.Structures.html#8800" class="Function">isNearSemiring</a> <a id="12435" class="Symbol">}</a>
<a id="12440" class="Keyword">open</a> <a id="12445" href="Algebra.Bundles.html#10980" class="Module">NearSemiring</a> <a id="12458" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a> <a id="12471" class="Keyword">public</a>
<a id="12482" class="Keyword">using</a>
<a id="12492" class="Symbol">(</a> <a id="12494" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="12497" class="Symbol">;</a> <a id="12499" href="Algebra.Bundles.html#11612" class="Function">+-rawMagma</a><a id="12509" class="Symbol">;</a> <a id="12511" href="Algebra.Bundles.html#11642" class="Function">+-magma</a><a id="12518" class="Symbol">;</a> <a id="12520" href="Algebra.Bundles.html#11669" class="Function">+-semigroup</a>
<a id="12536" class="Symbol">;</a> <a id="12538" href="Algebra.Bundles.html#11700" class="Function">+-rawMonoid</a><a id="12549" class="Symbol">;</a> <a id="12551" href="Algebra.Bundles.html#11469" class="Function">+-monoid</a>
<a id="12564" class="Symbol">;</a> <a id="12566" href="Algebra.Bundles.html#11881" class="Function">*-rawMagma</a><a id="12576" class="Symbol">;</a> <a id="12578" href="Algebra.Bundles.html#11910" class="Function">*-magma</a><a id="12585" class="Symbol">;</a> <a id="12587" href="Algebra.Bundles.html#11721" class="Function">*-semigroup</a>
<a id="12603" class="Symbol">;</a> <a id="12605" href="Algebra.Bundles.html#11332" class="Function">rawNearSemiring</a>
<a id="12625" class="Symbol">)</a>
<a id="SemiringWithoutOne.+-commutativeMonoid"></a><a id="12630" href="Algebra.Bundles.html#12630" class="Function">+-commutativeMonoid</a> <a id="12650" class="Symbol">:</a> <a id="12652" href="Algebra.Bundles.html#4910" class="Record">CommutativeMonoid</a> <a id="12670" class="Symbol">_</a> <a id="12672" class="Symbol">_</a>
<a id="12676" href="Algebra.Bundles.html#12630" class="Function">+-commutativeMonoid</a> <a id="12696" class="Symbol">=</a> <a id="12698" class="Keyword">record</a> <a id="12705" class="Symbol">{</a> <a id="12707" href="Algebra.Bundles.html#5144" class="Field">isCommutativeMonoid</a> <a id="12727" class="Symbol">=</a> <a id="12729" href="Algebra.Structures.html#8246" class="Function">+-isCommutativeMonoid</a> <a id="12751" class="Symbol">}</a>
<a id="12756" class="Keyword">open</a> <a id="12761" href="Algebra.Bundles.html#4910" class="Module">CommutativeMonoid</a> <a id="12779" href="Algebra.Bundles.html#12630" class="Function">+-commutativeMonoid</a> <a id="12799" class="Keyword">public</a>
<a id="12810" class="Keyword">using</a> <a id="12816" class="Symbol">()</a> <a id="12819" class="Keyword">renaming</a>
<a id="12832" class="Symbol">(</a> <a id="12834" href="Algebra.Bundles.html#3361" class="Function">commutativeMagma</a> <a id="12855" class="Symbol">to</a> <a id="12858" class="Function">+-commutativeMagma</a>
<a id="12881" class="Symbol">;</a> <a id="12883" href="Algebra.Bundles.html#5403" class="Function">commutativeSemigroup</a> <a id="12904" class="Symbol">to</a> <a id="12907" class="Function">+-commutativeSemigroup</a>
<a id="12934" class="Symbol">)</a>
<a id="12938" class="Keyword">record</a> <a id="CommutativeSemiringWithoutOne"></a><a id="12945" href="Algebra.Bundles.html#12945" class="Record">CommutativeSemiringWithoutOne</a> <a id="12975" href="Algebra.Bundles.html#12975" class="Bound">c</a> <a id="12977" href="Algebra.Bundles.html#12977" class="Bound"></a> <a id="12979" class="Symbol">:</a> <a id="12981" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="12985" class="Symbol">(</a><a id="12986" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="12990" class="Symbol">(</a><a id="12991" href="Algebra.Bundles.html#12975" class="Bound">c</a> <a id="12993" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="12995" href="Algebra.Bundles.html#12977" class="Bound"></a><a id="12996" class="Symbol">))</a> <a id="12999" class="Keyword">where</a>
<a id="13007" class="Keyword">infixl</a> <a id="13014" class="Number">7</a> <a id="13016" href="Algebra.Bundles.html#13208" class="Field Operator">_*_</a>
<a id="13022" class="Keyword">infixl</a> <a id="13029" class="Number">6</a> <a id="13031" href="Algebra.Bundles.html#13158" class="Field Operator">_+_</a>
<a id="13037" class="Keyword">infix</a> <a id="13044" class="Number">4</a> <a id="13046" href="Algebra.Bundles.html#13106" class="Field Operator">_≈_</a>
<a id="13052" class="Keyword">field</a>
<a id="CommutativeSemiringWithoutOne.Carrier"></a><a id="13062" href="Algebra.Bundles.html#13062" class="Field">Carrier</a> <a id="13094" class="Symbol">:</a> <a id="13096" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="13100" href="Algebra.Bundles.html#12975" class="Bound">c</a>
<a id="CommutativeSemiringWithoutOne._≈_"></a><a id="13106" href="Algebra.Bundles.html#13106" class="Field Operator">_≈_</a> <a id="13138" class="Symbol">:</a> <a id="13140" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="13144" href="Algebra.Bundles.html#13062" class="Field">Carrier</a> <a id="13152" href="Algebra.Bundles.html#12977" class="Bound"></a>
<a id="CommutativeSemiringWithoutOne._+_"></a><a id="13158" href="Algebra.Bundles.html#13158" class="Field Operator">_+_</a> <a id="13190" class="Symbol">:</a> <a id="13192" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="13196" href="Algebra.Bundles.html#13062" class="Field">Carrier</a>
<a id="CommutativeSemiringWithoutOne._*_"></a><a id="13208" href="Algebra.Bundles.html#13208" class="Field Operator">_*_</a> <a id="13240" class="Symbol">:</a> <a id="13242" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="13246" href="Algebra.Bundles.html#13062" class="Field">Carrier</a>
<a id="CommutativeSemiringWithoutOne.0#"></a><a id="13258" href="Algebra.Bundles.html#13258" class="Field">0#</a> <a id="13290" class="Symbol">:</a> <a id="13292" href="Algebra.Bundles.html#13062" class="Field">Carrier</a>
<a id="CommutativeSemiringWithoutOne.isCommutativeSemiringWithoutOne"></a><a id="13304" href="Algebra.Bundles.html#13304" class="Field">isCommutativeSemiringWithoutOne</a> <a id="13336" class="Symbol">:</a>
<a id="13344" href="Algebra.Structures.html#9104" class="Record">IsCommutativeSemiringWithoutOne</a> <a id="13376" href="Algebra.Bundles.html#13106" class="Field Operator">_≈_</a> <a id="13380" href="Algebra.Bundles.html#13158" class="Field Operator">_+_</a> <a id="13384" href="Algebra.Bundles.html#13208" class="Field Operator">_*_</a> <a id="13388" href="Algebra.Bundles.html#13258" class="Field">0#</a>
<a id="13394" class="Keyword">open</a> <a id="13399" href="Algebra.Structures.html#9104" class="Module">IsCommutativeSemiringWithoutOne</a>
<a id="13440" href="Algebra.Bundles.html#13304" class="Field">isCommutativeSemiringWithoutOne</a> <a id="13472" class="Keyword">public</a>
<a id="CommutativeSemiringWithoutOne.semiringWithoutOne"></a><a id="13482" href="Algebra.Bundles.html#13482" class="Function">semiringWithoutOne</a> <a id="13501" class="Symbol">:</a> <a id="13503" href="Algebra.Bundles.html#11933" class="Record">SemiringWithoutOne</a> <a id="13522" class="Symbol">_</a> <a id="13524" class="Symbol">_</a>
<a id="13528" href="Algebra.Bundles.html#13482" class="Function">semiringWithoutOne</a> <a id="13547" class="Symbol">=</a>
<a id="13553" class="Keyword">record</a> <a id="13560" class="Symbol">{</a> <a id="13562" href="Algebra.Bundles.html#12226" class="Field">isSemiringWithoutOne</a> <a id="13583" class="Symbol">=</a> <a id="13585" href="Algebra.Structures.html#9200" class="Function">isSemiringWithoutOne</a> <a id="13606" class="Symbol">}</a>
<a id="13611" class="Keyword">open</a> <a id="13616" href="Algebra.Bundles.html#11933" class="Module">SemiringWithoutOne</a> <a id="13635" href="Algebra.Bundles.html#13482" class="Function">semiringWithoutOne</a> <a id="13654" class="Keyword">public</a>
<a id="13665" class="Keyword">using</a>
<a id="13675" class="Symbol">(</a> <a id="13677" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="13680" class="Symbol">;</a> <a id="13682" href="Algebra.Bundles.html#11612" class="Function">+-rawMagma</a><a id="13692" class="Symbol">;</a> <a id="13694" href="Algebra.Bundles.html#11642" class="Function">+-magma</a><a id="13701" class="Symbol">;</a> <a id="13703" href="Algebra.Bundles.html#11669" class="Function">+-semigroup</a><a id="13714" class="Symbol">;</a> <a id="13716" href="Algebra.Bundles.html#12907" class="Function">+-commutativeSemigroup</a>
<a id="13743" class="Symbol">;</a> <a id="13745" href="Algebra.Bundles.html#11881" class="Function">*-rawMagma</a><a id="13755" class="Symbol">;</a> <a id="13757" href="Algebra.Bundles.html#11910" class="Function">*-magma</a><a id="13764" class="Symbol">;</a> <a id="13766" href="Algebra.Bundles.html#11721" class="Function">*-semigroup</a>
<a id="13782" class="Symbol">;</a> <a id="13784" href="Algebra.Bundles.html#11700" class="Function">+-rawMonoid</a><a id="13795" class="Symbol">;</a> <a id="13797" href="Algebra.Bundles.html#11469" class="Function">+-monoid</a><a id="13805" class="Symbol">;</a> <a id="13807" href="Algebra.Bundles.html#12630" class="Function">+-commutativeMonoid</a>
<a id="13831" class="Symbol">;</a> <a id="13833" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a><a id="13845" class="Symbol">;</a> <a id="13847" href="Algebra.Bundles.html#11332" class="Function">rawNearSemiring</a>
<a id="13867" class="Symbol">)</a>
<a id="13870" class="Comment">------------------------------------------------------------------------</a>
<a id="13943" class="Comment">-- Bundles with 2 binary operations &amp; 2 elements</a>
<a id="13992" class="Comment">------------------------------------------------------------------------</a>
<a id="14066" class="Keyword">record</a> <a id="RawSemiring"></a><a id="14073" href="Algebra.Bundles.html#14073" class="Record">RawSemiring</a> <a id="14085" href="Algebra.Bundles.html#14085" class="Bound">c</a> <a id="14087" href="Algebra.Bundles.html#14087" class="Bound"></a> <a id="14089" class="Symbol">:</a> <a id="14091" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="14095" class="Symbol">(</a><a id="14096" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="14100" class="Symbol">(</a><a id="14101" href="Algebra.Bundles.html#14085" class="Bound">c</a> <a id="14103" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="14105" href="Algebra.Bundles.html#14087" class="Bound"></a><a id="14106" class="Symbol">))</a> <a id="14109" class="Keyword">where</a>
<a id="14117" class="Keyword">infixl</a> <a id="14124" class="Number">7</a> <a id="14126" href="Algebra.Bundles.html#14246" class="Field Operator">_*_</a>
<a id="14132" class="Keyword">infixl</a> <a id="14139" class="Number">6</a> <a id="14141" href="Algebra.Bundles.html#14220" class="Field Operator">_+_</a>
<a id="14147" class="Keyword">infix</a> <a id="14154" class="Number">4</a> <a id="14156" href="Algebra.Bundles.html#14192" class="Field Operator">_≈_</a>
<a id="14162" class="Keyword">field</a>
<a id="RawSemiring.Carrier"></a><a id="14172" href="Algebra.Bundles.html#14172" class="Field">Carrier</a> <a id="14180" class="Symbol">:</a> <a id="14182" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="14186" href="Algebra.Bundles.html#14085" class="Bound">c</a>
<a id="RawSemiring._≈_"></a><a id="14192" href="Algebra.Bundles.html#14192" class="Field Operator">_≈_</a> <a id="14200" class="Symbol">:</a> <a id="14202" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="14206" href="Algebra.Bundles.html#14172" class="Field">Carrier</a> <a id="14214" href="Algebra.Bundles.html#14087" class="Bound"></a>
<a id="RawSemiring._+_"></a><a id="14220" href="Algebra.Bundles.html#14220" class="Field Operator">_+_</a> <a id="14228" class="Symbol">:</a> <a id="14230" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="14234" href="Algebra.Bundles.html#14172" class="Field">Carrier</a>
<a id="RawSemiring._*_"></a><a id="14246" href="Algebra.Bundles.html#14246" class="Field Operator">_*_</a> <a id="14254" class="Symbol">:</a> <a id="14256" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="14260" href="Algebra.Bundles.html#14172" class="Field">Carrier</a>
<a id="RawSemiring.0#"></a><a id="14272" href="Algebra.Bundles.html#14272" class="Field">0#</a> <a id="14280" class="Symbol">:</a> <a id="14282" href="Algebra.Bundles.html#14172" class="Field">Carrier</a>
<a id="RawSemiring.1#"></a><a id="14294" href="Algebra.Bundles.html#14294" class="Field">1#</a> <a id="14302" class="Symbol">:</a> <a id="14304" href="Algebra.Bundles.html#14172" class="Field">Carrier</a>
<a id="RawSemiring.rawNearSemiring"></a><a id="14315" href="Algebra.Bundles.html#14315" class="Function">rawNearSemiring</a> <a id="14331" class="Symbol">:</a> <a id="14333" href="Algebra.Bundles.html#10467" class="Record">RawNearSemiring</a> <a id="14349" href="Algebra.Bundles.html#14085" class="Bound">c</a> <a id="14351" href="Algebra.Bundles.html#14087" class="Bound"></a>
<a id="14355" href="Algebra.Bundles.html#14315" class="Function">rawNearSemiring</a> <a id="14371" class="Symbol">=</a> <a id="14373" class="Keyword">record</a>
<a id="14384" class="Symbol">{</a> <a id="14386" href="Algebra.Bundles.html#10590" class="Field Operator">_≈_</a> <a id="14390" class="Symbol">=</a> <a id="14392" href="Algebra.Bundles.html#14192" class="Field Operator">_≈_</a>
<a id="14400" class="Symbol">;</a> <a id="14402" href="Algebra.Bundles.html#10618" class="Field Operator">_+_</a> <a id="14406" class="Symbol">=</a> <a id="14408" href="Algebra.Bundles.html#14220" class="Field Operator">_+_</a>
<a id="14416" class="Symbol">;</a> <a id="14418" href="Algebra.Bundles.html#10644" class="Field Operator">_*_</a> <a id="14422" class="Symbol">=</a> <a id="14424" href="Algebra.Bundles.html#14246" class="Field Operator">_*_</a>
<a id="14432" class="Symbol">;</a> <a id="14434" href="Algebra.Bundles.html#10670" class="Field">0#</a> <a id="14438" class="Symbol">=</a> <a id="14440" href="Algebra.Bundles.html#14272" class="Field">0#</a>
<a id="14447" class="Symbol">}</a>
<a id="14452" class="Keyword">open</a> <a id="14457" href="Algebra.Bundles.html#10467" class="Module">RawNearSemiring</a> <a id="14473" href="Algebra.Bundles.html#14315" class="Function">rawNearSemiring</a> <a id="14489" class="Keyword">public</a>
<a id="14500" class="Keyword">using</a> <a id="14506" class="Symbol">(</a><a id="14507" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="14510" class="Symbol">;</a> <a id="14512" href="Algebra.Bundles.html#10691" class="Function">+-rawMonoid</a><a id="14523" class="Symbol">;</a> <a id="14525" href="Algebra.Bundles.html#10870" class="Function">+-rawMagma</a><a id="14535" class="Symbol">;</a> <a id="14537" href="Algebra.Bundles.html#10885" class="Function">*-rawMagma</a><a id="14547" class="Symbol">)</a>
<a id="RawSemiring.*-rawMonoid"></a><a id="14552" href="Algebra.Bundles.html#14552" class="Function">*-rawMonoid</a> <a id="14564" class="Symbol">:</a> <a id="14566" href="Algebra.Bundles.html#4113" class="Record">RawMonoid</a> <a id="14576" href="Algebra.Bundles.html#14085" class="Bound">c</a> <a id="14578" href="Algebra.Bundles.html#14087" class="Bound"></a>
<a id="14582" href="Algebra.Bundles.html#14552" class="Function">*-rawMonoid</a> <a id="14594" class="Symbol">=</a> <a id="14596" class="Keyword">record</a>
<a id="14607" class="Symbol">{</a> <a id="14609" href="Algebra.Bundles.html#4215" class="Field Operator">_≈_</a> <a id="14613" class="Symbol">=</a> <a id="14615" href="Algebra.Bundles.html#14192" class="Field Operator">_≈_</a>
<a id="14623" class="Symbol">;</a> <a id="14625" href="Algebra.Bundles.html#4243" class="Field Operator">_∙_</a> <a id="14629" class="Symbol">=</a> <a id="14631" href="Algebra.Bundles.html#14246" class="Field Operator">_*_</a>
<a id="14639" class="Symbol">;</a> <a id="14641" href="Algebra.Bundles.html#4269" class="Field">ε</a> <a id="14645" class="Symbol">=</a> <a id="14647" href="Algebra.Bundles.html#14294" class="Field">1#</a>
<a id="14654" class="Symbol">}</a>
<a id="14658" class="Keyword">record</a> <a id="SemiringWithoutAnnihilatingZero"></a><a id="14665" href="Algebra.Bundles.html#14665" class="Record">SemiringWithoutAnnihilatingZero</a> <a id="14697" href="Algebra.Bundles.html#14697" class="Bound">c</a> <a id="14699" href="Algebra.Bundles.html#14699" class="Bound"></a> <a id="14701" class="Symbol">:</a> <a id="14703" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="14707" class="Symbol">(</a><a id="14708" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="14712" class="Symbol">(</a><a id="14713" href="Algebra.Bundles.html#14697" class="Bound">c</a> <a id="14715" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="14717" href="Algebra.Bundles.html#14699" class="Bound"></a><a id="14718" class="Symbol">))</a> <a id="14721" class="Keyword">where</a>
<a id="14729" class="Keyword">infixl</a> <a id="14736" class="Number">7</a> <a id="14738" href="Algebra.Bundles.html#14936" class="Field Operator">_*_</a>
<a id="14744" class="Keyword">infixl</a> <a id="14751" class="Number">6</a> <a id="14753" href="Algebra.Bundles.html#14884" class="Field Operator">_+_</a>
<a id="14759" class="Keyword">infix</a> <a id="14766" class="Number">4</a> <a id="14768" href="Algebra.Bundles.html#14830" class="Field Operator">_≈_</a>
<a id="14774" class="Keyword">field</a>
<a id="SemiringWithoutAnnihilatingZero.Carrier"></a><a id="14784" href="Algebra.Bundles.html#14784" class="Field">Carrier</a> <a id="14818" class="Symbol">:</a> <a id="14820" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="14824" href="Algebra.Bundles.html#14697" class="Bound">c</a>
<a id="SemiringWithoutAnnihilatingZero._≈_"></a><a id="14830" href="Algebra.Bundles.html#14830" class="Field Operator">_≈_</a> <a id="14864" class="Symbol">:</a> <a id="14866" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="14870" href="Algebra.Bundles.html#14784" class="Field">Carrier</a> <a id="14878" href="Algebra.Bundles.html#14699" class="Bound"></a>
<a id="SemiringWithoutAnnihilatingZero._+_"></a><a id="14884" href="Algebra.Bundles.html#14884" class="Field Operator">_+_</a> <a id="14918" class="Symbol">:</a> <a id="14920" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="14924" href="Algebra.Bundles.html#14784" class="Field">Carrier</a>
<a id="SemiringWithoutAnnihilatingZero._*_"></a><a id="14936" href="Algebra.Bundles.html#14936" class="Field Operator">_*_</a> <a id="14970" class="Symbol">:</a> <a id="14972" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="14976" href="Algebra.Bundles.html#14784" class="Field">Carrier</a>
<a id="SemiringWithoutAnnihilatingZero.0#"></a><a id="14988" href="Algebra.Bundles.html#14988" class="Field">0#</a> <a id="15022" class="Symbol">:</a> <a id="15024" href="Algebra.Bundles.html#14784" class="Field">Carrier</a>
<a id="SemiringWithoutAnnihilatingZero.1#"></a><a id="15036" href="Algebra.Bundles.html#15036" class="Field">1#</a> <a id="15070" class="Symbol">:</a> <a id="15072" href="Algebra.Bundles.html#14784" class="Field">Carrier</a>
<a id="SemiringWithoutAnnihilatingZero.isSemiringWithoutAnnihilatingZero"></a><a id="15084" href="Algebra.Bundles.html#15084" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="15118" class="Symbol">:</a>
<a id="15126" href="Algebra.Structures.html#9844" class="Record">IsSemiringWithoutAnnihilatingZero</a> <a id="15160" href="Algebra.Bundles.html#14830" class="Field Operator">_≈_</a> <a id="15164" href="Algebra.Bundles.html#14884" class="Field Operator">_+_</a> <a id="15168" href="Algebra.Bundles.html#14936" class="Field Operator">_*_</a> <a id="15172" href="Algebra.Bundles.html#14988" class="Field">0#</a> <a id="15175" href="Algebra.Bundles.html#15036" class="Field">1#</a>
<a id="15181" class="Keyword">open</a> <a id="15186" href="Algebra.Structures.html#9844" class="Module">IsSemiringWithoutAnnihilatingZero</a>
<a id="15229" href="Algebra.Bundles.html#15084" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="15263" class="Keyword">public</a>
<a id="SemiringWithoutAnnihilatingZero.rawSemiring"></a><a id="15273" href="Algebra.Bundles.html#15273" class="Function">rawSemiring</a> <a id="15285" class="Symbol">:</a> <a id="15287" href="Algebra.Bundles.html#14073" class="Record">RawSemiring</a> <a id="15299" href="Algebra.Bundles.html#14697" class="Bound">c</a> <a id="15301" href="Algebra.Bundles.html#14699" class="Bound"></a>
<a id="15305" href="Algebra.Bundles.html#15273" class="Function">rawSemiring</a> <a id="15317" class="Symbol">=</a> <a id="15319" class="Keyword">record</a>
<a id="15330" class="Symbol">{</a> <a id="15332" href="Algebra.Bundles.html#14192" class="Field Operator">_≈_</a> <a id="15336" class="Symbol">=</a> <a id="15338" href="Algebra.Bundles.html#14830" class="Field Operator">_≈_</a>
<a id="15346" class="Symbol">;</a> <a id="15348" href="Algebra.Bundles.html#14220" class="Field Operator">_+_</a> <a id="15352" class="Symbol">=</a> <a id="15354" href="Algebra.Bundles.html#14884" class="Field Operator">_+_</a>
<a id="15362" class="Symbol">;</a> <a id="15364" href="Algebra.Bundles.html#14246" class="Field Operator">_*_</a> <a id="15368" class="Symbol">=</a> <a id="15370" href="Algebra.Bundles.html#14936" class="Field Operator">_*_</a>
<a id="15378" class="Symbol">;</a> <a id="15380" href="Algebra.Bundles.html#14272" class="Field">0#</a> <a id="15384" class="Symbol">=</a> <a id="15386" href="Algebra.Bundles.html#14988" class="Field">0#</a>
<a id="15393" class="Symbol">;</a> <a id="15395" href="Algebra.Bundles.html#14294" class="Field">1#</a> <a id="15399" class="Symbol">=</a> <a id="15401" href="Algebra.Bundles.html#15036" class="Field">1#</a>
<a id="15408" class="Symbol">}</a>
<a id="15413" class="Keyword">open</a> <a id="15418" href="Algebra.Bundles.html#14073" class="Module">RawSemiring</a> <a id="15430" href="Algebra.Bundles.html#15273" class="Function">rawSemiring</a> <a id="15442" class="Keyword">public</a>
<a id="15453" class="Keyword">using</a> <a id="15459" class="Symbol">(</a><a id="15460" href="Algebra.Bundles.html#14315" class="Function">rawNearSemiring</a><a id="15475" class="Symbol">)</a>
<a id="SemiringWithoutAnnihilatingZero.+-commutativeMonoid"></a><a id="15480" href="Algebra.Bundles.html#15480" class="Function">+-commutativeMonoid</a> <a id="15500" class="Symbol">:</a> <a id="15502" href="Algebra.Bundles.html#4910" class="Record">CommutativeMonoid</a> <a id="15520" class="Symbol">_</a> <a id="15522" class="Symbol">_</a>
<a id="15526" href="Algebra.Bundles.html#15480" class="Function">+-commutativeMonoid</a> <a id="15546" class="Symbol">=</a>
<a id="15552" class="Keyword">record</a> <a id="15559" class="Symbol">{</a> <a id="15561" href="Algebra.Bundles.html#5144" class="Field">isCommutativeMonoid</a> <a id="15581" class="Symbol">=</a> <a id="15583" href="Algebra.Structures.html#10106" class="Function">+-isCommutativeMonoid</a> <a id="15605" class="Symbol">}</a>
<a id="15610" class="Keyword">open</a> <a id="15615" href="Algebra.Bundles.html#4910" class="Module">CommutativeMonoid</a> <a id="15633" href="Algebra.Bundles.html#15480" class="Function">+-commutativeMonoid</a> <a id="15653" class="Keyword">public</a>
<a id="15664" class="Keyword">using</a> <a id="15670" class="Symbol">(</a><a id="15671" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="15674" class="Symbol">)</a> <a id="15676" class="Keyword">renaming</a>
<a id="15689" class="Symbol">(</a> <a id="15691" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a> <a id="15712" class="Symbol">to</a> <a id="15715" class="Function">+-rawMagma</a>
<a id="15730" class="Symbol">;</a> <a id="15732" href="Algebra.Bundles.html#2396" class="Function">magma</a> <a id="15753" class="Symbol">to</a> <a id="15756" class="Function">+-magma</a>
<a id="15768" class="Symbol">;</a> <a id="15770" href="Algebra.Bundles.html#3361" class="Function">commutativeMagma</a> <a id="15791" class="Symbol">to</a> <a id="15794" class="Function">+-commutativeMagma</a>
<a id="15817" class="Symbol">;</a> <a id="15819" href="Algebra.Bundles.html#4675" class="Function">semigroup</a> <a id="15840" class="Symbol">to</a> <a id="15843" class="Function">+-semigroup</a>
<a id="15859" class="Symbol">;</a> <a id="15861" href="Algebra.Bundles.html#5403" class="Function">commutativeSemigroup</a> <a id="15882" class="Symbol">to</a> <a id="15885" class="Function">+-commutativeSemigroup</a>
<a id="15912" class="Symbol">;</a> <a id="15914" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a> <a id="15935" class="Symbol">to</a> <a id="15938" class="Function">+-rawMonoid</a>
<a id="15954" class="Symbol">;</a> <a id="15956" href="Algebra.Bundles.html#5254" class="Function">monoid</a> <a id="15977" class="Symbol">to</a> <a id="15980" class="Function">+-monoid</a>
<a id="15993" class="Symbol">)</a>
<a id="SemiringWithoutAnnihilatingZero.*-monoid"></a><a id="15998" href="Algebra.Bundles.html#15998" class="Function">*-monoid</a> <a id="16007" class="Symbol">:</a> <a id="16009" href="Algebra.Bundles.html#4430" class="Record">Monoid</a> <a id="16016" class="Symbol">_</a> <a id="16018" class="Symbol">_</a>
<a id="16022" href="Algebra.Bundles.html#15998" class="Function">*-monoid</a> <a id="16031" class="Symbol">=</a> <a id="16033" class="Keyword">record</a> <a id="16040" class="Symbol">{</a> <a id="16042" href="Algebra.Bundles.html#4609" class="Field">isMonoid</a> <a id="16051" class="Symbol">=</a> <a id="16053" href="Algebra.Structures.html#10159" class="Function">*-isMonoid</a> <a id="16064" class="Symbol">}</a>
<a id="16069" class="Keyword">open</a> <a id="16074" href="Algebra.Bundles.html#4430" class="Module">Monoid</a> <a id="16081" href="Algebra.Bundles.html#15998" class="Function">*-monoid</a> <a id="16090" class="Keyword">public</a>
<a id="16101" class="Keyword">using</a> <a id="16107" class="Symbol">()</a> <a id="16110" class="Keyword">renaming</a>
<a id="16123" class="Symbol">(</a> <a id="16125" href="Algebra.Bundles.html#1221" class="Function">rawMagma</a> <a id="16135" class="Symbol">to</a> <a id="16138" class="Function">*-rawMagma</a>
<a id="16153" class="Symbol">;</a> <a id="16155" href="Algebra.Bundles.html#2396" class="Function">magma</a> <a id="16165" class="Symbol">to</a> <a id="16168" class="Function">*-magma</a>
<a id="16180" class="Symbol">;</a> <a id="16182" href="Algebra.Bundles.html#4675" class="Function">semigroup</a> <a id="16192" class="Symbol">to</a> <a id="16195" class="Function">*-semigroup</a>
<a id="16211" class="Symbol">;</a> <a id="16213" href="Algebra.Bundles.html#4823" class="Function">rawMonoid</a> <a id="16223" class="Symbol">to</a> <a id="16226" class="Function">*-rawMonoid</a>
<a id="16242" class="Symbol">)</a>
<a id="16246" class="Keyword">record</a> <a id="Semiring"></a><a id="16253" href="Algebra.Bundles.html#16253" class="Record">Semiring</a> <a id="16262" href="Algebra.Bundles.html#16262" class="Bound">c</a> <a id="16264" href="Algebra.Bundles.html#16264" class="Bound"></a> <a id="16266" class="Symbol">:</a> <a id="16268" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="16272" class="Symbol">(</a><a id="16273" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="16277" class="Symbol">(</a><a id="16278" href="Algebra.Bundles.html#16262" class="Bound">c</a> <a id="16280" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="16282" href="Algebra.Bundles.html#16264" class="Bound"></a><a id="16283" class="Symbol">))</a> <a id="16286" class="Keyword">where</a>
<a id="16294" class="Keyword">infixl</a> <a id="16301" class="Number">7</a> <a id="16303" href="Algebra.Bundles.html#16432" class="Field Operator">_*_</a>
<a id="16309" class="Keyword">infixl</a> <a id="16316" class="Number">6</a> <a id="16318" href="Algebra.Bundles.html#16403" class="Field Operator">_+_</a>
<a id="16324" class="Keyword">infix</a> <a id="16331" class="Number">4</a> <a id="16333" href="Algebra.Bundles.html#16372" class="Field Operator">_≈_</a>
<a id="16339" class="Keyword">field</a>
<a id="Semiring.Carrier"></a><a id="16349" href="Algebra.Bundles.html#16349" class="Field">Carrier</a> <a id="16360" class="Symbol">:</a> <a id="16362" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="16366" href="Algebra.Bundles.html#16262" class="Bound">c</a>
<a id="Semiring._≈_"></a><a id="16372" href="Algebra.Bundles.html#16372" class="Field Operator">_≈_</a> <a id="16383" class="Symbol">:</a> <a id="16385" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="16389" href="Algebra.Bundles.html#16349" class="Field">Carrier</a> <a id="16397" href="Algebra.Bundles.html#16264" class="Bound"></a>
<a id="Semiring._+_"></a><a id="16403" href="Algebra.Bundles.html#16403" class="Field Operator">_+_</a> <a id="16414" class="Symbol">:</a> <a id="16416" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="16420" href="Algebra.Bundles.html#16349" class="Field">Carrier</a>
<a id="Semiring._*_"></a><a id="16432" href="Algebra.Bundles.html#16432" class="Field Operator">_*_</a> <a id="16443" class="Symbol">:</a> <a id="16445" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="16449" href="Algebra.Bundles.html#16349" class="Field">Carrier</a>
<a id="Semiring.0#"></a><a id="16461" href="Algebra.Bundles.html#16461" class="Field">0#</a> <a id="16472" class="Symbol">:</a> <a id="16474" href="Algebra.Bundles.html#16349" class="Field">Carrier</a>
<a id="Semiring.1#"></a><a id="16486" href="Algebra.Bundles.html#16486" class="Field">1#</a> <a id="16497" class="Symbol">:</a> <a id="16499" href="Algebra.Bundles.html#16349" class="Field">Carrier</a>
<a id="Semiring.isSemiring"></a><a id="16511" href="Algebra.Bundles.html#16511" class="Field">isSemiring</a> <a id="16522" class="Symbol">:</a> <a id="16524" href="Algebra.Structures.html#11370" class="Record">IsSemiring</a> <a id="16535" href="Algebra.Bundles.html#16372" class="Field Operator">_≈_</a> <a id="16539" href="Algebra.Bundles.html#16403" class="Field Operator">_+_</a> <a id="16543" href="Algebra.Bundles.html#16432" class="Field Operator">_*_</a> <a id="16547" href="Algebra.Bundles.html#16461" class="Field">0#</a> <a id="16550" href="Algebra.Bundles.html#16486" class="Field">1#</a>
<a id="16556" class="Keyword">open</a> <a id="16561" href="Algebra.Structures.html#11370" class="Module">IsSemiring</a> <a id="16572" href="Algebra.Bundles.html#16511" class="Field">isSemiring</a> <a id="16583" class="Keyword">public</a>
<a id="Semiring.semiringWithoutAnnihilatingZero"></a><a id="16593" href="Algebra.Bundles.html#16593" class="Function">semiringWithoutAnnihilatingZero</a> <a id="16625" class="Symbol">:</a> <a id="16627" href="Algebra.Bundles.html#14665" class="Record">SemiringWithoutAnnihilatingZero</a> <a id="16659" class="Symbol">_</a> <a id="16661" class="Symbol">_</a>
<a id="16665" href="Algebra.Bundles.html#16593" class="Function">semiringWithoutAnnihilatingZero</a> <a id="16697" class="Symbol">=</a> <a id="16699" class="Keyword">record</a>
<a id="16710" class="Symbol">{</a> <a id="16712" href="Algebra.Bundles.html#15084" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="16746" class="Symbol">=</a>
<a id="16756" href="Algebra.Structures.html#11439" class="Function">isSemiringWithoutAnnihilatingZero</a>
<a id="16794" class="Symbol">}</a>
<a id="16799" class="Keyword">open</a> <a id="16804" href="Algebra.Bundles.html#14665" class="Module">SemiringWithoutAnnihilatingZero</a>
<a id="16845" href="Algebra.Bundles.html#16593" class="Function">semiringWithoutAnnihilatingZero</a> <a id="16877" class="Keyword">public</a>
<a id="16888" class="Keyword">using</a>
<a id="16898" class="Symbol">(</a> <a id="16900" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="16903" class="Symbol">;</a> <a id="16905" href="Algebra.Bundles.html#15715" class="Function">+-rawMagma</a><a id="16915" class="Symbol">;</a> <a id="16918" href="Algebra.Bundles.html#15756" class="Function">+-magma</a><a id="16925" class="Symbol">;</a> <a id="16928" href="Algebra.Bundles.html#15794" class="Function">+-commutativeMagma</a><a id="16946" class="Symbol">;</a> <a id="16948" href="Algebra.Bundles.html#15843" class="Function">+-semigroup</a><a id="16959" class="Symbol">;</a> <a id="16961" href="Algebra.Bundles.html#15885" class="Function">+-commutativeSemigroup</a>
<a id="16988" class="Symbol">;</a> <a id="16990" href="Algebra.Bundles.html#16138" class="Function">*-rawMagma</a><a id="17000" class="Symbol">;</a> <a id="17003" href="Algebra.Bundles.html#16168" class="Function">*-magma</a><a id="17010" class="Symbol">;</a> <a id="17013" href="Algebra.Bundles.html#16195" class="Function">*-semigroup</a>
<a id="17029" class="Symbol">;</a> <a id="17031" href="Algebra.Bundles.html#15938" class="Function">+-rawMonoid</a><a id="17042" class="Symbol">;</a> <a id="17044" href="Algebra.Bundles.html#15980" class="Function">+-monoid</a><a id="17052" class="Symbol">;</a> <a id="17054" href="Algebra.Bundles.html#15480" class="Function">+-commutativeMonoid</a>
<a id="17078" class="Symbol">;</a> <a id="17080" href="Algebra.Bundles.html#16226" class="Function">*-rawMonoid</a><a id="17091" class="Symbol">;</a> <a id="17093" href="Algebra.Bundles.html#15998" class="Function">*-monoid</a>
<a id="17106" class="Symbol">;</a> <a id="17108" href="Algebra.Bundles.html#14315" class="Function">rawNearSemiring</a> <a id="17124" class="Symbol">;</a> <a id="17126" href="Algebra.Bundles.html#15273" class="Function">rawSemiring</a>
<a id="17142" class="Symbol">)</a>
<a id="Semiring.semiringWithoutOne"></a><a id="17147" href="Algebra.Bundles.html#17147" class="Function">semiringWithoutOne</a> <a id="17166" class="Symbol">:</a> <a id="17168" href="Algebra.Bundles.html#11933" class="Record">SemiringWithoutOne</a> <a id="17187" class="Symbol">_</a> <a id="17189" class="Symbol">_</a>
<a id="17193" href="Algebra.Bundles.html#17147" class="Function">semiringWithoutOne</a> <a id="17212" class="Symbol">=</a>
<a id="17218" class="Keyword">record</a> <a id="17225" class="Symbol">{</a> <a id="17227" href="Algebra.Bundles.html#12226" class="Field">isSemiringWithoutOne</a> <a id="17248" class="Symbol">=</a> <a id="17250" href="Algebra.Structures.html#11641" class="Function">isSemiringWithoutOne</a> <a id="17271" class="Symbol">}</a>
<a id="17276" class="Keyword">open</a> <a id="17281" href="Algebra.Bundles.html#11933" class="Module">SemiringWithoutOne</a> <a id="17300" href="Algebra.Bundles.html#17147" class="Function">semiringWithoutOne</a> <a id="17319" class="Keyword">public</a>
<a id="17330" class="Keyword">using</a> <a id="17336" class="Symbol">(</a><a id="17337" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a><a id="17349" class="Symbol">)</a>
<a id="17353" class="Keyword">record</a> <a id="CommutativeSemiring"></a><a id="17360" href="Algebra.Bundles.html#17360" class="Record">CommutativeSemiring</a> <a id="17380" href="Algebra.Bundles.html#17380" class="Bound">c</a> <a id="17382" href="Algebra.Bundles.html#17382" class="Bound"></a> <a id="17384" class="Symbol">:</a> <a id="17386" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="17390" class="Symbol">(</a><a id="17391" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="17395" class="Symbol">(</a><a id="17396" href="Algebra.Bundles.html#17380" class="Bound">c</a> <a id="17398" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="17400" href="Algebra.Bundles.html#17382" class="Bound"></a><a id="17401" class="Symbol">))</a> <a id="17404" class="Keyword">where</a>
<a id="17412" class="Keyword">infixl</a> <a id="17419" class="Number">7</a> <a id="17421" href="Algebra.Bundles.html#17583" class="Field Operator">_*_</a>
<a id="17427" class="Keyword">infixl</a> <a id="17434" class="Number">6</a> <a id="17436" href="Algebra.Bundles.html#17543" class="Field Operator">_+_</a>
<a id="17442" class="Keyword">infix</a> <a id="17449" class="Number">4</a> <a id="17451" href="Algebra.Bundles.html#17501" class="Field Operator">_≈_</a>
<a id="17457" class="Keyword">field</a>
<a id="CommutativeSemiring.Carrier"></a><a id="17467" href="Algebra.Bundles.html#17467" class="Field">Carrier</a> <a id="17489" class="Symbol">:</a> <a id="17491" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="17495" href="Algebra.Bundles.html#17380" class="Bound">c</a>
<a id="CommutativeSemiring._≈_"></a><a id="17501" href="Algebra.Bundles.html#17501" class="Field Operator">_≈_</a> <a id="17523" class="Symbol">:</a> <a id="17525" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="17529" href="Algebra.Bundles.html#17467" class="Field">Carrier</a> <a id="17537" href="Algebra.Bundles.html#17382" class="Bound"></a>
<a id="CommutativeSemiring._+_"></a><a id="17543" href="Algebra.Bundles.html#17543" class="Field Operator">_+_</a> <a id="17565" class="Symbol">:</a> <a id="17567" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="17571" href="Algebra.Bundles.html#17467" class="Field">Carrier</a>
<a id="CommutativeSemiring._*_"></a><a id="17583" href="Algebra.Bundles.html#17583" class="Field Operator">_*_</a> <a id="17605" class="Symbol">:</a> <a id="17607" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="17611" href="Algebra.Bundles.html#17467" class="Field">Carrier</a>
<a id="CommutativeSemiring.0#"></a><a id="17623" href="Algebra.Bundles.html#17623" class="Field">0#</a> <a id="17645" class="Symbol">:</a> <a id="17647" href="Algebra.Bundles.html#17467" class="Field">Carrier</a>
<a id="CommutativeSemiring.1#"></a><a id="17659" href="Algebra.Bundles.html#17659" class="Field">1#</a> <a id="17681" class="Symbol">:</a> <a id="17683" href="Algebra.Bundles.html#17467" class="Field">Carrier</a>
<a id="CommutativeSemiring.isCommutativeSemiring"></a><a id="17695" href="Algebra.Bundles.html#17695" class="Field">isCommutativeSemiring</a> <a id="17717" class="Symbol">:</a> <a id="17719" href="Algebra.Structures.html#12026" class="Record">IsCommutativeSemiring</a> <a id="17741" href="Algebra.Bundles.html#17501" class="Field Operator">_≈_</a> <a id="17745" href="Algebra.Bundles.html#17543" class="Field Operator">_+_</a> <a id="17749" href="Algebra.Bundles.html#17583" class="Field Operator">_*_</a> <a id="17753" href="Algebra.Bundles.html#17623" class="Field">0#</a> <a id="17756" href="Algebra.Bundles.html#17659" class="Field">1#</a>
<a id="17762" class="Keyword">open</a> <a id="17767" href="Algebra.Structures.html#12026" class="Module">IsCommutativeSemiring</a> <a id="17789" href="Algebra.Bundles.html#17695" class="Field">isCommutativeSemiring</a> <a id="17811" class="Keyword">public</a>
<a id="CommutativeSemiring.semiring"></a><a id="17821" href="Algebra.Bundles.html#17821" class="Function">semiring</a> <a id="17830" class="Symbol">:</a> <a id="17832" href="Algebra.Bundles.html#16253" class="Record">Semiring</a> <a id="17841" class="Symbol">_</a> <a id="17843" class="Symbol">_</a>
<a id="17847" href="Algebra.Bundles.html#17821" class="Function">semiring</a> <a id="17856" class="Symbol">=</a> <a id="17858" class="Keyword">record</a> <a id="17865" class="Symbol">{</a> <a id="17867" href="Algebra.Bundles.html#16511" class="Field">isSemiring</a> <a id="17878" class="Symbol">=</a> <a id="17880" href="Algebra.Structures.html#12106" class="Function">isSemiring</a> <a id="17891" class="Symbol">}</a>
<a id="17896" class="Keyword">open</a> <a id="17901" href="Algebra.Bundles.html#16253" class="Module">Semiring</a> <a id="17910" href="Algebra.Bundles.html#17821" class="Function">semiring</a> <a id="17919" class="Keyword">public</a>
<a id="17930" class="Keyword">using</a>
<a id="17940" class="Symbol">(</a> <a id="17942" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="17945" class="Symbol">;</a> <a id="17947" href="Algebra.Bundles.html#15715" class="Function">+-rawMagma</a><a id="17957" class="Symbol">;</a> <a id="17959" href="Algebra.Bundles.html#15756" class="Function">+-magma</a><a id="17966" class="Symbol">;</a> <a id="17968" href="Algebra.Bundles.html#15794" class="Function">+-commutativeMagma</a><a id="17986" class="Symbol">;</a> <a id="17988" href="Algebra.Bundles.html#15843" class="Function">+-semigroup</a><a id="17999" class="Symbol">;</a> <a id="18001" href="Algebra.Bundles.html#15885" class="Function">+-commutativeSemigroup</a>
<a id="18028" class="Symbol">;</a> <a id="18030" href="Algebra.Bundles.html#16138" class="Function">*-rawMagma</a><a id="18040" class="Symbol">;</a> <a id="18042" href="Algebra.Bundles.html#16168" class="Function">*-magma</a><a id="18049" class="Symbol">;</a> <a id="18051" href="Algebra.Bundles.html#16195" class="Function">*-semigroup</a>
<a id="18067" class="Symbol">;</a> <a id="18069" href="Algebra.Bundles.html#15938" class="Function">+-rawMonoid</a><a id="18080" class="Symbol">;</a> <a id="18082" href="Algebra.Bundles.html#15980" class="Function">+-monoid</a><a id="18090" class="Symbol">;</a> <a id="18092" href="Algebra.Bundles.html#15480" class="Function">+-commutativeMonoid</a>
<a id="18116" class="Symbol">;</a> <a id="18118" href="Algebra.Bundles.html#16226" class="Function">*-rawMonoid</a><a id="18129" class="Symbol">;</a> <a id="18131" href="Algebra.Bundles.html#15998" class="Function">*-monoid</a>
<a id="18144" class="Symbol">;</a> <a id="18146" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a><a id="18158" class="Symbol">;</a> <a id="18160" href="Algebra.Bundles.html#17147" class="Function">semiringWithoutOne</a>
<a id="18183" class="Symbol">;</a> <a id="18185" href="Algebra.Bundles.html#16593" class="Function">semiringWithoutAnnihilatingZero</a>
<a id="18221" class="Symbol">;</a> <a id="18223" href="Algebra.Bundles.html#15273" class="Function">rawSemiring</a>
<a id="18239" class="Symbol">)</a>
<a id="CommutativeSemiring.*-commutativeMonoid"></a><a id="18244" href="Algebra.Bundles.html#18244" class="Function">*-commutativeMonoid</a> <a id="18264" class="Symbol">:</a> <a id="18266" href="Algebra.Bundles.html#4910" class="Record">CommutativeMonoid</a> <a id="18284" class="Symbol">_</a> <a id="18286" class="Symbol">_</a>
<a id="18290" href="Algebra.Bundles.html#18244" class="Function">*-commutativeMonoid</a> <a id="18310" class="Symbol">=</a> <a id="18312" class="Keyword">record</a>
<a id="18323" class="Symbol">{</a> <a id="18325" href="Algebra.Bundles.html#5144" class="Field">isCommutativeMonoid</a> <a id="18345" class="Symbol">=</a> <a id="18347" href="Algebra.Structures.html#12565" class="Function">*-isCommutativeMonoid</a>
<a id="18373" class="Symbol">}</a>
<a id="18378" class="Keyword">open</a> <a id="18383" href="Algebra.Bundles.html#4910" class="Module">CommutativeMonoid</a> <a id="18401" href="Algebra.Bundles.html#18244" class="Function">*-commutativeMonoid</a> <a id="18421" class="Keyword">public</a>
<a id="18432" class="Keyword">using</a> <a id="18438" class="Symbol">()</a> <a id="18441" class="Keyword">renaming</a>
<a id="18454" class="Symbol">(</a> <a id="18456" href="Algebra.Bundles.html#3361" class="Function">commutativeMagma</a> <a id="18477" class="Symbol">to</a> <a id="18480" class="Function">*-commutativeMagma</a>
<a id="18503" class="Symbol">;</a> <a id="18505" href="Algebra.Bundles.html#5403" class="Function">commutativeSemigroup</a> <a id="18526" class="Symbol">to</a> <a id="18529" class="Function">*-commutativeSemigroup</a>
<a id="18556" class="Symbol">)</a>
<a id="CommutativeSemiring.commutativeSemiringWithoutOne"></a><a id="18561" href="Algebra.Bundles.html#18561" class="Function">commutativeSemiringWithoutOne</a> <a id="18591" class="Symbol">:</a> <a id="18593" href="Algebra.Bundles.html#12945" class="Record">CommutativeSemiringWithoutOne</a> <a id="18623" class="Symbol">_</a> <a id="18625" class="Symbol">_</a>
<a id="18629" href="Algebra.Bundles.html#18561" class="Function">commutativeSemiringWithoutOne</a> <a id="18659" class="Symbol">=</a> <a id="18661" class="Keyword">record</a>
<a id="18672" class="Symbol">{</a> <a id="18674" href="Algebra.Bundles.html#13304" class="Field">isCommutativeSemiringWithoutOne</a> <a id="18706" class="Symbol">=</a> <a id="18708" href="Algebra.Structures.html#12211" class="Function">isCommutativeSemiringWithoutOne</a>
<a id="18744" class="Symbol">}</a>
<a id="18748" class="Keyword">record</a> <a id="CancellativeCommutativeSemiring"></a><a id="18755" href="Algebra.Bundles.html#18755" class="Record">CancellativeCommutativeSemiring</a> <a id="18787" href="Algebra.Bundles.html#18787" class="Bound">c</a> <a id="18789" href="Algebra.Bundles.html#18789" class="Bound"></a> <a id="18791" class="Symbol">:</a> <a id="18793" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="18797" class="Symbol">(</a><a id="18798" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="18802" class="Symbol">(</a><a id="18803" href="Algebra.Bundles.html#18787" class="Bound">c</a> <a id="18805" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="18807" href="Algebra.Bundles.html#18789" class="Bound"></a><a id="18808" class="Symbol">))</a> <a id="18811" class="Keyword">where</a>
<a id="18819" class="Keyword">infixl</a> <a id="18826" class="Number">7</a> <a id="18828" href="Algebra.Bundles.html#19026" class="Field Operator">_*_</a>
<a id="18834" class="Keyword">infixl</a> <a id="18841" class="Number">6</a> <a id="18843" href="Algebra.Bundles.html#18974" class="Field Operator">_+_</a>
<a id="18849" class="Keyword">infix</a> <a id="18856" class="Number">4</a> <a id="18858" href="Algebra.Bundles.html#18920" class="Field Operator">_≈_</a>
<a id="18864" class="Keyword">field</a>
<a id="CancellativeCommutativeSemiring.Carrier"></a><a id="18874" href="Algebra.Bundles.html#18874" class="Field">Carrier</a> <a id="18908" class="Symbol">:</a> <a id="18910" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="18914" href="Algebra.Bundles.html#18787" class="Bound">c</a>
<a id="CancellativeCommutativeSemiring._≈_"></a><a id="18920" href="Algebra.Bundles.html#18920" class="Field Operator">_≈_</a> <a id="18954" class="Symbol">:</a> <a id="18956" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="18960" href="Algebra.Bundles.html#18874" class="Field">Carrier</a> <a id="18968" href="Algebra.Bundles.html#18789" class="Bound"></a>
<a id="CancellativeCommutativeSemiring._+_"></a><a id="18974" href="Algebra.Bundles.html#18974" class="Field Operator">_+_</a> <a id="19008" class="Symbol">:</a> <a id="19010" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="19014" href="Algebra.Bundles.html#18874" class="Field">Carrier</a>
<a id="CancellativeCommutativeSemiring._*_"></a><a id="19026" href="Algebra.Bundles.html#19026" class="Field Operator">_*_</a> <a id="19060" class="Symbol">:</a> <a id="19062" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="19066" href="Algebra.Bundles.html#18874" class="Field">Carrier</a>
<a id="CancellativeCommutativeSemiring.0#"></a><a id="19078" href="Algebra.Bundles.html#19078" class="Field">0#</a> <a id="19112" class="Symbol">:</a> <a id="19114" href="Algebra.Bundles.html#18874" class="Field">Carrier</a>
<a id="CancellativeCommutativeSemiring.1#"></a><a id="19126" href="Algebra.Bundles.html#19126" class="Field">1#</a> <a id="19160" class="Symbol">:</a> <a id="19162" href="Algebra.Bundles.html#18874" class="Field">Carrier</a>
<a id="CancellativeCommutativeSemiring.isCancellativeCommutativeSemiring"></a><a id="19174" href="Algebra.Bundles.html#19174" class="Field">isCancellativeCommutativeSemiring</a> <a id="19208" class="Symbol">:</a> <a id="19210" href="Algebra.Structures.html#12714" class="Record">IsCancellativeCommutativeSemiring</a> <a id="19244" href="Algebra.Bundles.html#18920" class="Field Operator">_≈_</a> <a id="19248" href="Algebra.Bundles.html#18974" class="Field Operator">_+_</a> <a id="19252" href="Algebra.Bundles.html#19026" class="Field Operator">_*_</a> <a id="19256" href="Algebra.Bundles.html#19078" class="Field">0#</a> <a id="19259" href="Algebra.Bundles.html#19126" class="Field">1#</a>
<a id="19265" class="Keyword">open</a> <a id="19270" href="Algebra.Structures.html#12714" class="Module">IsCancellativeCommutativeSemiring</a> <a id="19304" href="Algebra.Bundles.html#19174" class="Field">isCancellativeCommutativeSemiring</a> <a id="19338" class="Keyword">public</a>
<a id="CancellativeCommutativeSemiring.commutativeSemiring"></a><a id="19348" href="Algebra.Bundles.html#19348" class="Function">commutativeSemiring</a> <a id="19368" class="Symbol">:</a> <a id="19370" href="Algebra.Bundles.html#17360" class="Record">CommutativeSemiring</a> <a id="19390" href="Algebra.Bundles.html#18787" class="Bound">c</a> <a id="19392" href="Algebra.Bundles.html#18789" class="Bound"></a>
<a id="19396" href="Algebra.Bundles.html#19348" class="Function">commutativeSemiring</a> <a id="19416" class="Symbol">=</a> <a id="19418" class="Keyword">record</a>
<a id="19429" class="Symbol">{</a> <a id="19431" href="Algebra.Bundles.html#17695" class="Field">isCommutativeSemiring</a> <a id="19453" class="Symbol">=</a> <a id="19455" href="Algebra.Structures.html#12806" class="Function">isCommutativeSemiring</a>
<a id="19481" class="Symbol">}</a>
<a id="19486" class="Keyword">open</a> <a id="19491" href="Algebra.Bundles.html#17360" class="Module">CommutativeSemiring</a> <a id="19511" href="Algebra.Bundles.html#19348" class="Function">commutativeSemiring</a> <a id="19531" class="Keyword">public</a>
<a id="19542" class="Keyword">using</a>
<a id="19552" class="Symbol">(</a> <a id="19554" href="Algebra.Bundles.html#15715" class="Function">+-rawMagma</a><a id="19564" class="Symbol">;</a> <a id="19566" href="Algebra.Bundles.html#15756" class="Function">+-magma</a><a id="19573" class="Symbol">;</a> <a id="19575" href="Algebra.Bundles.html#15794" class="Function">+-commutativeMagma</a><a id="19593" class="Symbol">;</a> <a id="19595" href="Algebra.Bundles.html#15843" class="Function">+-semigroup</a><a id="19606" class="Symbol">;</a> <a id="19608" href="Algebra.Bundles.html#15885" class="Function">+-commutativeSemigroup</a>
<a id="19635" class="Symbol">;</a> <a id="19637" href="Algebra.Bundles.html#16138" class="Function">*-rawMagma</a><a id="19647" class="Symbol">;</a> <a id="19649" href="Algebra.Bundles.html#16168" class="Function">*-magma</a><a id="19656" class="Symbol">;</a> <a id="19658" href="Algebra.Bundles.html#18480" class="Function">*-commutativeMagma</a><a id="19676" class="Symbol">;</a> <a id="19678" href="Algebra.Bundles.html#16195" class="Function">*-semigroup</a><a id="19689" class="Symbol">;</a> <a id="19691" href="Algebra.Bundles.html#18529" class="Function">*-commutativeSemigroup</a>
<a id="19718" class="Symbol">;</a> <a id="19720" href="Algebra.Bundles.html#15938" class="Function">+-rawMonoid</a><a id="19731" class="Symbol">;</a> <a id="19733" href="Algebra.Bundles.html#15980" class="Function">+-monoid</a><a id="19741" class="Symbol">;</a> <a id="19743" href="Algebra.Bundles.html#15480" class="Function">+-commutativeMonoid</a>
<a id="19767" class="Symbol">;</a> <a id="19769" href="Algebra.Bundles.html#16226" class="Function">*-rawMonoid</a><a id="19780" class="Symbol">;</a> <a id="19782" href="Algebra.Bundles.html#15998" class="Function">*-monoid</a><a id="19790" class="Symbol">;</a> <a id="19792" href="Algebra.Bundles.html#18244" class="Function">*-commutativeMonoid</a>
<a id="19816" class="Symbol">;</a> <a id="19818" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a><a id="19830" class="Symbol">;</a> <a id="19832" href="Algebra.Bundles.html#17147" class="Function">semiringWithoutOne</a>
<a id="19855" class="Symbol">;</a> <a id="19857" href="Algebra.Bundles.html#16593" class="Function">semiringWithoutAnnihilatingZero</a>
<a id="19893" class="Symbol">;</a> <a id="19895" href="Algebra.Bundles.html#15273" class="Function">rawSemiring</a>
<a id="19911" class="Symbol">;</a> <a id="19913" href="Algebra.Bundles.html#17821" class="Function">semiring</a>
<a id="19926" class="Symbol">;</a> <a id="19928" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a>
<a id="19936" class="Symbol">)</a>
<a id="19940" class="Comment">------------------------------------------------------------------------</a>
<a id="20013" class="Comment">-- Bundles with 2 binary operations, 1 unary operation &amp; 2 elements</a>
<a id="20081" class="Comment">------------------------------------------------------------------------</a>
<a id="20155" class="Comment">-- A raw ring is a ring without any laws.</a>
<a id="20198" class="Keyword">record</a> <a id="RawRing"></a><a id="20205" href="Algebra.Bundles.html#20205" class="Record">RawRing</a> <a id="20213" href="Algebra.Bundles.html#20213" class="Bound">c</a> <a id="20215" href="Algebra.Bundles.html#20215" class="Bound"></a> <a id="20217" class="Symbol">:</a> <a id="20219" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="20223" class="Symbol">(</a><a id="20224" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="20228" class="Symbol">(</a><a id="20229" href="Algebra.Bundles.html#20213" class="Bound">c</a> <a id="20231" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="20233" href="Algebra.Bundles.html#20215" class="Bound"></a><a id="20234" class="Symbol">))</a> <a id="20237" class="Keyword">where</a>
<a id="20245" class="Keyword">infix</a> <a id="20252" class="Number">8</a> <a id="20254" href="Algebra.Bundles.html#20414" class="Field Operator">-_</a>
<a id="20259" class="Keyword">infixl</a> <a id="20266" class="Number">7</a> <a id="20268" href="Algebra.Bundles.html#20388" class="Field Operator">_*_</a>
<a id="20274" class="Keyword">infixl</a> <a id="20281" class="Number">6</a> <a id="20283" href="Algebra.Bundles.html#20362" class="Field Operator">_+_</a>
<a id="20289" class="Keyword">infix</a> <a id="20296" class="Number">4</a> <a id="20298" href="Algebra.Bundles.html#20334" class="Field Operator">_≈_</a>
<a id="20304" class="Keyword">field</a>
<a id="RawRing.Carrier"></a><a id="20314" href="Algebra.Bundles.html#20314" class="Field">Carrier</a> <a id="20322" class="Symbol">:</a> <a id="20324" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="20328" href="Algebra.Bundles.html#20213" class="Bound">c</a>
<a id="RawRing._≈_"></a><a id="20334" href="Algebra.Bundles.html#20334" class="Field Operator">_≈_</a> <a id="20342" class="Symbol">:</a> <a id="20344" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="20348" href="Algebra.Bundles.html#20314" class="Field">Carrier</a> <a id="20356" href="Algebra.Bundles.html#20215" class="Bound"></a>
<a id="RawRing._+_"></a><a id="20362" href="Algebra.Bundles.html#20362" class="Field Operator">_+_</a> <a id="20370" class="Symbol">:</a> <a id="20372" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="20376" href="Algebra.Bundles.html#20314" class="Field">Carrier</a>
<a id="RawRing._*_"></a><a id="20388" href="Algebra.Bundles.html#20388" class="Field Operator">_*_</a> <a id="20396" class="Symbol">:</a> <a id="20398" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="20402" href="Algebra.Bundles.html#20314" class="Field">Carrier</a>
<a id="RawRing.-_"></a><a id="20414" href="Algebra.Bundles.html#20414" class="Field Operator">-_</a> <a id="20422" class="Symbol">:</a> <a id="20424" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="20428" href="Algebra.Bundles.html#20314" class="Field">Carrier</a>
<a id="RawRing.0#"></a><a id="20440" href="Algebra.Bundles.html#20440" class="Field">0#</a> <a id="20448" class="Symbol">:</a> <a id="20450" href="Algebra.Bundles.html#20314" class="Field">Carrier</a>
<a id="RawRing.1#"></a><a id="20462" href="Algebra.Bundles.html#20462" class="Field">1#</a> <a id="20470" class="Symbol">:</a> <a id="20472" href="Algebra.Bundles.html#20314" class="Field">Carrier</a>
<a id="RawRing.rawSemiring"></a><a id="20483" href="Algebra.Bundles.html#20483" class="Function">rawSemiring</a> <a id="20495" class="Symbol">:</a> <a id="20497" href="Algebra.Bundles.html#14073" class="Record">RawSemiring</a> <a id="20509" href="Algebra.Bundles.html#20213" class="Bound">c</a> <a id="20511" href="Algebra.Bundles.html#20215" class="Bound"></a>
<a id="20515" href="Algebra.Bundles.html#20483" class="Function">rawSemiring</a> <a id="20527" class="Symbol">=</a> <a id="20529" class="Keyword">record</a>
<a id="20540" class="Symbol">{</a> <a id="20542" href="Algebra.Bundles.html#14192" class="Field Operator">_≈_</a> <a id="20546" class="Symbol">=</a> <a id="20548" href="Algebra.Bundles.html#20334" class="Field Operator">_≈_</a>
<a id="20556" class="Symbol">;</a> <a id="20558" href="Algebra.Bundles.html#14220" class="Field Operator">_+_</a> <a id="20562" class="Symbol">=</a> <a id="20564" href="Algebra.Bundles.html#20362" class="Field Operator">_+_</a>
<a id="20572" class="Symbol">;</a> <a id="20574" href="Algebra.Bundles.html#14246" class="Field Operator">_*_</a> <a id="20578" class="Symbol">=</a> <a id="20580" href="Algebra.Bundles.html#20388" class="Field Operator">_*_</a>
<a id="20588" class="Symbol">;</a> <a id="20590" href="Algebra.Bundles.html#14272" class="Field">0#</a> <a id="20594" class="Symbol">=</a> <a id="20596" href="Algebra.Bundles.html#20440" class="Field">0#</a>
<a id="20603" class="Symbol">;</a> <a id="20605" href="Algebra.Bundles.html#14294" class="Field">1#</a> <a id="20609" class="Symbol">=</a> <a id="20611" href="Algebra.Bundles.html#20462" class="Field">1#</a>
<a id="20618" class="Symbol">}</a>
<a id="20623" class="Keyword">open</a> <a id="20628" href="Algebra.Bundles.html#14073" class="Module">RawSemiring</a> <a id="20640" href="Algebra.Bundles.html#20483" class="Function">rawSemiring</a> <a id="20652" class="Keyword">public</a>
<a id="20663" class="Keyword">using</a>
<a id="20673" class="Symbol">(</a> <a id="20675" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a>
<a id="20683" class="Symbol">;</a> <a id="20685" href="Algebra.Bundles.html#10870" class="Function">+-rawMagma</a><a id="20695" class="Symbol">;</a> <a id="20697" href="Algebra.Bundles.html#10691" class="Function">+-rawMonoid</a>
<a id="20713" class="Symbol">;</a> <a id="20715" href="Algebra.Bundles.html#10885" class="Function">*-rawMagma</a><a id="20725" class="Symbol">;</a> <a id="20727" href="Algebra.Bundles.html#14552" class="Function">*-rawMonoid</a>
<a id="20743" class="Symbol">)</a>
<a id="RawRing.+-rawGroup"></a><a id="20748" href="Algebra.Bundles.html#20748" class="Function">+-rawGroup</a> <a id="20759" class="Symbol">:</a> <a id="20761" href="Algebra.Bundles.html#6932" class="Record">RawGroup</a> <a id="20770" href="Algebra.Bundles.html#20213" class="Bound">c</a> <a id="20772" href="Algebra.Bundles.html#20215" class="Bound"></a>
<a id="20776" href="Algebra.Bundles.html#20748" class="Function">+-rawGroup</a> <a id="20787" class="Symbol">=</a> <a id="20789" class="Keyword">record</a>
<a id="20800" class="Symbol">{</a> <a id="20802" href="Algebra.Bundles.html#7048" class="Field Operator">_≈_</a> <a id="20806" class="Symbol">=</a> <a id="20808" href="Algebra.Bundles.html#20334" class="Field Operator">_≈_</a>
<a id="20816" class="Symbol">;</a> <a id="20818" href="Algebra.Bundles.html#7076" class="Field Operator">_∙_</a> <a id="20822" class="Symbol">=</a> <a id="20824" href="Algebra.Bundles.html#20362" class="Field Operator">_+_</a>
<a id="20832" class="Symbol">;</a> <a id="20834" href="Algebra.Bundles.html#7102" class="Field">ε</a> <a id="20838" class="Symbol">=</a> <a id="20840" href="Algebra.Bundles.html#20440" class="Field">0#</a>
<a id="20847" class="Symbol">;</a> <a id="20849" href="Algebra.Bundles.html#7124" class="Field Operator">_⁻¹</a> <a id="20853" class="Symbol">=</a> <a id="20855" href="Algebra.Bundles.html#20414" class="Field Operator">-_</a>
<a id="20862" class="Symbol">}</a>
<a id="20865" class="Keyword">record</a> <a id="Ring"></a><a id="20872" href="Algebra.Bundles.html#20872" class="Record">Ring</a> <a id="20877" href="Algebra.Bundles.html#20877" class="Bound">c</a> <a id="20879" href="Algebra.Bundles.html#20879" class="Bound"></a> <a id="20881" class="Symbol">:</a> <a id="20883" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="20887" class="Symbol">(</a><a id="20888" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="20892" class="Symbol">(</a><a id="20893" href="Algebra.Bundles.html#20877" class="Bound">c</a> <a id="20895" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="20897" href="Algebra.Bundles.html#20879" class="Bound"></a><a id="20898" class="Symbol">))</a> <a id="20901" class="Keyword">where</a>
<a id="20909" class="Keyword">infix</a> <a id="20916" class="Number">8</a> <a id="20918" href="Algebra.Bundles.html#21078" class="Field Operator">-_</a>
<a id="20923" class="Keyword">infixl</a> <a id="20930" class="Number">7</a> <a id="20932" href="Algebra.Bundles.html#21052" class="Field Operator">_*_</a>
<a id="20938" class="Keyword">infixl</a> <a id="20945" class="Number">6</a> <a id="20947" href="Algebra.Bundles.html#21026" class="Field Operator">_+_</a>
<a id="20953" class="Keyword">infix</a> <a id="20960" class="Number">4</a> <a id="20962" href="Algebra.Bundles.html#20998" class="Field Operator">_≈_</a>
<a id="20968" class="Keyword">field</a>
<a id="Ring.Carrier"></a><a id="20978" href="Algebra.Bundles.html#20978" class="Field">Carrier</a> <a id="20986" class="Symbol">:</a> <a id="20988" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="20992" href="Algebra.Bundles.html#20877" class="Bound">c</a>
<a id="Ring._≈_"></a><a id="20998" href="Algebra.Bundles.html#20998" class="Field Operator">_≈_</a> <a id="21006" class="Symbol">:</a> <a id="21008" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="21012" href="Algebra.Bundles.html#20978" class="Field">Carrier</a> <a id="21020" href="Algebra.Bundles.html#20879" class="Bound"></a>
<a id="Ring._+_"></a><a id="21026" href="Algebra.Bundles.html#21026" class="Field Operator">_+_</a> <a id="21034" class="Symbol">:</a> <a id="21036" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="21040" href="Algebra.Bundles.html#20978" class="Field">Carrier</a>
<a id="Ring._*_"></a><a id="21052" href="Algebra.Bundles.html#21052" class="Field Operator">_*_</a> <a id="21060" class="Symbol">:</a> <a id="21062" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="21066" href="Algebra.Bundles.html#20978" class="Field">Carrier</a>
<a id="Ring.-_"></a><a id="21078" href="Algebra.Bundles.html#21078" class="Field Operator">-_</a> <a id="21086" class="Symbol">:</a> <a id="21088" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="21092" href="Algebra.Bundles.html#20978" class="Field">Carrier</a>
<a id="Ring.0#"></a><a id="21104" href="Algebra.Bundles.html#21104" class="Field">0#</a> <a id="21112" class="Symbol">:</a> <a id="21114" href="Algebra.Bundles.html#20978" class="Field">Carrier</a>
<a id="Ring.1#"></a><a id="21126" href="Algebra.Bundles.html#21126" class="Field">1#</a> <a id="21134" class="Symbol">:</a> <a id="21136" href="Algebra.Bundles.html#20978" class="Field">Carrier</a>
<a id="Ring.isRing"></a><a id="21148" href="Algebra.Bundles.html#21148" class="Field">isRing</a> <a id="21156" class="Symbol">:</a> <a id="21158" href="Algebra.Structures.html#13205" class="Record">IsRing</a> <a id="21165" href="Algebra.Bundles.html#20998" class="Field Operator">_≈_</a> <a id="21169" href="Algebra.Bundles.html#21026" class="Field Operator">_+_</a> <a id="21173" href="Algebra.Bundles.html#21052" class="Field Operator">_*_</a> <a id="21177" href="Algebra.Bundles.html#21078" class="Field Operator">-_</a> <a id="21180" href="Algebra.Bundles.html#21104" class="Field">0#</a> <a id="21183" href="Algebra.Bundles.html#21126" class="Field">1#</a>
<a id="21189" class="Keyword">open</a> <a id="21194" href="Algebra.Structures.html#13205" class="Module">IsRing</a> <a id="21201" href="Algebra.Bundles.html#21148" class="Field">isRing</a> <a id="21208" class="Keyword">public</a>
<a id="Ring.+-abelianGroup"></a><a id="21218" href="Algebra.Bundles.html#21218" class="Function">+-abelianGroup</a> <a id="21233" class="Symbol">:</a> <a id="21235" href="Algebra.Bundles.html#7842" class="Record">AbelianGroup</a> <a id="21248" class="Symbol">_</a> <a id="21250" class="Symbol">_</a>
<a id="21254" href="Algebra.Bundles.html#21218" class="Function">+-abelianGroup</a> <a id="21269" class="Symbol">=</a> <a id="21271" class="Keyword">record</a> <a id="21278" class="Symbol">{</a> <a id="21280" href="Algebra.Bundles.html#8099" class="Field">isAbelianGroup</a> <a id="21295" class="Symbol">=</a> <a id="21297" href="Algebra.Structures.html#13283" class="Function">+-isAbelianGroup</a> <a id="21314" class="Symbol">}</a>
<a id="Ring.semiring"></a><a id="21319" href="Algebra.Bundles.html#21319" class="Function">semiring</a> <a id="21328" class="Symbol">:</a> <a id="21330" href="Algebra.Bundles.html#16253" class="Record">Semiring</a> <a id="21339" class="Symbol">_</a> <a id="21341" class="Symbol">_</a>
<a id="21345" href="Algebra.Bundles.html#21319" class="Function">semiring</a> <a id="21354" class="Symbol">=</a> <a id="21356" class="Keyword">record</a> <a id="21363" class="Symbol">{</a> <a id="21365" href="Algebra.Bundles.html#16511" class="Field">isSemiring</a> <a id="21376" class="Symbol">=</a> <a id="21378" href="Algebra.Structures.html#15048" class="Function">isSemiring</a> <a id="21389" class="Symbol">}</a>
<a id="21394" class="Keyword">open</a> <a id="21399" href="Algebra.Bundles.html#16253" class="Module">Semiring</a> <a id="21408" href="Algebra.Bundles.html#21319" class="Function">semiring</a> <a id="21417" class="Keyword">public</a>
<a id="21428" class="Keyword">using</a>
<a id="21438" class="Symbol">(</a> <a id="21440" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="21443" class="Symbol">;</a> <a id="21445" href="Algebra.Bundles.html#15715" class="Function">+-rawMagma</a><a id="21455" class="Symbol">;</a> <a id="21457" href="Algebra.Bundles.html#15756" class="Function">+-magma</a><a id="21464" class="Symbol">;</a> <a id="21466" href="Algebra.Bundles.html#15794" class="Function">+-commutativeMagma</a><a id="21484" class="Symbol">;</a> <a id="21486" href="Algebra.Bundles.html#15843" class="Function">+-semigroup</a><a id="21497" class="Symbol">;</a> <a id="21499" href="Algebra.Bundles.html#15885" class="Function">+-commutativeSemigroup</a>
<a id="21526" class="Symbol">;</a> <a id="21528" href="Algebra.Bundles.html#16138" class="Function">*-rawMagma</a><a id="21538" class="Symbol">;</a> <a id="21540" href="Algebra.Bundles.html#16168" class="Function">*-magma</a><a id="21547" class="Symbol">;</a> <a id="21549" href="Algebra.Bundles.html#16195" class="Function">*-semigroup</a>
<a id="21565" class="Symbol">;</a> <a id="21567" href="Algebra.Bundles.html#15938" class="Function">+-rawMonoid</a><a id="21578" class="Symbol">;</a> <a id="21580" href="Algebra.Bundles.html#15980" class="Function">+-monoid</a> <a id="21589" class="Symbol">;</a> <a id="21591" href="Algebra.Bundles.html#15480" class="Function">+-commutativeMonoid</a>
<a id="21615" class="Symbol">;</a> <a id="21617" href="Algebra.Bundles.html#16226" class="Function">*-rawMonoid</a><a id="21628" class="Symbol">;</a> <a id="21630" href="Algebra.Bundles.html#15998" class="Function">*-monoid</a>
<a id="21643" class="Symbol">;</a> <a id="21645" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a><a id="21657" class="Symbol">;</a> <a id="21659" href="Algebra.Bundles.html#17147" class="Function">semiringWithoutOne</a>
<a id="21682" class="Symbol">;</a> <a id="21684" href="Algebra.Bundles.html#16593" class="Function">semiringWithoutAnnihilatingZero</a>
<a id="21720" class="Symbol">)</a>
<a id="21725" class="Keyword">open</a> <a id="21730" href="Algebra.Bundles.html#7842" class="Module">AbelianGroup</a> <a id="21743" href="Algebra.Bundles.html#21218" class="Function">+-abelianGroup</a> <a id="21758" class="Keyword">public</a>
<a id="21769" class="Keyword">using</a> <a id="21775" class="Symbol">()</a> <a id="21778" class="Keyword">renaming</a> <a id="21787" class="Symbol">(</a><a id="21788" href="Algebra.Bundles.html#8193" class="Function">group</a> <a id="21794" class="Symbol">to</a> <a id="21797" class="Function">+-group</a><a id="21804" class="Symbol">)</a>
<a id="Ring.rawRing"></a><a id="21809" href="Algebra.Bundles.html#21809" class="Function">rawRing</a> <a id="21817" class="Symbol">:</a> <a id="21819" href="Algebra.Bundles.html#20205" class="Record">RawRing</a> <a id="21827" class="Symbol">_</a> <a id="21829" class="Symbol">_</a>
<a id="21833" href="Algebra.Bundles.html#21809" class="Function">rawRing</a> <a id="21841" class="Symbol">=</a> <a id="21843" class="Keyword">record</a>
<a id="21854" class="Symbol">{</a> <a id="21856" href="Algebra.Bundles.html#20334" class="Field Operator">_≈_</a> <a id="21860" class="Symbol">=</a> <a id="21862" href="Algebra.Bundles.html#20998" class="Field Operator">_≈_</a>
<a id="21870" class="Symbol">;</a> <a id="21872" href="Algebra.Bundles.html#20362" class="Field Operator">_+_</a> <a id="21876" class="Symbol">=</a> <a id="21878" href="Algebra.Bundles.html#21026" class="Field Operator">_+_</a>
<a id="21886" class="Symbol">;</a> <a id="21888" href="Algebra.Bundles.html#20388" class="Field Operator">_*_</a> <a id="21892" class="Symbol">=</a> <a id="21894" href="Algebra.Bundles.html#21052" class="Field Operator">_*_</a>
<a id="21902" class="Symbol">;</a> <a id="21904" href="Algebra.Bundles.html#20414" class="Field Operator">-_</a> <a id="21908" class="Symbol">=</a> <a id="21910" href="Algebra.Bundles.html#21078" class="Field Operator">-_</a>
<a id="21917" class="Symbol">;</a> <a id="21919" href="Algebra.Bundles.html#20440" class="Field">0#</a> <a id="21923" class="Symbol">=</a> <a id="21925" href="Algebra.Bundles.html#21104" class="Field">0#</a>
<a id="21932" class="Symbol">;</a> <a id="21934" href="Algebra.Bundles.html#20462" class="Field">1#</a> <a id="21938" class="Symbol">=</a> <a id="21940" href="Algebra.Bundles.html#21126" class="Field">1#</a>
<a id="21947" class="Symbol">}</a>
<a id="21951" class="Keyword">record</a> <a id="CommutativeRing"></a><a id="21958" href="Algebra.Bundles.html#21958" class="Record">CommutativeRing</a> <a id="21974" href="Algebra.Bundles.html#21974" class="Bound">c</a> <a id="21976" href="Algebra.Bundles.html#21976" class="Bound"></a> <a id="21978" class="Symbol">:</a> <a id="21980" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="21984" class="Symbol">(</a><a id="21985" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="21989" class="Symbol">(</a><a id="21990" href="Algebra.Bundles.html#21974" class="Bound">c</a> <a id="21992" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="21994" href="Algebra.Bundles.html#21976" class="Bound"></a><a id="21995" class="Symbol">))</a> <a id="21998" class="Keyword">where</a>
<a id="22006" class="Keyword">infix</a> <a id="22013" class="Number">8</a> <a id="22015" href="Algebra.Bundles.html#22215" class="Field Operator">-_</a>
<a id="22020" class="Keyword">infixl</a> <a id="22027" class="Number">7</a> <a id="22029" href="Algebra.Bundles.html#22179" class="Field Operator">_*_</a>
<a id="22035" class="Keyword">infixl</a> <a id="22042" class="Number">6</a> <a id="22044" href="Algebra.Bundles.html#22143" class="Field Operator">_+_</a>
<a id="22050" class="Keyword">infix</a> <a id="22057" class="Number">4</a> <a id="22059" href="Algebra.Bundles.html#22105" class="Field Operator">_≈_</a>
<a id="22065" class="Keyword">field</a>
<a id="CommutativeRing.Carrier"></a><a id="22075" href="Algebra.Bundles.html#22075" class="Field">Carrier</a> <a id="22093" class="Symbol">:</a> <a id="22095" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="22099" href="Algebra.Bundles.html#21974" class="Bound">c</a>
<a id="CommutativeRing._≈_"></a><a id="22105" href="Algebra.Bundles.html#22105" class="Field Operator">_≈_</a> <a id="22123" class="Symbol">:</a> <a id="22125" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="22129" href="Algebra.Bundles.html#22075" class="Field">Carrier</a> <a id="22137" href="Algebra.Bundles.html#21976" class="Bound"></a>
<a id="CommutativeRing._+_"></a><a id="22143" href="Algebra.Bundles.html#22143" class="Field Operator">_+_</a> <a id="22161" class="Symbol">:</a> <a id="22163" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="22167" href="Algebra.Bundles.html#22075" class="Field">Carrier</a>
<a id="CommutativeRing._*_"></a><a id="22179" href="Algebra.Bundles.html#22179" class="Field Operator">_*_</a> <a id="22197" class="Symbol">:</a> <a id="22199" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="22203" href="Algebra.Bundles.html#22075" class="Field">Carrier</a>
<a id="CommutativeRing.-_"></a><a id="22215" href="Algebra.Bundles.html#22215" class="Field Operator">-_</a> <a id="22233" class="Symbol">:</a> <a id="22235" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="22239" href="Algebra.Bundles.html#22075" class="Field">Carrier</a>
<a id="CommutativeRing.0#"></a><a id="22251" href="Algebra.Bundles.html#22251" class="Field">0#</a> <a id="22269" class="Symbol">:</a> <a id="22271" href="Algebra.Bundles.html#22075" class="Field">Carrier</a>
<a id="CommutativeRing.1#"></a><a id="22283" href="Algebra.Bundles.html#22283" class="Field">1#</a> <a id="22301" class="Symbol">:</a> <a id="22303" href="Algebra.Bundles.html#22075" class="Field">Carrier</a>
<a id="CommutativeRing.isCommutativeRing"></a><a id="22315" href="Algebra.Bundles.html#22315" class="Field">isCommutativeRing</a> <a id="22333" class="Symbol">:</a> <a id="22335" href="Algebra.Structures.html#15327" class="Record">IsCommutativeRing</a> <a id="22353" href="Algebra.Bundles.html#22105" class="Field Operator">_≈_</a> <a id="22357" href="Algebra.Bundles.html#22143" class="Field Operator">_+_</a> <a id="22361" href="Algebra.Bundles.html#22179" class="Field Operator">_*_</a> <a id="22365" href="Algebra.Bundles.html#22215" class="Field Operator">-_</a> <a id="22368" href="Algebra.Bundles.html#22251" class="Field">0#</a> <a id="22371" href="Algebra.Bundles.html#22283" class="Field">1#</a>
<a id="22377" class="Keyword">open</a> <a id="22382" href="Algebra.Structures.html#15327" class="Module">IsCommutativeRing</a> <a id="22400" href="Algebra.Bundles.html#22315" class="Field">isCommutativeRing</a> <a id="22418" class="Keyword">public</a>
<a id="CommutativeRing.ring"></a><a id="22428" href="Algebra.Bundles.html#22428" class="Function">ring</a> <a id="22433" class="Symbol">:</a> <a id="22435" href="Algebra.Bundles.html#20872" class="Record">Ring</a> <a id="22440" class="Symbol">_</a> <a id="22442" class="Symbol">_</a>
<a id="22446" href="Algebra.Bundles.html#22428" class="Function">ring</a> <a id="22451" class="Symbol">=</a> <a id="22453" class="Keyword">record</a> <a id="22460" class="Symbol">{</a> <a id="22462" href="Algebra.Bundles.html#21148" class="Field">isRing</a> <a id="22469" class="Symbol">=</a> <a id="22471" href="Algebra.Structures.html#15424" class="Function">isRing</a> <a id="22478" class="Symbol">}</a>
<a id="22483" class="Keyword">open</a> <a id="22488" href="Algebra.Bundles.html#20872" class="Module">Ring</a> <a id="22493" href="Algebra.Bundles.html#22428" class="Function">ring</a> <a id="22498" class="Keyword">public</a> <a id="22505" class="Keyword">using</a> <a id="22511" class="Symbol">(</a><a id="22512" href="Algebra.Bundles.html#958" class="Function Operator">_≉_</a><a id="22515" class="Symbol">;</a> <a id="22517" href="Algebra.Bundles.html#21809" class="Function">rawRing</a><a id="22524" class="Symbol">;</a> <a id="22526" href="Algebra.Bundles.html#21797" class="Function">+-group</a><a id="22533" class="Symbol">;</a> <a id="22535" href="Algebra.Bundles.html#21218" class="Function">+-abelianGroup</a><a id="22549" class="Symbol">)</a>
<a id="CommutativeRing.commutativeSemiring"></a><a id="22554" href="Algebra.Bundles.html#22554" class="Function">commutativeSemiring</a> <a id="22574" class="Symbol">:</a> <a id="22576" href="Algebra.Bundles.html#17360" class="Record">CommutativeSemiring</a> <a id="22596" class="Symbol">_</a> <a id="22598" class="Symbol">_</a>
<a id="22602" href="Algebra.Bundles.html#22554" class="Function">commutativeSemiring</a> <a id="22622" class="Symbol">=</a>
<a id="22628" class="Keyword">record</a> <a id="22635" class="Symbol">{</a> <a id="22637" href="Algebra.Bundles.html#17695" class="Field">isCommutativeSemiring</a> <a id="22659" class="Symbol">=</a> <a id="22661" href="Algebra.Structures.html#15511" class="Function">isCommutativeSemiring</a> <a id="22683" class="Symbol">}</a>
<a id="22688" class="Keyword">open</a> <a id="22693" href="Algebra.Bundles.html#17360" class="Module">CommutativeSemiring</a> <a id="22713" href="Algebra.Bundles.html#22554" class="Function">commutativeSemiring</a> <a id="22733" class="Keyword">public</a>
<a id="22744" class="Keyword">using</a>
<a id="22754" class="Symbol">(</a> <a id="22756" href="Algebra.Bundles.html#15715" class="Function">+-rawMagma</a><a id="22766" class="Symbol">;</a> <a id="22768" href="Algebra.Bundles.html#15756" class="Function">+-magma</a><a id="22775" class="Symbol">;</a> <a id="22777" href="Algebra.Bundles.html#15794" class="Function">+-commutativeMagma</a><a id="22795" class="Symbol">;</a> <a id="22797" href="Algebra.Bundles.html#15843" class="Function">+-semigroup</a><a id="22808" class="Symbol">;</a> <a id="22810" href="Algebra.Bundles.html#15885" class="Function">+-commutativeSemigroup</a>
<a id="22837" class="Symbol">;</a> <a id="22839" href="Algebra.Bundles.html#16138" class="Function">*-rawMagma</a><a id="22849" class="Symbol">;</a> <a id="22851" href="Algebra.Bundles.html#16168" class="Function">*-magma</a><a id="22858" class="Symbol">;</a> <a id="22860" href="Algebra.Bundles.html#18480" class="Function">*-commutativeMagma</a><a id="22878" class="Symbol">;</a> <a id="22880" href="Algebra.Bundles.html#16195" class="Function">*-semigroup</a><a id="22891" class="Symbol">;</a> <a id="22893" href="Algebra.Bundles.html#18529" class="Function">*-commutativeSemigroup</a>
<a id="22920" class="Symbol">;</a> <a id="22922" href="Algebra.Bundles.html#15938" class="Function">+-rawMonoid</a><a id="22933" class="Symbol">;</a> <a id="22935" href="Algebra.Bundles.html#15980" class="Function">+-monoid</a><a id="22943" class="Symbol">;</a> <a id="22945" href="Algebra.Bundles.html#15480" class="Function">+-commutativeMonoid</a>
<a id="22969" class="Symbol">;</a> <a id="22971" href="Algebra.Bundles.html#16226" class="Function">*-rawMonoid</a><a id="22982" class="Symbol">;</a> <a id="22984" href="Algebra.Bundles.html#15998" class="Function">*-monoid</a><a id="22992" class="Symbol">;</a> <a id="22994" href="Algebra.Bundles.html#18244" class="Function">*-commutativeMonoid</a>
<a id="23018" class="Symbol">;</a> <a id="23020" href="Algebra.Bundles.html#12345" class="Function">nearSemiring</a><a id="23032" class="Symbol">;</a> <a id="23034" href="Algebra.Bundles.html#17147" class="Function">semiringWithoutOne</a>
<a id="23057" class="Symbol">;</a> <a id="23059" href="Algebra.Bundles.html#16593" class="Function">semiringWithoutAnnihilatingZero</a><a id="23090" class="Symbol">;</a> <a id="23092" href="Algebra.Bundles.html#17821" class="Function">semiring</a>
<a id="23105" class="Symbol">;</a> <a id="23107" href="Algebra.Bundles.html#18561" class="Function">commutativeSemiringWithoutOne</a>
<a id="23141" class="Symbol">)</a>
<a id="23145" class="Keyword">record</a> <a id="BooleanAlgebra"></a><a id="23152" href="Algebra.Bundles.html#23152" class="Record">BooleanAlgebra</a> <a id="23167" href="Algebra.Bundles.html#23167" class="Bound">c</a> <a id="23169" href="Algebra.Bundles.html#23169" class="Bound"></a> <a id="23171" class="Symbol">:</a> <a id="23173" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="23177" class="Symbol">(</a><a id="23178" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="23182" class="Symbol">(</a><a id="23183" href="Algebra.Bundles.html#23167" class="Bound">c</a> <a id="23185" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="23187" href="Algebra.Bundles.html#23169" class="Bound"></a><a id="23188" class="Symbol">))</a> <a id="23191" class="Keyword">where</a>
<a id="23199" class="Keyword">infix</a> <a id="23206" class="Number">8</a> <a id="23208" href="Algebra.Bundles.html#23404" class="Field Operator">¬_</a>
<a id="23213" class="Keyword">infixr</a> <a id="23220" class="Number">7</a> <a id="23222" href="Algebra.Bundles.html#23369" class="Field Operator">_∧_</a>
<a id="23228" class="Keyword">infixr</a> <a id="23235" class="Number">6</a> <a id="23237" href="Algebra.Bundles.html#23334" class="Field Operator">__</a>
<a id="23243" class="Keyword">infix</a> <a id="23250" class="Number">4</a> <a id="23252" href="Algebra.Bundles.html#23297" class="Field Operator">_≈_</a>
<a id="23258" class="Keyword">field</a>
<a id="BooleanAlgebra.Carrier"></a><a id="23268" href="Algebra.Bundles.html#23268" class="Field">Carrier</a> <a id="23285" class="Symbol">:</a> <a id="23287" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="23291" href="Algebra.Bundles.html#23167" class="Bound">c</a>
<a id="BooleanAlgebra._≈_"></a><a id="23297" href="Algebra.Bundles.html#23297" class="Field Operator">_≈_</a> <a id="23314" class="Symbol">:</a> <a id="23316" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="23320" href="Algebra.Bundles.html#23268" class="Field">Carrier</a> <a id="23328" href="Algebra.Bundles.html#23169" class="Bound"></a>
<a id="BooleanAlgebra.__"></a><a id="23334" href="Algebra.Bundles.html#23334" class="Field Operator">__</a> <a id="23351" class="Symbol">:</a> <a id="23353" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="23357" href="Algebra.Bundles.html#23268" class="Field">Carrier</a>
<a id="BooleanAlgebra._∧_"></a><a id="23369" href="Algebra.Bundles.html#23369" class="Field Operator">_∧_</a> <a id="23386" class="Symbol">:</a> <a id="23388" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="23392" href="Algebra.Bundles.html#23268" class="Field">Carrier</a>
<a id="BooleanAlgebra.¬_"></a><a id="23404" href="Algebra.Bundles.html#23404" class="Field Operator">¬_</a> <a id="23421" class="Symbol">:</a> <a id="23423" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="23427" href="Algebra.Bundles.html#23268" class="Field">Carrier</a>
<a id="BooleanAlgebra."></a><a id="23439" href="Algebra.Bundles.html#23439" class="Field"></a> <a id="23456" class="Symbol">:</a> <a id="23458" href="Algebra.Bundles.html#23268" class="Field">Carrier</a>
<a id="BooleanAlgebra.⊥"></a><a id="23470" href="Algebra.Bundles.html#23470" class="Field"></a> <a id="23487" class="Symbol">:</a> <a id="23489" href="Algebra.Bundles.html#23268" class="Field">Carrier</a>
<a id="BooleanAlgebra.isBooleanAlgebra"></a><a id="23501" href="Algebra.Bundles.html#23501" class="Field">isBooleanAlgebra</a> <a id="23518" class="Symbol">:</a> <a id="23520" href="Algebra.Structures.html#15866" class="Record">IsBooleanAlgebra</a> <a id="23537" href="Algebra.Bundles.html#23297" class="Field Operator">_≈_</a> <a id="23541" href="Algebra.Bundles.html#23334" class="Field Operator">__</a> <a id="23545" href="Algebra.Bundles.html#23369" class="Field Operator">_∧_</a> <a id="23549" href="Algebra.Bundles.html#23404" class="Field Operator">¬_</a> <a id="23552" href="Algebra.Bundles.html#23439" class="Field"></a> <a id="23554" href="Algebra.Bundles.html#23470" class="Field"></a>
<a id="23559" class="Keyword">open</a> <a id="23564" href="Algebra.Structures.html#15866" class="Module">IsBooleanAlgebra</a> <a id="23581" href="Algebra.Bundles.html#23501" class="Field">isBooleanAlgebra</a> <a id="23598" class="Keyword">public</a>
<a id="BooleanAlgebra.distributiveLattice"></a><a id="23608" href="Algebra.Bundles.html#23608" class="Function">distributiveLattice</a> <a id="23628" class="Symbol">:</a> <a id="23630" href="Algebra.Bundles.html#9746" class="Record">DistributiveLattice</a> <a id="23650" class="Symbol">_</a> <a id="23652" class="Symbol">_</a>
<a id="23656" href="Algebra.Bundles.html#23608" class="Function">distributiveLattice</a> <a id="23676" class="Symbol">=</a> <a id="23678" class="Keyword">record</a> <a id="23685" class="Symbol">{</a> <a id="23687" href="Algebra.Bundles.html#10009" class="Field">isDistributiveLattice</a> <a id="23709" class="Symbol">=</a> <a id="23711" href="Algebra.Structures.html#15960" class="Function">isDistributiveLattice</a> <a id="23733" class="Symbol">}</a>
<a id="23738" class="Keyword">open</a> <a id="23743" href="Algebra.Bundles.html#9746" class="Module">DistributiveLattice</a> <a id="23763" href="Algebra.Bundles.html#23608" class="Function">distributiveLattice</a> <a id="23783" class="Keyword">public</a>
<a id="23794" class="Keyword">using</a> <a id="23800" class="Symbol">(</a><a id="23801" href="Relation.Binary.Bundles.html#969" class="Function Operator">_≉_</a><a id="23804" class="Symbol">;</a> <a id="23806" href="Algebra.Bundles.html#9620" class="Function">setoid</a><a id="23812" class="Symbol">;</a> <a id="23814" href="Algebra.Bundles.html#10129" class="Function">lattice</a><a id="23821" class="Symbol">)</a>
<a id="23825" class="Comment">------------------------------------------------------------------------</a>
<a id="23898" class="Comment">-- DEPRECATED NAMES</a>
<a id="23918" class="Comment">------------------------------------------------------------------------</a>
<a id="23991" class="Comment">-- Please use the new names as continuing support for the old names is</a>
<a id="24062" class="Comment">-- not guaranteed.</a>
<a id="24082" class="Comment">-- Version 1.0</a>
<a id="RawSemigroup"></a><a id="24098" href="Algebra.Bundles.html#24098" class="Function">RawSemigroup</a> <a id="24111" class="Symbol">=</a> <a id="24113" href="Algebra.Bundles.html#790" class="Record">RawMagma</a>
<a id="24122" class="Symbol">{-#</a> <a id="24126" class="Keyword">WARNING_ON_USAGE</a> <a id="24143" class="Pragma">RawSemigroup</a>
<a id="24156" class="String">&quot;Warning: RawSemigroup was deprecated in v1.0.
Please use RawMagma instead.&quot;</a>
<a id="24233" class="Symbol">#-}</a>
</pre></body></html>