rachel.cafe/agda/Algebra.Bundles.html

934 lines
194 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Algebra.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">--without-K</a> <a id="392" class="Pragma">--safe</a> <a id="399" class="Symbol">#-}</a>
<a id="404" class="Keyword">module</a> <a id="411" href="Algebra.Bundles.html" class="Module">Algebra.Bundles</a> <a id="427" class="Keyword">where</a>
<a id="434" class="Keyword">open</a> <a id="439" class="Keyword">import</a> <a id="446" href="Algebra.Core.html" class="Module">Algebra.Core</a>
<a id="459" class="Keyword">open</a> <a id="464" class="Keyword">import</a> <a id="471" href="Algebra.Structures.html" class="Module">Algebra.Structures</a>
<a id="490" class="Keyword">open</a> <a id="495" class="Keyword">import</a> <a id="502" href="Relation.Binary.html" class="Module">Relation.Binary</a>
<a id="518" class="Keyword">open</a> <a id="523" class="Keyword">import</a> <a id="530" href="Function.Base.html" class="Module">Function.Base</a>
<a id="544" class="Keyword">import</a> <a id="551" href="Relation.Nullary.html" class="Module">Relation.Nullary</a> <a id="568" class="Symbol">as</a> <a id="571" class="Module">N</a>
<a id="573" class="Keyword">open</a> <a id="578" class="Keyword">import</a> <a id="585" href="Level.html" class="Module">Level</a>
<a id="592" class="Comment">------------------------------------------------------------------------</a>
<a id="665" class="Comment">-- Bundles with 1 binary operation</a>
<a id="700" class="Comment">------------------------------------------------------------------------</a>
<a id="774" class="Keyword">record</a> <a id="RawMagma"></a><a id="781" href="Algebra.Bundles.html#781" class="Record">RawMagma</a> <a id="790" href="Algebra.Bundles.html#790" class="Bound">c</a> <a id="792" href="Algebra.Bundles.html#792" class="Bound"></a> <a id="794" class="Symbol">:</a> <a id="796" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="800" class="Symbol">(</a><a id="801" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="805" class="Symbol">(</a><a id="806" href="Algebra.Bundles.html#790" class="Bound">c</a> <a id="808" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="810" href="Algebra.Bundles.html#792" class="Bound"></a><a id="811" class="Symbol">))</a> <a id="814" class="Keyword">where</a>
<a id="822" class="Keyword">infixl</a> <a id="829" class="Number">7</a> <a id="831" href="Algebra.Bundles.html#910" class="Field Operator">_∙_</a>
<a id="837" class="Keyword">infix</a> <a id="844" class="Number">4</a> <a id="846" href="Algebra.Bundles.html#882" class="Field Operator">_≈_</a>
<a id="852" class="Keyword">field</a>
<a id="RawMagma.Carrier"></a><a id="862" href="Algebra.Bundles.html#862" class="Field">Carrier</a> <a id="870" class="Symbol">:</a> <a id="872" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="876" href="Algebra.Bundles.html#790" class="Bound">c</a>
<a id="RawMagma._≈_"></a><a id="882" href="Algebra.Bundles.html#882" class="Field Operator">_≈_</a> <a id="890" class="Symbol">:</a> <a id="892" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="896" href="Algebra.Bundles.html#862" class="Field">Carrier</a> <a id="904" href="Algebra.Bundles.html#792" class="Bound"></a>
<a id="RawMagma._∙_"></a><a id="910" href="Algebra.Bundles.html#910" class="Field Operator">_∙_</a> <a id="918" class="Symbol">:</a> <a id="920" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="924" href="Algebra.Bundles.html#862" class="Field">Carrier</a>
<a id="935" class="Keyword">infix</a> <a id="941" class="Number">4</a> <a id="943" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a>
<a id="RawMagma._≉_"></a><a id="949" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a> <a id="953" class="Symbol">:</a> <a id="955" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="959" href="Algebra.Bundles.html#862" class="Field">Carrier</a> <a id="967" class="Symbol">_</a>
<a id="971" href="Algebra.Bundles.html#971" class="Bound">x</a> <a id="973" href="Algebra.Bundles.html#949" class="Function Operator"></a> <a id="975" href="Algebra.Bundles.html#975" class="Bound">y</a> <a id="977" class="Symbol">=</a> <a id="979" href="Relation.Nullary.html#656" class="Function Operator">N.¬</a> <a id="983" class="Symbol">(</a><a id="984" href="Algebra.Bundles.html#971" class="Bound">x</a> <a id="986" href="Algebra.Bundles.html#882" class="Field Operator"></a> <a id="988" href="Algebra.Bundles.html#975" class="Bound">y</a><a id="989" class="Symbol">)</a>
<a id="993" class="Keyword">record</a> <a id="Magma"></a><a id="1000" href="Algebra.Bundles.html#1000" class="Record">Magma</a> <a id="1006" href="Algebra.Bundles.html#1006" class="Bound">c</a> <a id="1008" href="Algebra.Bundles.html#1008" class="Bound"></a> <a id="1010" class="Symbol">:</a> <a id="1012" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="1016" class="Symbol">(</a><a id="1017" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="1021" class="Symbol">(</a><a id="1022" href="Algebra.Bundles.html#1006" class="Bound">c</a> <a id="1024" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="1026" href="Algebra.Bundles.html#1008" class="Bound"></a><a id="1027" class="Symbol">))</a> <a id="1030" class="Keyword">where</a>
<a id="1038" class="Keyword">infixl</a> <a id="1045" class="Number">7</a> <a id="1047" href="Algebra.Bundles.html#1126" class="Field Operator">_∙_</a>
<a id="1053" class="Keyword">infix</a> <a id="1060" class="Number">4</a> <a id="1062" href="Algebra.Bundles.html#1098" class="Field Operator">_≈_</a>
<a id="1068" class="Keyword">field</a>
<a id="Magma.Carrier"></a><a id="1078" href="Algebra.Bundles.html#1078" class="Field">Carrier</a> <a id="1086" class="Symbol">:</a> <a id="1088" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="1092" href="Algebra.Bundles.html#1006" class="Bound">c</a>
<a id="Magma._≈_"></a><a id="1098" href="Algebra.Bundles.html#1098" class="Field Operator">_≈_</a> <a id="1106" class="Symbol">:</a> <a id="1108" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="1112" href="Algebra.Bundles.html#1078" class="Field">Carrier</a> <a id="1120" href="Algebra.Bundles.html#1008" class="Bound"></a>
<a id="Magma._∙_"></a><a id="1126" href="Algebra.Bundles.html#1126" class="Field Operator">_∙_</a> <a id="1134" class="Symbol">:</a> <a id="1136" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="1140" href="Algebra.Bundles.html#1078" class="Field">Carrier</a>
<a id="Magma.isMagma"></a><a id="1152" href="Algebra.Bundles.html#1152" class="Field">isMagma</a> <a id="1160" class="Symbol">:</a> <a id="1162" href="Algebra.Structures.html#1120" class="Record">IsMagma</a> <a id="1170" href="Algebra.Bundles.html#1098" class="Field Operator">_≈_</a> <a id="1174" href="Algebra.Bundles.html#1126" class="Field Operator">_∙_</a>
<a id="1181" class="Keyword">open</a> <a id="1186" href="Algebra.Structures.html#1120" class="Module">IsMagma</a> <a id="1194" href="Algebra.Bundles.html#1152" class="Field">isMagma</a> <a id="1202" class="Keyword">public</a>
<a id="Magma.rawMagma"></a><a id="1212" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a> <a id="1221" class="Symbol">:</a> <a id="1223" href="Algebra.Bundles.html#781" class="Record">RawMagma</a> <a id="1232" class="Symbol">_</a> <a id="1234" class="Symbol">_</a>
<a id="1238" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a> <a id="1247" class="Symbol">=</a> <a id="1249" class="Keyword">record</a> <a id="1256" class="Symbol">{</a> <a id="1258" href="Algebra.Bundles.html#882" class="Field Operator">_≈_</a> <a id="1262" class="Symbol">=</a> <a id="1264" href="Algebra.Bundles.html#1098" class="Field Operator">_≈_</a><a id="1267" class="Symbol">;</a> <a id="1269" href="Algebra.Bundles.html#910" class="Field Operator">_∙_</a> <a id="1273" class="Symbol">=</a> <a id="1275" href="Algebra.Bundles.html#1126" class="Field Operator">_∙_</a> <a id="1279" class="Symbol">}</a>
<a id="1284" class="Keyword">open</a> <a id="1289" href="Algebra.Bundles.html#781" class="Module">RawMagma</a> <a id="1298" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a> <a id="1307" class="Keyword">public</a>
<a id="1318" class="Keyword">using</a> <a id="1324" class="Symbol">(</a><a id="1325" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="1328" class="Symbol">)</a>
<a id="1332" class="Keyword">record</a> <a id="SelectiveMagma"></a><a id="1339" href="Algebra.Bundles.html#1339" class="Record">SelectiveMagma</a> <a id="1354" href="Algebra.Bundles.html#1354" class="Bound">c</a> <a id="1356" href="Algebra.Bundles.html#1356" class="Bound"></a> <a id="1358" class="Symbol">:</a> <a id="1360" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="1364" class="Symbol">(</a><a id="1365" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="1369" class="Symbol">(</a><a id="1370" href="Algebra.Bundles.html#1354" class="Bound">c</a> <a id="1372" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="1374" href="Algebra.Bundles.html#1356" class="Bound"></a><a id="1375" class="Symbol">))</a> <a id="1378" class="Keyword">where</a>
<a id="1386" class="Keyword">infixl</a> <a id="1393" class="Number">7</a> <a id="1395" href="Algebra.Bundles.html#1492" class="Field Operator">_∙_</a>
<a id="1401" class="Keyword">infix</a> <a id="1408" class="Number">4</a> <a id="1410" href="Algebra.Bundles.html#1455" class="Field Operator">_≈_</a>
<a id="1416" class="Keyword">field</a>
<a id="SelectiveMagma.Carrier"></a><a id="1426" href="Algebra.Bundles.html#1426" class="Field">Carrier</a> <a id="1443" class="Symbol">:</a> <a id="1445" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="1449" href="Algebra.Bundles.html#1354" class="Bound">c</a>
<a id="SelectiveMagma._≈_"></a><a id="1455" href="Algebra.Bundles.html#1455" class="Field Operator">_≈_</a> <a id="1472" class="Symbol">:</a> <a id="1474" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="1478" href="Algebra.Bundles.html#1426" class="Field">Carrier</a> <a id="1486" href="Algebra.Bundles.html#1356" class="Bound"></a>
<a id="SelectiveMagma._∙_"></a><a id="1492" href="Algebra.Bundles.html#1492" class="Field Operator">_∙_</a> <a id="1509" class="Symbol">:</a> <a id="1511" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="1515" href="Algebra.Bundles.html#1426" class="Field">Carrier</a>
<a id="SelectiveMagma.isSelectiveMagma"></a><a id="1527" href="Algebra.Bundles.html#1527" class="Field">isSelectiveMagma</a> <a id="1544" class="Symbol">:</a> <a id="1546" href="Algebra.Structures.html#1640" class="Record">IsSelectiveMagma</a> <a id="1563" href="Algebra.Bundles.html#1455" class="Field Operator">_≈_</a> <a id="1567" href="Algebra.Bundles.html#1492" class="Field Operator">_∙_</a>
<a id="1574" class="Keyword">open</a> <a id="1579" href="Algebra.Structures.html#1640" class="Module">IsSelectiveMagma</a> <a id="1596" href="Algebra.Bundles.html#1527" class="Field">isSelectiveMagma</a> <a id="1613" class="Keyword">public</a>
<a id="SelectiveMagma.magma"></a><a id="1623" href="Algebra.Bundles.html#1623" class="Function">magma</a> <a id="1629" class="Symbol">:</a> <a id="1631" href="Algebra.Bundles.html#1000" class="Record">Magma</a> <a id="1637" href="Algebra.Bundles.html#1354" class="Bound">c</a> <a id="1639" href="Algebra.Bundles.html#1356" class="Bound"></a>
<a id="1643" href="Algebra.Bundles.html#1623" class="Function">magma</a> <a id="1649" class="Symbol">=</a> <a id="1651" class="Keyword">record</a> <a id="1658" class="Symbol">{</a> <a id="1660" href="Algebra.Bundles.html#1152" class="Field">isMagma</a> <a id="1668" class="Symbol">=</a> <a id="1670" href="Algebra.Structures.html#1701" class="Function">isMagma</a> <a id="1678" class="Symbol">}</a>
<a id="1683" class="Keyword">open</a> <a id="1688" href="Algebra.Bundles.html#1000" class="Module">Magma</a> <a id="1694" href="Algebra.Bundles.html#1623" class="Function">magma</a> <a id="1700" class="Keyword">public</a> <a id="1707" class="Keyword">using</a> <a id="1713" class="Symbol">(</a><a id="1714" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="1722" class="Symbol">)</a>
<a id="1726" class="Keyword">record</a> <a id="CommutativeMagma"></a><a id="1733" href="Algebra.Bundles.html#1733" class="Record">CommutativeMagma</a> <a id="1750" href="Algebra.Bundles.html#1750" class="Bound">c</a> <a id="1752" href="Algebra.Bundles.html#1752" class="Bound"></a> <a id="1754" class="Symbol">:</a> <a id="1756" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="1760" class="Symbol">(</a><a id="1761" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="1765" class="Symbol">(</a><a id="1766" href="Algebra.Bundles.html#1750" class="Bound">c</a> <a id="1768" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="1770" href="Algebra.Bundles.html#1752" class="Bound"></a><a id="1771" class="Symbol">))</a> <a id="1774" class="Keyword">where</a>
<a id="1782" class="Keyword">infixl</a> <a id="1789" class="Number">7</a> <a id="1791" href="Algebra.Bundles.html#1892" class="Field Operator">_∙_</a>
<a id="1797" class="Keyword">infix</a> <a id="1804" class="Number">4</a> <a id="1806" href="Algebra.Bundles.html#1853" class="Field Operator">_≈_</a>
<a id="1812" class="Keyword">field</a>
<a id="CommutativeMagma.Carrier"></a><a id="1822" href="Algebra.Bundles.html#1822" class="Field">Carrier</a> <a id="1841" class="Symbol">:</a> <a id="1843" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="1847" href="Algebra.Bundles.html#1750" class="Bound">c</a>
<a id="CommutativeMagma._≈_"></a><a id="1853" href="Algebra.Bundles.html#1853" class="Field Operator">_≈_</a> <a id="1872" class="Symbol">:</a> <a id="1874" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="1878" href="Algebra.Bundles.html#1822" class="Field">Carrier</a> <a id="1886" href="Algebra.Bundles.html#1752" class="Bound"></a>
<a id="CommutativeMagma._∙_"></a><a id="1892" href="Algebra.Bundles.html#1892" class="Field Operator">_∙_</a> <a id="1911" class="Symbol">:</a> <a id="1913" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="1917" href="Algebra.Bundles.html#1822" class="Field">Carrier</a>
<a id="CommutativeMagma.isCommutativeMagma"></a><a id="1929" href="Algebra.Bundles.html#1929" class="Field">isCommutativeMagma</a> <a id="1948" class="Symbol">:</a> <a id="1950" href="Algebra.Structures.html#1489" class="Record">IsCommutativeMagma</a> <a id="1969" href="Algebra.Bundles.html#1853" class="Field Operator">_≈_</a> <a id="1973" href="Algebra.Bundles.html#1892" class="Field Operator">_∙_</a>
<a id="1980" class="Keyword">open</a> <a id="1985" href="Algebra.Structures.html#1489" class="Module">IsCommutativeMagma</a> <a id="2004" href="Algebra.Bundles.html#1929" class="Field">isCommutativeMagma</a> <a id="2023" class="Keyword">public</a>
<a id="CommutativeMagma.magma"></a><a id="2033" href="Algebra.Bundles.html#2033" class="Function">magma</a> <a id="2039" class="Symbol">:</a> <a id="2041" href="Algebra.Bundles.html#1000" class="Record">Magma</a> <a id="2047" href="Algebra.Bundles.html#1750" class="Bound">c</a> <a id="2049" href="Algebra.Bundles.html#1752" class="Bound"></a>
<a id="2053" href="Algebra.Bundles.html#2033" class="Function">magma</a> <a id="2059" class="Symbol">=</a> <a id="2061" class="Keyword">record</a> <a id="2068" class="Symbol">{</a> <a id="2070" href="Algebra.Bundles.html#1152" class="Field">isMagma</a> <a id="2078" class="Symbol">=</a> <a id="2080" href="Algebra.Structures.html#1552" class="Function">isMagma</a> <a id="2088" class="Symbol">}</a>
<a id="2093" class="Keyword">open</a> <a id="2098" href="Algebra.Bundles.html#1000" class="Module">Magma</a> <a id="2104" href="Algebra.Bundles.html#2033" class="Function">magma</a> <a id="2110" class="Keyword">public</a> <a id="2117" class="Keyword">using</a> <a id="2123" class="Symbol">(</a><a id="2124" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="2132" class="Symbol">)</a>
<a id="2136" class="Keyword">record</a> <a id="Semigroup"></a><a id="2143" href="Algebra.Bundles.html#2143" class="Record">Semigroup</a> <a id="2153" href="Algebra.Bundles.html#2153" class="Bound">c</a> <a id="2155" href="Algebra.Bundles.html#2155" class="Bound"></a> <a id="2157" class="Symbol">:</a> <a id="2159" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="2163" class="Symbol">(</a><a id="2164" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="2168" class="Symbol">(</a><a id="2169" href="Algebra.Bundles.html#2153" class="Bound">c</a> <a id="2171" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="2173" href="Algebra.Bundles.html#2155" class="Bound"></a><a id="2174" class="Symbol">))</a> <a id="2177" class="Keyword">where</a>
<a id="2185" class="Keyword">infixl</a> <a id="2192" class="Number">7</a> <a id="2194" href="Algebra.Bundles.html#2281" class="Field Operator">_∙_</a>
<a id="2200" class="Keyword">infix</a> <a id="2207" class="Number">4</a> <a id="2209" href="Algebra.Bundles.html#2249" class="Field Operator">_≈_</a>
<a id="2215" class="Keyword">field</a>
<a id="Semigroup.Carrier"></a><a id="2225" href="Algebra.Bundles.html#2225" class="Field">Carrier</a> <a id="2237" class="Symbol">:</a> <a id="2239" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="2243" href="Algebra.Bundles.html#2153" class="Bound">c</a>
<a id="Semigroup._≈_"></a><a id="2249" href="Algebra.Bundles.html#2249" class="Field Operator">_≈_</a> <a id="2261" class="Symbol">:</a> <a id="2263" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="2267" href="Algebra.Bundles.html#2225" class="Field">Carrier</a> <a id="2275" href="Algebra.Bundles.html#2155" class="Bound"></a>
<a id="Semigroup._∙_"></a><a id="2281" href="Algebra.Bundles.html#2281" class="Field Operator">_∙_</a> <a id="2293" class="Symbol">:</a> <a id="2295" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="2299" href="Algebra.Bundles.html#2225" class="Field">Carrier</a>
<a id="Semigroup.isSemigroup"></a><a id="2311" href="Algebra.Bundles.html#2311" class="Field">isSemigroup</a> <a id="2323" class="Symbol">:</a> <a id="2325" href="Algebra.Structures.html#1787" class="Record">IsSemigroup</a> <a id="2337" href="Algebra.Bundles.html#2249" class="Field Operator">_≈_</a> <a id="2341" href="Algebra.Bundles.html#2281" class="Field Operator">_∙_</a>
<a id="2348" class="Keyword">open</a> <a id="2353" href="Algebra.Structures.html#1787" class="Module">IsSemigroup</a> <a id="2365" href="Algebra.Bundles.html#2311" class="Field">isSemigroup</a> <a id="2377" class="Keyword">public</a>
<a id="Semigroup.magma"></a><a id="2387" href="Algebra.Bundles.html#2387" class="Function">magma</a> <a id="2393" class="Symbol">:</a> <a id="2395" href="Algebra.Bundles.html#1000" class="Record">Magma</a> <a id="2401" href="Algebra.Bundles.html#2153" class="Bound">c</a> <a id="2403" href="Algebra.Bundles.html#2155" class="Bound"></a>
<a id="2407" href="Algebra.Bundles.html#2387" class="Function">magma</a> <a id="2413" class="Symbol">=</a> <a id="2415" class="Keyword">record</a> <a id="2422" class="Symbol">{</a> <a id="2424" href="Algebra.Bundles.html#1152" class="Field">isMagma</a> <a id="2432" class="Symbol">=</a> <a id="2434" href="Algebra.Structures.html#1843" class="Function">isMagma</a> <a id="2442" class="Symbol">}</a>
<a id="2447" class="Keyword">open</a> <a id="2452" href="Algebra.Bundles.html#1000" class="Module">Magma</a> <a id="2458" href="Algebra.Bundles.html#2387" class="Function">magma</a> <a id="2464" class="Keyword">public</a>
<a id="2475" class="Keyword">using</a> <a id="2481" class="Symbol">(</a><a id="2482" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="2485" class="Symbol">;</a> <a id="2487" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="2495" class="Symbol">)</a>
<a id="2499" class="Keyword">record</a> <a id="Band"></a><a id="2506" href="Algebra.Bundles.html#2506" class="Record">Band</a> <a id="2511" href="Algebra.Bundles.html#2511" class="Bound">c</a> <a id="2513" href="Algebra.Bundles.html#2513" class="Bound"></a> <a id="2515" class="Symbol">:</a> <a id="2517" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="2521" class="Symbol">(</a><a id="2522" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="2526" class="Symbol">(</a><a id="2527" href="Algebra.Bundles.html#2511" class="Bound">c</a> <a id="2529" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="2531" href="Algebra.Bundles.html#2513" class="Bound"></a><a id="2532" class="Symbol">))</a> <a id="2535" class="Keyword">where</a>
<a id="2543" class="Keyword">infixl</a> <a id="2550" class="Number">7</a> <a id="2552" href="Algebra.Bundles.html#2631" class="Field Operator">_∙_</a>
<a id="2558" class="Keyword">infix</a> <a id="2565" class="Number">4</a> <a id="2567" href="Algebra.Bundles.html#2603" class="Field Operator">_≈_</a>
<a id="2573" class="Keyword">field</a>
<a id="Band.Carrier"></a><a id="2583" href="Algebra.Bundles.html#2583" class="Field">Carrier</a> <a id="2591" class="Symbol">:</a> <a id="2593" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="2597" href="Algebra.Bundles.html#2511" class="Bound">c</a>
<a id="Band._≈_"></a><a id="2603" href="Algebra.Bundles.html#2603" class="Field Operator">_≈_</a> <a id="2611" class="Symbol">:</a> <a id="2613" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="2617" href="Algebra.Bundles.html#2583" class="Field">Carrier</a> <a id="2625" href="Algebra.Bundles.html#2513" class="Bound"></a>
<a id="Band._∙_"></a><a id="2631" href="Algebra.Bundles.html#2631" class="Field Operator">_∙_</a> <a id="2639" class="Symbol">:</a> <a id="2641" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="2645" href="Algebra.Bundles.html#2583" class="Field">Carrier</a>
<a id="Band.isBand"></a><a id="2657" href="Algebra.Bundles.html#2657" class="Field">isBand</a> <a id="2665" class="Symbol">:</a> <a id="2667" href="Algebra.Structures.html#1931" class="Record">IsBand</a> <a id="2674" href="Algebra.Bundles.html#2603" class="Field Operator">_≈_</a> <a id="2678" href="Algebra.Bundles.html#2631" class="Field Operator">_∙_</a>
<a id="2685" class="Keyword">open</a> <a id="2690" href="Algebra.Structures.html#1931" class="Module">IsBand</a> <a id="2697" href="Algebra.Bundles.html#2657" class="Field">isBand</a> <a id="2704" class="Keyword">public</a>
<a id="Band.semigroup"></a><a id="2714" href="Algebra.Bundles.html#2714" class="Function">semigroup</a> <a id="2724" class="Symbol">:</a> <a id="2726" href="Algebra.Bundles.html#2143" class="Record">Semigroup</a> <a id="2736" href="Algebra.Bundles.html#2511" class="Bound">c</a> <a id="2738" href="Algebra.Bundles.html#2513" class="Bound"></a>
<a id="2742" href="Algebra.Bundles.html#2714" class="Function">semigroup</a> <a id="2752" class="Symbol">=</a> <a id="2754" class="Keyword">record</a> <a id="2761" class="Symbol">{</a> <a id="2763" href="Algebra.Bundles.html#2311" class="Field">isSemigroup</a> <a id="2775" class="Symbol">=</a> <a id="2777" href="Algebra.Structures.html#1982" class="Function">isSemigroup</a> <a id="2789" class="Symbol">}</a>
<a id="2794" class="Keyword">open</a> <a id="2799" href="Algebra.Bundles.html#2143" class="Module">Semigroup</a> <a id="2809" href="Algebra.Bundles.html#2714" class="Function">semigroup</a> <a id="2819" class="Keyword">public</a>
<a id="2830" class="Keyword">using</a> <a id="2836" class="Symbol">(</a><a id="2837" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="2840" class="Symbol">;</a> <a id="2842" href="Algebra.Bundles.html#2387" class="Function">magma</a><a id="2847" class="Symbol">;</a> <a id="2849" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="2857" class="Symbol">)</a>
<a id="2861" class="Keyword">record</a> <a id="CommutativeSemigroup"></a><a id="2868" href="Algebra.Bundles.html#2868" class="Record">CommutativeSemigroup</a> <a id="2889" href="Algebra.Bundles.html#2889" class="Bound">c</a> <a id="2891" href="Algebra.Bundles.html#2891" class="Bound"></a> <a id="2893" class="Symbol">:</a> <a id="2895" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="2899" class="Symbol">(</a><a id="2900" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="2904" class="Symbol">(</a><a id="2905" href="Algebra.Bundles.html#2889" class="Bound">c</a> <a id="2907" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="2909" href="Algebra.Bundles.html#2891" class="Bound"></a><a id="2910" class="Symbol">))</a> <a id="2913" class="Keyword">where</a>
<a id="2921" class="Keyword">infixl</a> <a id="2928" class="Number">7</a> <a id="2930" href="Algebra.Bundles.html#3041" class="Field Operator">_∙_</a>
<a id="2936" class="Keyword">infix</a> <a id="2943" class="Number">4</a> <a id="2945" href="Algebra.Bundles.html#2997" class="Field Operator">_≈_</a>
<a id="2951" class="Keyword">field</a>
<a id="CommutativeSemigroup.Carrier"></a><a id="2961" href="Algebra.Bundles.html#2961" class="Field">Carrier</a> <a id="2985" class="Symbol">:</a> <a id="2987" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="2991" href="Algebra.Bundles.html#2889" class="Bound">c</a>
<a id="CommutativeSemigroup._≈_"></a><a id="2997" href="Algebra.Bundles.html#2997" class="Field Operator">_≈_</a> <a id="3021" class="Symbol">:</a> <a id="3023" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="3027" href="Algebra.Bundles.html#2961" class="Field">Carrier</a> <a id="3035" href="Algebra.Bundles.html#2891" class="Bound"></a>
<a id="CommutativeSemigroup._∙_"></a><a id="3041" href="Algebra.Bundles.html#3041" class="Field Operator">_∙_</a> <a id="3065" class="Symbol">:</a> <a id="3067" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="3071" href="Algebra.Bundles.html#2961" class="Field">Carrier</a>
<a id="CommutativeSemigroup.isCommutativeSemigroup"></a><a id="3083" href="Algebra.Bundles.html#3083" class="Field">isCommutativeSemigroup</a> <a id="3107" class="Symbol">:</a> <a id="3109" href="Algebra.Structures.html#2089" class="Record">IsCommutativeSemigroup</a> <a id="3132" href="Algebra.Bundles.html#2997" class="Field Operator">_≈_</a> <a id="3136" href="Algebra.Bundles.html#3041" class="Field Operator">_∙_</a>
<a id="3143" class="Keyword">open</a> <a id="3148" href="Algebra.Structures.html#2089" class="Module">IsCommutativeSemigroup</a> <a id="3171" href="Algebra.Bundles.html#3083" class="Field">isCommutativeSemigroup</a> <a id="3194" class="Keyword">public</a>
<a id="CommutativeSemigroup.semigroup"></a><a id="3204" href="Algebra.Bundles.html#3204" class="Function">semigroup</a> <a id="3214" class="Symbol">:</a> <a id="3216" href="Algebra.Bundles.html#2143" class="Record">Semigroup</a> <a id="3226" href="Algebra.Bundles.html#2889" class="Bound">c</a> <a id="3228" href="Algebra.Bundles.html#2891" class="Bound"></a>
<a id="3232" href="Algebra.Bundles.html#3204" class="Function">semigroup</a> <a id="3242" class="Symbol">=</a> <a id="3244" class="Keyword">record</a> <a id="3251" class="Symbol">{</a> <a id="3253" href="Algebra.Bundles.html#2311" class="Field">isSemigroup</a> <a id="3265" class="Symbol">=</a> <a id="3267" href="Algebra.Structures.html#2156" class="Function">isSemigroup</a> <a id="3279" class="Symbol">}</a>
<a id="3284" class="Keyword">open</a> <a id="3289" href="Algebra.Bundles.html#2143" class="Module">Semigroup</a> <a id="3299" href="Algebra.Bundles.html#3204" class="Function">semigroup</a> <a id="3309" class="Keyword">public</a>
<a id="3320" class="Keyword">using</a> <a id="3326" class="Symbol">(</a><a id="3327" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="3330" class="Symbol">;</a> <a id="3332" href="Algebra.Bundles.html#2387" class="Function">magma</a><a id="3337" class="Symbol">;</a> <a id="3339" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="3347" class="Symbol">)</a>
<a id="CommutativeSemigroup.commutativeMagma"></a><a id="3352" href="Algebra.Bundles.html#3352" class="Function">commutativeMagma</a> <a id="3369" class="Symbol">:</a> <a id="3371" href="Algebra.Bundles.html#1733" class="Record">CommutativeMagma</a> <a id="3388" href="Algebra.Bundles.html#2889" class="Bound">c</a> <a id="3390" href="Algebra.Bundles.html#2891" class="Bound"></a>
<a id="3394" href="Algebra.Bundles.html#3352" class="Function">commutativeMagma</a> <a id="3411" class="Symbol">=</a> <a id="3413" class="Keyword">record</a> <a id="3420" class="Symbol">{</a> <a id="3422" href="Algebra.Bundles.html#1929" class="Field">isCommutativeMagma</a> <a id="3441" class="Symbol">=</a> <a id="3443" href="Algebra.Structures.html#2258" class="Function">isCommutativeMagma</a> <a id="3462" class="Symbol">}</a>
<a id="3466" class="Keyword">record</a> <a id="Semilattice"></a><a id="3473" href="Algebra.Bundles.html#3473" class="Record">Semilattice</a> <a id="3485" href="Algebra.Bundles.html#3485" class="Bound">c</a> <a id="3487" href="Algebra.Bundles.html#3487" class="Bound"></a> <a id="3489" class="Symbol">:</a> <a id="3491" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="3495" class="Symbol">(</a><a id="3496" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="3500" class="Symbol">(</a><a id="3501" href="Algebra.Bundles.html#3485" class="Bound">c</a> <a id="3503" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="3505" href="Algebra.Bundles.html#3487" class="Bound"></a><a id="3506" class="Symbol">))</a> <a id="3509" class="Keyword">where</a>
<a id="3517" class="Keyword">infixr</a> <a id="3524" class="Number">7</a> <a id="3526" href="Algebra.Bundles.html#3617" class="Field Operator">_∧_</a>
<a id="3532" class="Keyword">infix</a> <a id="3539" class="Number">4</a> <a id="3541" href="Algebra.Bundles.html#3583" class="Field Operator">_≈_</a>
<a id="3547" class="Keyword">field</a>
<a id="Semilattice.Carrier"></a><a id="3557" href="Algebra.Bundles.html#3557" class="Field">Carrier</a> <a id="3571" class="Symbol">:</a> <a id="3573" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="3577" href="Algebra.Bundles.html#3485" class="Bound">c</a>
<a id="Semilattice._≈_"></a><a id="3583" href="Algebra.Bundles.html#3583" class="Field Operator">_≈_</a> <a id="3597" class="Symbol">:</a> <a id="3599" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="3603" href="Algebra.Bundles.html#3557" class="Field">Carrier</a> <a id="3611" href="Algebra.Bundles.html#3487" class="Bound"></a>
<a id="Semilattice._∧_"></a><a id="3617" href="Algebra.Bundles.html#3617" class="Field Operator">_∧_</a> <a id="3631" class="Symbol">:</a> <a id="3633" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="3637" href="Algebra.Bundles.html#3557" class="Field">Carrier</a>
<a id="Semilattice.isSemilattice"></a><a id="3649" href="Algebra.Bundles.html#3649" class="Field">isSemilattice</a> <a id="3663" class="Symbol">:</a> <a id="3665" href="Algebra.Structures.html#2390" class="Record">IsSemilattice</a> <a id="3679" href="Algebra.Bundles.html#3583" class="Field Operator">_≈_</a> <a id="3683" href="Algebra.Bundles.html#3617" class="Field Operator">_∧_</a>
<a id="3690" class="Keyword">open</a> <a id="3695" href="Algebra.Structures.html#2390" class="Module">IsSemilattice</a> <a id="3709" href="Algebra.Bundles.html#3649" class="Field">isSemilattice</a> <a id="3723" class="Keyword">public</a>
<a id="Semilattice.band"></a><a id="3733" href="Algebra.Bundles.html#3733" class="Function">band</a> <a id="3738" class="Symbol">:</a> <a id="3740" href="Algebra.Bundles.html#2506" class="Record">Band</a> <a id="3745" href="Algebra.Bundles.html#3485" class="Bound">c</a> <a id="3747" href="Algebra.Bundles.html#3487" class="Bound"></a>
<a id="3751" href="Algebra.Bundles.html#3733" class="Function">band</a> <a id="3756" class="Symbol">=</a> <a id="3758" class="Keyword">record</a> <a id="3765" class="Symbol">{</a> <a id="3767" href="Algebra.Bundles.html#2657" class="Field">isBand</a> <a id="3774" class="Symbol">=</a> <a id="3776" href="Algebra.Structures.html#2448" class="Function">isBand</a> <a id="3783" class="Symbol">}</a>
<a id="3788" class="Keyword">open</a> <a id="3793" href="Algebra.Bundles.html#2506" class="Module">Band</a> <a id="3798" href="Algebra.Bundles.html#3733" class="Function">band</a> <a id="3803" class="Keyword">public</a>
<a id="3814" class="Keyword">using</a> <a id="3820" class="Symbol">(</a><a id="3821" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="3824" class="Symbol">;</a> <a id="3826" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="3834" class="Symbol">;</a> <a id="3836" href="Algebra.Bundles.html#2387" class="Function">magma</a><a id="3841" class="Symbol">;</a> <a id="3843" href="Algebra.Bundles.html#2714" class="Function">semigroup</a><a id="3852" class="Symbol">)</a>
<a id="3856" class="Comment">------------------------------------------------------------------------</a>
<a id="3929" class="Comment">-- Bundles with 1 binary operation &amp; 1 element</a>
<a id="3976" class="Comment">------------------------------------------------------------------------</a>
<a id="4050" class="Comment">-- A raw monoid is a monoid without any laws.</a>
<a id="4097" class="Keyword">record</a> <a id="RawMonoid"></a><a id="4104" href="Algebra.Bundles.html#4104" class="Record">RawMonoid</a> <a id="4114" href="Algebra.Bundles.html#4114" class="Bound">c</a> <a id="4116" href="Algebra.Bundles.html#4116" class="Bound"></a> <a id="4118" class="Symbol">:</a> <a id="4120" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="4124" class="Symbol">(</a><a id="4125" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="4129" class="Symbol">(</a><a id="4130" href="Algebra.Bundles.html#4114" class="Bound">c</a> <a id="4132" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="4134" href="Algebra.Bundles.html#4116" class="Bound"></a><a id="4135" class="Symbol">))</a> <a id="4138" class="Keyword">where</a>
<a id="4146" class="Keyword">infixl</a> <a id="4153" class="Number">7</a> <a id="4155" href="Algebra.Bundles.html#4234" class="Field Operator">_∙_</a>
<a id="4161" class="Keyword">infix</a> <a id="4168" class="Number">4</a> <a id="4170" href="Algebra.Bundles.html#4206" class="Field Operator">_≈_</a>
<a id="4176" class="Keyword">field</a>
<a id="RawMonoid.Carrier"></a><a id="4186" href="Algebra.Bundles.html#4186" class="Field">Carrier</a> <a id="4194" class="Symbol">:</a> <a id="4196" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="4200" href="Algebra.Bundles.html#4114" class="Bound">c</a>
<a id="RawMonoid._≈_"></a><a id="4206" href="Algebra.Bundles.html#4206" class="Field Operator">_≈_</a> <a id="4214" class="Symbol">:</a> <a id="4216" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="4220" href="Algebra.Bundles.html#4186" class="Field">Carrier</a> <a id="4228" href="Algebra.Bundles.html#4116" class="Bound"></a>
<a id="RawMonoid._∙_"></a><a id="4234" href="Algebra.Bundles.html#4234" class="Field Operator">_∙_</a> <a id="4242" class="Symbol">:</a> <a id="4244" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="4248" href="Algebra.Bundles.html#4186" class="Field">Carrier</a>
<a id="RawMonoid.ε"></a><a id="4260" href="Algebra.Bundles.html#4260" class="Field">ε</a> <a id="4268" class="Symbol">:</a> <a id="4270" href="Algebra.Bundles.html#4186" class="Field">Carrier</a>
<a id="RawMonoid.rawMagma"></a><a id="4281" href="Algebra.Bundles.html#4281" class="Function">rawMagma</a> <a id="4290" class="Symbol">:</a> <a id="4292" href="Algebra.Bundles.html#781" class="Record">RawMagma</a> <a id="4301" href="Algebra.Bundles.html#4114" class="Bound">c</a> <a id="4303" href="Algebra.Bundles.html#4116" class="Bound"></a>
<a id="4307" href="Algebra.Bundles.html#4281" class="Function">rawMagma</a> <a id="4316" class="Symbol">=</a> <a id="4318" class="Keyword">record</a>
<a id="4329" class="Symbol">{</a> <a id="4331" href="Algebra.Bundles.html#882" class="Field Operator">_≈_</a> <a id="4335" class="Symbol">=</a> <a id="4337" href="Algebra.Bundles.html#4206" class="Field Operator">_≈_</a>
<a id="4345" class="Symbol">;</a> <a id="4347" href="Algebra.Bundles.html#910" class="Field Operator">_∙_</a> <a id="4351" class="Symbol">=</a> <a id="4353" href="Algebra.Bundles.html#4234" class="Field Operator">_∙_</a>
<a id="4361" class="Symbol">}</a>
<a id="4366" class="Keyword">open</a> <a id="4371" href="Algebra.Bundles.html#781" class="Module">RawMagma</a> <a id="4380" href="Algebra.Bundles.html#4281" class="Function">rawMagma</a> <a id="4389" class="Keyword">public</a>
<a id="4400" class="Keyword">using</a> <a id="4406" class="Symbol">(</a><a id="4407" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="4410" class="Symbol">)</a>
<a id="4414" class="Keyword">record</a> <a id="Monoid"></a><a id="4421" href="Algebra.Bundles.html#4421" class="Record">Monoid</a> <a id="4428" href="Algebra.Bundles.html#4428" class="Bound">c</a> <a id="4430" href="Algebra.Bundles.html#4430" class="Bound"></a> <a id="4432" class="Symbol">:</a> <a id="4434" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="4438" class="Symbol">(</a><a id="4439" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="4443" class="Symbol">(</a><a id="4444" href="Algebra.Bundles.html#4428" class="Bound">c</a> <a id="4446" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="4448" href="Algebra.Bundles.html#4430" class="Bound"></a><a id="4449" class="Symbol">))</a> <a id="4452" class="Keyword">where</a>
<a id="4460" class="Keyword">infixl</a> <a id="4467" class="Number">7</a> <a id="4469" href="Algebra.Bundles.html#4550" class="Field Operator">_∙_</a>
<a id="4475" class="Keyword">infix</a> <a id="4482" class="Number">4</a> <a id="4484" href="Algebra.Bundles.html#4521" class="Field Operator">_≈_</a>
<a id="4490" class="Keyword">field</a>
<a id="Monoid.Carrier"></a><a id="4500" href="Algebra.Bundles.html#4500" class="Field">Carrier</a> <a id="4509" class="Symbol">:</a> <a id="4511" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="4515" href="Algebra.Bundles.html#4428" class="Bound">c</a>
<a id="Monoid._≈_"></a><a id="4521" href="Algebra.Bundles.html#4521" class="Field Operator">_≈_</a> <a id="4530" class="Symbol">:</a> <a id="4532" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="4536" href="Algebra.Bundles.html#4500" class="Field">Carrier</a> <a id="4544" href="Algebra.Bundles.html#4430" class="Bound"></a>
<a id="Monoid._∙_"></a><a id="4550" href="Algebra.Bundles.html#4550" class="Field Operator">_∙_</a> <a id="4559" class="Symbol">:</a> <a id="4561" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="4565" href="Algebra.Bundles.html#4500" class="Field">Carrier</a>
<a id="Monoid.ε"></a><a id="4577" href="Algebra.Bundles.html#4577" class="Field">ε</a> <a id="4586" class="Symbol">:</a> <a id="4588" href="Algebra.Bundles.html#4500" class="Field">Carrier</a>
<a id="Monoid.isMonoid"></a><a id="4600" href="Algebra.Bundles.html#4600" class="Field">isMonoid</a> <a id="4609" class="Symbol">:</a> <a id="4611" href="Algebra.Structures.html#2801" class="Record">IsMonoid</a> <a id="4620" href="Algebra.Bundles.html#4521" class="Field Operator">_≈_</a> <a id="4624" href="Algebra.Bundles.html#4550" class="Field Operator">_∙_</a> <a id="4628" href="Algebra.Bundles.html#4577" class="Field">ε</a>
<a id="4633" class="Keyword">open</a> <a id="4638" href="Algebra.Structures.html#2801" class="Module">IsMonoid</a> <a id="4647" href="Algebra.Bundles.html#4600" class="Field">isMonoid</a> <a id="4656" class="Keyword">public</a>
<a id="Monoid.semigroup"></a><a id="4666" href="Algebra.Bundles.html#4666" class="Function">semigroup</a> <a id="4676" class="Symbol">:</a> <a id="4678" href="Algebra.Bundles.html#2143" class="Record">Semigroup</a> <a id="4688" class="Symbol">_</a> <a id="4690" class="Symbol">_</a>
<a id="4694" href="Algebra.Bundles.html#4666" class="Function">semigroup</a> <a id="4704" class="Symbol">=</a> <a id="4706" class="Keyword">record</a> <a id="4713" class="Symbol">{</a> <a id="4715" href="Algebra.Bundles.html#2311" class="Field">isSemigroup</a> <a id="4727" class="Symbol">=</a> <a id="4729" href="Algebra.Structures.html#2862" class="Function">isSemigroup</a> <a id="4741" class="Symbol">}</a>
<a id="4746" class="Keyword">open</a> <a id="4751" href="Algebra.Bundles.html#2143" class="Module">Semigroup</a> <a id="4761" href="Algebra.Bundles.html#4666" class="Function">semigroup</a> <a id="4771" class="Keyword">public</a>
<a id="4782" class="Keyword">using</a> <a id="4788" class="Symbol">(</a><a id="4789" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="4792" class="Symbol">;</a> <a id="4794" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="4802" class="Symbol">;</a> <a id="4804" href="Algebra.Bundles.html#2387" class="Function">magma</a><a id="4809" class="Symbol">)</a>
<a id="Monoid.rawMonoid"></a><a id="4814" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a> <a id="4824" class="Symbol">:</a> <a id="4826" href="Algebra.Bundles.html#4104" class="Record">RawMonoid</a> <a id="4836" class="Symbol">_</a> <a id="4838" class="Symbol">_</a>
<a id="4842" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a> <a id="4852" class="Symbol">=</a> <a id="4854" class="Keyword">record</a> <a id="4861" class="Symbol">{</a> <a id="4863" href="Algebra.Bundles.html#4206" class="Field Operator">_≈_</a> <a id="4867" class="Symbol">=</a> <a id="4869" href="Algebra.Bundles.html#4521" class="Field Operator">_≈_</a><a id="4872" class="Symbol">;</a> <a id="4874" href="Algebra.Bundles.html#4234" class="Field Operator">_∙_</a> <a id="4878" class="Symbol">=</a> <a id="4880" href="Algebra.Bundles.html#4550" class="Field Operator">_∙_</a><a id="4883" class="Symbol">;</a> <a id="4885" href="Algebra.Bundles.html#4260" class="Field">ε</a> <a id="4887" class="Symbol">=</a> <a id="4889" href="Algebra.Bundles.html#4577" class="Field">ε</a><a id="4890" class="Symbol">}</a>
<a id="4894" class="Keyword">record</a> <a id="CommutativeMonoid"></a><a id="4901" href="Algebra.Bundles.html#4901" class="Record">CommutativeMonoid</a> <a id="4919" href="Algebra.Bundles.html#4919" class="Bound">c</a> <a id="4921" href="Algebra.Bundles.html#4921" class="Bound"></a> <a id="4923" class="Symbol">:</a> <a id="4925" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="4929" class="Symbol">(</a><a id="4930" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="4934" class="Symbol">(</a><a id="4935" href="Algebra.Bundles.html#4919" class="Bound">c</a> <a id="4937" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="4939" href="Algebra.Bundles.html#4921" class="Bound"></a><a id="4940" class="Symbol">))</a> <a id="4943" class="Keyword">where</a>
<a id="4951" class="Keyword">infixl</a> <a id="4958" class="Number">7</a> <a id="4960" href="Algebra.Bundles.html#5063" class="Field Operator">_∙_</a>
<a id="4966" class="Keyword">infix</a> <a id="4973" class="Number">4</a> <a id="4975" href="Algebra.Bundles.html#5023" class="Field Operator">_≈_</a>
<a id="4981" class="Keyword">field</a>
<a id="CommutativeMonoid.Carrier"></a><a id="4991" href="Algebra.Bundles.html#4991" class="Field">Carrier</a> <a id="5011" class="Symbol">:</a> <a id="5013" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="5017" href="Algebra.Bundles.html#4919" class="Bound">c</a>
<a id="CommutativeMonoid._≈_"></a><a id="5023" href="Algebra.Bundles.html#5023" class="Field Operator">_≈_</a> <a id="5043" class="Symbol">:</a> <a id="5045" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="5049" href="Algebra.Bundles.html#4991" class="Field">Carrier</a> <a id="5057" href="Algebra.Bundles.html#4921" class="Bound"></a>
<a id="CommutativeMonoid._∙_"></a><a id="5063" href="Algebra.Bundles.html#5063" class="Field Operator">_∙_</a> <a id="5083" class="Symbol">:</a> <a id="5085" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="5089" href="Algebra.Bundles.html#4991" class="Field">Carrier</a>
<a id="CommutativeMonoid.ε"></a><a id="5101" href="Algebra.Bundles.html#5101" class="Field">ε</a> <a id="5121" class="Symbol">:</a> <a id="5123" href="Algebra.Bundles.html#4991" class="Field">Carrier</a>
<a id="CommutativeMonoid.isCommutativeMonoid"></a><a id="5135" href="Algebra.Bundles.html#5135" class="Field">isCommutativeMonoid</a> <a id="5155" class="Symbol">:</a> <a id="5157" href="Algebra.Structures.html#3092" class="Record">IsCommutativeMonoid</a> <a id="5177" href="Algebra.Bundles.html#5023" class="Field Operator">_≈_</a> <a id="5181" href="Algebra.Bundles.html#5063" class="Field Operator">_∙_</a> <a id="5185" href="Algebra.Bundles.html#5101" class="Field">ε</a>
<a id="5190" class="Keyword">open</a> <a id="5195" href="Algebra.Structures.html#3092" class="Module">IsCommutativeMonoid</a> <a id="5215" href="Algebra.Bundles.html#5135" class="Field">isCommutativeMonoid</a> <a id="5235" class="Keyword">public</a>
<a id="CommutativeMonoid.monoid"></a><a id="5245" href="Algebra.Bundles.html#5245" class="Function">monoid</a> <a id="5252" class="Symbol">:</a> <a id="5254" href="Algebra.Bundles.html#4421" class="Record">Monoid</a> <a id="5261" class="Symbol">_</a> <a id="5263" class="Symbol">_</a>
<a id="5267" href="Algebra.Bundles.html#5245" class="Function">monoid</a> <a id="5274" class="Symbol">=</a> <a id="5276" class="Keyword">record</a> <a id="5283" class="Symbol">{</a> <a id="5285" href="Algebra.Bundles.html#4600" class="Field">isMonoid</a> <a id="5294" class="Symbol">=</a> <a id="5296" href="Algebra.Structures.html#3164" class="Function">isMonoid</a> <a id="5305" class="Symbol">}</a>
<a id="5310" class="Keyword">open</a> <a id="5315" href="Algebra.Bundles.html#4421" class="Module">Monoid</a> <a id="5322" href="Algebra.Bundles.html#5245" class="Function">monoid</a> <a id="5329" class="Keyword">public</a>
<a id="5340" class="Keyword">using</a> <a id="5346" class="Symbol">(</a><a id="5347" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="5350" class="Symbol">;</a> <a id="5352" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="5360" class="Symbol">;</a> <a id="5362" href="Algebra.Bundles.html#2387" class="Function">magma</a><a id="5367" class="Symbol">;</a> <a id="5369" href="Algebra.Bundles.html#4666" class="Function">semigroup</a><a id="5378" class="Symbol">;</a> <a id="5380" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a><a id="5389" class="Symbol">)</a>
<a id="CommutativeMonoid.commutativeSemigroup"></a><a id="5394" href="Algebra.Bundles.html#5394" class="Function">commutativeSemigroup</a> <a id="5415" class="Symbol">:</a> <a id="5417" href="Algebra.Bundles.html#2868" class="Record">CommutativeSemigroup</a> <a id="5438" class="Symbol">_</a> <a id="5440" class="Symbol">_</a>
<a id="5444" href="Algebra.Bundles.html#5394" class="Function">commutativeSemigroup</a> <a id="5465" class="Symbol">=</a> <a id="5467" class="Keyword">record</a> <a id="5474" class="Symbol">{</a> <a id="5476" href="Algebra.Bundles.html#3083" class="Field">isCommutativeSemigroup</a> <a id="5499" class="Symbol">=</a> <a id="5501" href="Algebra.Structures.html#3253" class="Function">isCommutativeSemigroup</a> <a id="5524" class="Symbol">}</a>
<a id="5529" class="Keyword">open</a> <a id="5534" href="Algebra.Bundles.html#2868" class="Module">CommutativeSemigroup</a> <a id="5555" href="Algebra.Bundles.html#5394" class="Function">commutativeSemigroup</a> <a id="5576" class="Keyword">public</a>
<a id="5587" class="Keyword">using</a> <a id="5593" class="Symbol">(</a><a id="5594" href="Algebra.Bundles.html#3352" class="Function">commutativeMagma</a><a id="5610" class="Symbol">)</a>
<a id="5614" class="Keyword">record</a> <a id="IdempotentCommutativeMonoid"></a><a id="5621" href="Algebra.Bundles.html#5621" class="Record">IdempotentCommutativeMonoid</a> <a id="5649" href="Algebra.Bundles.html#5649" class="Bound">c</a> <a id="5651" href="Algebra.Bundles.html#5651" class="Bound"></a> <a id="5653" class="Symbol">:</a> <a id="5655" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="5659" class="Symbol">(</a><a id="5660" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="5664" class="Symbol">(</a><a id="5665" href="Algebra.Bundles.html#5649" class="Bound">c</a> <a id="5667" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="5669" href="Algebra.Bundles.html#5651" class="Bound"></a><a id="5670" class="Symbol">))</a> <a id="5673" class="Keyword">where</a>
<a id="5681" class="Keyword">infixl</a> <a id="5688" class="Number">7</a> <a id="5690" href="Algebra.Bundles.html#5813" class="Field Operator">_∙_</a>
<a id="5696" class="Keyword">infix</a> <a id="5703" class="Number">4</a> <a id="5705" href="Algebra.Bundles.html#5763" class="Field Operator">_≈_</a>
<a id="5711" class="Keyword">field</a>
<a id="IdempotentCommutativeMonoid.Carrier"></a><a id="5721" href="Algebra.Bundles.html#5721" class="Field">Carrier</a> <a id="5751" class="Symbol">:</a> <a id="5753" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="5757" href="Algebra.Bundles.html#5649" class="Bound">c</a>
<a id="IdempotentCommutativeMonoid._≈_"></a><a id="5763" href="Algebra.Bundles.html#5763" class="Field Operator">_≈_</a> <a id="5793" class="Symbol">:</a> <a id="5795" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="5799" href="Algebra.Bundles.html#5721" class="Field">Carrier</a> <a id="5807" href="Algebra.Bundles.html#5651" class="Bound"></a>
<a id="IdempotentCommutativeMonoid._∙_"></a><a id="5813" href="Algebra.Bundles.html#5813" class="Field Operator">_∙_</a> <a id="5843" class="Symbol">:</a> <a id="5845" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="5849" href="Algebra.Bundles.html#5721" class="Field">Carrier</a>
<a id="IdempotentCommutativeMonoid.ε"></a><a id="5861" href="Algebra.Bundles.html#5861" class="Field">ε</a> <a id="5891" class="Symbol">:</a> <a id="5893" href="Algebra.Bundles.html#5721" class="Field">Carrier</a>
<a id="IdempotentCommutativeMonoid.isIdempotentCommutativeMonoid"></a><a id="5905" href="Algebra.Bundles.html#5905" class="Field">isIdempotentCommutativeMonoid</a> <a id="5935" class="Symbol">:</a> <a id="5937" href="Algebra.Structures.html#3501" class="Record">IsIdempotentCommutativeMonoid</a> <a id="5967" href="Algebra.Bundles.html#5763" class="Field Operator">_≈_</a> <a id="5971" href="Algebra.Bundles.html#5813" class="Field Operator">_∙_</a> <a id="5975" href="Algebra.Bundles.html#5861" class="Field">ε</a>
<a id="5980" class="Keyword">open</a> <a id="5985" href="Algebra.Structures.html#3501" class="Module">IsIdempotentCommutativeMonoid</a> <a id="6015" href="Algebra.Bundles.html#5905" class="Field">isIdempotentCommutativeMonoid</a> <a id="6045" class="Keyword">public</a>
<a id="IdempotentCommutativeMonoid.commutativeMonoid"></a><a id="6055" href="Algebra.Bundles.html#6055" class="Function">commutativeMonoid</a> <a id="6073" class="Symbol">:</a> <a id="6075" href="Algebra.Bundles.html#4901" class="Record">CommutativeMonoid</a> <a id="6093" class="Symbol">_</a> <a id="6095" class="Symbol">_</a>
<a id="6099" href="Algebra.Bundles.html#6055" class="Function">commutativeMonoid</a> <a id="6117" class="Symbol">=</a> <a id="6119" class="Keyword">record</a> <a id="6126" class="Symbol">{</a> <a id="6128" href="Algebra.Bundles.html#5135" class="Field">isCommutativeMonoid</a> <a id="6148" class="Symbol">=</a> <a id="6150" href="Algebra.Structures.html#3620" class="Function">isCommutativeMonoid</a> <a id="6170" class="Symbol">}</a>
<a id="6175" class="Keyword">open</a> <a id="6180" href="Algebra.Bundles.html#4901" class="Module">CommutativeMonoid</a> <a id="6198" href="Algebra.Bundles.html#6055" class="Function">commutativeMonoid</a> <a id="6216" class="Keyword">public</a>
<a id="6227" class="Keyword">using</a>
<a id="6237" class="Symbol">(</a> <a id="6239" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="6242" class="Symbol">;</a> <a id="6244" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="6252" class="Symbol">;</a> <a id="6254" href="Algebra.Bundles.html#2387" class="Function">magma</a><a id="6259" class="Symbol">;</a> <a id="6261" href="Algebra.Bundles.html#3352" class="Function">commutativeMagma</a><a id="6277" class="Symbol">;</a> <a id="6279" href="Algebra.Bundles.html#4666" class="Function">semigroup</a><a id="6288" class="Symbol">;</a> <a id="6290" href="Algebra.Bundles.html#5394" class="Function">commutativeSemigroup</a>
<a id="6315" class="Symbol">;</a> <a id="6317" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a><a id="6326" class="Symbol">;</a> <a id="6328" href="Algebra.Bundles.html#5245" class="Function">monoid</a>
<a id="6339" class="Symbol">)</a>
<a id="6343" class="Comment">-- Idempotent commutative monoids are also known as bounded lattices.</a>
<a id="6413" class="Comment">-- Note that the BoundedLattice necessarily uses the notation inherited</a>
<a id="6485" class="Comment">-- from monoids rather than lattices.</a>
<a id="BoundedLattice"></a><a id="6524" href="Algebra.Bundles.html#6524" class="Function">BoundedLattice</a> <a id="6539" class="Symbol">=</a> <a id="6541" href="Algebra.Bundles.html#5621" class="Record">IdempotentCommutativeMonoid</a>
<a id="6570" class="Keyword">module</a> <a id="BoundedLattice"></a><a id="6577" href="Algebra.Bundles.html#6577" class="Module">BoundedLattice</a> <a id="6592" class="Symbol">{</a><a id="6593" href="Algebra.Bundles.html#6593" class="Bound">c</a> <a id="6595" href="Algebra.Bundles.html#6595" class="Bound"></a><a id="6596" class="Symbol">}</a> <a id="6598" class="Symbol">(</a><a id="6599" href="Algebra.Bundles.html#6599" class="Bound">idemCommMonoid</a> <a id="6614" class="Symbol">:</a> <a id="6616" href="Algebra.Bundles.html#5621" class="Record">IdempotentCommutativeMonoid</a> <a id="6644" href="Algebra.Bundles.html#6593" class="Bound">c</a> <a id="6646" href="Algebra.Bundles.html#6595" class="Bound"></a><a id="6647" class="Symbol">)</a> <a id="6649" class="Symbol">=</a>
<a id="6658" href="Algebra.Bundles.html#5621" class="Module">IdempotentCommutativeMonoid</a> <a id="6686" href="Algebra.Bundles.html#6599" class="Bound">idemCommMonoid</a>
<a id="6703" class="Comment">------------------------------------------------------------------------</a>
<a id="6776" class="Comment">-- Bundles with 1 binary operation, 1 unary operation &amp; 1 element</a>
<a id="6842" class="Comment">------------------------------------------------------------------------</a>
<a id="6916" class="Keyword">record</a> <a id="RawGroup"></a><a id="6923" href="Algebra.Bundles.html#6923" class="Record">RawGroup</a> <a id="6932" href="Algebra.Bundles.html#6932" class="Bound">c</a> <a id="6934" href="Algebra.Bundles.html#6934" class="Bound"></a> <a id="6936" class="Symbol">:</a> <a id="6938" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="6942" class="Symbol">(</a><a id="6943" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="6947" class="Symbol">(</a><a id="6948" href="Algebra.Bundles.html#6932" class="Bound">c</a> <a id="6950" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="6952" href="Algebra.Bundles.html#6934" class="Bound"></a><a id="6953" class="Symbol">))</a> <a id="6956" class="Keyword">where</a>
<a id="6964" class="Keyword">infix</a> <a id="6971" class="Number">8</a> <a id="6973" href="Algebra.Bundles.html#7115" class="Field Operator">_⁻¹</a>
<a id="6979" class="Keyword">infixl</a> <a id="6986" class="Number">7</a> <a id="6988" href="Algebra.Bundles.html#7067" class="Field Operator">_∙_</a>
<a id="6994" class="Keyword">infix</a> <a id="7001" class="Number">4</a> <a id="7003" href="Algebra.Bundles.html#7039" class="Field Operator">_≈_</a>
<a id="7009" class="Keyword">field</a>
<a id="RawGroup.Carrier"></a><a id="7019" href="Algebra.Bundles.html#7019" class="Field">Carrier</a> <a id="7027" class="Symbol">:</a> <a id="7029" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="7033" href="Algebra.Bundles.html#6932" class="Bound">c</a>
<a id="RawGroup._≈_"></a><a id="7039" href="Algebra.Bundles.html#7039" class="Field Operator">_≈_</a> <a id="7047" class="Symbol">:</a> <a id="7049" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="7053" href="Algebra.Bundles.html#7019" class="Field">Carrier</a> <a id="7061" href="Algebra.Bundles.html#6934" class="Bound"></a>
<a id="RawGroup._∙_"></a><a id="7067" href="Algebra.Bundles.html#7067" class="Field Operator">_∙_</a> <a id="7075" class="Symbol">:</a> <a id="7077" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="7081" href="Algebra.Bundles.html#7019" class="Field">Carrier</a>
<a id="RawGroup.ε"></a><a id="7093" href="Algebra.Bundles.html#7093" class="Field">ε</a> <a id="7101" class="Symbol">:</a> <a id="7103" href="Algebra.Bundles.html#7019" class="Field">Carrier</a>
<a id="RawGroup._⁻¹"></a><a id="7115" href="Algebra.Bundles.html#7115" class="Field Operator">_⁻¹</a> <a id="7123" class="Symbol">:</a> <a id="7125" href="Algebra.Core.html#475" class="Function">Op₁</a> <a id="7129" href="Algebra.Bundles.html#7019" class="Field">Carrier</a>
<a id="RawGroup.rawMonoid"></a><a id="7140" href="Algebra.Bundles.html#7140" class="Function">rawMonoid</a> <a id="7150" class="Symbol">:</a> <a id="7152" href="Algebra.Bundles.html#4104" class="Record">RawMonoid</a> <a id="7162" href="Algebra.Bundles.html#6932" class="Bound">c</a> <a id="7164" href="Algebra.Bundles.html#6934" class="Bound"></a>
<a id="7168" href="Algebra.Bundles.html#7140" class="Function">rawMonoid</a> <a id="7178" class="Symbol">=</a> <a id="7180" class="Keyword">record</a>
<a id="7191" class="Symbol">{</a> <a id="7193" href="Algebra.Bundles.html#4206" class="Field Operator">_≈_</a> <a id="7197" class="Symbol">=</a> <a id="7199" href="Algebra.Bundles.html#7039" class="Field Operator">_≈_</a>
<a id="7207" class="Symbol">;</a> <a id="7209" href="Algebra.Bundles.html#4234" class="Field Operator">_∙_</a> <a id="7213" class="Symbol">=</a> <a id="7215" href="Algebra.Bundles.html#7067" class="Field Operator">_∙_</a>
<a id="7223" class="Symbol">;</a> <a id="7225" href="Algebra.Bundles.html#4260" class="Field">ε</a> <a id="7229" class="Symbol">=</a> <a id="7231" href="Algebra.Bundles.html#7093" class="Field">ε</a>
<a id="7237" class="Symbol">}</a>
<a id="7242" class="Keyword">open</a> <a id="7247" href="Algebra.Bundles.html#4104" class="Module">RawMonoid</a> <a id="7257" href="Algebra.Bundles.html#7140" class="Function">rawMonoid</a> <a id="7267" class="Keyword">public</a>
<a id="7278" class="Keyword">using</a> <a id="7284" class="Symbol">(</a><a id="7285" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="7288" class="Symbol">;</a> <a id="7290" href="Algebra.Bundles.html#4281" class="Function">rawMagma</a><a id="7298" class="Symbol">)</a>
<a id="7302" class="Keyword">record</a> <a id="Group"></a><a id="7309" href="Algebra.Bundles.html#7309" class="Record">Group</a> <a id="7315" href="Algebra.Bundles.html#7315" class="Bound">c</a> <a id="7317" href="Algebra.Bundles.html#7317" class="Bound"></a> <a id="7319" class="Symbol">:</a> <a id="7321" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="7325" class="Symbol">(</a><a id="7326" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="7330" class="Symbol">(</a><a id="7331" href="Algebra.Bundles.html#7315" class="Bound">c</a> <a id="7333" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="7335" href="Algebra.Bundles.html#7317" class="Bound"></a><a id="7336" class="Symbol">))</a> <a id="7339" class="Keyword">where</a>
<a id="7347" class="Keyword">infix</a> <a id="7354" class="Number">8</a> <a id="7356" href="Algebra.Bundles.html#7498" class="Field Operator">_⁻¹</a>
<a id="7362" class="Keyword">infixl</a> <a id="7369" class="Number">7</a> <a id="7371" href="Algebra.Bundles.html#7450" class="Field Operator">_∙_</a>
<a id="7377" class="Keyword">infix</a> <a id="7384" class="Number">4</a> <a id="7386" href="Algebra.Bundles.html#7422" class="Field Operator">_≈_</a>
<a id="7392" class="Keyword">field</a>
<a id="Group.Carrier"></a><a id="7402" href="Algebra.Bundles.html#7402" class="Field">Carrier</a> <a id="7410" class="Symbol">:</a> <a id="7412" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="7416" href="Algebra.Bundles.html#7315" class="Bound">c</a>
<a id="Group._≈_"></a><a id="7422" href="Algebra.Bundles.html#7422" class="Field Operator">_≈_</a> <a id="7430" class="Symbol">:</a> <a id="7432" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="7436" href="Algebra.Bundles.html#7402" class="Field">Carrier</a> <a id="7444" href="Algebra.Bundles.html#7317" class="Bound"></a>
<a id="Group._∙_"></a><a id="7450" href="Algebra.Bundles.html#7450" class="Field Operator">_∙_</a> <a id="7458" class="Symbol">:</a> <a id="7460" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="7464" href="Algebra.Bundles.html#7402" class="Field">Carrier</a>
<a id="Group.ε"></a><a id="7476" href="Algebra.Bundles.html#7476" class="Field">ε</a> <a id="7484" class="Symbol">:</a> <a id="7486" href="Algebra.Bundles.html#7402" class="Field">Carrier</a>
<a id="Group._⁻¹"></a><a id="7498" href="Algebra.Bundles.html#7498" class="Field Operator">_⁻¹</a> <a id="7506" class="Symbol">:</a> <a id="7508" href="Algebra.Core.html#475" class="Function">Op₁</a> <a id="7512" href="Algebra.Bundles.html#7402" class="Field">Carrier</a>
<a id="Group.isGroup"></a><a id="7524" href="Algebra.Bundles.html#7524" class="Field">isGroup</a> <a id="7532" class="Symbol">:</a> <a id="7534" href="Algebra.Structures.html#4421" class="Record">IsGroup</a> <a id="7542" href="Algebra.Bundles.html#7422" class="Field Operator">_≈_</a> <a id="7546" href="Algebra.Bundles.html#7450" class="Field Operator">_∙_</a> <a id="7550" href="Algebra.Bundles.html#7476" class="Field">ε</a> <a id="7552" href="Algebra.Bundles.html#7498" class="Field Operator">_⁻¹</a>
<a id="7559" class="Keyword">open</a> <a id="7564" href="Algebra.Structures.html#4421" class="Module">IsGroup</a> <a id="7572" href="Algebra.Bundles.html#7524" class="Field">isGroup</a> <a id="7580" class="Keyword">public</a>
<a id="Group.rawGroup"></a><a id="7590" href="Algebra.Bundles.html#7590" class="Function">rawGroup</a> <a id="7599" class="Symbol">:</a> <a id="7601" href="Algebra.Bundles.html#6923" class="Record">RawGroup</a> <a id="7610" class="Symbol">_</a> <a id="7612" class="Symbol">_</a>
<a id="7616" href="Algebra.Bundles.html#7590" class="Function">rawGroup</a> <a id="7625" class="Symbol">=</a> <a id="7627" class="Keyword">record</a> <a id="7634" class="Symbol">{</a> <a id="7636" href="Algebra.Bundles.html#7039" class="Field Operator">_≈_</a> <a id="7640" class="Symbol">=</a> <a id="7642" href="Algebra.Bundles.html#7422" class="Field Operator">_≈_</a><a id="7645" class="Symbol">;</a> <a id="7647" href="Algebra.Bundles.html#7067" class="Field Operator">_∙_</a> <a id="7651" class="Symbol">=</a> <a id="7653" href="Algebra.Bundles.html#7450" class="Field Operator">_∙_</a><a id="7656" class="Symbol">;</a> <a id="7658" href="Algebra.Bundles.html#7093" class="Field">ε</a> <a id="7660" class="Symbol">=</a> <a id="7662" href="Algebra.Bundles.html#7476" class="Field">ε</a><a id="7663" class="Symbol">;</a> <a id="7665" href="Algebra.Bundles.html#7115" class="Field Operator">_⁻¹</a> <a id="7669" class="Symbol">=</a> <a id="7671" href="Algebra.Bundles.html#7498" class="Field Operator">_⁻¹</a><a id="7674" class="Symbol">}</a>
<a id="Group.monoid"></a><a id="7679" href="Algebra.Bundles.html#7679" class="Function">monoid</a> <a id="7686" class="Symbol">:</a> <a id="7688" href="Algebra.Bundles.html#4421" class="Record">Monoid</a> <a id="7695" class="Symbol">_</a> <a id="7697" class="Symbol">_</a>
<a id="7701" href="Algebra.Bundles.html#7679" class="Function">monoid</a> <a id="7708" class="Symbol">=</a> <a id="7710" class="Keyword">record</a> <a id="7717" class="Symbol">{</a> <a id="7719" href="Algebra.Bundles.html#4600" class="Field">isMonoid</a> <a id="7728" class="Symbol">=</a> <a id="7730" href="Algebra.Structures.html#4497" class="Function">isMonoid</a> <a id="7739" class="Symbol">}</a>
<a id="7744" class="Keyword">open</a> <a id="7749" href="Algebra.Bundles.html#4421" class="Module">Monoid</a> <a id="7756" href="Algebra.Bundles.html#7679" class="Function">monoid</a> <a id="7763" class="Keyword">public</a>
<a id="7774" class="Keyword">using</a> <a id="7780" class="Symbol">(</a><a id="7781" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="7784" class="Symbol">;</a> <a id="7786" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="7794" class="Symbol">;</a> <a id="7796" href="Algebra.Bundles.html#2387" class="Function">magma</a><a id="7801" class="Symbol">;</a> <a id="7803" href="Algebra.Bundles.html#4666" class="Function">semigroup</a><a id="7812" class="Symbol">;</a> <a id="7814" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a><a id="7823" class="Symbol">)</a>
<a id="7826" class="Keyword">record</a> <a id="AbelianGroup"></a><a id="7833" href="Algebra.Bundles.html#7833" class="Record">AbelianGroup</a> <a id="7846" href="Algebra.Bundles.html#7846" class="Bound">c</a> <a id="7848" href="Algebra.Bundles.html#7848" class="Bound"></a> <a id="7850" class="Symbol">:</a> <a id="7852" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="7856" class="Symbol">(</a><a id="7857" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="7861" class="Symbol">(</a><a id="7862" href="Algebra.Bundles.html#7846" class="Bound">c</a> <a id="7864" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="7866" href="Algebra.Bundles.html#7848" class="Bound"></a><a id="7867" class="Symbol">))</a> <a id="7870" class="Keyword">where</a>
<a id="7878" class="Keyword">infix</a> <a id="7885" class="Number">8</a> <a id="7887" href="Algebra.Bundles.html#8057" class="Field Operator">_⁻¹</a>
<a id="7893" class="Keyword">infixl</a> <a id="7900" class="Number">7</a> <a id="7902" href="Algebra.Bundles.html#7995" class="Field Operator">_∙_</a>
<a id="7908" class="Keyword">infix</a> <a id="7915" class="Number">4</a> <a id="7917" href="Algebra.Bundles.html#7960" class="Field Operator">_≈_</a>
<a id="7923" class="Keyword">field</a>
<a id="AbelianGroup.Carrier"></a><a id="7933" href="Algebra.Bundles.html#7933" class="Field">Carrier</a> <a id="7948" class="Symbol">:</a> <a id="7950" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="7954" href="Algebra.Bundles.html#7846" class="Bound">c</a>
<a id="AbelianGroup._≈_"></a><a id="7960" href="Algebra.Bundles.html#7960" class="Field Operator">_≈_</a> <a id="7975" class="Symbol">:</a> <a id="7977" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="7981" href="Algebra.Bundles.html#7933" class="Field">Carrier</a> <a id="7989" href="Algebra.Bundles.html#7848" class="Bound"></a>
<a id="AbelianGroup._∙_"></a><a id="7995" href="Algebra.Bundles.html#7995" class="Field Operator">_∙_</a> <a id="8010" class="Symbol">:</a> <a id="8012" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="8016" href="Algebra.Bundles.html#7933" class="Field">Carrier</a>
<a id="AbelianGroup.ε"></a><a id="8028" href="Algebra.Bundles.html#8028" class="Field">ε</a> <a id="8043" class="Symbol">:</a> <a id="8045" href="Algebra.Bundles.html#7933" class="Field">Carrier</a>
<a id="AbelianGroup._⁻¹"></a><a id="8057" href="Algebra.Bundles.html#8057" class="Field Operator">_⁻¹</a> <a id="8072" class="Symbol">:</a> <a id="8074" href="Algebra.Core.html#475" class="Function">Op₁</a> <a id="8078" href="Algebra.Bundles.html#7933" class="Field">Carrier</a>
<a id="AbelianGroup.isAbelianGroup"></a><a id="8090" href="Algebra.Bundles.html#8090" class="Field">isAbelianGroup</a> <a id="8105" class="Symbol">:</a> <a id="8107" href="Algebra.Structures.html#5123" class="Record">IsAbelianGroup</a> <a id="8122" href="Algebra.Bundles.html#7960" class="Field Operator">_≈_</a> <a id="8126" href="Algebra.Bundles.html#7995" class="Field Operator">_∙_</a> <a id="8130" href="Algebra.Bundles.html#8028" class="Field">ε</a> <a id="8132" href="Algebra.Bundles.html#8057" class="Field Operator">_⁻¹</a>
<a id="8139" class="Keyword">open</a> <a id="8144" href="Algebra.Structures.html#5123" class="Module">IsAbelianGroup</a> <a id="8159" href="Algebra.Bundles.html#8090" class="Field">isAbelianGroup</a> <a id="8174" class="Keyword">public</a>
<a id="AbelianGroup.group"></a><a id="8184" href="Algebra.Bundles.html#8184" class="Function">group</a> <a id="8190" class="Symbol">:</a> <a id="8192" href="Algebra.Bundles.html#7309" class="Record">Group</a> <a id="8198" class="Symbol">_</a> <a id="8200" class="Symbol">_</a>
<a id="8204" href="Algebra.Bundles.html#8184" class="Function">group</a> <a id="8210" class="Symbol">=</a> <a id="8212" class="Keyword">record</a> <a id="8219" class="Symbol">{</a> <a id="8221" href="Algebra.Bundles.html#7524" class="Field">isGroup</a> <a id="8229" class="Symbol">=</a> <a id="8231" href="Algebra.Structures.html#5225" class="Function">isGroup</a> <a id="8239" class="Symbol">}</a>
<a id="8244" class="Keyword">open</a> <a id="8249" href="Algebra.Bundles.html#7309" class="Module">Group</a> <a id="8255" href="Algebra.Bundles.html#8184" class="Function">group</a> <a id="8261" class="Keyword">public</a>
<a id="8272" class="Keyword">using</a> <a id="8278" class="Symbol">(</a><a id="8279" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="8282" class="Symbol">;</a> <a id="8284" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a><a id="8292" class="Symbol">;</a> <a id="8294" href="Algebra.Bundles.html#2387" class="Function">magma</a><a id="8299" class="Symbol">;</a> <a id="8301" href="Algebra.Bundles.html#4666" class="Function">semigroup</a><a id="8310" class="Symbol">;</a> <a id="8312" href="Algebra.Bundles.html#7679" class="Function">monoid</a><a id="8318" class="Symbol">;</a> <a id="8320" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a><a id="8329" class="Symbol">;</a> <a id="8331" href="Algebra.Bundles.html#7590" class="Function">rawGroup</a><a id="8339" class="Symbol">)</a>
<a id="AbelianGroup.commutativeMonoid"></a><a id="8344" href="Algebra.Bundles.html#8344" class="Function">commutativeMonoid</a> <a id="8362" class="Symbol">:</a> <a id="8364" href="Algebra.Bundles.html#4901" class="Record">CommutativeMonoid</a> <a id="8382" class="Symbol">_</a> <a id="8384" class="Symbol">_</a>
<a id="8388" href="Algebra.Bundles.html#8344" class="Function">commutativeMonoid</a> <a id="8406" class="Symbol">=</a> <a id="8408" class="Keyword">record</a> <a id="8415" class="Symbol">{</a> <a id="8417" href="Algebra.Bundles.html#5135" class="Field">isCommutativeMonoid</a> <a id="8437" class="Symbol">=</a> <a id="8439" href="Algebra.Structures.html#5312" class="Function">isCommutativeMonoid</a> <a id="8459" class="Symbol">}</a>
<a id="8464" class="Keyword">open</a> <a id="8469" href="Algebra.Bundles.html#4901" class="Module">CommutativeMonoid</a> <a id="8487" href="Algebra.Bundles.html#8344" class="Function">commutativeMonoid</a> <a id="8505" class="Keyword">public</a>
<a id="8516" class="Keyword">using</a> <a id="8522" class="Symbol">(</a><a id="8523" href="Algebra.Bundles.html#3352" class="Function">commutativeMagma</a><a id="8539" class="Symbol">;</a> <a id="8541" href="Algebra.Bundles.html#5394" class="Function">commutativeSemigroup</a><a id="8561" class="Symbol">)</a>
<a id="8565" class="Comment">------------------------------------------------------------------------</a>
<a id="8638" class="Comment">-- Bundles with 2 binary operations</a>
<a id="8674" class="Comment">------------------------------------------------------------------------</a>
<a id="8748" class="Keyword">record</a> <a id="RawLattice"></a><a id="8755" href="Algebra.Bundles.html#8755" class="Record">RawLattice</a> <a id="8766" href="Algebra.Bundles.html#8766" class="Bound">c</a> <a id="8768" href="Algebra.Bundles.html#8768" class="Bound"></a> <a id="8770" class="Symbol">:</a> <a id="8772" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="8776" class="Symbol">(</a><a id="8777" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="8781" class="Symbol">(</a><a id="8782" href="Algebra.Bundles.html#8766" class="Bound">c</a> <a id="8784" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="8786" href="Algebra.Bundles.html#8768" class="Bound"></a><a id="8787" class="Symbol">))</a> <a id="8790" class="Keyword">where</a>
<a id="8798" class="Keyword">infixr</a> <a id="8805" class="Number">7</a> <a id="8807" href="Algebra.Bundles.html#8901" class="Field Operator">_∧_</a>
<a id="8813" class="Keyword">infixr</a> <a id="8820" class="Number">6</a> <a id="8822" href="Algebra.Bundles.html#8927" class="Field Operator">__</a>
<a id="8828" class="Keyword">infix</a> <a id="8835" class="Number">4</a> <a id="8837" href="Algebra.Bundles.html#8873" class="Field Operator">_≈_</a>
<a id="8843" class="Keyword">field</a>
<a id="RawLattice.Carrier"></a><a id="8853" href="Algebra.Bundles.html#8853" class="Field">Carrier</a> <a id="8861" class="Symbol">:</a> <a id="8863" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="8867" href="Algebra.Bundles.html#8766" class="Bound">c</a>
<a id="RawLattice._≈_"></a><a id="8873" href="Algebra.Bundles.html#8873" class="Field Operator">_≈_</a> <a id="8881" class="Symbol">:</a> <a id="8883" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="8887" href="Algebra.Bundles.html#8853" class="Field">Carrier</a> <a id="8895" href="Algebra.Bundles.html#8768" class="Bound"></a>
<a id="RawLattice._∧_"></a><a id="8901" href="Algebra.Bundles.html#8901" class="Field Operator">_∧_</a> <a id="8909" class="Symbol">:</a> <a id="8911" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="8915" href="Algebra.Bundles.html#8853" class="Field">Carrier</a>
<a id="RawLattice.__"></a><a id="8927" href="Algebra.Bundles.html#8927" class="Field Operator">__</a> <a id="8935" class="Symbol">:</a> <a id="8937" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="8941" href="Algebra.Bundles.html#8853" class="Field">Carrier</a>
<a id="RawLattice.-rawMagma"></a><a id="8952" href="Algebra.Bundles.html#8952" class="Function">-rawMagma</a> <a id="8963" class="Symbol">:</a> <a id="8965" href="Algebra.Bundles.html#781" class="Record">RawMagma</a> <a id="8974" href="Algebra.Bundles.html#8766" class="Bound">c</a> <a id="8976" href="Algebra.Bundles.html#8768" class="Bound"></a>
<a id="8980" href="Algebra.Bundles.html#8952" class="Function">-rawMagma</a> <a id="8991" class="Symbol">=</a> <a id="8993" class="Keyword">record</a> <a id="9000" class="Symbol">{</a> <a id="9002" href="Algebra.Bundles.html#882" class="Field Operator">_≈_</a> <a id="9006" class="Symbol">=</a> <a id="9008" href="Algebra.Bundles.html#8873" class="Field Operator">_≈_</a><a id="9011" class="Symbol">;</a> <a id="9013" href="Algebra.Bundles.html#910" class="Field Operator">_∙_</a> <a id="9017" class="Symbol">=</a> <a id="9019" href="Algebra.Bundles.html#8927" class="Field Operator">__</a> <a id="9023" class="Symbol">}</a>
<a id="RawLattice.∧-rawMagma"></a><a id="9028" href="Algebra.Bundles.html#9028" class="Function">∧-rawMagma</a> <a id="9039" class="Symbol">:</a> <a id="9041" href="Algebra.Bundles.html#781" class="Record">RawMagma</a> <a id="9050" href="Algebra.Bundles.html#8766" class="Bound">c</a> <a id="9052" href="Algebra.Bundles.html#8768" class="Bound"></a>
<a id="9056" href="Algebra.Bundles.html#9028" class="Function">∧-rawMagma</a> <a id="9067" class="Symbol">=</a> <a id="9069" class="Keyword">record</a> <a id="9076" class="Symbol">{</a> <a id="9078" href="Algebra.Bundles.html#882" class="Field Operator">_≈_</a> <a id="9082" class="Symbol">=</a> <a id="9084" href="Algebra.Bundles.html#8873" class="Field Operator">_≈_</a><a id="9087" class="Symbol">;</a> <a id="9089" href="Algebra.Bundles.html#910" class="Field Operator">_∙_</a> <a id="9093" class="Symbol">=</a> <a id="9095" href="Algebra.Bundles.html#8901" class="Field Operator">_∧_</a> <a id="9099" class="Symbol">}</a>
<a id="9104" class="Keyword">open</a> <a id="9109" href="Algebra.Bundles.html#781" class="Module">RawMagma</a> <a id="9118" href="Algebra.Bundles.html#8952" class="Function">-rawMagma</a> <a id="9129" class="Keyword">public</a>
<a id="9140" class="Keyword">using</a> <a id="9146" class="Symbol">(</a><a id="9147" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="9150" class="Symbol">)</a>
<a id="9154" class="Keyword">record</a> <a id="Lattice"></a><a id="9161" href="Algebra.Bundles.html#9161" class="Record">Lattice</a> <a id="9169" href="Algebra.Bundles.html#9169" class="Bound">c</a> <a id="9171" href="Algebra.Bundles.html#9171" class="Bound"></a> <a id="9173" class="Symbol">:</a> <a id="9175" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="9179" class="Symbol">(</a><a id="9180" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="9184" class="Symbol">(</a><a id="9185" href="Algebra.Bundles.html#9169" class="Bound">c</a> <a id="9187" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="9189" href="Algebra.Bundles.html#9171" class="Bound"></a><a id="9190" class="Symbol">))</a> <a id="9193" class="Keyword">where</a>
<a id="9201" class="Keyword">infixr</a> <a id="9208" class="Number">7</a> <a id="9210" href="Algebra.Bundles.html#9336" class="Field Operator">_∧_</a>
<a id="9216" class="Keyword">infixr</a> <a id="9223" class="Number">6</a> <a id="9225" href="Algebra.Bundles.html#9308" class="Field Operator">__</a>
<a id="9231" class="Keyword">infix</a> <a id="9238" class="Number">4</a> <a id="9240" href="Algebra.Bundles.html#9278" class="Field Operator">_≈_</a>
<a id="9246" class="Keyword">field</a>
<a id="Lattice.Carrier"></a><a id="9256" href="Algebra.Bundles.html#9256" class="Field">Carrier</a> <a id="9266" class="Symbol">:</a> <a id="9268" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="9272" href="Algebra.Bundles.html#9169" class="Bound">c</a>
<a id="Lattice._≈_"></a><a id="9278" href="Algebra.Bundles.html#9278" class="Field Operator">_≈_</a> <a id="9288" class="Symbol">:</a> <a id="9290" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="9294" href="Algebra.Bundles.html#9256" class="Field">Carrier</a> <a id="9302" href="Algebra.Bundles.html#9171" class="Bound"></a>
<a id="Lattice.__"></a><a id="9308" href="Algebra.Bundles.html#9308" class="Field Operator">__</a> <a id="9318" class="Symbol">:</a> <a id="9320" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="9324" href="Algebra.Bundles.html#9256" class="Field">Carrier</a>
<a id="Lattice._∧_"></a><a id="9336" href="Algebra.Bundles.html#9336" class="Field Operator">_∧_</a> <a id="9346" class="Symbol">:</a> <a id="9348" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="9352" href="Algebra.Bundles.html#9256" class="Field">Carrier</a>
<a id="Lattice.isLattice"></a><a id="9364" href="Algebra.Bundles.html#9364" class="Field">isLattice</a> <a id="9374" class="Symbol">:</a> <a id="9376" href="Algebra.Structures.html#6121" class="Record">IsLattice</a> <a id="9386" href="Algebra.Bundles.html#9278" class="Field Operator">_≈_</a> <a id="9390" href="Algebra.Bundles.html#9308" class="Field Operator">__</a> <a id="9394" href="Algebra.Bundles.html#9336" class="Field Operator">_∧_</a>
<a id="9401" class="Keyword">open</a> <a id="9406" href="Algebra.Structures.html#6121" class="Module">IsLattice</a> <a id="9416" href="Algebra.Bundles.html#9364" class="Field">isLattice</a> <a id="9426" class="Keyword">public</a>
<a id="Lattice.rawLattice"></a><a id="9436" href="Algebra.Bundles.html#9436" class="Function">rawLattice</a> <a id="9447" class="Symbol">:</a> <a id="9449" href="Algebra.Bundles.html#8755" class="Record">RawLattice</a> <a id="9460" href="Algebra.Bundles.html#9169" class="Bound">c</a> <a id="9462" href="Algebra.Bundles.html#9171" class="Bound"></a>
<a id="9466" href="Algebra.Bundles.html#9436" class="Function">rawLattice</a> <a id="9477" class="Symbol">=</a> <a id="9479" class="Keyword">record</a>
<a id="9490" class="Symbol">{</a> <a id="9492" href="Algebra.Bundles.html#8873" class="Field Operator">_≈_</a> <a id="9497" class="Symbol">=</a> <a id="9499" href="Algebra.Bundles.html#9278" class="Field Operator">_≈_</a>
<a id="9507" class="Symbol">;</a> <a id="9509" href="Algebra.Bundles.html#8901" class="Field Operator">_∧_</a> <a id="9514" class="Symbol">=</a> <a id="9516" href="Algebra.Bundles.html#9336" class="Field Operator">_∧_</a>
<a id="9524" class="Symbol">;</a> <a id="9526" href="Algebra.Bundles.html#8927" class="Field Operator">__</a> <a id="9531" class="Symbol">=</a> <a id="9533" href="Algebra.Bundles.html#9308" class="Field Operator">__</a>
<a id="9541" class="Symbol">}</a>
<a id="9546" class="Keyword">open</a> <a id="9551" href="Algebra.Bundles.html#8755" class="Module">RawLattice</a> <a id="9562" href="Algebra.Bundles.html#9436" class="Function">rawLattice</a>
<a id="9577" class="Keyword">using</a> <a id="9583" class="Symbol">(</a><a id="9584" href="Algebra.Bundles.html#8952" class="Function">-rawMagma</a><a id="9594" class="Symbol">;</a> <a id="9596" href="Algebra.Bundles.html#9028" class="Function">∧-rawMagma</a><a id="9606" class="Symbol">)</a>
<a id="Lattice.setoid"></a><a id="9611" href="Algebra.Bundles.html#9611" class="Function">setoid</a> <a id="9618" class="Symbol">:</a> <a id="9620" href="Relation.Binary.Bundles.html#1009" class="Record">Setoid</a> <a id="9627" class="Symbol">_</a> <a id="9629" class="Symbol">_</a>
<a id="9633" href="Algebra.Bundles.html#9611" class="Function">setoid</a> <a id="9640" class="Symbol">=</a> <a id="9642" class="Keyword">record</a> <a id="9649" class="Symbol">{</a> <a id="9651" href="Relation.Binary.Bundles.html#1132" class="Field">isEquivalence</a> <a id="9665" class="Symbol">=</a> <a id="9667" href="Algebra.Structures.html#6177" class="Function">isEquivalence</a> <a id="9681" class="Symbol">}</a>
<a id="9686" class="Keyword">open</a> <a id="9691" href="Relation.Binary.Bundles.html#1009" class="Module">Setoid</a> <a id="9698" href="Algebra.Bundles.html#9611" class="Function">setoid</a> <a id="9705" class="Keyword">public</a>
<a id="9716" class="Keyword">using</a> <a id="9722" class="Symbol">(</a><a id="9723" href="Relation.Binary.Bundles.html#960" class="Function Operator">_≉_</a><a id="9726" class="Symbol">)</a>
<a id="9730" class="Keyword">record</a> <a id="DistributiveLattice"></a><a id="9737" href="Algebra.Bundles.html#9737" class="Record">DistributiveLattice</a> <a id="9757" href="Algebra.Bundles.html#9757" class="Bound">c</a> <a id="9759" href="Algebra.Bundles.html#9759" class="Bound"></a> <a id="9761" class="Symbol">:</a> <a id="9763" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="9767" class="Symbol">(</a><a id="9768" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="9772" class="Symbol">(</a><a id="9773" href="Algebra.Bundles.html#9757" class="Bound">c</a> <a id="9775" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="9777" href="Algebra.Bundles.html#9759" class="Bound"></a><a id="9778" class="Symbol">))</a> <a id="9781" class="Keyword">where</a>
<a id="9789" class="Keyword">infixr</a> <a id="9796" class="Number">7</a> <a id="9798" href="Algebra.Bundles.html#9960" class="Field Operator">_∧_</a>
<a id="9804" class="Keyword">infixr</a> <a id="9811" class="Number">6</a> <a id="9813" href="Algebra.Bundles.html#9920" class="Field Operator">__</a>
<a id="9819" class="Keyword">infix</a> <a id="9826" class="Number">4</a> <a id="9828" href="Algebra.Bundles.html#9878" class="Field Operator">_≈_</a>
<a id="9834" class="Keyword">field</a>
<a id="DistributiveLattice.Carrier"></a><a id="9844" href="Algebra.Bundles.html#9844" class="Field">Carrier</a> <a id="9866" class="Symbol">:</a> <a id="9868" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="9872" href="Algebra.Bundles.html#9757" class="Bound">c</a>
<a id="DistributiveLattice._≈_"></a><a id="9878" href="Algebra.Bundles.html#9878" class="Field Operator">_≈_</a> <a id="9900" class="Symbol">:</a> <a id="9902" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="9906" href="Algebra.Bundles.html#9844" class="Field">Carrier</a> <a id="9914" href="Algebra.Bundles.html#9759" class="Bound"></a>
<a id="DistributiveLattice.__"></a><a id="9920" href="Algebra.Bundles.html#9920" class="Field Operator">__</a> <a id="9942" class="Symbol">:</a> <a id="9944" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="9948" href="Algebra.Bundles.html#9844" class="Field">Carrier</a>
<a id="DistributiveLattice._∧_"></a><a id="9960" href="Algebra.Bundles.html#9960" class="Field Operator">_∧_</a> <a id="9982" class="Symbol">:</a> <a id="9984" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="9988" href="Algebra.Bundles.html#9844" class="Field">Carrier</a>
<a id="DistributiveLattice.isDistributiveLattice"></a><a id="10000" href="Algebra.Bundles.html#10000" class="Field">isDistributiveLattice</a> <a id="10022" class="Symbol">:</a> <a id="10024" href="Algebra.Structures.html#6870" class="Record">IsDistributiveLattice</a> <a id="10046" href="Algebra.Bundles.html#9878" class="Field Operator">_≈_</a> <a id="10050" href="Algebra.Bundles.html#9920" class="Field Operator">__</a> <a id="10054" href="Algebra.Bundles.html#9960" class="Field Operator">_∧_</a>
<a id="10061" class="Keyword">open</a> <a id="10066" href="Algebra.Structures.html#6870" class="Module">IsDistributiveLattice</a> <a id="10088" href="Algebra.Bundles.html#10000" class="Field">isDistributiveLattice</a> <a id="10110" class="Keyword">public</a>
<a id="DistributiveLattice.lattice"></a><a id="10120" href="Algebra.Bundles.html#10120" class="Function">lattice</a> <a id="10128" class="Symbol">:</a> <a id="10130" href="Algebra.Bundles.html#9161" class="Record">Lattice</a> <a id="10138" class="Symbol">_</a> <a id="10140" class="Symbol">_</a>
<a id="10144" href="Algebra.Bundles.html#10120" class="Function">lattice</a> <a id="10152" class="Symbol">=</a> <a id="10154" class="Keyword">record</a> <a id="10161" class="Symbol">{</a> <a id="10163" href="Algebra.Bundles.html#9364" class="Field">isLattice</a> <a id="10173" class="Symbol">=</a> <a id="10175" href="Algebra.Structures.html#6938" class="Function">isLattice</a> <a id="10185" class="Symbol">}</a>
<a id="10190" class="Keyword">open</a> <a id="10195" href="Algebra.Bundles.html#9161" class="Module">Lattice</a> <a id="10203" href="Algebra.Bundles.html#10120" class="Function">lattice</a> <a id="10211" class="Keyword">public</a>
<a id="10222" class="Keyword">using</a> <a id="10228" class="Symbol">(</a><a id="10229" href="Relation.Binary.Bundles.html#960" class="Function Operator">_≉_</a><a id="10232" class="Symbol">;</a> <a id="10234" href="Algebra.Bundles.html#9436" class="Function">rawLattice</a><a id="10244" class="Symbol">;</a> <a id="10246" href="Algebra.Bundles.html#9611" class="Function">setoid</a><a id="10252" class="Symbol">)</a>
<a id="10256" class="Comment">------------------------------------------------------------------------</a>
<a id="10329" class="Comment">-- Bundles with 2 binary operations &amp; 1 element</a>
<a id="10377" class="Comment">------------------------------------------------------------------------</a>
<a id="10451" class="Keyword">record</a> <a id="RawNearSemiring"></a><a id="10458" href="Algebra.Bundles.html#10458" class="Record">RawNearSemiring</a> <a id="10474" href="Algebra.Bundles.html#10474" class="Bound">c</a> <a id="10476" href="Algebra.Bundles.html#10476" class="Bound"></a> <a id="10478" class="Symbol">:</a> <a id="10480" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="10484" class="Symbol">(</a><a id="10485" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="10489" class="Symbol">(</a><a id="10490" href="Algebra.Bundles.html#10474" class="Bound">c</a> <a id="10492" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="10494" href="Algebra.Bundles.html#10476" class="Bound"></a><a id="10495" class="Symbol">))</a> <a id="10498" class="Keyword">where</a>
<a id="10506" class="Keyword">infixl</a> <a id="10513" class="Number">7</a> <a id="10515" href="Algebra.Bundles.html#10635" class="Field Operator">_*_</a>
<a id="10521" class="Keyword">infixl</a> <a id="10528" class="Number">6</a> <a id="10530" href="Algebra.Bundles.html#10609" class="Field Operator">_+_</a>
<a id="10536" class="Keyword">infix</a> <a id="10543" class="Number">4</a> <a id="10545" href="Algebra.Bundles.html#10581" class="Field Operator">_≈_</a>
<a id="10551" class="Keyword">field</a>
<a id="RawNearSemiring.Carrier"></a><a id="10561" href="Algebra.Bundles.html#10561" class="Field">Carrier</a> <a id="10569" class="Symbol">:</a> <a id="10571" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="10575" href="Algebra.Bundles.html#10474" class="Bound">c</a>
<a id="RawNearSemiring._≈_"></a><a id="10581" href="Algebra.Bundles.html#10581" class="Field Operator">_≈_</a> <a id="10589" class="Symbol">:</a> <a id="10591" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="10595" href="Algebra.Bundles.html#10561" class="Field">Carrier</a> <a id="10603" href="Algebra.Bundles.html#10476" class="Bound"></a>
<a id="RawNearSemiring._+_"></a><a id="10609" href="Algebra.Bundles.html#10609" class="Field Operator">_+_</a> <a id="10617" class="Symbol">:</a> <a id="10619" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="10623" href="Algebra.Bundles.html#10561" class="Field">Carrier</a>
<a id="RawNearSemiring._*_"></a><a id="10635" href="Algebra.Bundles.html#10635" class="Field Operator">_*_</a> <a id="10643" class="Symbol">:</a> <a id="10645" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="10649" href="Algebra.Bundles.html#10561" class="Field">Carrier</a>
<a id="RawNearSemiring.0#"></a><a id="10661" href="Algebra.Bundles.html#10661" class="Field">0#</a> <a id="10669" class="Symbol">:</a> <a id="10671" href="Algebra.Bundles.html#10561" class="Field">Carrier</a>
<a id="RawNearSemiring.+-rawMonoid"></a><a id="10682" href="Algebra.Bundles.html#10682" class="Function">+-rawMonoid</a> <a id="10694" class="Symbol">:</a> <a id="10696" href="Algebra.Bundles.html#4104" class="Record">RawMonoid</a> <a id="10706" href="Algebra.Bundles.html#10474" class="Bound">c</a> <a id="10708" href="Algebra.Bundles.html#10476" class="Bound"></a>
<a id="10712" href="Algebra.Bundles.html#10682" class="Function">+-rawMonoid</a> <a id="10724" class="Symbol">=</a> <a id="10726" class="Keyword">record</a>
<a id="10737" class="Symbol">{</a> <a id="10739" href="Algebra.Bundles.html#4206" class="Field Operator">_≈_</a> <a id="10743" class="Symbol">=</a> <a id="10745" href="Algebra.Bundles.html#10581" class="Field Operator">_≈_</a>
<a id="10753" class="Symbol">;</a> <a id="10755" href="Algebra.Bundles.html#4234" class="Field Operator">_∙_</a> <a id="10759" class="Symbol">=</a> <a id="10761" href="Algebra.Bundles.html#10609" class="Field Operator">_+_</a>
<a id="10769" class="Symbol">;</a> <a id="10772" href="Algebra.Bundles.html#4260" class="Field">ε</a> <a id="10775" class="Symbol">=</a> <a id="10777" href="Algebra.Bundles.html#10661" class="Field">0#</a>
<a id="10784" class="Symbol">}</a>
<a id="10789" class="Keyword">open</a> <a id="10794" href="Algebra.Bundles.html#4104" class="Module">RawMonoid</a> <a id="10804" href="Algebra.Bundles.html#10682" class="Function">+-rawMonoid</a> <a id="10816" class="Keyword">public</a>
<a id="10827" class="Keyword">using</a> <a id="10833" class="Symbol">(</a><a id="10834" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="10837" class="Symbol">)</a> <a id="10839" class="Keyword">renaming</a> <a id="10848" class="Symbol">(</a><a id="10849" href="Algebra.Bundles.html#4281" class="Function">rawMagma</a> <a id="10858" class="Symbol">to</a> <a id="10861" class="Function">+-rawMagma</a><a id="10871" class="Symbol">)</a>
<a id="RawNearSemiring.*-rawMagma"></a><a id="10876" href="Algebra.Bundles.html#10876" class="Function">*-rawMagma</a> <a id="10887" class="Symbol">:</a> <a id="10889" href="Algebra.Bundles.html#781" class="Record">RawMagma</a> <a id="10898" href="Algebra.Bundles.html#10474" class="Bound">c</a> <a id="10900" href="Algebra.Bundles.html#10476" class="Bound"></a>
<a id="10904" href="Algebra.Bundles.html#10876" class="Function">*-rawMagma</a> <a id="10915" class="Symbol">=</a> <a id="10917" class="Keyword">record</a>
<a id="10928" class="Symbol">{</a> <a id="10930" href="Algebra.Bundles.html#882" class="Field Operator">_≈_</a> <a id="10934" class="Symbol">=</a> <a id="10936" href="Algebra.Bundles.html#10581" class="Field Operator">_≈_</a>
<a id="10944" class="Symbol">;</a> <a id="10946" href="Algebra.Bundles.html#910" class="Field Operator">_∙_</a> <a id="10950" class="Symbol">=</a> <a id="10952" href="Algebra.Bundles.html#10635" class="Field Operator">_*_</a>
<a id="10960" class="Symbol">}</a>
<a id="10964" class="Keyword">record</a> <a id="NearSemiring"></a><a id="10971" href="Algebra.Bundles.html#10971" class="Record">NearSemiring</a> <a id="10984" href="Algebra.Bundles.html#10984" class="Bound">c</a> <a id="10986" href="Algebra.Bundles.html#10986" class="Bound"></a> <a id="10988" class="Symbol">:</a> <a id="10990" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="10994" class="Symbol">(</a><a id="10995" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="10999" class="Symbol">(</a><a id="11000" href="Algebra.Bundles.html#10984" class="Bound">c</a> <a id="11002" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="11004" href="Algebra.Bundles.html#10986" class="Bound"></a><a id="11005" class="Symbol">))</a> <a id="11008" class="Keyword">where</a>
<a id="11016" class="Keyword">infixl</a> <a id="11023" class="Number">7</a> <a id="11025" href="Algebra.Bundles.html#11166" class="Field Operator">_*_</a>
<a id="11031" class="Keyword">infixl</a> <a id="11038" class="Number">6</a> <a id="11040" href="Algebra.Bundles.html#11133" class="Field Operator">_+_</a>
<a id="11046" class="Keyword">infix</a> <a id="11053" class="Number">4</a> <a id="11055" href="Algebra.Bundles.html#11098" class="Field Operator">_≈_</a>
<a id="11061" class="Keyword">field</a>
<a id="NearSemiring.Carrier"></a><a id="11071" href="Algebra.Bundles.html#11071" class="Field">Carrier</a> <a id="11086" class="Symbol">:</a> <a id="11088" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="11092" href="Algebra.Bundles.html#10984" class="Bound">c</a>
<a id="NearSemiring._≈_"></a><a id="11098" href="Algebra.Bundles.html#11098" class="Field Operator">_≈_</a> <a id="11113" class="Symbol">:</a> <a id="11115" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="11119" href="Algebra.Bundles.html#11071" class="Field">Carrier</a> <a id="11127" href="Algebra.Bundles.html#10986" class="Bound"></a>
<a id="NearSemiring._+_"></a><a id="11133" href="Algebra.Bundles.html#11133" class="Field Operator">_+_</a> <a id="11148" class="Symbol">:</a> <a id="11150" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="11154" href="Algebra.Bundles.html#11071" class="Field">Carrier</a>
<a id="NearSemiring._*_"></a><a id="11166" href="Algebra.Bundles.html#11166" class="Field Operator">_*_</a> <a id="11181" class="Symbol">:</a> <a id="11183" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="11187" href="Algebra.Bundles.html#11071" class="Field">Carrier</a>
<a id="NearSemiring.0#"></a><a id="11199" href="Algebra.Bundles.html#11199" class="Field">0#</a> <a id="11214" class="Symbol">:</a> <a id="11216" href="Algebra.Bundles.html#11071" class="Field">Carrier</a>
<a id="NearSemiring.isNearSemiring"></a><a id="11228" href="Algebra.Bundles.html#11228" class="Field">isNearSemiring</a> <a id="11243" class="Symbol">:</a> <a id="11245" href="Algebra.Structures.html#7406" class="Record">IsNearSemiring</a> <a id="11260" href="Algebra.Bundles.html#11098" class="Field Operator">_≈_</a> <a id="11264" href="Algebra.Bundles.html#11133" class="Field Operator">_+_</a> <a id="11268" href="Algebra.Bundles.html#11166" class="Field Operator">_*_</a> <a id="11272" href="Algebra.Bundles.html#11199" class="Field">0#</a>
<a id="11278" class="Keyword">open</a> <a id="11283" href="Algebra.Structures.html#7406" class="Module">IsNearSemiring</a> <a id="11298" href="Algebra.Bundles.html#11228" class="Field">isNearSemiring</a> <a id="11313" class="Keyword">public</a>
<a id="NearSemiring.rawNearSemiring"></a><a id="11323" href="Algebra.Bundles.html#11323" class="Function">rawNearSemiring</a> <a id="11339" class="Symbol">:</a> <a id="11341" href="Algebra.Bundles.html#10458" class="Record">RawNearSemiring</a> <a id="11357" class="Symbol">_</a> <a id="11359" class="Symbol">_</a>
<a id="11363" href="Algebra.Bundles.html#11323" class="Function">rawNearSemiring</a> <a id="11379" class="Symbol">=</a> <a id="11381" class="Keyword">record</a>
<a id="11392" class="Symbol">{</a> <a id="11394" href="Algebra.Bundles.html#10581" class="Field Operator">_≈_</a> <a id="11398" class="Symbol">=</a> <a id="11400" href="Algebra.Bundles.html#11098" class="Field Operator">_≈_</a>
<a id="11408" class="Symbol">;</a> <a id="11410" href="Algebra.Bundles.html#10609" class="Field Operator">_+_</a> <a id="11414" class="Symbol">=</a> <a id="11416" href="Algebra.Bundles.html#11133" class="Field Operator">_+_</a>
<a id="11424" class="Symbol">;</a> <a id="11426" href="Algebra.Bundles.html#10635" class="Field Operator">_*_</a> <a id="11430" class="Symbol">=</a> <a id="11432" href="Algebra.Bundles.html#11166" class="Field Operator">_*_</a>
<a id="11440" class="Symbol">;</a> <a id="11442" href="Algebra.Bundles.html#10661" class="Field">0#</a> <a id="11446" class="Symbol">=</a> <a id="11448" href="Algebra.Bundles.html#11199" class="Field">0#</a>
<a id="11455" class="Symbol">}</a>
<a id="NearSemiring.+-monoid"></a><a id="11460" href="Algebra.Bundles.html#11460" class="Function">+-monoid</a> <a id="11469" class="Symbol">:</a> <a id="11471" href="Algebra.Bundles.html#4421" class="Record">Monoid</a> <a id="11478" class="Symbol">_</a> <a id="11480" class="Symbol">_</a>
<a id="11484" href="Algebra.Bundles.html#11460" class="Function">+-monoid</a> <a id="11493" class="Symbol">=</a> <a id="11495" class="Keyword">record</a> <a id="11502" class="Symbol">{</a> <a id="11504" href="Algebra.Bundles.html#4600" class="Field">isMonoid</a> <a id="11513" class="Symbol">=</a> <a id="11515" href="Algebra.Structures.html#7476" class="Function">+-isMonoid</a> <a id="11526" class="Symbol">}</a>
<a id="11531" class="Keyword">open</a> <a id="11536" href="Algebra.Bundles.html#4421" class="Module">Monoid</a> <a id="11543" href="Algebra.Bundles.html#11460" class="Function">+-monoid</a> <a id="11552" class="Keyword">public</a>
<a id="11563" class="Keyword">using</a> <a id="11569" class="Symbol">(</a><a id="11570" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="11573" class="Symbol">)</a> <a id="11575" class="Keyword">renaming</a>
<a id="11588" class="Symbol">(</a> <a id="11590" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a> <a id="11600" class="Symbol">to</a> <a id="11603" class="Function">+-rawMagma</a>
<a id="11618" class="Symbol">;</a> <a id="11620" href="Algebra.Bundles.html#2387" class="Function">magma</a> <a id="11630" class="Symbol">to</a> <a id="11633" class="Function">+-magma</a>
<a id="11645" class="Symbol">;</a> <a id="11647" href="Algebra.Bundles.html#4666" class="Function">semigroup</a> <a id="11657" class="Symbol">to</a> <a id="11660" class="Function">+-semigroup</a>
<a id="11676" class="Symbol">;</a> <a id="11678" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a> <a id="11688" class="Symbol">to</a> <a id="11691" class="Function">+-rawMonoid</a>
<a id="11707" class="Symbol">)</a>
<a id="NearSemiring.*-semigroup"></a><a id="11712" href="Algebra.Bundles.html#11712" class="Function">*-semigroup</a> <a id="11724" class="Symbol">:</a> <a id="11726" href="Algebra.Bundles.html#2143" class="Record">Semigroup</a> <a id="11736" class="Symbol">_</a> <a id="11738" class="Symbol">_</a>
<a id="11742" href="Algebra.Bundles.html#11712" class="Function">*-semigroup</a> <a id="11754" class="Symbol">=</a> <a id="11756" class="Keyword">record</a> <a id="11763" class="Symbol">{</a> <a id="11765" href="Algebra.Bundles.html#2311" class="Field">isSemigroup</a> <a id="11777" class="Symbol">=</a> <a id="11779" href="Algebra.Structures.html#7510" class="Function">*-isSemigroup</a> <a id="11793" class="Symbol">}</a>
<a id="11798" class="Keyword">open</a> <a id="11803" href="Algebra.Bundles.html#2143" class="Module">Semigroup</a> <a id="11813" href="Algebra.Bundles.html#11712" class="Function">*-semigroup</a> <a id="11825" class="Keyword">public</a>
<a id="11836" class="Keyword">using</a> <a id="11842" class="Symbol">()</a> <a id="11845" class="Keyword">renaming</a>
<a id="11858" class="Symbol">(</a> <a id="11860" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a> <a id="11869" class="Symbol">to</a> <a id="11872" class="Function">*-rawMagma</a>
<a id="11887" class="Symbol">;</a> <a id="11889" href="Algebra.Bundles.html#2387" class="Function">magma</a> <a id="11898" class="Symbol">to</a> <a id="11901" class="Function">*-magma</a>
<a id="11913" class="Symbol">)</a>
<a id="11917" class="Keyword">record</a> <a id="SemiringWithoutOne"></a><a id="11924" href="Algebra.Bundles.html#11924" class="Record">SemiringWithoutOne</a> <a id="11943" href="Algebra.Bundles.html#11943" class="Bound">c</a> <a id="11945" href="Algebra.Bundles.html#11945" class="Bound"></a> <a id="11947" class="Symbol">:</a> <a id="11949" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="11953" class="Symbol">(</a><a id="11954" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="11958" class="Symbol">(</a><a id="11959" href="Algebra.Bundles.html#11943" class="Bound">c</a> <a id="11961" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="11963" href="Algebra.Bundles.html#11945" class="Bound"></a><a id="11964" class="Symbol">))</a> <a id="11967" class="Keyword">where</a>
<a id="11975" class="Keyword">infixl</a> <a id="11982" class="Number">7</a> <a id="11984" href="Algebra.Bundles.html#12143" class="Field Operator">_*_</a>
<a id="11990" class="Keyword">infixl</a> <a id="11997" class="Number">6</a> <a id="11999" href="Algebra.Bundles.html#12104" class="Field Operator">_+_</a>
<a id="12005" class="Keyword">infix</a> <a id="12012" class="Number">4</a> <a id="12014" href="Algebra.Bundles.html#12063" class="Field Operator">_≈_</a>
<a id="12020" class="Keyword">field</a>
<a id="SemiringWithoutOne.Carrier"></a><a id="12030" href="Algebra.Bundles.html#12030" class="Field">Carrier</a> <a id="12051" class="Symbol">:</a> <a id="12053" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="12057" href="Algebra.Bundles.html#11943" class="Bound">c</a>
<a id="SemiringWithoutOne._≈_"></a><a id="12063" href="Algebra.Bundles.html#12063" class="Field Operator">_≈_</a> <a id="12084" class="Symbol">:</a> <a id="12086" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="12090" href="Algebra.Bundles.html#12030" class="Field">Carrier</a> <a id="12098" href="Algebra.Bundles.html#11945" class="Bound"></a>
<a id="SemiringWithoutOne._+_"></a><a id="12104" href="Algebra.Bundles.html#12104" class="Field Operator">_+_</a> <a id="12125" class="Symbol">:</a> <a id="12127" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="12131" href="Algebra.Bundles.html#12030" class="Field">Carrier</a>
<a id="SemiringWithoutOne._*_"></a><a id="12143" href="Algebra.Bundles.html#12143" class="Field Operator">_*_</a> <a id="12164" class="Symbol">:</a> <a id="12166" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="12170" href="Algebra.Bundles.html#12030" class="Field">Carrier</a>
<a id="SemiringWithoutOne.0#"></a><a id="12182" href="Algebra.Bundles.html#12182" class="Field">0#</a> <a id="12203" class="Symbol">:</a> <a id="12205" href="Algebra.Bundles.html#12030" class="Field">Carrier</a>
<a id="SemiringWithoutOne.isSemiringWithoutOne"></a><a id="12217" href="Algebra.Bundles.html#12217" class="Field">isSemiringWithoutOne</a> <a id="12238" class="Symbol">:</a> <a id="12240" href="Algebra.Structures.html#8161" class="Record">IsSemiringWithoutOne</a> <a id="12261" href="Algebra.Bundles.html#12063" class="Field Operator">_≈_</a> <a id="12265" href="Algebra.Bundles.html#12104" class="Field Operator">_+_</a> <a id="12269" href="Algebra.Bundles.html#12143" class="Field Operator">_*_</a> <a id="12273" href="Algebra.Bundles.html#12182" class="Field">0#</a>
<a id="12279" class="Keyword">open</a> <a id="12284" href="Algebra.Structures.html#8161" class="Module">IsSemiringWithoutOne</a> <a id="12305" href="Algebra.Bundles.html#12217" class="Field">isSemiringWithoutOne</a> <a id="12326" class="Keyword">public</a>
<a id="SemiringWithoutOne.nearSemiring"></a><a id="12336" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a> <a id="12349" class="Symbol">:</a> <a id="12351" href="Algebra.Bundles.html#10971" class="Record">NearSemiring</a> <a id="12364" class="Symbol">_</a> <a id="12366" class="Symbol">_</a>
<a id="12370" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a> <a id="12383" class="Symbol">=</a> <a id="12385" class="Keyword">record</a> <a id="12392" class="Symbol">{</a> <a id="12394" href="Algebra.Bundles.html#11228" class="Field">isNearSemiring</a> <a id="12409" class="Symbol">=</a> <a id="12411" href="Algebra.Structures.html#8791" class="Function">isNearSemiring</a> <a id="12426" class="Symbol">}</a>
<a id="12431" class="Keyword">open</a> <a id="12436" href="Algebra.Bundles.html#10971" class="Module">NearSemiring</a> <a id="12449" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a> <a id="12462" class="Keyword">public</a>
<a id="12473" class="Keyword">using</a>
<a id="12483" class="Symbol">(</a> <a id="12485" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="12488" class="Symbol">;</a> <a id="12490" href="Algebra.Bundles.html#11603" class="Function">+-rawMagma</a><a id="12500" class="Symbol">;</a> <a id="12502" href="Algebra.Bundles.html#11633" class="Function">+-magma</a><a id="12509" class="Symbol">;</a> <a id="12511" href="Algebra.Bundles.html#11660" class="Function">+-semigroup</a>
<a id="12527" class="Symbol">;</a> <a id="12529" href="Algebra.Bundles.html#11691" class="Function">+-rawMonoid</a><a id="12540" class="Symbol">;</a> <a id="12542" href="Algebra.Bundles.html#11460" class="Function">+-monoid</a>
<a id="12555" class="Symbol">;</a> <a id="12557" href="Algebra.Bundles.html#11872" class="Function">*-rawMagma</a><a id="12567" class="Symbol">;</a> <a id="12569" href="Algebra.Bundles.html#11901" class="Function">*-magma</a><a id="12576" class="Symbol">;</a> <a id="12578" href="Algebra.Bundles.html#11712" class="Function">*-semigroup</a>
<a id="12594" class="Symbol">;</a> <a id="12596" href="Algebra.Bundles.html#11323" class="Function">rawNearSemiring</a>
<a id="12616" class="Symbol">)</a>
<a id="SemiringWithoutOne.+-commutativeMonoid"></a><a id="12621" href="Algebra.Bundles.html#12621" class="Function">+-commutativeMonoid</a> <a id="12641" class="Symbol">:</a> <a id="12643" href="Algebra.Bundles.html#4901" class="Record">CommutativeMonoid</a> <a id="12661" class="Symbol">_</a> <a id="12663" class="Symbol">_</a>
<a id="12667" href="Algebra.Bundles.html#12621" class="Function">+-commutativeMonoid</a> <a id="12687" class="Symbol">=</a> <a id="12689" class="Keyword">record</a> <a id="12696" class="Symbol">{</a> <a id="12698" href="Algebra.Bundles.html#5135" class="Field">isCommutativeMonoid</a> <a id="12718" class="Symbol">=</a> <a id="12720" href="Algebra.Structures.html#8237" class="Function">+-isCommutativeMonoid</a> <a id="12742" class="Symbol">}</a>
<a id="12747" class="Keyword">open</a> <a id="12752" href="Algebra.Bundles.html#4901" class="Module">CommutativeMonoid</a> <a id="12770" href="Algebra.Bundles.html#12621" class="Function">+-commutativeMonoid</a> <a id="12790" class="Keyword">public</a>
<a id="12801" class="Keyword">using</a> <a id="12807" class="Symbol">()</a> <a id="12810" class="Keyword">renaming</a>
<a id="12823" class="Symbol">(</a> <a id="12825" href="Algebra.Bundles.html#3352" class="Function">commutativeMagma</a> <a id="12846" class="Symbol">to</a> <a id="12849" class="Function">+-commutativeMagma</a>
<a id="12872" class="Symbol">;</a> <a id="12874" href="Algebra.Bundles.html#5394" class="Function">commutativeSemigroup</a> <a id="12895" class="Symbol">to</a> <a id="12898" class="Function">+-commutativeSemigroup</a>
<a id="12925" class="Symbol">)</a>
<a id="12929" class="Keyword">record</a> <a id="CommutativeSemiringWithoutOne"></a><a id="12936" href="Algebra.Bundles.html#12936" class="Record">CommutativeSemiringWithoutOne</a> <a id="12966" href="Algebra.Bundles.html#12966" class="Bound">c</a> <a id="12968" href="Algebra.Bundles.html#12968" class="Bound"></a> <a id="12970" class="Symbol">:</a> <a id="12972" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="12976" class="Symbol">(</a><a id="12977" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="12981" class="Symbol">(</a><a id="12982" href="Algebra.Bundles.html#12966" class="Bound">c</a> <a id="12984" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="12986" href="Algebra.Bundles.html#12968" class="Bound"></a><a id="12987" class="Symbol">))</a> <a id="12990" class="Keyword">where</a>
<a id="12998" class="Keyword">infixl</a> <a id="13005" class="Number">7</a> <a id="13007" href="Algebra.Bundles.html#13199" class="Field Operator">_*_</a>
<a id="13013" class="Keyword">infixl</a> <a id="13020" class="Number">6</a> <a id="13022" href="Algebra.Bundles.html#13149" class="Field Operator">_+_</a>
<a id="13028" class="Keyword">infix</a> <a id="13035" class="Number">4</a> <a id="13037" href="Algebra.Bundles.html#13097" class="Field Operator">_≈_</a>
<a id="13043" class="Keyword">field</a>
<a id="CommutativeSemiringWithoutOne.Carrier"></a><a id="13053" href="Algebra.Bundles.html#13053" class="Field">Carrier</a> <a id="13085" class="Symbol">:</a> <a id="13087" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="13091" href="Algebra.Bundles.html#12966" class="Bound">c</a>
<a id="CommutativeSemiringWithoutOne._≈_"></a><a id="13097" href="Algebra.Bundles.html#13097" class="Field Operator">_≈_</a> <a id="13129" class="Symbol">:</a> <a id="13131" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="13135" href="Algebra.Bundles.html#13053" class="Field">Carrier</a> <a id="13143" href="Algebra.Bundles.html#12968" class="Bound"></a>
<a id="CommutativeSemiringWithoutOne._+_"></a><a id="13149" href="Algebra.Bundles.html#13149" class="Field Operator">_+_</a> <a id="13181" class="Symbol">:</a> <a id="13183" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="13187" href="Algebra.Bundles.html#13053" class="Field">Carrier</a>
<a id="CommutativeSemiringWithoutOne._*_"></a><a id="13199" href="Algebra.Bundles.html#13199" class="Field Operator">_*_</a> <a id="13231" class="Symbol">:</a> <a id="13233" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="13237" href="Algebra.Bundles.html#13053" class="Field">Carrier</a>
<a id="CommutativeSemiringWithoutOne.0#"></a><a id="13249" href="Algebra.Bundles.html#13249" class="Field">0#</a> <a id="13281" class="Symbol">:</a> <a id="13283" href="Algebra.Bundles.html#13053" class="Field">Carrier</a>
<a id="CommutativeSemiringWithoutOne.isCommutativeSemiringWithoutOne"></a><a id="13295" href="Algebra.Bundles.html#13295" class="Field">isCommutativeSemiringWithoutOne</a> <a id="13327" class="Symbol">:</a>
<a id="13335" href="Algebra.Structures.html#9095" class="Record">IsCommutativeSemiringWithoutOne</a> <a id="13367" href="Algebra.Bundles.html#13097" class="Field Operator">_≈_</a> <a id="13371" href="Algebra.Bundles.html#13149" class="Field Operator">_+_</a> <a id="13375" href="Algebra.Bundles.html#13199" class="Field Operator">_*_</a> <a id="13379" href="Algebra.Bundles.html#13249" class="Field">0#</a>
<a id="13385" class="Keyword">open</a> <a id="13390" href="Algebra.Structures.html#9095" class="Module">IsCommutativeSemiringWithoutOne</a>
<a id="13431" href="Algebra.Bundles.html#13295" class="Field">isCommutativeSemiringWithoutOne</a> <a id="13463" class="Keyword">public</a>
<a id="CommutativeSemiringWithoutOne.semiringWithoutOne"></a><a id="13473" href="Algebra.Bundles.html#13473" class="Function">semiringWithoutOne</a> <a id="13492" class="Symbol">:</a> <a id="13494" href="Algebra.Bundles.html#11924" class="Record">SemiringWithoutOne</a> <a id="13513" class="Symbol">_</a> <a id="13515" class="Symbol">_</a>
<a id="13519" href="Algebra.Bundles.html#13473" class="Function">semiringWithoutOne</a> <a id="13538" class="Symbol">=</a>
<a id="13544" class="Keyword">record</a> <a id="13551" class="Symbol">{</a> <a id="13553" href="Algebra.Bundles.html#12217" class="Field">isSemiringWithoutOne</a> <a id="13574" class="Symbol">=</a> <a id="13576" href="Algebra.Structures.html#9191" class="Function">isSemiringWithoutOne</a> <a id="13597" class="Symbol">}</a>
<a id="13602" class="Keyword">open</a> <a id="13607" href="Algebra.Bundles.html#11924" class="Module">SemiringWithoutOne</a> <a id="13626" href="Algebra.Bundles.html#13473" class="Function">semiringWithoutOne</a> <a id="13645" class="Keyword">public</a>
<a id="13656" class="Keyword">using</a>
<a id="13666" class="Symbol">(</a> <a id="13668" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="13671" class="Symbol">;</a> <a id="13673" href="Algebra.Bundles.html#11603" class="Function">+-rawMagma</a><a id="13683" class="Symbol">;</a> <a id="13685" href="Algebra.Bundles.html#11633" class="Function">+-magma</a><a id="13692" class="Symbol">;</a> <a id="13694" href="Algebra.Bundles.html#11660" class="Function">+-semigroup</a><a id="13705" class="Symbol">;</a> <a id="13707" href="Algebra.Bundles.html#12898" class="Function">+-commutativeSemigroup</a>
<a id="13734" class="Symbol">;</a> <a id="13736" href="Algebra.Bundles.html#11872" class="Function">*-rawMagma</a><a id="13746" class="Symbol">;</a> <a id="13748" href="Algebra.Bundles.html#11901" class="Function">*-magma</a><a id="13755" class="Symbol">;</a> <a id="13757" href="Algebra.Bundles.html#11712" class="Function">*-semigroup</a>
<a id="13773" class="Symbol">;</a> <a id="13775" href="Algebra.Bundles.html#11691" class="Function">+-rawMonoid</a><a id="13786" class="Symbol">;</a> <a id="13788" href="Algebra.Bundles.html#11460" class="Function">+-monoid</a><a id="13796" class="Symbol">;</a> <a id="13798" href="Algebra.Bundles.html#12621" class="Function">+-commutativeMonoid</a>
<a id="13822" class="Symbol">;</a> <a id="13824" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a><a id="13836" class="Symbol">;</a> <a id="13838" href="Algebra.Bundles.html#11323" class="Function">rawNearSemiring</a>
<a id="13858" class="Symbol">)</a>
<a id="13861" class="Comment">------------------------------------------------------------------------</a>
<a id="13934" class="Comment">-- Bundles with 2 binary operations &amp; 2 elements</a>
<a id="13983" class="Comment">------------------------------------------------------------------------</a>
<a id="14057" class="Keyword">record</a> <a id="RawSemiring"></a><a id="14064" href="Algebra.Bundles.html#14064" class="Record">RawSemiring</a> <a id="14076" href="Algebra.Bundles.html#14076" class="Bound">c</a> <a id="14078" href="Algebra.Bundles.html#14078" class="Bound"></a> <a id="14080" class="Symbol">:</a> <a id="14082" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="14086" class="Symbol">(</a><a id="14087" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="14091" class="Symbol">(</a><a id="14092" href="Algebra.Bundles.html#14076" class="Bound">c</a> <a id="14094" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="14096" href="Algebra.Bundles.html#14078" class="Bound"></a><a id="14097" class="Symbol">))</a> <a id="14100" class="Keyword">where</a>
<a id="14108" class="Keyword">infixl</a> <a id="14115" class="Number">7</a> <a id="14117" href="Algebra.Bundles.html#14237" class="Field Operator">_*_</a>
<a id="14123" class="Keyword">infixl</a> <a id="14130" class="Number">6</a> <a id="14132" href="Algebra.Bundles.html#14211" class="Field Operator">_+_</a>
<a id="14138" class="Keyword">infix</a> <a id="14145" class="Number">4</a> <a id="14147" href="Algebra.Bundles.html#14183" class="Field Operator">_≈_</a>
<a id="14153" class="Keyword">field</a>
<a id="RawSemiring.Carrier"></a><a id="14163" href="Algebra.Bundles.html#14163" class="Field">Carrier</a> <a id="14171" class="Symbol">:</a> <a id="14173" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="14177" href="Algebra.Bundles.html#14076" class="Bound">c</a>
<a id="RawSemiring._≈_"></a><a id="14183" href="Algebra.Bundles.html#14183" class="Field Operator">_≈_</a> <a id="14191" class="Symbol">:</a> <a id="14193" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="14197" href="Algebra.Bundles.html#14163" class="Field">Carrier</a> <a id="14205" href="Algebra.Bundles.html#14078" class="Bound"></a>
<a id="RawSemiring._+_"></a><a id="14211" href="Algebra.Bundles.html#14211" class="Field Operator">_+_</a> <a id="14219" class="Symbol">:</a> <a id="14221" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="14225" href="Algebra.Bundles.html#14163" class="Field">Carrier</a>
<a id="RawSemiring._*_"></a><a id="14237" href="Algebra.Bundles.html#14237" class="Field Operator">_*_</a> <a id="14245" class="Symbol">:</a> <a id="14247" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="14251" href="Algebra.Bundles.html#14163" class="Field">Carrier</a>
<a id="RawSemiring.0#"></a><a id="14263" href="Algebra.Bundles.html#14263" class="Field">0#</a> <a id="14271" class="Symbol">:</a> <a id="14273" href="Algebra.Bundles.html#14163" class="Field">Carrier</a>
<a id="RawSemiring.1#"></a><a id="14285" href="Algebra.Bundles.html#14285" class="Field">1#</a> <a id="14293" class="Symbol">:</a> <a id="14295" href="Algebra.Bundles.html#14163" class="Field">Carrier</a>
<a id="RawSemiring.rawNearSemiring"></a><a id="14306" href="Algebra.Bundles.html#14306" class="Function">rawNearSemiring</a> <a id="14322" class="Symbol">:</a> <a id="14324" href="Algebra.Bundles.html#10458" class="Record">RawNearSemiring</a> <a id="14340" href="Algebra.Bundles.html#14076" class="Bound">c</a> <a id="14342" href="Algebra.Bundles.html#14078" class="Bound"></a>
<a id="14346" href="Algebra.Bundles.html#14306" class="Function">rawNearSemiring</a> <a id="14362" class="Symbol">=</a> <a id="14364" class="Keyword">record</a>
<a id="14375" class="Symbol">{</a> <a id="14377" href="Algebra.Bundles.html#10581" class="Field Operator">_≈_</a> <a id="14381" class="Symbol">=</a> <a id="14383" href="Algebra.Bundles.html#14183" class="Field Operator">_≈_</a>
<a id="14391" class="Symbol">;</a> <a id="14393" href="Algebra.Bundles.html#10609" class="Field Operator">_+_</a> <a id="14397" class="Symbol">=</a> <a id="14399" href="Algebra.Bundles.html#14211" class="Field Operator">_+_</a>
<a id="14407" class="Symbol">;</a> <a id="14409" href="Algebra.Bundles.html#10635" class="Field Operator">_*_</a> <a id="14413" class="Symbol">=</a> <a id="14415" href="Algebra.Bundles.html#14237" class="Field Operator">_*_</a>
<a id="14423" class="Symbol">;</a> <a id="14425" href="Algebra.Bundles.html#10661" class="Field">0#</a> <a id="14429" class="Symbol">=</a> <a id="14431" href="Algebra.Bundles.html#14263" class="Field">0#</a>
<a id="14438" class="Symbol">}</a>
<a id="14443" class="Keyword">open</a> <a id="14448" href="Algebra.Bundles.html#10458" class="Module">RawNearSemiring</a> <a id="14464" href="Algebra.Bundles.html#14306" class="Function">rawNearSemiring</a> <a id="14480" class="Keyword">public</a>
<a id="14491" class="Keyword">using</a> <a id="14497" class="Symbol">(</a><a id="14498" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="14501" class="Symbol">;</a> <a id="14503" href="Algebra.Bundles.html#10682" class="Function">+-rawMonoid</a><a id="14514" class="Symbol">;</a> <a id="14516" href="Algebra.Bundles.html#10861" class="Function">+-rawMagma</a><a id="14526" class="Symbol">;</a> <a id="14528" href="Algebra.Bundles.html#10876" class="Function">*-rawMagma</a><a id="14538" class="Symbol">)</a>
<a id="RawSemiring.*-rawMonoid"></a><a id="14543" href="Algebra.Bundles.html#14543" class="Function">*-rawMonoid</a> <a id="14555" class="Symbol">:</a> <a id="14557" href="Algebra.Bundles.html#4104" class="Record">RawMonoid</a> <a id="14567" href="Algebra.Bundles.html#14076" class="Bound">c</a> <a id="14569" href="Algebra.Bundles.html#14078" class="Bound"></a>
<a id="14573" href="Algebra.Bundles.html#14543" class="Function">*-rawMonoid</a> <a id="14585" class="Symbol">=</a> <a id="14587" class="Keyword">record</a>
<a id="14598" class="Symbol">{</a> <a id="14600" href="Algebra.Bundles.html#4206" class="Field Operator">_≈_</a> <a id="14604" class="Symbol">=</a> <a id="14606" href="Algebra.Bundles.html#14183" class="Field Operator">_≈_</a>
<a id="14614" class="Symbol">;</a> <a id="14616" href="Algebra.Bundles.html#4234" class="Field Operator">_∙_</a> <a id="14620" class="Symbol">=</a> <a id="14622" href="Algebra.Bundles.html#14237" class="Field Operator">_*_</a>
<a id="14630" class="Symbol">;</a> <a id="14632" href="Algebra.Bundles.html#4260" class="Field">ε</a> <a id="14636" class="Symbol">=</a> <a id="14638" href="Algebra.Bundles.html#14285" class="Field">1#</a>
<a id="14645" class="Symbol">}</a>
<a id="14649" class="Keyword">record</a> <a id="SemiringWithoutAnnihilatingZero"></a><a id="14656" href="Algebra.Bundles.html#14656" class="Record">SemiringWithoutAnnihilatingZero</a> <a id="14688" href="Algebra.Bundles.html#14688" class="Bound">c</a> <a id="14690" href="Algebra.Bundles.html#14690" class="Bound"></a> <a id="14692" class="Symbol">:</a> <a id="14694" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="14698" class="Symbol">(</a><a id="14699" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="14703" class="Symbol">(</a><a id="14704" href="Algebra.Bundles.html#14688" class="Bound">c</a> <a id="14706" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="14708" href="Algebra.Bundles.html#14690" class="Bound"></a><a id="14709" class="Symbol">))</a> <a id="14712" class="Keyword">where</a>
<a id="14720" class="Keyword">infixl</a> <a id="14727" class="Number">7</a> <a id="14729" href="Algebra.Bundles.html#14927" class="Field Operator">_*_</a>
<a id="14735" class="Keyword">infixl</a> <a id="14742" class="Number">6</a> <a id="14744" href="Algebra.Bundles.html#14875" class="Field Operator">_+_</a>
<a id="14750" class="Keyword">infix</a> <a id="14757" class="Number">4</a> <a id="14759" href="Algebra.Bundles.html#14821" class="Field Operator">_≈_</a>
<a id="14765" class="Keyword">field</a>
<a id="SemiringWithoutAnnihilatingZero.Carrier"></a><a id="14775" href="Algebra.Bundles.html#14775" class="Field">Carrier</a> <a id="14809" class="Symbol">:</a> <a id="14811" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="14815" href="Algebra.Bundles.html#14688" class="Bound">c</a>
<a id="SemiringWithoutAnnihilatingZero._≈_"></a><a id="14821" href="Algebra.Bundles.html#14821" class="Field Operator">_≈_</a> <a id="14855" class="Symbol">:</a> <a id="14857" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="14861" href="Algebra.Bundles.html#14775" class="Field">Carrier</a> <a id="14869" href="Algebra.Bundles.html#14690" class="Bound"></a>
<a id="SemiringWithoutAnnihilatingZero._+_"></a><a id="14875" href="Algebra.Bundles.html#14875" class="Field Operator">_+_</a> <a id="14909" class="Symbol">:</a> <a id="14911" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="14915" href="Algebra.Bundles.html#14775" class="Field">Carrier</a>
<a id="SemiringWithoutAnnihilatingZero._*_"></a><a id="14927" href="Algebra.Bundles.html#14927" class="Field Operator">_*_</a> <a id="14961" class="Symbol">:</a> <a id="14963" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="14967" href="Algebra.Bundles.html#14775" class="Field">Carrier</a>
<a id="SemiringWithoutAnnihilatingZero.0#"></a><a id="14979" href="Algebra.Bundles.html#14979" class="Field">0#</a> <a id="15013" class="Symbol">:</a> <a id="15015" href="Algebra.Bundles.html#14775" class="Field">Carrier</a>
<a id="SemiringWithoutAnnihilatingZero.1#"></a><a id="15027" href="Algebra.Bundles.html#15027" class="Field">1#</a> <a id="15061" class="Symbol">:</a> <a id="15063" href="Algebra.Bundles.html#14775" class="Field">Carrier</a>
<a id="SemiringWithoutAnnihilatingZero.isSemiringWithoutAnnihilatingZero"></a><a id="15075" href="Algebra.Bundles.html#15075" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="15109" class="Symbol">:</a>
<a id="15117" href="Algebra.Structures.html#9835" class="Record">IsSemiringWithoutAnnihilatingZero</a> <a id="15151" href="Algebra.Bundles.html#14821" class="Field Operator">_≈_</a> <a id="15155" href="Algebra.Bundles.html#14875" class="Field Operator">_+_</a> <a id="15159" href="Algebra.Bundles.html#14927" class="Field Operator">_*_</a> <a id="15163" href="Algebra.Bundles.html#14979" class="Field">0#</a> <a id="15166" href="Algebra.Bundles.html#15027" class="Field">1#</a>
<a id="15172" class="Keyword">open</a> <a id="15177" href="Algebra.Structures.html#9835" class="Module">IsSemiringWithoutAnnihilatingZero</a>
<a id="15220" href="Algebra.Bundles.html#15075" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="15254" class="Keyword">public</a>
<a id="SemiringWithoutAnnihilatingZero.rawSemiring"></a><a id="15264" href="Algebra.Bundles.html#15264" class="Function">rawSemiring</a> <a id="15276" class="Symbol">:</a> <a id="15278" href="Algebra.Bundles.html#14064" class="Record">RawSemiring</a> <a id="15290" href="Algebra.Bundles.html#14688" class="Bound">c</a> <a id="15292" href="Algebra.Bundles.html#14690" class="Bound"></a>
<a id="15296" href="Algebra.Bundles.html#15264" class="Function">rawSemiring</a> <a id="15308" class="Symbol">=</a> <a id="15310" class="Keyword">record</a>
<a id="15321" class="Symbol">{</a> <a id="15323" href="Algebra.Bundles.html#14183" class="Field Operator">_≈_</a> <a id="15327" class="Symbol">=</a> <a id="15329" href="Algebra.Bundles.html#14821" class="Field Operator">_≈_</a>
<a id="15337" class="Symbol">;</a> <a id="15339" href="Algebra.Bundles.html#14211" class="Field Operator">_+_</a> <a id="15343" class="Symbol">=</a> <a id="15345" href="Algebra.Bundles.html#14875" class="Field Operator">_+_</a>
<a id="15353" class="Symbol">;</a> <a id="15355" href="Algebra.Bundles.html#14237" class="Field Operator">_*_</a> <a id="15359" class="Symbol">=</a> <a id="15361" href="Algebra.Bundles.html#14927" class="Field Operator">_*_</a>
<a id="15369" class="Symbol">;</a> <a id="15371" href="Algebra.Bundles.html#14263" class="Field">0#</a> <a id="15375" class="Symbol">=</a> <a id="15377" href="Algebra.Bundles.html#14979" class="Field">0#</a>
<a id="15384" class="Symbol">;</a> <a id="15386" href="Algebra.Bundles.html#14285" class="Field">1#</a> <a id="15390" class="Symbol">=</a> <a id="15392" href="Algebra.Bundles.html#15027" class="Field">1#</a>
<a id="15399" class="Symbol">}</a>
<a id="15404" class="Keyword">open</a> <a id="15409" href="Algebra.Bundles.html#14064" class="Module">RawSemiring</a> <a id="15421" href="Algebra.Bundles.html#15264" class="Function">rawSemiring</a> <a id="15433" class="Keyword">public</a>
<a id="15444" class="Keyword">using</a> <a id="15450" class="Symbol">(</a><a id="15451" href="Algebra.Bundles.html#14306" class="Function">rawNearSemiring</a><a id="15466" class="Symbol">)</a>
<a id="SemiringWithoutAnnihilatingZero.+-commutativeMonoid"></a><a id="15471" href="Algebra.Bundles.html#15471" class="Function">+-commutativeMonoid</a> <a id="15491" class="Symbol">:</a> <a id="15493" href="Algebra.Bundles.html#4901" class="Record">CommutativeMonoid</a> <a id="15511" class="Symbol">_</a> <a id="15513" class="Symbol">_</a>
<a id="15517" href="Algebra.Bundles.html#15471" class="Function">+-commutativeMonoid</a> <a id="15537" class="Symbol">=</a>
<a id="15543" class="Keyword">record</a> <a id="15550" class="Symbol">{</a> <a id="15552" href="Algebra.Bundles.html#5135" class="Field">isCommutativeMonoid</a> <a id="15572" class="Symbol">=</a> <a id="15574" href="Algebra.Structures.html#10097" class="Function">+-isCommutativeMonoid</a> <a id="15596" class="Symbol">}</a>
<a id="15601" class="Keyword">open</a> <a id="15606" href="Algebra.Bundles.html#4901" class="Module">CommutativeMonoid</a> <a id="15624" href="Algebra.Bundles.html#15471" class="Function">+-commutativeMonoid</a> <a id="15644" class="Keyword">public</a>
<a id="15655" class="Keyword">using</a> <a id="15661" class="Symbol">(</a><a id="15662" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="15665" class="Symbol">)</a> <a id="15667" class="Keyword">renaming</a>
<a id="15680" class="Symbol">(</a> <a id="15682" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a> <a id="15703" class="Symbol">to</a> <a id="15706" class="Function">+-rawMagma</a>
<a id="15721" class="Symbol">;</a> <a id="15723" href="Algebra.Bundles.html#2387" class="Function">magma</a> <a id="15744" class="Symbol">to</a> <a id="15747" class="Function">+-magma</a>
<a id="15759" class="Symbol">;</a> <a id="15761" href="Algebra.Bundles.html#3352" class="Function">commutativeMagma</a> <a id="15782" class="Symbol">to</a> <a id="15785" class="Function">+-commutativeMagma</a>
<a id="15808" class="Symbol">;</a> <a id="15810" href="Algebra.Bundles.html#4666" class="Function">semigroup</a> <a id="15831" class="Symbol">to</a> <a id="15834" class="Function">+-semigroup</a>
<a id="15850" class="Symbol">;</a> <a id="15852" href="Algebra.Bundles.html#5394" class="Function">commutativeSemigroup</a> <a id="15873" class="Symbol">to</a> <a id="15876" class="Function">+-commutativeSemigroup</a>
<a id="15903" class="Symbol">;</a> <a id="15905" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a> <a id="15926" class="Symbol">to</a> <a id="15929" class="Function">+-rawMonoid</a>
<a id="15945" class="Symbol">;</a> <a id="15947" href="Algebra.Bundles.html#5245" class="Function">monoid</a> <a id="15968" class="Symbol">to</a> <a id="15971" class="Function">+-monoid</a>
<a id="15984" class="Symbol">)</a>
<a id="SemiringWithoutAnnihilatingZero.*-monoid"></a><a id="15989" href="Algebra.Bundles.html#15989" class="Function">*-monoid</a> <a id="15998" class="Symbol">:</a> <a id="16000" href="Algebra.Bundles.html#4421" class="Record">Monoid</a> <a id="16007" class="Symbol">_</a> <a id="16009" class="Symbol">_</a>
<a id="16013" href="Algebra.Bundles.html#15989" class="Function">*-monoid</a> <a id="16022" class="Symbol">=</a> <a id="16024" class="Keyword">record</a> <a id="16031" class="Symbol">{</a> <a id="16033" href="Algebra.Bundles.html#4600" class="Field">isMonoid</a> <a id="16042" class="Symbol">=</a> <a id="16044" href="Algebra.Structures.html#10150" class="Function">*-isMonoid</a> <a id="16055" class="Symbol">}</a>
<a id="16060" class="Keyword">open</a> <a id="16065" href="Algebra.Bundles.html#4421" class="Module">Monoid</a> <a id="16072" href="Algebra.Bundles.html#15989" class="Function">*-monoid</a> <a id="16081" class="Keyword">public</a>
<a id="16092" class="Keyword">using</a> <a id="16098" class="Symbol">()</a> <a id="16101" class="Keyword">renaming</a>
<a id="16114" class="Symbol">(</a> <a id="16116" href="Algebra.Bundles.html#1212" class="Function">rawMagma</a> <a id="16126" class="Symbol">to</a> <a id="16129" class="Function">*-rawMagma</a>
<a id="16144" class="Symbol">;</a> <a id="16146" href="Algebra.Bundles.html#2387" class="Function">magma</a> <a id="16156" class="Symbol">to</a> <a id="16159" class="Function">*-magma</a>
<a id="16171" class="Symbol">;</a> <a id="16173" href="Algebra.Bundles.html#4666" class="Function">semigroup</a> <a id="16183" class="Symbol">to</a> <a id="16186" class="Function">*-semigroup</a>
<a id="16202" class="Symbol">;</a> <a id="16204" href="Algebra.Bundles.html#4814" class="Function">rawMonoid</a> <a id="16214" class="Symbol">to</a> <a id="16217" class="Function">*-rawMonoid</a>
<a id="16233" class="Symbol">)</a>
<a id="16237" class="Keyword">record</a> <a id="Semiring"></a><a id="16244" href="Algebra.Bundles.html#16244" class="Record">Semiring</a> <a id="16253" href="Algebra.Bundles.html#16253" class="Bound">c</a> <a id="16255" href="Algebra.Bundles.html#16255" class="Bound"></a> <a id="16257" class="Symbol">:</a> <a id="16259" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="16263" class="Symbol">(</a><a id="16264" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="16268" class="Symbol">(</a><a id="16269" href="Algebra.Bundles.html#16253" class="Bound">c</a> <a id="16271" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="16273" href="Algebra.Bundles.html#16255" class="Bound"></a><a id="16274" class="Symbol">))</a> <a id="16277" class="Keyword">where</a>
<a id="16285" class="Keyword">infixl</a> <a id="16292" class="Number">7</a> <a id="16294" href="Algebra.Bundles.html#16423" class="Field Operator">_*_</a>
<a id="16300" class="Keyword">infixl</a> <a id="16307" class="Number">6</a> <a id="16309" href="Algebra.Bundles.html#16394" class="Field Operator">_+_</a>
<a id="16315" class="Keyword">infix</a> <a id="16322" class="Number">4</a> <a id="16324" href="Algebra.Bundles.html#16363" class="Field Operator">_≈_</a>
<a id="16330" class="Keyword">field</a>
<a id="Semiring.Carrier"></a><a id="16340" href="Algebra.Bundles.html#16340" class="Field">Carrier</a> <a id="16351" class="Symbol">:</a> <a id="16353" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="16357" href="Algebra.Bundles.html#16253" class="Bound">c</a>
<a id="Semiring._≈_"></a><a id="16363" href="Algebra.Bundles.html#16363" class="Field Operator">_≈_</a> <a id="16374" class="Symbol">:</a> <a id="16376" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="16380" href="Algebra.Bundles.html#16340" class="Field">Carrier</a> <a id="16388" href="Algebra.Bundles.html#16255" class="Bound"></a>
<a id="Semiring._+_"></a><a id="16394" href="Algebra.Bundles.html#16394" class="Field Operator">_+_</a> <a id="16405" class="Symbol">:</a> <a id="16407" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="16411" href="Algebra.Bundles.html#16340" class="Field">Carrier</a>
<a id="Semiring._*_"></a><a id="16423" href="Algebra.Bundles.html#16423" class="Field Operator">_*_</a> <a id="16434" class="Symbol">:</a> <a id="16436" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="16440" href="Algebra.Bundles.html#16340" class="Field">Carrier</a>
<a id="Semiring.0#"></a><a id="16452" href="Algebra.Bundles.html#16452" class="Field">0#</a> <a id="16463" class="Symbol">:</a> <a id="16465" href="Algebra.Bundles.html#16340" class="Field">Carrier</a>
<a id="Semiring.1#"></a><a id="16477" href="Algebra.Bundles.html#16477" class="Field">1#</a> <a id="16488" class="Symbol">:</a> <a id="16490" href="Algebra.Bundles.html#16340" class="Field">Carrier</a>
<a id="Semiring.isSemiring"></a><a id="16502" href="Algebra.Bundles.html#16502" class="Field">isSemiring</a> <a id="16513" class="Symbol">:</a> <a id="16515" href="Algebra.Structures.html#11361" class="Record">IsSemiring</a> <a id="16526" href="Algebra.Bundles.html#16363" class="Field Operator">_≈_</a> <a id="16530" href="Algebra.Bundles.html#16394" class="Field Operator">_+_</a> <a id="16534" href="Algebra.Bundles.html#16423" class="Field Operator">_*_</a> <a id="16538" href="Algebra.Bundles.html#16452" class="Field">0#</a> <a id="16541" href="Algebra.Bundles.html#16477" class="Field">1#</a>
<a id="16547" class="Keyword">open</a> <a id="16552" href="Algebra.Structures.html#11361" class="Module">IsSemiring</a> <a id="16563" href="Algebra.Bundles.html#16502" class="Field">isSemiring</a> <a id="16574" class="Keyword">public</a>
<a id="Semiring.semiringWithoutAnnihilatingZero"></a><a id="16584" href="Algebra.Bundles.html#16584" class="Function">semiringWithoutAnnihilatingZero</a> <a id="16616" class="Symbol">:</a> <a id="16618" href="Algebra.Bundles.html#14656" class="Record">SemiringWithoutAnnihilatingZero</a> <a id="16650" class="Symbol">_</a> <a id="16652" class="Symbol">_</a>
<a id="16656" href="Algebra.Bundles.html#16584" class="Function">semiringWithoutAnnihilatingZero</a> <a id="16688" class="Symbol">=</a> <a id="16690" class="Keyword">record</a>
<a id="16701" class="Symbol">{</a> <a id="16703" href="Algebra.Bundles.html#15075" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="16737" class="Symbol">=</a>
<a id="16747" href="Algebra.Structures.html#11430" class="Function">isSemiringWithoutAnnihilatingZero</a>
<a id="16785" class="Symbol">}</a>
<a id="16790" class="Keyword">open</a> <a id="16795" href="Algebra.Bundles.html#14656" class="Module">SemiringWithoutAnnihilatingZero</a>
<a id="16836" href="Algebra.Bundles.html#16584" class="Function">semiringWithoutAnnihilatingZero</a> <a id="16868" class="Keyword">public</a>
<a id="16879" class="Keyword">using</a>
<a id="16889" class="Symbol">(</a> <a id="16891" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="16894" class="Symbol">;</a> <a id="16896" href="Algebra.Bundles.html#15706" class="Function">+-rawMagma</a><a id="16906" class="Symbol">;</a> <a id="16909" href="Algebra.Bundles.html#15747" class="Function">+-magma</a><a id="16916" class="Symbol">;</a> <a id="16919" href="Algebra.Bundles.html#15785" class="Function">+-commutativeMagma</a><a id="16937" class="Symbol">;</a> <a id="16939" href="Algebra.Bundles.html#15834" class="Function">+-semigroup</a><a id="16950" class="Symbol">;</a> <a id="16952" href="Algebra.Bundles.html#15876" class="Function">+-commutativeSemigroup</a>
<a id="16979" class="Symbol">;</a> <a id="16981" href="Algebra.Bundles.html#16129" class="Function">*-rawMagma</a><a id="16991" class="Symbol">;</a> <a id="16994" href="Algebra.Bundles.html#16159" class="Function">*-magma</a><a id="17001" class="Symbol">;</a> <a id="17004" href="Algebra.Bundles.html#16186" class="Function">*-semigroup</a>
<a id="17020" class="Symbol">;</a> <a id="17022" href="Algebra.Bundles.html#15929" class="Function">+-rawMonoid</a><a id="17033" class="Symbol">;</a> <a id="17035" href="Algebra.Bundles.html#15971" class="Function">+-monoid</a><a id="17043" class="Symbol">;</a> <a id="17045" href="Algebra.Bundles.html#15471" class="Function">+-commutativeMonoid</a>
<a id="17069" class="Symbol">;</a> <a id="17071" href="Algebra.Bundles.html#16217" class="Function">*-rawMonoid</a><a id="17082" class="Symbol">;</a> <a id="17084" href="Algebra.Bundles.html#15989" class="Function">*-monoid</a>
<a id="17097" class="Symbol">;</a> <a id="17099" href="Algebra.Bundles.html#14306" class="Function">rawNearSemiring</a> <a id="17115" class="Symbol">;</a> <a id="17117" href="Algebra.Bundles.html#15264" class="Function">rawSemiring</a>
<a id="17133" class="Symbol">)</a>
<a id="Semiring.semiringWithoutOne"></a><a id="17138" href="Algebra.Bundles.html#17138" class="Function">semiringWithoutOne</a> <a id="17157" class="Symbol">:</a> <a id="17159" href="Algebra.Bundles.html#11924" class="Record">SemiringWithoutOne</a> <a id="17178" class="Symbol">_</a> <a id="17180" class="Symbol">_</a>
<a id="17184" href="Algebra.Bundles.html#17138" class="Function">semiringWithoutOne</a> <a id="17203" class="Symbol">=</a>
<a id="17209" class="Keyword">record</a> <a id="17216" class="Symbol">{</a> <a id="17218" href="Algebra.Bundles.html#12217" class="Field">isSemiringWithoutOne</a> <a id="17239" class="Symbol">=</a> <a id="17241" href="Algebra.Structures.html#11632" class="Function">isSemiringWithoutOne</a> <a id="17262" class="Symbol">}</a>
<a id="17267" class="Keyword">open</a> <a id="17272" href="Algebra.Bundles.html#11924" class="Module">SemiringWithoutOne</a> <a id="17291" href="Algebra.Bundles.html#17138" class="Function">semiringWithoutOne</a> <a id="17310" class="Keyword">public</a>
<a id="17321" class="Keyword">using</a> <a id="17327" class="Symbol">(</a><a id="17328" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a><a id="17340" class="Symbol">)</a>
<a id="17344" class="Keyword">record</a> <a id="CommutativeSemiring"></a><a id="17351" href="Algebra.Bundles.html#17351" class="Record">CommutativeSemiring</a> <a id="17371" href="Algebra.Bundles.html#17371" class="Bound">c</a> <a id="17373" href="Algebra.Bundles.html#17373" class="Bound"></a> <a id="17375" class="Symbol">:</a> <a id="17377" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="17381" class="Symbol">(</a><a id="17382" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="17386" class="Symbol">(</a><a id="17387" href="Algebra.Bundles.html#17371" class="Bound">c</a> <a id="17389" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="17391" href="Algebra.Bundles.html#17373" class="Bound"></a><a id="17392" class="Symbol">))</a> <a id="17395" class="Keyword">where</a>
<a id="17403" class="Keyword">infixl</a> <a id="17410" class="Number">7</a> <a id="17412" href="Algebra.Bundles.html#17574" class="Field Operator">_*_</a>
<a id="17418" class="Keyword">infixl</a> <a id="17425" class="Number">6</a> <a id="17427" href="Algebra.Bundles.html#17534" class="Field Operator">_+_</a>
<a id="17433" class="Keyword">infix</a> <a id="17440" class="Number">4</a> <a id="17442" href="Algebra.Bundles.html#17492" class="Field Operator">_≈_</a>
<a id="17448" class="Keyword">field</a>
<a id="CommutativeSemiring.Carrier"></a><a id="17458" href="Algebra.Bundles.html#17458" class="Field">Carrier</a> <a id="17480" class="Symbol">:</a> <a id="17482" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="17486" href="Algebra.Bundles.html#17371" class="Bound">c</a>
<a id="CommutativeSemiring._≈_"></a><a id="17492" href="Algebra.Bundles.html#17492" class="Field Operator">_≈_</a> <a id="17514" class="Symbol">:</a> <a id="17516" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="17520" href="Algebra.Bundles.html#17458" class="Field">Carrier</a> <a id="17528" href="Algebra.Bundles.html#17373" class="Bound"></a>
<a id="CommutativeSemiring._+_"></a><a id="17534" href="Algebra.Bundles.html#17534" class="Field Operator">_+_</a> <a id="17556" class="Symbol">:</a> <a id="17558" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="17562" href="Algebra.Bundles.html#17458" class="Field">Carrier</a>
<a id="CommutativeSemiring._*_"></a><a id="17574" href="Algebra.Bundles.html#17574" class="Field Operator">_*_</a> <a id="17596" class="Symbol">:</a> <a id="17598" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="17602" href="Algebra.Bundles.html#17458" class="Field">Carrier</a>
<a id="CommutativeSemiring.0#"></a><a id="17614" href="Algebra.Bundles.html#17614" class="Field">0#</a> <a id="17636" class="Symbol">:</a> <a id="17638" href="Algebra.Bundles.html#17458" class="Field">Carrier</a>
<a id="CommutativeSemiring.1#"></a><a id="17650" href="Algebra.Bundles.html#17650" class="Field">1#</a> <a id="17672" class="Symbol">:</a> <a id="17674" href="Algebra.Bundles.html#17458" class="Field">Carrier</a>
<a id="CommutativeSemiring.isCommutativeSemiring"></a><a id="17686" href="Algebra.Bundles.html#17686" class="Field">isCommutativeSemiring</a> <a id="17708" class="Symbol">:</a> <a id="17710" href="Algebra.Structures.html#12017" class="Record">IsCommutativeSemiring</a> <a id="17732" href="Algebra.Bundles.html#17492" class="Field Operator">_≈_</a> <a id="17736" href="Algebra.Bundles.html#17534" class="Field Operator">_+_</a> <a id="17740" href="Algebra.Bundles.html#17574" class="Field Operator">_*_</a> <a id="17744" href="Algebra.Bundles.html#17614" class="Field">0#</a> <a id="17747" href="Algebra.Bundles.html#17650" class="Field">1#</a>
<a id="17753" class="Keyword">open</a> <a id="17758" href="Algebra.Structures.html#12017" class="Module">IsCommutativeSemiring</a> <a id="17780" href="Algebra.Bundles.html#17686" class="Field">isCommutativeSemiring</a> <a id="17802" class="Keyword">public</a>
<a id="CommutativeSemiring.semiring"></a><a id="17812" href="Algebra.Bundles.html#17812" class="Function">semiring</a> <a id="17821" class="Symbol">:</a> <a id="17823" href="Algebra.Bundles.html#16244" class="Record">Semiring</a> <a id="17832" class="Symbol">_</a> <a id="17834" class="Symbol">_</a>
<a id="17838" href="Algebra.Bundles.html#17812" class="Function">semiring</a> <a id="17847" class="Symbol">=</a> <a id="17849" class="Keyword">record</a> <a id="17856" class="Symbol">{</a> <a id="17858" href="Algebra.Bundles.html#16502" class="Field">isSemiring</a> <a id="17869" class="Symbol">=</a> <a id="17871" href="Algebra.Structures.html#12097" class="Function">isSemiring</a> <a id="17882" class="Symbol">}</a>
<a id="17887" class="Keyword">open</a> <a id="17892" href="Algebra.Bundles.html#16244" class="Module">Semiring</a> <a id="17901" href="Algebra.Bundles.html#17812" class="Function">semiring</a> <a id="17910" class="Keyword">public</a>
<a id="17921" class="Keyword">using</a>
<a id="17931" class="Symbol">(</a> <a id="17933" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="17936" class="Symbol">;</a> <a id="17938" href="Algebra.Bundles.html#15706" class="Function">+-rawMagma</a><a id="17948" class="Symbol">;</a> <a id="17950" href="Algebra.Bundles.html#15747" class="Function">+-magma</a><a id="17957" class="Symbol">;</a> <a id="17959" href="Algebra.Bundles.html#15785" class="Function">+-commutativeMagma</a><a id="17977" class="Symbol">;</a> <a id="17979" href="Algebra.Bundles.html#15834" class="Function">+-semigroup</a><a id="17990" class="Symbol">;</a> <a id="17992" href="Algebra.Bundles.html#15876" class="Function">+-commutativeSemigroup</a>
<a id="18019" class="Symbol">;</a> <a id="18021" href="Algebra.Bundles.html#16129" class="Function">*-rawMagma</a><a id="18031" class="Symbol">;</a> <a id="18033" href="Algebra.Bundles.html#16159" class="Function">*-magma</a><a id="18040" class="Symbol">;</a> <a id="18042" href="Algebra.Bundles.html#16186" class="Function">*-semigroup</a>
<a id="18058" class="Symbol">;</a> <a id="18060" href="Algebra.Bundles.html#15929" class="Function">+-rawMonoid</a><a id="18071" class="Symbol">;</a> <a id="18073" href="Algebra.Bundles.html#15971" class="Function">+-monoid</a><a id="18081" class="Symbol">;</a> <a id="18083" href="Algebra.Bundles.html#15471" class="Function">+-commutativeMonoid</a>
<a id="18107" class="Symbol">;</a> <a id="18109" href="Algebra.Bundles.html#16217" class="Function">*-rawMonoid</a><a id="18120" class="Symbol">;</a> <a id="18122" href="Algebra.Bundles.html#15989" class="Function">*-monoid</a>
<a id="18135" class="Symbol">;</a> <a id="18137" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a><a id="18149" class="Symbol">;</a> <a id="18151" href="Algebra.Bundles.html#17138" class="Function">semiringWithoutOne</a>
<a id="18174" class="Symbol">;</a> <a id="18176" href="Algebra.Bundles.html#16584" class="Function">semiringWithoutAnnihilatingZero</a>
<a id="18212" class="Symbol">;</a> <a id="18214" href="Algebra.Bundles.html#15264" class="Function">rawSemiring</a>
<a id="18230" class="Symbol">)</a>
<a id="CommutativeSemiring.*-commutativeMonoid"></a><a id="18235" href="Algebra.Bundles.html#18235" class="Function">*-commutativeMonoid</a> <a id="18255" class="Symbol">:</a> <a id="18257" href="Algebra.Bundles.html#4901" class="Record">CommutativeMonoid</a> <a id="18275" class="Symbol">_</a> <a id="18277" class="Symbol">_</a>
<a id="18281" href="Algebra.Bundles.html#18235" class="Function">*-commutativeMonoid</a> <a id="18301" class="Symbol">=</a> <a id="18303" class="Keyword">record</a>
<a id="18314" class="Symbol">{</a> <a id="18316" href="Algebra.Bundles.html#5135" class="Field">isCommutativeMonoid</a> <a id="18336" class="Symbol">=</a> <a id="18338" href="Algebra.Structures.html#12556" class="Function">*-isCommutativeMonoid</a>
<a id="18364" class="Symbol">}</a>
<a id="18369" class="Keyword">open</a> <a id="18374" href="Algebra.Bundles.html#4901" class="Module">CommutativeMonoid</a> <a id="18392" href="Algebra.Bundles.html#18235" class="Function">*-commutativeMonoid</a> <a id="18412" class="Keyword">public</a>
<a id="18423" class="Keyword">using</a> <a id="18429" class="Symbol">()</a> <a id="18432" class="Keyword">renaming</a>
<a id="18445" class="Symbol">(</a> <a id="18447" href="Algebra.Bundles.html#3352" class="Function">commutativeMagma</a> <a id="18468" class="Symbol">to</a> <a id="18471" class="Function">*-commutativeMagma</a>
<a id="18494" class="Symbol">;</a> <a id="18496" href="Algebra.Bundles.html#5394" class="Function">commutativeSemigroup</a> <a id="18517" class="Symbol">to</a> <a id="18520" class="Function">*-commutativeSemigroup</a>
<a id="18547" class="Symbol">)</a>
<a id="CommutativeSemiring.commutativeSemiringWithoutOne"></a><a id="18552" href="Algebra.Bundles.html#18552" class="Function">commutativeSemiringWithoutOne</a> <a id="18582" class="Symbol">:</a> <a id="18584" href="Algebra.Bundles.html#12936" class="Record">CommutativeSemiringWithoutOne</a> <a id="18614" class="Symbol">_</a> <a id="18616" class="Symbol">_</a>
<a id="18620" href="Algebra.Bundles.html#18552" class="Function">commutativeSemiringWithoutOne</a> <a id="18650" class="Symbol">=</a> <a id="18652" class="Keyword">record</a>
<a id="18663" class="Symbol">{</a> <a id="18665" href="Algebra.Bundles.html#13295" class="Field">isCommutativeSemiringWithoutOne</a> <a id="18697" class="Symbol">=</a> <a id="18699" href="Algebra.Structures.html#12202" class="Function">isCommutativeSemiringWithoutOne</a>
<a id="18735" class="Symbol">}</a>
<a id="18739" class="Keyword">record</a> <a id="CancellativeCommutativeSemiring"></a><a id="18746" href="Algebra.Bundles.html#18746" class="Record">CancellativeCommutativeSemiring</a> <a id="18778" href="Algebra.Bundles.html#18778" class="Bound">c</a> <a id="18780" href="Algebra.Bundles.html#18780" class="Bound"></a> <a id="18782" class="Symbol">:</a> <a id="18784" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="18788" class="Symbol">(</a><a id="18789" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="18793" class="Symbol">(</a><a id="18794" href="Algebra.Bundles.html#18778" class="Bound">c</a> <a id="18796" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="18798" href="Algebra.Bundles.html#18780" class="Bound"></a><a id="18799" class="Symbol">))</a> <a id="18802" class="Keyword">where</a>
<a id="18810" class="Keyword">infixl</a> <a id="18817" class="Number">7</a> <a id="18819" href="Algebra.Bundles.html#19017" class="Field Operator">_*_</a>
<a id="18825" class="Keyword">infixl</a> <a id="18832" class="Number">6</a> <a id="18834" href="Algebra.Bundles.html#18965" class="Field Operator">_+_</a>
<a id="18840" class="Keyword">infix</a> <a id="18847" class="Number">4</a> <a id="18849" href="Algebra.Bundles.html#18911" class="Field Operator">_≈_</a>
<a id="18855" class="Keyword">field</a>
<a id="CancellativeCommutativeSemiring.Carrier"></a><a id="18865" href="Algebra.Bundles.html#18865" class="Field">Carrier</a> <a id="18899" class="Symbol">:</a> <a id="18901" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="18905" href="Algebra.Bundles.html#18778" class="Bound">c</a>
<a id="CancellativeCommutativeSemiring._≈_"></a><a id="18911" href="Algebra.Bundles.html#18911" class="Field Operator">_≈_</a> <a id="18945" class="Symbol">:</a> <a id="18947" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="18951" href="Algebra.Bundles.html#18865" class="Field">Carrier</a> <a id="18959" href="Algebra.Bundles.html#18780" class="Bound"></a>
<a id="CancellativeCommutativeSemiring._+_"></a><a id="18965" href="Algebra.Bundles.html#18965" class="Field Operator">_+_</a> <a id="18999" class="Symbol">:</a> <a id="19001" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="19005" href="Algebra.Bundles.html#18865" class="Field">Carrier</a>
<a id="CancellativeCommutativeSemiring._*_"></a><a id="19017" href="Algebra.Bundles.html#19017" class="Field Operator">_*_</a> <a id="19051" class="Symbol">:</a> <a id="19053" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="19057" href="Algebra.Bundles.html#18865" class="Field">Carrier</a>
<a id="CancellativeCommutativeSemiring.0#"></a><a id="19069" href="Algebra.Bundles.html#19069" class="Field">0#</a> <a id="19103" class="Symbol">:</a> <a id="19105" href="Algebra.Bundles.html#18865" class="Field">Carrier</a>
<a id="CancellativeCommutativeSemiring.1#"></a><a id="19117" href="Algebra.Bundles.html#19117" class="Field">1#</a> <a id="19151" class="Symbol">:</a> <a id="19153" href="Algebra.Bundles.html#18865" class="Field">Carrier</a>
<a id="CancellativeCommutativeSemiring.isCancellativeCommutativeSemiring"></a><a id="19165" href="Algebra.Bundles.html#19165" class="Field">isCancellativeCommutativeSemiring</a> <a id="19199" class="Symbol">:</a> <a id="19201" href="Algebra.Structures.html#12705" class="Record">IsCancellativeCommutativeSemiring</a> <a id="19235" href="Algebra.Bundles.html#18911" class="Field Operator">_≈_</a> <a id="19239" href="Algebra.Bundles.html#18965" class="Field Operator">_+_</a> <a id="19243" href="Algebra.Bundles.html#19017" class="Field Operator">_*_</a> <a id="19247" href="Algebra.Bundles.html#19069" class="Field">0#</a> <a id="19250" href="Algebra.Bundles.html#19117" class="Field">1#</a>
<a id="19256" class="Keyword">open</a> <a id="19261" href="Algebra.Structures.html#12705" class="Module">IsCancellativeCommutativeSemiring</a> <a id="19295" href="Algebra.Bundles.html#19165" class="Field">isCancellativeCommutativeSemiring</a> <a id="19329" class="Keyword">public</a>
<a id="CancellativeCommutativeSemiring.commutativeSemiring"></a><a id="19339" href="Algebra.Bundles.html#19339" class="Function">commutativeSemiring</a> <a id="19359" class="Symbol">:</a> <a id="19361" href="Algebra.Bundles.html#17351" class="Record">CommutativeSemiring</a> <a id="19381" href="Algebra.Bundles.html#18778" class="Bound">c</a> <a id="19383" href="Algebra.Bundles.html#18780" class="Bound"></a>
<a id="19387" href="Algebra.Bundles.html#19339" class="Function">commutativeSemiring</a> <a id="19407" class="Symbol">=</a> <a id="19409" class="Keyword">record</a>
<a id="19420" class="Symbol">{</a> <a id="19422" href="Algebra.Bundles.html#17686" class="Field">isCommutativeSemiring</a> <a id="19444" class="Symbol">=</a> <a id="19446" href="Algebra.Structures.html#12797" class="Function">isCommutativeSemiring</a>
<a id="19472" class="Symbol">}</a>
<a id="19477" class="Keyword">open</a> <a id="19482" href="Algebra.Bundles.html#17351" class="Module">CommutativeSemiring</a> <a id="19502" href="Algebra.Bundles.html#19339" class="Function">commutativeSemiring</a> <a id="19522" class="Keyword">public</a>
<a id="19533" class="Keyword">using</a>
<a id="19543" class="Symbol">(</a> <a id="19545" href="Algebra.Bundles.html#15706" class="Function">+-rawMagma</a><a id="19555" class="Symbol">;</a> <a id="19557" href="Algebra.Bundles.html#15747" class="Function">+-magma</a><a id="19564" class="Symbol">;</a> <a id="19566" href="Algebra.Bundles.html#15785" class="Function">+-commutativeMagma</a><a id="19584" class="Symbol">;</a> <a id="19586" href="Algebra.Bundles.html#15834" class="Function">+-semigroup</a><a id="19597" class="Symbol">;</a> <a id="19599" href="Algebra.Bundles.html#15876" class="Function">+-commutativeSemigroup</a>
<a id="19626" class="Symbol">;</a> <a id="19628" href="Algebra.Bundles.html#16129" class="Function">*-rawMagma</a><a id="19638" class="Symbol">;</a> <a id="19640" href="Algebra.Bundles.html#16159" class="Function">*-magma</a><a id="19647" class="Symbol">;</a> <a id="19649" href="Algebra.Bundles.html#18471" class="Function">*-commutativeMagma</a><a id="19667" class="Symbol">;</a> <a id="19669" href="Algebra.Bundles.html#16186" class="Function">*-semigroup</a><a id="19680" class="Symbol">;</a> <a id="19682" href="Algebra.Bundles.html#18520" class="Function">*-commutativeSemigroup</a>
<a id="19709" class="Symbol">;</a> <a id="19711" href="Algebra.Bundles.html#15929" class="Function">+-rawMonoid</a><a id="19722" class="Symbol">;</a> <a id="19724" href="Algebra.Bundles.html#15971" class="Function">+-monoid</a><a id="19732" class="Symbol">;</a> <a id="19734" href="Algebra.Bundles.html#15471" class="Function">+-commutativeMonoid</a>
<a id="19758" class="Symbol">;</a> <a id="19760" href="Algebra.Bundles.html#16217" class="Function">*-rawMonoid</a><a id="19771" class="Symbol">;</a> <a id="19773" href="Algebra.Bundles.html#15989" class="Function">*-monoid</a><a id="19781" class="Symbol">;</a> <a id="19783" href="Algebra.Bundles.html#18235" class="Function">*-commutativeMonoid</a>
<a id="19807" class="Symbol">;</a> <a id="19809" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a><a id="19821" class="Symbol">;</a> <a id="19823" href="Algebra.Bundles.html#17138" class="Function">semiringWithoutOne</a>
<a id="19846" class="Symbol">;</a> <a id="19848" href="Algebra.Bundles.html#16584" class="Function">semiringWithoutAnnihilatingZero</a>
<a id="19884" class="Symbol">;</a> <a id="19886" href="Algebra.Bundles.html#15264" class="Function">rawSemiring</a>
<a id="19902" class="Symbol">;</a> <a id="19904" href="Algebra.Bundles.html#17812" class="Function">semiring</a>
<a id="19917" class="Symbol">;</a> <a id="19919" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a>
<a id="19927" class="Symbol">)</a>
<a id="19931" class="Comment">------------------------------------------------------------------------</a>
<a id="20004" class="Comment">-- Bundles with 2 binary operations, 1 unary operation &amp; 2 elements</a>
<a id="20072" class="Comment">------------------------------------------------------------------------</a>
<a id="20146" class="Comment">-- A raw ring is a ring without any laws.</a>
<a id="20189" class="Keyword">record</a> <a id="RawRing"></a><a id="20196" href="Algebra.Bundles.html#20196" class="Record">RawRing</a> <a id="20204" href="Algebra.Bundles.html#20204" class="Bound">c</a> <a id="20206" href="Algebra.Bundles.html#20206" class="Bound"></a> <a id="20208" class="Symbol">:</a> <a id="20210" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="20214" class="Symbol">(</a><a id="20215" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="20219" class="Symbol">(</a><a id="20220" href="Algebra.Bundles.html#20204" class="Bound">c</a> <a id="20222" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="20224" href="Algebra.Bundles.html#20206" class="Bound"></a><a id="20225" class="Symbol">))</a> <a id="20228" class="Keyword">where</a>
<a id="20236" class="Keyword">infix</a> <a id="20243" class="Number">8</a> <a id="20245" href="Algebra.Bundles.html#20405" class="Field Operator">-_</a>
<a id="20250" class="Keyword">infixl</a> <a id="20257" class="Number">7</a> <a id="20259" href="Algebra.Bundles.html#20379" class="Field Operator">_*_</a>
<a id="20265" class="Keyword">infixl</a> <a id="20272" class="Number">6</a> <a id="20274" href="Algebra.Bundles.html#20353" class="Field Operator">_+_</a>
<a id="20280" class="Keyword">infix</a> <a id="20287" class="Number">4</a> <a id="20289" href="Algebra.Bundles.html#20325" class="Field Operator">_≈_</a>
<a id="20295" class="Keyword">field</a>
<a id="RawRing.Carrier"></a><a id="20305" href="Algebra.Bundles.html#20305" class="Field">Carrier</a> <a id="20313" class="Symbol">:</a> <a id="20315" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="20319" href="Algebra.Bundles.html#20204" class="Bound">c</a>
<a id="RawRing._≈_"></a><a id="20325" href="Algebra.Bundles.html#20325" class="Field Operator">_≈_</a> <a id="20333" class="Symbol">:</a> <a id="20335" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="20339" href="Algebra.Bundles.html#20305" class="Field">Carrier</a> <a id="20347" href="Algebra.Bundles.html#20206" class="Bound"></a>
<a id="RawRing._+_"></a><a id="20353" href="Algebra.Bundles.html#20353" class="Field Operator">_+_</a> <a id="20361" class="Symbol">:</a> <a id="20363" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="20367" href="Algebra.Bundles.html#20305" class="Field">Carrier</a>
<a id="RawRing._*_"></a><a id="20379" href="Algebra.Bundles.html#20379" class="Field Operator">_*_</a> <a id="20387" class="Symbol">:</a> <a id="20389" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="20393" href="Algebra.Bundles.html#20305" class="Field">Carrier</a>
<a id="RawRing.-_"></a><a id="20405" href="Algebra.Bundles.html#20405" class="Field Operator">-_</a> <a id="20413" class="Symbol">:</a> <a id="20415" href="Algebra.Core.html#475" class="Function">Op₁</a> <a id="20419" href="Algebra.Bundles.html#20305" class="Field">Carrier</a>
<a id="RawRing.0#"></a><a id="20431" href="Algebra.Bundles.html#20431" class="Field">0#</a> <a id="20439" class="Symbol">:</a> <a id="20441" href="Algebra.Bundles.html#20305" class="Field">Carrier</a>
<a id="RawRing.1#"></a><a id="20453" href="Algebra.Bundles.html#20453" class="Field">1#</a> <a id="20461" class="Symbol">:</a> <a id="20463" href="Algebra.Bundles.html#20305" class="Field">Carrier</a>
<a id="RawRing.rawSemiring"></a><a id="20474" href="Algebra.Bundles.html#20474" class="Function">rawSemiring</a> <a id="20486" class="Symbol">:</a> <a id="20488" href="Algebra.Bundles.html#14064" class="Record">RawSemiring</a> <a id="20500" href="Algebra.Bundles.html#20204" class="Bound">c</a> <a id="20502" href="Algebra.Bundles.html#20206" class="Bound"></a>
<a id="20506" href="Algebra.Bundles.html#20474" class="Function">rawSemiring</a> <a id="20518" class="Symbol">=</a> <a id="20520" class="Keyword">record</a>
<a id="20531" class="Symbol">{</a> <a id="20533" href="Algebra.Bundles.html#14183" class="Field Operator">_≈_</a> <a id="20537" class="Symbol">=</a> <a id="20539" href="Algebra.Bundles.html#20325" class="Field Operator">_≈_</a>
<a id="20547" class="Symbol">;</a> <a id="20549" href="Algebra.Bundles.html#14211" class="Field Operator">_+_</a> <a id="20553" class="Symbol">=</a> <a id="20555" href="Algebra.Bundles.html#20353" class="Field Operator">_+_</a>
<a id="20563" class="Symbol">;</a> <a id="20565" href="Algebra.Bundles.html#14237" class="Field Operator">_*_</a> <a id="20569" class="Symbol">=</a> <a id="20571" href="Algebra.Bundles.html#20379" class="Field Operator">_*_</a>
<a id="20579" class="Symbol">;</a> <a id="20581" href="Algebra.Bundles.html#14263" class="Field">0#</a> <a id="20585" class="Symbol">=</a> <a id="20587" href="Algebra.Bundles.html#20431" class="Field">0#</a>
<a id="20594" class="Symbol">;</a> <a id="20596" href="Algebra.Bundles.html#14285" class="Field">1#</a> <a id="20600" class="Symbol">=</a> <a id="20602" href="Algebra.Bundles.html#20453" class="Field">1#</a>
<a id="20609" class="Symbol">}</a>
<a id="20614" class="Keyword">open</a> <a id="20619" href="Algebra.Bundles.html#14064" class="Module">RawSemiring</a> <a id="20631" href="Algebra.Bundles.html#20474" class="Function">rawSemiring</a> <a id="20643" class="Keyword">public</a>
<a id="20654" class="Keyword">using</a>
<a id="20664" class="Symbol">(</a> <a id="20666" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a>
<a id="20674" class="Symbol">;</a> <a id="20676" href="Algebra.Bundles.html#10861" class="Function">+-rawMagma</a><a id="20686" class="Symbol">;</a> <a id="20688" href="Algebra.Bundles.html#10682" class="Function">+-rawMonoid</a>
<a id="20704" class="Symbol">;</a> <a id="20706" href="Algebra.Bundles.html#10876" class="Function">*-rawMagma</a><a id="20716" class="Symbol">;</a> <a id="20718" href="Algebra.Bundles.html#14543" class="Function">*-rawMonoid</a>
<a id="20734" class="Symbol">)</a>
<a id="RawRing.+-rawGroup"></a><a id="20739" href="Algebra.Bundles.html#20739" class="Function">+-rawGroup</a> <a id="20750" class="Symbol">:</a> <a id="20752" href="Algebra.Bundles.html#6923" class="Record">RawGroup</a> <a id="20761" href="Algebra.Bundles.html#20204" class="Bound">c</a> <a id="20763" href="Algebra.Bundles.html#20206" class="Bound"></a>
<a id="20767" href="Algebra.Bundles.html#20739" class="Function">+-rawGroup</a> <a id="20778" class="Symbol">=</a> <a id="20780" class="Keyword">record</a>
<a id="20791" class="Symbol">{</a> <a id="20793" href="Algebra.Bundles.html#7039" class="Field Operator">_≈_</a> <a id="20797" class="Symbol">=</a> <a id="20799" href="Algebra.Bundles.html#20325" class="Field Operator">_≈_</a>
<a id="20807" class="Symbol">;</a> <a id="20809" href="Algebra.Bundles.html#7067" class="Field Operator">_∙_</a> <a id="20813" class="Symbol">=</a> <a id="20815" href="Algebra.Bundles.html#20353" class="Field Operator">_+_</a>
<a id="20823" class="Symbol">;</a> <a id="20825" href="Algebra.Bundles.html#7093" class="Field">ε</a> <a id="20829" class="Symbol">=</a> <a id="20831" href="Algebra.Bundles.html#20431" class="Field">0#</a>
<a id="20838" class="Symbol">;</a> <a id="20840" href="Algebra.Bundles.html#7115" class="Field Operator">_⁻¹</a> <a id="20844" class="Symbol">=</a> <a id="20846" href="Algebra.Bundles.html#20405" class="Field Operator">-_</a>
<a id="20853" class="Symbol">}</a>
<a id="20856" class="Keyword">record</a> <a id="Ring"></a><a id="20863" href="Algebra.Bundles.html#20863" class="Record">Ring</a> <a id="20868" href="Algebra.Bundles.html#20868" class="Bound">c</a> <a id="20870" href="Algebra.Bundles.html#20870" class="Bound"></a> <a id="20872" class="Symbol">:</a> <a id="20874" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="20878" class="Symbol">(</a><a id="20879" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="20883" class="Symbol">(</a><a id="20884" href="Algebra.Bundles.html#20868" class="Bound">c</a> <a id="20886" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="20888" href="Algebra.Bundles.html#20870" class="Bound"></a><a id="20889" class="Symbol">))</a> <a id="20892" class="Keyword">where</a>
<a id="20900" class="Keyword">infix</a> <a id="20907" class="Number">8</a> <a id="20909" href="Algebra.Bundles.html#21069" class="Field Operator">-_</a>
<a id="20914" class="Keyword">infixl</a> <a id="20921" class="Number">7</a> <a id="20923" href="Algebra.Bundles.html#21043" class="Field Operator">_*_</a>
<a id="20929" class="Keyword">infixl</a> <a id="20936" class="Number">6</a> <a id="20938" href="Algebra.Bundles.html#21017" class="Field Operator">_+_</a>
<a id="20944" class="Keyword">infix</a> <a id="20951" class="Number">4</a> <a id="20953" href="Algebra.Bundles.html#20989" class="Field Operator">_≈_</a>
<a id="20959" class="Keyword">field</a>
<a id="Ring.Carrier"></a><a id="20969" href="Algebra.Bundles.html#20969" class="Field">Carrier</a> <a id="20977" class="Symbol">:</a> <a id="20979" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="20983" href="Algebra.Bundles.html#20868" class="Bound">c</a>
<a id="Ring._≈_"></a><a id="20989" href="Algebra.Bundles.html#20989" class="Field Operator">_≈_</a> <a id="20997" class="Symbol">:</a> <a id="20999" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="21003" href="Algebra.Bundles.html#20969" class="Field">Carrier</a> <a id="21011" href="Algebra.Bundles.html#20870" class="Bound"></a>
<a id="Ring._+_"></a><a id="21017" href="Algebra.Bundles.html#21017" class="Field Operator">_+_</a> <a id="21025" class="Symbol">:</a> <a id="21027" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="21031" href="Algebra.Bundles.html#20969" class="Field">Carrier</a>
<a id="Ring._*_"></a><a id="21043" href="Algebra.Bundles.html#21043" class="Field Operator">_*_</a> <a id="21051" class="Symbol">:</a> <a id="21053" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="21057" href="Algebra.Bundles.html#20969" class="Field">Carrier</a>
<a id="Ring.-_"></a><a id="21069" href="Algebra.Bundles.html#21069" class="Field Operator">-_</a> <a id="21077" class="Symbol">:</a> <a id="21079" href="Algebra.Core.html#475" class="Function">Op₁</a> <a id="21083" href="Algebra.Bundles.html#20969" class="Field">Carrier</a>
<a id="Ring.0#"></a><a id="21095" href="Algebra.Bundles.html#21095" class="Field">0#</a> <a id="21103" class="Symbol">:</a> <a id="21105" href="Algebra.Bundles.html#20969" class="Field">Carrier</a>
<a id="Ring.1#"></a><a id="21117" href="Algebra.Bundles.html#21117" class="Field">1#</a> <a id="21125" class="Symbol">:</a> <a id="21127" href="Algebra.Bundles.html#20969" class="Field">Carrier</a>
<a id="Ring.isRing"></a><a id="21139" href="Algebra.Bundles.html#21139" class="Field">isRing</a> <a id="21147" class="Symbol">:</a> <a id="21149" href="Algebra.Structures.html#13196" class="Record">IsRing</a> <a id="21156" href="Algebra.Bundles.html#20989" class="Field Operator">_≈_</a> <a id="21160" href="Algebra.Bundles.html#21017" class="Field Operator">_+_</a> <a id="21164" href="Algebra.Bundles.html#21043" class="Field Operator">_*_</a> <a id="21168" href="Algebra.Bundles.html#21069" class="Field Operator">-_</a> <a id="21171" href="Algebra.Bundles.html#21095" class="Field">0#</a> <a id="21174" href="Algebra.Bundles.html#21117" class="Field">1#</a>
<a id="21180" class="Keyword">open</a> <a id="21185" href="Algebra.Structures.html#13196" class="Module">IsRing</a> <a id="21192" href="Algebra.Bundles.html#21139" class="Field">isRing</a> <a id="21199" class="Keyword">public</a>
<a id="Ring.+-abelianGroup"></a><a id="21209" href="Algebra.Bundles.html#21209" class="Function">+-abelianGroup</a> <a id="21224" class="Symbol">:</a> <a id="21226" href="Algebra.Bundles.html#7833" class="Record">AbelianGroup</a> <a id="21239" class="Symbol">_</a> <a id="21241" class="Symbol">_</a>
<a id="21245" href="Algebra.Bundles.html#21209" class="Function">+-abelianGroup</a> <a id="21260" class="Symbol">=</a> <a id="21262" class="Keyword">record</a> <a id="21269" class="Symbol">{</a> <a id="21271" href="Algebra.Bundles.html#8090" class="Field">isAbelianGroup</a> <a id="21286" class="Symbol">=</a> <a id="21288" href="Algebra.Structures.html#13274" class="Function">+-isAbelianGroup</a> <a id="21305" class="Symbol">}</a>
<a id="Ring.semiring"></a><a id="21310" href="Algebra.Bundles.html#21310" class="Function">semiring</a> <a id="21319" class="Symbol">:</a> <a id="21321" href="Algebra.Bundles.html#16244" class="Record">Semiring</a> <a id="21330" class="Symbol">_</a> <a id="21332" class="Symbol">_</a>
<a id="21336" href="Algebra.Bundles.html#21310" class="Function">semiring</a> <a id="21345" class="Symbol">=</a> <a id="21347" class="Keyword">record</a> <a id="21354" class="Symbol">{</a> <a id="21356" href="Algebra.Bundles.html#16502" class="Field">isSemiring</a> <a id="21367" class="Symbol">=</a> <a id="21369" href="Algebra.Structures.html#15039" class="Function">isSemiring</a> <a id="21380" class="Symbol">}</a>
<a id="21385" class="Keyword">open</a> <a id="21390" href="Algebra.Bundles.html#16244" class="Module">Semiring</a> <a id="21399" href="Algebra.Bundles.html#21310" class="Function">semiring</a> <a id="21408" class="Keyword">public</a>
<a id="21419" class="Keyword">using</a>
<a id="21429" class="Symbol">(</a> <a id="21431" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="21434" class="Symbol">;</a> <a id="21436" href="Algebra.Bundles.html#15706" class="Function">+-rawMagma</a><a id="21446" class="Symbol">;</a> <a id="21448" href="Algebra.Bundles.html#15747" class="Function">+-magma</a><a id="21455" class="Symbol">;</a> <a id="21457" href="Algebra.Bundles.html#15785" class="Function">+-commutativeMagma</a><a id="21475" class="Symbol">;</a> <a id="21477" href="Algebra.Bundles.html#15834" class="Function">+-semigroup</a><a id="21488" class="Symbol">;</a> <a id="21490" href="Algebra.Bundles.html#15876" class="Function">+-commutativeSemigroup</a>
<a id="21517" class="Symbol">;</a> <a id="21519" href="Algebra.Bundles.html#16129" class="Function">*-rawMagma</a><a id="21529" class="Symbol">;</a> <a id="21531" href="Algebra.Bundles.html#16159" class="Function">*-magma</a><a id="21538" class="Symbol">;</a> <a id="21540" href="Algebra.Bundles.html#16186" class="Function">*-semigroup</a>
<a id="21556" class="Symbol">;</a> <a id="21558" href="Algebra.Bundles.html#15929" class="Function">+-rawMonoid</a><a id="21569" class="Symbol">;</a> <a id="21571" href="Algebra.Bundles.html#15971" class="Function">+-monoid</a> <a id="21580" class="Symbol">;</a> <a id="21582" href="Algebra.Bundles.html#15471" class="Function">+-commutativeMonoid</a>
<a id="21606" class="Symbol">;</a> <a id="21608" href="Algebra.Bundles.html#16217" class="Function">*-rawMonoid</a><a id="21619" class="Symbol">;</a> <a id="21621" href="Algebra.Bundles.html#15989" class="Function">*-monoid</a>
<a id="21634" class="Symbol">;</a> <a id="21636" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a><a id="21648" class="Symbol">;</a> <a id="21650" href="Algebra.Bundles.html#17138" class="Function">semiringWithoutOne</a>
<a id="21673" class="Symbol">;</a> <a id="21675" href="Algebra.Bundles.html#16584" class="Function">semiringWithoutAnnihilatingZero</a>
<a id="21711" class="Symbol">)</a>
<a id="21716" class="Keyword">open</a> <a id="21721" href="Algebra.Bundles.html#7833" class="Module">AbelianGroup</a> <a id="21734" href="Algebra.Bundles.html#21209" class="Function">+-abelianGroup</a> <a id="21749" class="Keyword">public</a>
<a id="21760" class="Keyword">using</a> <a id="21766" class="Symbol">()</a> <a id="21769" class="Keyword">renaming</a> <a id="21778" class="Symbol">(</a><a id="21779" href="Algebra.Bundles.html#8184" class="Function">group</a> <a id="21785" class="Symbol">to</a> <a id="21788" class="Function">+-group</a><a id="21795" class="Symbol">)</a>
<a id="Ring.rawRing"></a><a id="21800" href="Algebra.Bundles.html#21800" class="Function">rawRing</a> <a id="21808" class="Symbol">:</a> <a id="21810" href="Algebra.Bundles.html#20196" class="Record">RawRing</a> <a id="21818" class="Symbol">_</a> <a id="21820" class="Symbol">_</a>
<a id="21824" href="Algebra.Bundles.html#21800" class="Function">rawRing</a> <a id="21832" class="Symbol">=</a> <a id="21834" class="Keyword">record</a>
<a id="21845" class="Symbol">{</a> <a id="21847" href="Algebra.Bundles.html#20325" class="Field Operator">_≈_</a> <a id="21851" class="Symbol">=</a> <a id="21853" href="Algebra.Bundles.html#20989" class="Field Operator">_≈_</a>
<a id="21861" class="Symbol">;</a> <a id="21863" href="Algebra.Bundles.html#20353" class="Field Operator">_+_</a> <a id="21867" class="Symbol">=</a> <a id="21869" href="Algebra.Bundles.html#21017" class="Field Operator">_+_</a>
<a id="21877" class="Symbol">;</a> <a id="21879" href="Algebra.Bundles.html#20379" class="Field Operator">_*_</a> <a id="21883" class="Symbol">=</a> <a id="21885" href="Algebra.Bundles.html#21043" class="Field Operator">_*_</a>
<a id="21893" class="Symbol">;</a> <a id="21895" href="Algebra.Bundles.html#20405" class="Field Operator">-_</a> <a id="21899" class="Symbol">=</a> <a id="21901" href="Algebra.Bundles.html#21069" class="Field Operator">-_</a>
<a id="21908" class="Symbol">;</a> <a id="21910" href="Algebra.Bundles.html#20431" class="Field">0#</a> <a id="21914" class="Symbol">=</a> <a id="21916" href="Algebra.Bundles.html#21095" class="Field">0#</a>
<a id="21923" class="Symbol">;</a> <a id="21925" href="Algebra.Bundles.html#20453" class="Field">1#</a> <a id="21929" class="Symbol">=</a> <a id="21931" href="Algebra.Bundles.html#21117" class="Field">1#</a>
<a id="21938" class="Symbol">}</a>
<a id="21942" class="Keyword">record</a> <a id="CommutativeRing"></a><a id="21949" href="Algebra.Bundles.html#21949" class="Record">CommutativeRing</a> <a id="21965" href="Algebra.Bundles.html#21965" class="Bound">c</a> <a id="21967" href="Algebra.Bundles.html#21967" class="Bound"></a> <a id="21969" class="Symbol">:</a> <a id="21971" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="21975" class="Symbol">(</a><a id="21976" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="21980" class="Symbol">(</a><a id="21981" href="Algebra.Bundles.html#21965" class="Bound">c</a> <a id="21983" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="21985" href="Algebra.Bundles.html#21967" class="Bound"></a><a id="21986" class="Symbol">))</a> <a id="21989" class="Keyword">where</a>
<a id="21997" class="Keyword">infix</a> <a id="22004" class="Number">8</a> <a id="22006" href="Algebra.Bundles.html#22206" class="Field Operator">-_</a>
<a id="22011" class="Keyword">infixl</a> <a id="22018" class="Number">7</a> <a id="22020" href="Algebra.Bundles.html#22170" class="Field Operator">_*_</a>
<a id="22026" class="Keyword">infixl</a> <a id="22033" class="Number">6</a> <a id="22035" href="Algebra.Bundles.html#22134" class="Field Operator">_+_</a>
<a id="22041" class="Keyword">infix</a> <a id="22048" class="Number">4</a> <a id="22050" href="Algebra.Bundles.html#22096" class="Field Operator">_≈_</a>
<a id="22056" class="Keyword">field</a>
<a id="CommutativeRing.Carrier"></a><a id="22066" href="Algebra.Bundles.html#22066" class="Field">Carrier</a> <a id="22084" class="Symbol">:</a> <a id="22086" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="22090" href="Algebra.Bundles.html#21965" class="Bound">c</a>
<a id="CommutativeRing._≈_"></a><a id="22096" href="Algebra.Bundles.html#22096" class="Field Operator">_≈_</a> <a id="22114" class="Symbol">:</a> <a id="22116" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="22120" href="Algebra.Bundles.html#22066" class="Field">Carrier</a> <a id="22128" href="Algebra.Bundles.html#21967" class="Bound"></a>
<a id="CommutativeRing._+_"></a><a id="22134" href="Algebra.Bundles.html#22134" class="Field Operator">_+_</a> <a id="22152" class="Symbol">:</a> <a id="22154" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="22158" href="Algebra.Bundles.html#22066" class="Field">Carrier</a>
<a id="CommutativeRing._*_"></a><a id="22170" href="Algebra.Bundles.html#22170" class="Field Operator">_*_</a> <a id="22188" class="Symbol">:</a> <a id="22190" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="22194" href="Algebra.Bundles.html#22066" class="Field">Carrier</a>
<a id="CommutativeRing.-_"></a><a id="22206" href="Algebra.Bundles.html#22206" class="Field Operator">-_</a> <a id="22224" class="Symbol">:</a> <a id="22226" href="Algebra.Core.html#475" class="Function">Op₁</a> <a id="22230" href="Algebra.Bundles.html#22066" class="Field">Carrier</a>
<a id="CommutativeRing.0#"></a><a id="22242" href="Algebra.Bundles.html#22242" class="Field">0#</a> <a id="22260" class="Symbol">:</a> <a id="22262" href="Algebra.Bundles.html#22066" class="Field">Carrier</a>
<a id="CommutativeRing.1#"></a><a id="22274" href="Algebra.Bundles.html#22274" class="Field">1#</a> <a id="22292" class="Symbol">:</a> <a id="22294" href="Algebra.Bundles.html#22066" class="Field">Carrier</a>
<a id="CommutativeRing.isCommutativeRing"></a><a id="22306" href="Algebra.Bundles.html#22306" class="Field">isCommutativeRing</a> <a id="22324" class="Symbol">:</a> <a id="22326" href="Algebra.Structures.html#15318" class="Record">IsCommutativeRing</a> <a id="22344" href="Algebra.Bundles.html#22096" class="Field Operator">_≈_</a> <a id="22348" href="Algebra.Bundles.html#22134" class="Field Operator">_+_</a> <a id="22352" href="Algebra.Bundles.html#22170" class="Field Operator">_*_</a> <a id="22356" href="Algebra.Bundles.html#22206" class="Field Operator">-_</a> <a id="22359" href="Algebra.Bundles.html#22242" class="Field">0#</a> <a id="22362" href="Algebra.Bundles.html#22274" class="Field">1#</a>
<a id="22368" class="Keyword">open</a> <a id="22373" href="Algebra.Structures.html#15318" class="Module">IsCommutativeRing</a> <a id="22391" href="Algebra.Bundles.html#22306" class="Field">isCommutativeRing</a> <a id="22409" class="Keyword">public</a>
<a id="CommutativeRing.ring"></a><a id="22419" href="Algebra.Bundles.html#22419" class="Function">ring</a> <a id="22424" class="Symbol">:</a> <a id="22426" href="Algebra.Bundles.html#20863" class="Record">Ring</a> <a id="22431" class="Symbol">_</a> <a id="22433" class="Symbol">_</a>
<a id="22437" href="Algebra.Bundles.html#22419" class="Function">ring</a> <a id="22442" class="Symbol">=</a> <a id="22444" class="Keyword">record</a> <a id="22451" class="Symbol">{</a> <a id="22453" href="Algebra.Bundles.html#21139" class="Field">isRing</a> <a id="22460" class="Symbol">=</a> <a id="22462" href="Algebra.Structures.html#15415" class="Function">isRing</a> <a id="22469" class="Symbol">}</a>
<a id="22474" class="Keyword">open</a> <a id="22479" href="Algebra.Bundles.html#20863" class="Module">Ring</a> <a id="22484" href="Algebra.Bundles.html#22419" class="Function">ring</a> <a id="22489" class="Keyword">public</a> <a id="22496" class="Keyword">using</a> <a id="22502" class="Symbol">(</a><a id="22503" href="Algebra.Bundles.html#949" class="Function Operator">_≉_</a><a id="22506" class="Symbol">;</a> <a id="22508" href="Algebra.Bundles.html#21800" class="Function">rawRing</a><a id="22515" class="Symbol">;</a> <a id="22517" href="Algebra.Bundles.html#21788" class="Function">+-group</a><a id="22524" class="Symbol">;</a> <a id="22526" href="Algebra.Bundles.html#21209" class="Function">+-abelianGroup</a><a id="22540" class="Symbol">)</a>
<a id="CommutativeRing.commutativeSemiring"></a><a id="22545" href="Algebra.Bundles.html#22545" class="Function">commutativeSemiring</a> <a id="22565" class="Symbol">:</a> <a id="22567" href="Algebra.Bundles.html#17351" class="Record">CommutativeSemiring</a> <a id="22587" class="Symbol">_</a> <a id="22589" class="Symbol">_</a>
<a id="22593" href="Algebra.Bundles.html#22545" class="Function">commutativeSemiring</a> <a id="22613" class="Symbol">=</a>
<a id="22619" class="Keyword">record</a> <a id="22626" class="Symbol">{</a> <a id="22628" href="Algebra.Bundles.html#17686" class="Field">isCommutativeSemiring</a> <a id="22650" class="Symbol">=</a> <a id="22652" href="Algebra.Structures.html#15502" class="Function">isCommutativeSemiring</a> <a id="22674" class="Symbol">}</a>
<a id="22679" class="Keyword">open</a> <a id="22684" href="Algebra.Bundles.html#17351" class="Module">CommutativeSemiring</a> <a id="22704" href="Algebra.Bundles.html#22545" class="Function">commutativeSemiring</a> <a id="22724" class="Keyword">public</a>
<a id="22735" class="Keyword">using</a>
<a id="22745" class="Symbol">(</a> <a id="22747" href="Algebra.Bundles.html#15706" class="Function">+-rawMagma</a><a id="22757" class="Symbol">;</a> <a id="22759" href="Algebra.Bundles.html#15747" class="Function">+-magma</a><a id="22766" class="Symbol">;</a> <a id="22768" href="Algebra.Bundles.html#15785" class="Function">+-commutativeMagma</a><a id="22786" class="Symbol">;</a> <a id="22788" href="Algebra.Bundles.html#15834" class="Function">+-semigroup</a><a id="22799" class="Symbol">;</a> <a id="22801" href="Algebra.Bundles.html#15876" class="Function">+-commutativeSemigroup</a>
<a id="22828" class="Symbol">;</a> <a id="22830" href="Algebra.Bundles.html#16129" class="Function">*-rawMagma</a><a id="22840" class="Symbol">;</a> <a id="22842" href="Algebra.Bundles.html#16159" class="Function">*-magma</a><a id="22849" class="Symbol">;</a> <a id="22851" href="Algebra.Bundles.html#18471" class="Function">*-commutativeMagma</a><a id="22869" class="Symbol">;</a> <a id="22871" href="Algebra.Bundles.html#16186" class="Function">*-semigroup</a><a id="22882" class="Symbol">;</a> <a id="22884" href="Algebra.Bundles.html#18520" class="Function">*-commutativeSemigroup</a>
<a id="22911" class="Symbol">;</a> <a id="22913" href="Algebra.Bundles.html#15929" class="Function">+-rawMonoid</a><a id="22924" class="Symbol">;</a> <a id="22926" href="Algebra.Bundles.html#15971" class="Function">+-monoid</a><a id="22934" class="Symbol">;</a> <a id="22936" href="Algebra.Bundles.html#15471" class="Function">+-commutativeMonoid</a>
<a id="22960" class="Symbol">;</a> <a id="22962" href="Algebra.Bundles.html#16217" class="Function">*-rawMonoid</a><a id="22973" class="Symbol">;</a> <a id="22975" href="Algebra.Bundles.html#15989" class="Function">*-monoid</a><a id="22983" class="Symbol">;</a> <a id="22985" href="Algebra.Bundles.html#18235" class="Function">*-commutativeMonoid</a>
<a id="23009" class="Symbol">;</a> <a id="23011" href="Algebra.Bundles.html#12336" class="Function">nearSemiring</a><a id="23023" class="Symbol">;</a> <a id="23025" href="Algebra.Bundles.html#17138" class="Function">semiringWithoutOne</a>
<a id="23048" class="Symbol">;</a> <a id="23050" href="Algebra.Bundles.html#16584" class="Function">semiringWithoutAnnihilatingZero</a><a id="23081" class="Symbol">;</a> <a id="23083" href="Algebra.Bundles.html#17812" class="Function">semiring</a>
<a id="23096" class="Symbol">;</a> <a id="23098" href="Algebra.Bundles.html#18552" class="Function">commutativeSemiringWithoutOne</a>
<a id="23132" class="Symbol">)</a>
<a id="23136" class="Keyword">record</a> <a id="BooleanAlgebra"></a><a id="23143" href="Algebra.Bundles.html#23143" class="Record">BooleanAlgebra</a> <a id="23158" href="Algebra.Bundles.html#23158" class="Bound">c</a> <a id="23160" href="Algebra.Bundles.html#23160" class="Bound"></a> <a id="23162" class="Symbol">:</a> <a id="23164" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="23168" class="Symbol">(</a><a id="23169" href="Agda.Primitive.html#780" class="Primitive">suc</a> <a id="23173" class="Symbol">(</a><a id="23174" href="Algebra.Bundles.html#23158" class="Bound">c</a> <a id="23176" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="23178" href="Algebra.Bundles.html#23160" class="Bound"></a><a id="23179" class="Symbol">))</a> <a id="23182" class="Keyword">where</a>
<a id="23190" class="Keyword">infix</a> <a id="23197" class="Number">8</a> <a id="23199" href="Algebra.Bundles.html#23395" class="Field Operator">¬_</a>
<a id="23204" class="Keyword">infixr</a> <a id="23211" class="Number">7</a> <a id="23213" href="Algebra.Bundles.html#23360" class="Field Operator">_∧_</a>
<a id="23219" class="Keyword">infixr</a> <a id="23226" class="Number">6</a> <a id="23228" href="Algebra.Bundles.html#23325" class="Field Operator">__</a>
<a id="23234" class="Keyword">infix</a> <a id="23241" class="Number">4</a> <a id="23243" href="Algebra.Bundles.html#23288" class="Field Operator">_≈_</a>
<a id="23249" class="Keyword">field</a>
<a id="BooleanAlgebra.Carrier"></a><a id="23259" href="Algebra.Bundles.html#23259" class="Field">Carrier</a> <a id="23276" class="Symbol">:</a> <a id="23278" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="23282" href="Algebra.Bundles.html#23158" class="Bound">c</a>
<a id="BooleanAlgebra._≈_"></a><a id="23288" href="Algebra.Bundles.html#23288" class="Field Operator">_≈_</a> <a id="23305" class="Symbol">:</a> <a id="23307" href="Relation.Binary.Core.html#882" class="Function">Rel</a> <a id="23311" href="Algebra.Bundles.html#23259" class="Field">Carrier</a> <a id="23319" href="Algebra.Bundles.html#23160" class="Bound"></a>
<a id="BooleanAlgebra.__"></a><a id="23325" href="Algebra.Bundles.html#23325" class="Field Operator">__</a> <a id="23342" class="Symbol">:</a> <a id="23344" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="23348" href="Algebra.Bundles.html#23259" class="Field">Carrier</a>
<a id="BooleanAlgebra._∧_"></a><a id="23360" href="Algebra.Bundles.html#23360" class="Field Operator">_∧_</a> <a id="23377" class="Symbol">:</a> <a id="23379" href="Algebra.Core.html#518" class="Function">Op₂</a> <a id="23383" href="Algebra.Bundles.html#23259" class="Field">Carrier</a>
<a id="BooleanAlgebra.¬_"></a><a id="23395" href="Algebra.Bundles.html#23395" class="Field Operator">¬_</a> <a id="23412" class="Symbol">:</a> <a id="23414" href="Algebra.Core.html#475" class="Function">Op₁</a> <a id="23418" href="Algebra.Bundles.html#23259" class="Field">Carrier</a>
<a id="BooleanAlgebra."></a><a id="23430" href="Algebra.Bundles.html#23430" class="Field"></a> <a id="23447" class="Symbol">:</a> <a id="23449" href="Algebra.Bundles.html#23259" class="Field">Carrier</a>
<a id="BooleanAlgebra.⊥"></a><a id="23461" href="Algebra.Bundles.html#23461" class="Field"></a> <a id="23478" class="Symbol">:</a> <a id="23480" href="Algebra.Bundles.html#23259" class="Field">Carrier</a>
<a id="BooleanAlgebra.isBooleanAlgebra"></a><a id="23492" href="Algebra.Bundles.html#23492" class="Field">isBooleanAlgebra</a> <a id="23509" class="Symbol">:</a> <a id="23511" href="Algebra.Structures.html#15857" class="Record">IsBooleanAlgebra</a> <a id="23528" href="Algebra.Bundles.html#23288" class="Field Operator">_≈_</a> <a id="23532" href="Algebra.Bundles.html#23325" class="Field Operator">__</a> <a id="23536" href="Algebra.Bundles.html#23360" class="Field Operator">_∧_</a> <a id="23540" href="Algebra.Bundles.html#23395" class="Field Operator">¬_</a> <a id="23543" href="Algebra.Bundles.html#23430" class="Field"></a> <a id="23545" href="Algebra.Bundles.html#23461" class="Field"></a>
<a id="23550" class="Keyword">open</a> <a id="23555" href="Algebra.Structures.html#15857" class="Module">IsBooleanAlgebra</a> <a id="23572" href="Algebra.Bundles.html#23492" class="Field">isBooleanAlgebra</a> <a id="23589" class="Keyword">public</a>
<a id="BooleanAlgebra.distributiveLattice"></a><a id="23599" href="Algebra.Bundles.html#23599" class="Function">distributiveLattice</a> <a id="23619" class="Symbol">:</a> <a id="23621" href="Algebra.Bundles.html#9737" class="Record">DistributiveLattice</a> <a id="23641" class="Symbol">_</a> <a id="23643" class="Symbol">_</a>
<a id="23647" href="Algebra.Bundles.html#23599" class="Function">distributiveLattice</a> <a id="23667" class="Symbol">=</a> <a id="23669" class="Keyword">record</a> <a id="23676" class="Symbol">{</a> <a id="23678" href="Algebra.Bundles.html#10000" class="Field">isDistributiveLattice</a> <a id="23700" class="Symbol">=</a> <a id="23702" href="Algebra.Structures.html#15951" class="Function">isDistributiveLattice</a> <a id="23724" class="Symbol">}</a>
<a id="23729" class="Keyword">open</a> <a id="23734" href="Algebra.Bundles.html#9737" class="Module">DistributiveLattice</a> <a id="23754" href="Algebra.Bundles.html#23599" class="Function">distributiveLattice</a> <a id="23774" class="Keyword">public</a>
<a id="23785" class="Keyword">using</a> <a id="23791" class="Symbol">(</a><a id="23792" href="Relation.Binary.Bundles.html#960" class="Function Operator">_≉_</a><a id="23795" class="Symbol">;</a> <a id="23797" href="Algebra.Bundles.html#9611" class="Function">setoid</a><a id="23803" class="Symbol">;</a> <a id="23805" href="Algebra.Bundles.html#10120" class="Function">lattice</a><a id="23812" class="Symbol">)</a>
<a id="23816" class="Comment">------------------------------------------------------------------------</a>
<a id="23889" class="Comment">-- DEPRECATED NAMES</a>
<a id="23909" class="Comment">------------------------------------------------------------------------</a>
<a id="23982" class="Comment">-- Please use the new names as continuing support for the old names is</a>
<a id="24053" class="Comment">-- not guaranteed.</a>
<a id="24073" class="Comment">-- Version 1.0</a>
<a id="RawSemigroup"></a><a id="24089" href="Algebra.Bundles.html#24089" class="Function">RawSemigroup</a> <a id="24102" class="Symbol">=</a> <a id="24104" href="Algebra.Bundles.html#781" class="Record">RawMagma</a>
<a id="24113" class="Symbol">{-#</a> <a id="24117" class="Keyword">WARNING_ON_USAGE</a> <a id="24134" class="Pragma">RawSemigroup</a>
<a id="24147" class="String">&quot;Warning: RawSemigroup was deprecated in v1.0.
Please use RawMagma instead.&quot;</a>
<a id="24224" class="Symbol">#-}</a>
</pre></body></html>