mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
962 lines
213 KiB
HTML
962 lines
213 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Algebra.Structures</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="74" class="Comment">-- The Agda standard library</a>
|
|||
|
<a id="103" class="Comment">--</a>
|
|||
|
<a id="106" class="Comment">-- Some algebraic structures (not packed up with sets, operations, etc.)</a>
|
|||
|
<a id="179" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="253" class="Comment">-- The contents of this module should be accessed via `Algebra`, unless</a>
|
|||
|
<a id="325" class="Comment">-- you want to parameterise it via the equality relation.</a>
|
|||
|
|
|||
|
<a id="384" class="Symbol">{-#</a> <a id="388" class="Keyword">OPTIONS</a> <a id="396" class="Pragma">--cubical-compatible</a> <a id="417" class="Pragma">--safe</a> <a id="424" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="429" class="Keyword">open</a> <a id="434" class="Keyword">import</a> <a id="441" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="462" class="Keyword">using</a> <a id="468" class="Symbol">(</a><a id="469" href="Relation.Binary.Core.html#896" class="Function">Rel</a><a id="472" class="Symbol">)</a>
|
|||
|
<a id="474" class="Keyword">open</a> <a id="479" class="Keyword">import</a> <a id="486" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="510" class="Keyword">using</a> <a id="516" class="Symbol">(</a><a id="517" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a><a id="523" class="Symbol">)</a>
|
|||
|
<a id="525" class="Keyword">open</a> <a id="530" class="Keyword">import</a> <a id="537" href="Relation.Binary.Structures.html" class="Module">Relation.Binary.Structures</a> <a id="564" class="Keyword">using</a> <a id="570" class="Symbol">(</a><a id="571" href="Relation.Binary.Structures.html#1550" class="Record">IsEquivalence</a><a id="584" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="587" class="Keyword">module</a> <a id="594" href="Algebra.Structures.html" class="Module">Algebra.Structures</a>
|
|||
|
<a id="615" class="Symbol">{</a><a id="616" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="618" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="619" class="Symbol">}</a> <a id="621" class="Symbol">{</a><a id="622" href="Algebra.Structures.html#622" class="Bound">A</a> <a id="624" class="Symbol">:</a> <a id="626" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="630" href="Algebra.Structures.html#616" class="Bound">a</a><a id="631" class="Symbol">}</a> <a id="634" class="Comment">-- The underlying set</a>
|
|||
|
<a id="658" class="Symbol">(</a><a id="659" href="Algebra.Structures.html#659" class="Bound Operator">_≈_</a> <a id="663" class="Symbol">:</a> <a id="665" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="669" href="Algebra.Structures.html#622" class="Bound">A</a> <a id="671" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="672" class="Symbol">)</a> <a id="677" class="Comment">-- The underlying equality relation</a>
|
|||
|
<a id="715" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="722" class="Comment">-- The file is divided into sections depending on the arities of the</a>
|
|||
|
<a id="791" class="Comment">-- components of the algebraic structure.</a>
|
|||
|
|
|||
|
<a id="834" class="Keyword">open</a> <a id="839" class="Keyword">import</a> <a id="846" href="Algebra.Core.html" class="Module">Algebra.Core</a>
|
|||
|
<a id="859" class="Keyword">open</a> <a id="864" class="Keyword">import</a> <a id="871" href="Algebra.Definitions.html" class="Module">Algebra.Definitions</a> <a id="891" href="Algebra.Structures.html#659" class="Bound Operator">_≈_</a>
|
|||
|
<a id="895" class="Keyword">import</a> <a id="902" href="Algebra.Consequences.Setoid.html" class="Module">Algebra.Consequences.Setoid</a> <a id="930" class="Symbol">as</a> <a id="933" class="Module">Consequences</a>
|
|||
|
<a id="946" class="Keyword">open</a> <a id="951" class="Keyword">import</a> <a id="958" href="Data.Product.Base.html" class="Module">Data.Product.Base</a> <a id="976" class="Keyword">using</a> <a id="982" class="Symbol">(</a><a id="983" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="986" class="Symbol">;</a> <a id="988" href="Data.Product.Base.html#636" class="Field">proj₁</a><a id="993" class="Symbol">;</a> <a id="995" href="Data.Product.Base.html#650" class="Field">proj₂</a><a id="1000" class="Symbol">)</a>
|
|||
|
<a id="1002" class="Keyword">open</a> <a id="1007" class="Keyword">import</a> <a id="1014" href="Level.html" class="Module">Level</a> <a id="1020" class="Keyword">using</a> <a id="1026" class="Symbol">(</a><a id="1027" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="1030" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="1033" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1106" class="Comment">-- Structures with 1 binary operation</a>
|
|||
|
<a id="1144" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="1218" class="Keyword">record</a> <a id="IsMagma"></a><a id="1225" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="1233" class="Symbol">(</a><a id="1234" href="Algebra.Structures.html#1234" class="Bound">∙</a> <a id="1236" class="Symbol">:</a> <a id="1238" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1242" href="Algebra.Structures.html#622" class="Bound">A</a><a id="1243" class="Symbol">)</a> <a id="1245" class="Symbol">:</a> <a id="1247" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1251" class="Symbol">(</a><a id="1252" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="1254" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1256" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="1257" class="Symbol">)</a> <a id="1259" class="Keyword">where</a>
|
|||
|
<a id="1267" class="Keyword">field</a>
|
|||
|
<a id="IsMagma.isEquivalence"></a><a id="1277" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="1291" class="Symbol">:</a> <a id="1293" href="Relation.Binary.Structures.html#1550" class="Record">IsEquivalence</a> <a id="1307" href="Algebra.Structures.html#659" class="Bound Operator">_≈_</a>
|
|||
|
<a id="IsMagma.∙-cong"></a><a id="1315" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="1329" class="Symbol">:</a> <a id="1331" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="1342" href="Algebra.Structures.html#1234" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="1347" class="Keyword">open</a> <a id="1352" href="Relation.Binary.Structures.html#1550" class="Module">IsEquivalence</a> <a id="1366" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="1380" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsMagma.setoid"></a><a id="1390" href="Algebra.Structures.html#1390" class="Function">setoid</a> <a id="1397" class="Symbol">:</a> <a id="1399" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="1406" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="1408" href="Algebra.Structures.html#618" class="Bound">ℓ</a>
|
|||
|
<a id="1412" href="Algebra.Structures.html#1390" class="Function">setoid</a> <a id="1419" class="Symbol">=</a> <a id="1421" class="Keyword">record</a> <a id="1428" class="Symbol">{</a> <a id="1430" href="Relation.Binary.Bundles.html#1203" class="Field">isEquivalence</a> <a id="1444" class="Symbol">=</a> <a id="1446" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="1460" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsMagma.∙-congˡ"></a><a id="1465" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="1473" class="Symbol">:</a> <a id="1475" href="Algebra.Definitions.html#1374" class="Function">LeftCongruent</a> <a id="1489" href="Algebra.Structures.html#1234" class="Bound">∙</a>
|
|||
|
<a id="1493" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="1501" href="Algebra.Structures.html#1501" class="Bound">y≈z</a> <a id="1505" class="Symbol">=</a> <a id="1507" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="1514" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="1519" href="Algebra.Structures.html#1501" class="Bound">y≈z</a>
|
|||
|
|
|||
|
<a id="IsMagma.∙-congʳ"></a><a id="1526" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="1534" class="Symbol">:</a> <a id="1536" href="Algebra.Definitions.html#1460" class="Function">RightCongruent</a> <a id="1551" href="Algebra.Structures.html#1234" class="Bound">∙</a>
|
|||
|
<a id="1555" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="1563" href="Algebra.Structures.html#1563" class="Bound">y≈z</a> <a id="1567" class="Symbol">=</a> <a id="1569" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="1576" href="Algebra.Structures.html#1563" class="Bound">y≈z</a> <a id="1580" href="Relation.Binary.Structures.html#1596" class="Function">refl</a>
|
|||
|
|
|||
|
|
|||
|
<a id="1587" class="Keyword">record</a> <a id="IsCommutativeMagma"></a><a id="1594" href="Algebra.Structures.html#1594" class="Record">IsCommutativeMagma</a> <a id="1613" class="Symbol">(</a><a id="1614" href="Algebra.Structures.html#1614" class="Bound">∙</a> <a id="1616" class="Symbol">:</a> <a id="1618" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1622" href="Algebra.Structures.html#622" class="Bound">A</a><a id="1623" class="Symbol">)</a> <a id="1625" class="Symbol">:</a> <a id="1627" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1631" class="Symbol">(</a><a id="1632" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="1634" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1636" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="1637" class="Symbol">)</a> <a id="1639" class="Keyword">where</a>
|
|||
|
<a id="1647" class="Keyword">field</a>
|
|||
|
<a id="IsCommutativeMagma.isMagma"></a><a id="1657" href="Algebra.Structures.html#1657" class="Field">isMagma</a> <a id="1665" class="Symbol">:</a> <a id="1667" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="1675" href="Algebra.Structures.html#1614" class="Bound">∙</a>
|
|||
|
<a id="IsCommutativeMagma.comm"></a><a id="1681" href="Algebra.Structures.html#1681" class="Field">comm</a> <a id="1689" class="Symbol">:</a> <a id="1691" href="Algebra.Definitions.html#1635" class="Function">Commutative</a> <a id="1703" href="Algebra.Structures.html#1614" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="1708" class="Keyword">open</a> <a id="1713" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="1721" href="Algebra.Structures.html#1657" class="Field">isMagma</a> <a id="1729" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="1737" class="Keyword">record</a> <a id="IsIdempotentMagma"></a><a id="1744" href="Algebra.Structures.html#1744" class="Record">IsIdempotentMagma</a> <a id="1762" class="Symbol">(</a><a id="1763" href="Algebra.Structures.html#1763" class="Bound">∙</a> <a id="1765" class="Symbol">:</a> <a id="1767" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1771" href="Algebra.Structures.html#622" class="Bound">A</a><a id="1772" class="Symbol">)</a> <a id="1774" class="Symbol">:</a> <a id="1776" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1780" class="Symbol">(</a><a id="1781" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="1783" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1785" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="1786" class="Symbol">)</a> <a id="1788" class="Keyword">where</a>
|
|||
|
<a id="1796" class="Keyword">field</a>
|
|||
|
<a id="IsIdempotentMagma.isMagma"></a><a id="1806" href="Algebra.Structures.html#1806" class="Field">isMagma</a> <a id="1814" class="Symbol">:</a> <a id="1816" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="1824" href="Algebra.Structures.html#1763" class="Bound">∙</a>
|
|||
|
<a id="IsIdempotentMagma.idem"></a><a id="1830" href="Algebra.Structures.html#1830" class="Field">idem</a> <a id="1838" class="Symbol">:</a> <a id="1840" href="Algebra.Definitions.html#3706" class="Function">Idempotent</a> <a id="1851" href="Algebra.Structures.html#1763" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="1856" class="Keyword">open</a> <a id="1861" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="1869" href="Algebra.Structures.html#1806" class="Field">isMagma</a> <a id="1877" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="1885" class="Keyword">record</a> <a id="IsAlternativeMagma"></a><a id="1892" href="Algebra.Structures.html#1892" class="Record">IsAlternativeMagma</a> <a id="1911" class="Symbol">(</a><a id="1912" href="Algebra.Structures.html#1912" class="Bound">∙</a> <a id="1914" class="Symbol">:</a> <a id="1916" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1920" href="Algebra.Structures.html#622" class="Bound">A</a><a id="1921" class="Symbol">)</a> <a id="1923" class="Symbol">:</a> <a id="1925" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1929" class="Symbol">(</a><a id="1930" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="1932" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1934" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="1935" class="Symbol">)</a> <a id="1937" class="Keyword">where</a>
|
|||
|
<a id="1945" class="Keyword">field</a>
|
|||
|
<a id="IsAlternativeMagma.isMagma"></a><a id="1955" href="Algebra.Structures.html#1955" class="Field">isMagma</a> <a id="1964" class="Symbol">:</a> <a id="1966" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="1974" href="Algebra.Structures.html#1912" class="Bound">∙</a>
|
|||
|
<a id="IsAlternativeMagma.alter"></a><a id="1980" href="Algebra.Structures.html#1980" class="Field">alter</a> <a id="1989" class="Symbol">:</a> <a id="1991" href="Algebra.Definitions.html#6547" class="Function">Alternative</a> <a id="2003" href="Algebra.Structures.html#1912" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="2008" class="Keyword">open</a> <a id="2013" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="2021" href="Algebra.Structures.html#1955" class="Field">isMagma</a> <a id="2029" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsAlternativeMagma.alternativeˡ"></a><a id="2039" href="Algebra.Structures.html#2039" class="Function">alternativeˡ</a> <a id="2052" class="Symbol">:</a> <a id="2054" href="Algebra.Definitions.html#6357" class="Function">LeftAlternative</a> <a id="2070" href="Algebra.Structures.html#1912" class="Bound">∙</a>
|
|||
|
<a id="2074" href="Algebra.Structures.html#2039" class="Function">alternativeˡ</a> <a id="2087" class="Symbol">=</a> <a id="2089" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="2095" href="Algebra.Structures.html#1980" class="Field">alter</a>
|
|||
|
|
|||
|
<a id="IsAlternativeMagma.alternativeʳ"></a><a id="2104" href="Algebra.Structures.html#2104" class="Function">alternativeʳ</a> <a id="2117" class="Symbol">:</a> <a id="2119" href="Algebra.Definitions.html#6452" class="Function">RightAlternative</a> <a id="2136" href="Algebra.Structures.html#1912" class="Bound">∙</a>
|
|||
|
<a id="2140" href="Algebra.Structures.html#2104" class="Function">alternativeʳ</a> <a id="2153" class="Symbol">=</a> <a id="2155" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="2161" href="Algebra.Structures.html#1980" class="Field">alter</a>
|
|||
|
|
|||
|
<a id="2168" class="Keyword">record</a> <a id="IsFlexibleMagma"></a><a id="2175" href="Algebra.Structures.html#2175" class="Record">IsFlexibleMagma</a> <a id="2191" class="Symbol">(</a><a id="2192" href="Algebra.Structures.html#2192" class="Bound">∙</a> <a id="2194" class="Symbol">:</a> <a id="2196" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2200" href="Algebra.Structures.html#622" class="Bound">A</a><a id="2201" class="Symbol">)</a> <a id="2203" class="Symbol">:</a> <a id="2205" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2209" class="Symbol">(</a><a id="2210" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="2212" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2214" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="2215" class="Symbol">)</a> <a id="2217" class="Keyword">where</a>
|
|||
|
<a id="2225" class="Keyword">field</a>
|
|||
|
<a id="IsFlexibleMagma.isMagma"></a><a id="2235" href="Algebra.Structures.html#2235" class="Field">isMagma</a> <a id="2244" class="Symbol">:</a> <a id="2246" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="2254" href="Algebra.Structures.html#2192" class="Bound">∙</a>
|
|||
|
<a id="IsFlexibleMagma.flex"></a><a id="2260" href="Algebra.Structures.html#2260" class="Field">flex</a> <a id="2269" class="Symbol">:</a> <a id="2271" href="Algebra.Definitions.html#6642" class="Function">Flexible</a> <a id="2280" href="Algebra.Structures.html#2192" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="2285" class="Keyword">open</a> <a id="2290" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="2298" href="Algebra.Structures.html#2235" class="Field">isMagma</a> <a id="2306" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="2314" class="Keyword">record</a> <a id="IsMedialMagma"></a><a id="2321" href="Algebra.Structures.html#2321" class="Record">IsMedialMagma</a> <a id="2335" class="Symbol">(</a><a id="2336" href="Algebra.Structures.html#2336" class="Bound">∙</a> <a id="2338" class="Symbol">:</a> <a id="2340" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2344" href="Algebra.Structures.html#622" class="Bound">A</a><a id="2345" class="Symbol">)</a> <a id="2347" class="Symbol">:</a> <a id="2349" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2353" class="Symbol">(</a><a id="2354" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="2356" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2358" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="2359" class="Symbol">)</a> <a id="2361" class="Keyword">where</a>
|
|||
|
<a id="2369" class="Keyword">field</a>
|
|||
|
<a id="IsMedialMagma.isMagma"></a><a id="2379" href="Algebra.Structures.html#2379" class="Field">isMagma</a> <a id="2387" class="Symbol">:</a> <a id="2389" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="2397" href="Algebra.Structures.html#2336" class="Bound">∙</a>
|
|||
|
<a id="IsMedialMagma.medial"></a><a id="2403" href="Algebra.Structures.html#2403" class="Field">medial</a> <a id="2411" class="Symbol">:</a> <a id="2413" href="Algebra.Definitions.html#6721" class="Function">Medial</a> <a id="2420" href="Algebra.Structures.html#2336" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="2425" class="Keyword">open</a> <a id="2430" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="2438" href="Algebra.Structures.html#2379" class="Field">isMagma</a> <a id="2446" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="2454" class="Keyword">record</a> <a id="IsSemimedialMagma"></a><a id="2461" href="Algebra.Structures.html#2461" class="Record">IsSemimedialMagma</a> <a id="2479" class="Symbol">(</a><a id="2480" href="Algebra.Structures.html#2480" class="Bound">∙</a> <a id="2482" class="Symbol">:</a> <a id="2484" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2488" href="Algebra.Structures.html#622" class="Bound">A</a><a id="2489" class="Symbol">)</a> <a id="2491" class="Symbol">:</a> <a id="2493" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2497" class="Symbol">(</a><a id="2498" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="2500" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2502" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="2503" class="Symbol">)</a> <a id="2505" class="Keyword">where</a>
|
|||
|
<a id="2513" class="Keyword">field</a>
|
|||
|
<a id="IsSemimedialMagma.isMagma"></a><a id="2523" href="Algebra.Structures.html#2523" class="Field">isMagma</a> <a id="2534" class="Symbol">:</a> <a id="2536" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="2544" href="Algebra.Structures.html#2480" class="Bound">∙</a>
|
|||
|
<a id="IsSemimedialMagma.semiMedial"></a><a id="2550" href="Algebra.Structures.html#2550" class="Field">semiMedial</a> <a id="2561" class="Symbol">:</a> <a id="2563" href="Algebra.Definitions.html#7024" class="Function">Semimedial</a> <a id="2574" href="Algebra.Structures.html#2480" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="2579" class="Keyword">open</a> <a id="2584" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="2592" href="Algebra.Structures.html#2523" class="Field">isMagma</a> <a id="2600" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsSemimedialMagma.semimedialˡ"></a><a id="2610" href="Algebra.Structures.html#2610" class="Function">semimedialˡ</a> <a id="2622" class="Symbol">:</a> <a id="2624" href="Algebra.Definitions.html#6812" class="Function">LeftSemimedial</a> <a id="2639" href="Algebra.Structures.html#2480" class="Bound">∙</a>
|
|||
|
<a id="2643" href="Algebra.Structures.html#2610" class="Function">semimedialˡ</a> <a id="2655" class="Symbol">=</a> <a id="2657" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="2663" href="Algebra.Structures.html#2550" class="Field">semiMedial</a>
|
|||
|
|
|||
|
<a id="IsSemimedialMagma.semimedialʳ"></a><a id="2677" href="Algebra.Structures.html#2677" class="Function">semimedialʳ</a> <a id="2689" class="Symbol">:</a> <a id="2691" href="Algebra.Definitions.html#6917" class="Function">RightSemimedial</a> <a id="2707" href="Algebra.Structures.html#2480" class="Bound">∙</a>
|
|||
|
<a id="2711" href="Algebra.Structures.html#2677" class="Function">semimedialʳ</a> <a id="2723" class="Symbol">=</a> <a id="2725" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="2731" href="Algebra.Structures.html#2550" class="Field">semiMedial</a>
|
|||
|
|
|||
|
<a id="2743" class="Keyword">record</a> <a id="IsSelectiveMagma"></a><a id="2750" href="Algebra.Structures.html#2750" class="Record">IsSelectiveMagma</a> <a id="2767" class="Symbol">(</a><a id="2768" href="Algebra.Structures.html#2768" class="Bound">∙</a> <a id="2770" class="Symbol">:</a> <a id="2772" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2776" href="Algebra.Structures.html#622" class="Bound">A</a><a id="2777" class="Symbol">)</a> <a id="2779" class="Symbol">:</a> <a id="2781" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2785" class="Symbol">(</a><a id="2786" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="2788" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2790" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="2791" class="Symbol">)</a> <a id="2793" class="Keyword">where</a>
|
|||
|
<a id="2801" class="Keyword">field</a>
|
|||
|
<a id="IsSelectiveMagma.isMagma"></a><a id="2811" href="Algebra.Structures.html#2811" class="Field">isMagma</a> <a id="2819" class="Symbol">:</a> <a id="2821" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="2829" href="Algebra.Structures.html#2768" class="Bound">∙</a>
|
|||
|
<a id="IsSelectiveMagma.sel"></a><a id="2835" href="Algebra.Structures.html#2835" class="Field">sel</a> <a id="2843" class="Symbol">:</a> <a id="2845" href="Algebra.Definitions.html#3841" class="Function">Selective</a> <a id="2855" href="Algebra.Structures.html#2768" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="2860" class="Keyword">open</a> <a id="2865" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="2873" href="Algebra.Structures.html#2811" class="Field">isMagma</a> <a id="2881" class="Keyword">public</a>
|
|||
|
|
|||
|
|
|||
|
<a id="2890" class="Keyword">record</a> <a id="IsSemigroup"></a><a id="2897" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="2909" class="Symbol">(</a><a id="2910" href="Algebra.Structures.html#2910" class="Bound">∙</a> <a id="2912" class="Symbol">:</a> <a id="2914" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="2918" href="Algebra.Structures.html#622" class="Bound">A</a><a id="2919" class="Symbol">)</a> <a id="2921" class="Symbol">:</a> <a id="2923" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2927" class="Symbol">(</a><a id="2928" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="2930" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2932" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="2933" class="Symbol">)</a> <a id="2935" class="Keyword">where</a>
|
|||
|
<a id="2943" class="Keyword">field</a>
|
|||
|
<a id="IsSemigroup.isMagma"></a><a id="2953" href="Algebra.Structures.html#2953" class="Field">isMagma</a> <a id="2961" class="Symbol">:</a> <a id="2963" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="2971" href="Algebra.Structures.html#2910" class="Bound">∙</a>
|
|||
|
<a id="IsSemigroup.assoc"></a><a id="2977" href="Algebra.Structures.html#2977" class="Field">assoc</a> <a id="2985" class="Symbol">:</a> <a id="2987" href="Algebra.Definitions.html#1548" class="Function">Associative</a> <a id="2999" href="Algebra.Structures.html#2910" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="3004" class="Keyword">open</a> <a id="3009" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="3017" href="Algebra.Structures.html#2953" class="Field">isMagma</a> <a id="3025" class="Keyword">public</a>
|
|||
|
|
|||
|
|
|||
|
<a id="3034" class="Keyword">record</a> <a id="IsBand"></a><a id="3041" href="Algebra.Structures.html#3041" class="Record">IsBand</a> <a id="3048" class="Symbol">(</a><a id="3049" href="Algebra.Structures.html#3049" class="Bound">∙</a> <a id="3051" class="Symbol">:</a> <a id="3053" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3057" href="Algebra.Structures.html#622" class="Bound">A</a><a id="3058" class="Symbol">)</a> <a id="3060" class="Symbol">:</a> <a id="3062" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3066" class="Symbol">(</a><a id="3067" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="3069" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3071" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="3072" class="Symbol">)</a> <a id="3074" class="Keyword">where</a>
|
|||
|
<a id="3082" class="Keyword">field</a>
|
|||
|
<a id="IsBand.isSemigroup"></a><a id="3092" href="Algebra.Structures.html#3092" class="Field">isSemigroup</a> <a id="3104" class="Symbol">:</a> <a id="3106" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="3118" href="Algebra.Structures.html#3049" class="Bound">∙</a>
|
|||
|
<a id="IsBand.idem"></a><a id="3124" href="Algebra.Structures.html#3124" class="Field">idem</a> <a id="3136" class="Symbol">:</a> <a id="3138" href="Algebra.Definitions.html#3706" class="Function">Idempotent</a> <a id="3149" href="Algebra.Structures.html#3049" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="3154" class="Keyword">open</a> <a id="3159" href="Algebra.Structures.html#2897" class="Module">IsSemigroup</a> <a id="3171" href="Algebra.Structures.html#3092" class="Field">isSemigroup</a> <a id="3183" class="Keyword">public</a>
|
|||
|
|
|||
|
|
|||
|
<a id="3192" class="Keyword">record</a> <a id="IsCommutativeSemigroup"></a><a id="3199" href="Algebra.Structures.html#3199" class="Record">IsCommutativeSemigroup</a> <a id="3222" class="Symbol">(</a><a id="3223" href="Algebra.Structures.html#3223" class="Bound">∙</a> <a id="3225" class="Symbol">:</a> <a id="3227" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3231" href="Algebra.Structures.html#622" class="Bound">A</a><a id="3232" class="Symbol">)</a> <a id="3234" class="Symbol">:</a> <a id="3236" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3240" class="Symbol">(</a><a id="3241" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="3243" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3245" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="3246" class="Symbol">)</a> <a id="3248" class="Keyword">where</a>
|
|||
|
<a id="3256" class="Keyword">field</a>
|
|||
|
<a id="IsCommutativeSemigroup.isSemigroup"></a><a id="3266" href="Algebra.Structures.html#3266" class="Field">isSemigroup</a> <a id="3278" class="Symbol">:</a> <a id="3280" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="3292" href="Algebra.Structures.html#3223" class="Bound">∙</a>
|
|||
|
<a id="IsCommutativeSemigroup.comm"></a><a id="3298" href="Algebra.Structures.html#3298" class="Field">comm</a> <a id="3310" class="Symbol">:</a> <a id="3312" href="Algebra.Definitions.html#1635" class="Function">Commutative</a> <a id="3324" href="Algebra.Structures.html#3223" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="3329" class="Keyword">open</a> <a id="3334" href="Algebra.Structures.html#2897" class="Module">IsSemigroup</a> <a id="3346" href="Algebra.Structures.html#3266" class="Field">isSemigroup</a> <a id="3358" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsCommutativeSemigroup.isCommutativeMagma"></a><a id="3368" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a> <a id="3387" class="Symbol">:</a> <a id="3389" href="Algebra.Structures.html#1594" class="Record">IsCommutativeMagma</a> <a id="3408" href="Algebra.Structures.html#3223" class="Bound">∙</a>
|
|||
|
<a id="3412" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a> <a id="3431" class="Symbol">=</a> <a id="3433" class="Keyword">record</a>
|
|||
|
<a id="3444" class="Symbol">{</a> <a id="3446" href="Algebra.Structures.html#1657" class="Field">isMagma</a> <a id="3454" class="Symbol">=</a> <a id="3456" href="Algebra.Structures.html#2953" class="Function">isMagma</a>
|
|||
|
<a id="3468" class="Symbol">;</a> <a id="3470" href="Algebra.Structures.html#1681" class="Field">comm</a> <a id="3478" class="Symbol">=</a> <a id="3480" href="Algebra.Structures.html#3298" class="Field">comm</a>
|
|||
|
<a id="3489" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3492" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="3565" class="Comment">-- Structures with 1 binary operation & 1 element</a>
|
|||
|
<a id="3615" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="3689" class="Keyword">record</a> <a id="IsUnitalMagma"></a><a id="3696" href="Algebra.Structures.html#3696" class="Record">IsUnitalMagma</a> <a id="3710" class="Symbol">(</a><a id="3711" href="Algebra.Structures.html#3711" class="Bound">∙</a> <a id="3713" class="Symbol">:</a> <a id="3715" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3719" href="Algebra.Structures.html#622" class="Bound">A</a><a id="3720" class="Symbol">)</a> <a id="3722" class="Symbol">(</a><a id="3723" href="Algebra.Structures.html#3723" class="Bound">ε</a> <a id="3725" class="Symbol">:</a> <a id="3727" href="Algebra.Structures.html#622" class="Bound">A</a><a id="3728" class="Symbol">)</a> <a id="3730" class="Symbol">:</a> <a id="3732" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3736" class="Symbol">(</a><a id="3737" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="3739" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3741" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="3742" class="Symbol">)</a> <a id="3744" class="Keyword">where</a>
|
|||
|
<a id="3752" class="Keyword">field</a>
|
|||
|
<a id="IsUnitalMagma.isMagma"></a><a id="3762" href="Algebra.Structures.html#3762" class="Field">isMagma</a> <a id="3771" class="Symbol">:</a> <a id="3773" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="3781" href="Algebra.Structures.html#3711" class="Bound">∙</a>
|
|||
|
<a id="IsUnitalMagma.identity"></a><a id="3787" href="Algebra.Structures.html#3787" class="Field">identity</a> <a id="3796" class="Symbol">:</a> <a id="3798" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="3807" href="Algebra.Structures.html#3723" class="Bound">ε</a> <a id="3809" href="Algebra.Structures.html#3711" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="3814" class="Keyword">open</a> <a id="3819" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="3827" href="Algebra.Structures.html#3762" class="Field">isMagma</a> <a id="3835" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsUnitalMagma.identityˡ"></a><a id="3845" href="Algebra.Structures.html#3845" class="Function">identityˡ</a> <a id="3855" class="Symbol">:</a> <a id="3857" href="Algebra.Definitions.html#1708" class="Function">LeftIdentity</a> <a id="3870" href="Algebra.Structures.html#3723" class="Bound">ε</a> <a id="3872" href="Algebra.Structures.html#3711" class="Bound">∙</a>
|
|||
|
<a id="3876" href="Algebra.Structures.html#3845" class="Function">identityˡ</a> <a id="3886" class="Symbol">=</a> <a id="3888" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="3894" href="Algebra.Structures.html#3787" class="Field">identity</a>
|
|||
|
|
|||
|
<a id="IsUnitalMagma.identityʳ"></a><a id="3906" href="Algebra.Structures.html#3906" class="Function">identityʳ</a> <a id="3916" class="Symbol">:</a> <a id="3918" href="Algebra.Definitions.html#1781" class="Function">RightIdentity</a> <a id="3932" href="Algebra.Structures.html#3723" class="Bound">ε</a> <a id="3934" href="Algebra.Structures.html#3711" class="Bound">∙</a>
|
|||
|
<a id="3938" href="Algebra.Structures.html#3906" class="Function">identityʳ</a> <a id="3948" class="Symbol">=</a> <a id="3950" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="3956" href="Algebra.Structures.html#3787" class="Field">identity</a>
|
|||
|
|
|||
|
|
|||
|
<a id="3967" class="Keyword">record</a> <a id="IsMonoid"></a><a id="3974" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="3983" class="Symbol">(</a><a id="3984" href="Algebra.Structures.html#3984" class="Bound">∙</a> <a id="3986" class="Symbol">:</a> <a id="3988" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="3992" href="Algebra.Structures.html#622" class="Bound">A</a><a id="3993" class="Symbol">)</a> <a id="3995" class="Symbol">(</a><a id="3996" href="Algebra.Structures.html#3996" class="Bound">ε</a> <a id="3998" class="Symbol">:</a> <a id="4000" href="Algebra.Structures.html#622" class="Bound">A</a><a id="4001" class="Symbol">)</a> <a id="4003" class="Symbol">:</a> <a id="4005" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4009" class="Symbol">(</a><a id="4010" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="4012" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="4014" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="4015" class="Symbol">)</a> <a id="4017" class="Keyword">where</a>
|
|||
|
<a id="4025" class="Keyword">field</a>
|
|||
|
<a id="IsMonoid.isSemigroup"></a><a id="4035" href="Algebra.Structures.html#4035" class="Field">isSemigroup</a> <a id="4047" class="Symbol">:</a> <a id="4049" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="4061" href="Algebra.Structures.html#3984" class="Bound">∙</a>
|
|||
|
<a id="IsMonoid.identity"></a><a id="4067" href="Algebra.Structures.html#4067" class="Field">identity</a> <a id="4079" class="Symbol">:</a> <a id="4081" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="4090" href="Algebra.Structures.html#3996" class="Bound">ε</a> <a id="4092" href="Algebra.Structures.html#3984" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="4097" class="Keyword">open</a> <a id="4102" href="Algebra.Structures.html#2897" class="Module">IsSemigroup</a> <a id="4114" href="Algebra.Structures.html#4035" class="Field">isSemigroup</a> <a id="4126" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsMonoid.identityˡ"></a><a id="4136" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="4146" class="Symbol">:</a> <a id="4148" href="Algebra.Definitions.html#1708" class="Function">LeftIdentity</a> <a id="4161" href="Algebra.Structures.html#3996" class="Bound">ε</a> <a id="4163" href="Algebra.Structures.html#3984" class="Bound">∙</a>
|
|||
|
<a id="4167" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="4177" class="Symbol">=</a> <a id="4179" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="4185" href="Algebra.Structures.html#4067" class="Field">identity</a>
|
|||
|
|
|||
|
<a id="IsMonoid.identityʳ"></a><a id="4197" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="4207" class="Symbol">:</a> <a id="4209" href="Algebra.Definitions.html#1781" class="Function">RightIdentity</a> <a id="4223" href="Algebra.Structures.html#3996" class="Bound">ε</a> <a id="4225" href="Algebra.Structures.html#3984" class="Bound">∙</a>
|
|||
|
<a id="4229" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="4239" class="Symbol">=</a> <a id="4241" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="4247" href="Algebra.Structures.html#4067" class="Field">identity</a>
|
|||
|
|
|||
|
<a id="IsMonoid.isUnitalMagma"></a><a id="4259" href="Algebra.Structures.html#4259" class="Function">isUnitalMagma</a> <a id="4273" class="Symbol">:</a> <a id="4275" href="Algebra.Structures.html#3696" class="Record">IsUnitalMagma</a> <a id="4289" href="Algebra.Structures.html#3984" class="Bound">∙</a> <a id="4291" href="Algebra.Structures.html#3996" class="Bound">ε</a>
|
|||
|
<a id="4295" href="Algebra.Structures.html#4259" class="Function">isUnitalMagma</a> <a id="4309" class="Symbol">=</a> <a id="4311" class="Keyword">record</a>
|
|||
|
<a id="4322" class="Symbol">{</a> <a id="4324" href="Algebra.Structures.html#3762" class="Field">isMagma</a> <a id="4333" class="Symbol">=</a> <a id="4335" href="Algebra.Structures.html#2953" class="Function">isMagma</a>
|
|||
|
<a id="4347" class="Symbol">;</a> <a id="4349" href="Algebra.Structures.html#3787" class="Field">identity</a> <a id="4358" class="Symbol">=</a> <a id="4360" href="Algebra.Structures.html#4067" class="Field">identity</a>
|
|||
|
<a id="4373" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="4377" class="Keyword">record</a> <a id="IsCommutativeMonoid"></a><a id="4384" href="Algebra.Structures.html#4384" class="Record">IsCommutativeMonoid</a> <a id="4404" class="Symbol">(</a><a id="4405" href="Algebra.Structures.html#4405" class="Bound">∙</a> <a id="4407" class="Symbol">:</a> <a id="4409" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4413" href="Algebra.Structures.html#622" class="Bound">A</a><a id="4414" class="Symbol">)</a> <a id="4416" class="Symbol">(</a><a id="4417" href="Algebra.Structures.html#4417" class="Bound">ε</a> <a id="4419" class="Symbol">:</a> <a id="4421" href="Algebra.Structures.html#622" class="Bound">A</a><a id="4422" class="Symbol">)</a> <a id="4424" class="Symbol">:</a> <a id="4426" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4430" class="Symbol">(</a><a id="4431" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="4433" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="4435" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="4436" class="Symbol">)</a> <a id="4438" class="Keyword">where</a>
|
|||
|
<a id="4446" class="Keyword">field</a>
|
|||
|
<a id="IsCommutativeMonoid.isMonoid"></a><a id="4456" href="Algebra.Structures.html#4456" class="Field">isMonoid</a> <a id="4465" class="Symbol">:</a> <a id="4467" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="4476" href="Algebra.Structures.html#4405" class="Bound">∙</a> <a id="4478" href="Algebra.Structures.html#4417" class="Bound">ε</a>
|
|||
|
<a id="IsCommutativeMonoid.comm"></a><a id="4484" href="Algebra.Structures.html#4484" class="Field">comm</a> <a id="4493" class="Symbol">:</a> <a id="4495" href="Algebra.Definitions.html#1635" class="Function">Commutative</a> <a id="4507" href="Algebra.Structures.html#4405" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="4512" class="Keyword">open</a> <a id="4517" href="Algebra.Structures.html#3974" class="Module">IsMonoid</a> <a id="4526" href="Algebra.Structures.html#4456" class="Field">isMonoid</a> <a id="4535" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsCommutativeMonoid.isCommutativeSemigroup"></a><a id="4545" href="Algebra.Structures.html#4545" class="Function">isCommutativeSemigroup</a> <a id="4568" class="Symbol">:</a> <a id="4570" href="Algebra.Structures.html#3199" class="Record">IsCommutativeSemigroup</a> <a id="4593" href="Algebra.Structures.html#4405" class="Bound">∙</a>
|
|||
|
<a id="4597" href="Algebra.Structures.html#4545" class="Function">isCommutativeSemigroup</a> <a id="4620" class="Symbol">=</a> <a id="4622" class="Keyword">record</a>
|
|||
|
<a id="4633" class="Symbol">{</a> <a id="4635" href="Algebra.Structures.html#3266" class="Field">isSemigroup</a> <a id="4647" class="Symbol">=</a> <a id="4649" href="Algebra.Structures.html#4035" class="Function">isSemigroup</a>
|
|||
|
<a id="4665" class="Symbol">;</a> <a id="4667" href="Algebra.Structures.html#3298" class="Field">comm</a> <a id="4679" class="Symbol">=</a> <a id="4681" href="Algebra.Structures.html#4484" class="Field">comm</a>
|
|||
|
<a id="4690" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4695" class="Keyword">open</a> <a id="4700" href="Algebra.Structures.html#3199" class="Module">IsCommutativeSemigroup</a> <a id="4723" href="Algebra.Structures.html#4545" class="Function">isCommutativeSemigroup</a> <a id="4746" class="Keyword">public</a>
|
|||
|
<a id="4757" class="Keyword">using</a> <a id="4763" class="Symbol">(</a><a id="4764" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a><a id="4782" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="4786" class="Keyword">record</a> <a id="IsIdempotentCommutativeMonoid"></a><a id="4793" href="Algebra.Structures.html#4793" class="Record">IsIdempotentCommutativeMonoid</a> <a id="4823" class="Symbol">(</a><a id="4824" href="Algebra.Structures.html#4824" class="Bound">∙</a> <a id="4826" class="Symbol">:</a> <a id="4828" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="4832" href="Algebra.Structures.html#622" class="Bound">A</a><a id="4833" class="Symbol">)</a>
|
|||
|
<a id="4872" class="Symbol">(</a><a id="4873" href="Algebra.Structures.html#4873" class="Bound">ε</a> <a id="4875" class="Symbol">:</a> <a id="4877" href="Algebra.Structures.html#622" class="Bound">A</a><a id="4878" class="Symbol">)</a> <a id="4880" class="Symbol">:</a> <a id="4882" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4886" class="Symbol">(</a><a id="4887" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="4889" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="4891" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="4892" class="Symbol">)</a> <a id="4894" class="Keyword">where</a>
|
|||
|
<a id="4902" class="Keyword">field</a>
|
|||
|
<a id="IsIdempotentCommutativeMonoid.isCommutativeMonoid"></a><a id="4912" href="Algebra.Structures.html#4912" class="Field">isCommutativeMonoid</a> <a id="4932" class="Symbol">:</a> <a id="4934" href="Algebra.Structures.html#4384" class="Record">IsCommutativeMonoid</a> <a id="4954" href="Algebra.Structures.html#4824" class="Bound">∙</a> <a id="4956" href="Algebra.Structures.html#4873" class="Bound">ε</a>
|
|||
|
<a id="IsIdempotentCommutativeMonoid.idem"></a><a id="4962" href="Algebra.Structures.html#4962" class="Field">idem</a> <a id="4982" class="Symbol">:</a> <a id="4984" href="Algebra.Definitions.html#3706" class="Function">Idempotent</a> <a id="4995" href="Algebra.Structures.html#4824" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="5000" class="Keyword">open</a> <a id="5005" href="Algebra.Structures.html#4384" class="Module">IsCommutativeMonoid</a> <a id="5025" href="Algebra.Structures.html#4912" class="Field">isCommutativeMonoid</a> <a id="5045" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsIdempotentCommutativeMonoid.isBand"></a><a id="5055" href="Algebra.Structures.html#5055" class="Function">isBand</a> <a id="5062" class="Symbol">:</a> <a id="5064" href="Algebra.Structures.html#3041" class="Record">IsBand</a> <a id="5071" href="Algebra.Structures.html#4824" class="Bound">∙</a>
|
|||
|
<a id="5075" href="Algebra.Structures.html#5055" class="Function">isBand</a> <a id="5082" class="Symbol">=</a> <a id="5084" class="Keyword">record</a> <a id="5091" class="Symbol">{</a> <a id="5093" href="Algebra.Structures.html#3092" class="Field">isSemigroup</a> <a id="5105" class="Symbol">=</a> <a id="5107" href="Algebra.Structures.html#4035" class="Function">isSemigroup</a> <a id="5119" class="Symbol">;</a> <a id="5121" href="Algebra.Structures.html#3124" class="Field">idem</a> <a id="5126" class="Symbol">=</a> <a id="5128" href="Algebra.Structures.html#4962" class="Field">idem</a> <a id="5133" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="5137" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="5210" class="Comment">-- Structures with 1 binary operation, 1 unary operation & 1 element</a>
|
|||
|
<a id="5279" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="5353" class="Keyword">record</a> <a id="IsInvertibleMagma"></a><a id="5360" href="Algebra.Structures.html#5360" class="Record">IsInvertibleMagma</a> <a id="5378" class="Symbol">(</a><a id="5379" href="Algebra.Structures.html#5379" class="Bound Operator">_∙_</a> <a id="5383" class="Symbol">:</a> <a id="5385" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5389" href="Algebra.Structures.html#622" class="Bound">A</a><a id="5390" class="Symbol">)</a> <a id="5392" class="Symbol">(</a><a id="5393" href="Algebra.Structures.html#5393" class="Bound">ε</a> <a id="5395" class="Symbol">:</a> <a id="5397" href="Algebra.Structures.html#622" class="Bound">A</a><a id="5398" class="Symbol">)</a> <a id="5400" class="Symbol">(</a><a id="5401" href="Algebra.Structures.html#5401" class="Bound Operator">_⁻¹</a> <a id="5405" class="Symbol">:</a> <a id="5407" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="5411" href="Algebra.Structures.html#622" class="Bound">A</a><a id="5412" class="Symbol">)</a> <a id="5414" class="Symbol">:</a> <a id="5416" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5420" class="Symbol">(</a><a id="5421" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="5423" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="5425" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="5426" class="Symbol">)</a> <a id="5428" class="Keyword">where</a>
|
|||
|
<a id="5436" class="Keyword">field</a>
|
|||
|
<a id="IsInvertibleMagma.isMagma"></a><a id="5446" href="Algebra.Structures.html#5446" class="Field">isMagma</a> <a id="5455" class="Symbol">:</a> <a id="5457" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="5465" href="Algebra.Structures.html#5379" class="Bound Operator">_∙_</a>
|
|||
|
<a id="IsInvertibleMagma.inverse"></a><a id="5473" href="Algebra.Structures.html#5473" class="Field">inverse</a> <a id="5483" class="Symbol">:</a> <a id="5485" href="Algebra.Definitions.html#2322" class="Function">Inverse</a> <a id="5493" href="Algebra.Structures.html#5393" class="Bound">ε</a> <a id="5495" href="Algebra.Structures.html#5401" class="Bound Operator">_⁻¹</a> <a id="5499" href="Algebra.Structures.html#5379" class="Bound Operator">_∙_</a>
|
|||
|
<a id="IsInvertibleMagma.⁻¹-cong"></a><a id="5507" href="Algebra.Structures.html#5507" class="Field">⁻¹-cong</a> <a id="5517" class="Symbol">:</a> <a id="5519" href="Algebra.Definitions.html#1237" class="Function">Congruent₁</a> <a id="5530" href="Algebra.Structures.html#5401" class="Bound Operator">_⁻¹</a>
|
|||
|
|
|||
|
<a id="5537" class="Keyword">open</a> <a id="5542" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="5550" href="Algebra.Structures.html#5446" class="Field">isMagma</a> <a id="5558" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsInvertibleMagma.inverseˡ"></a><a id="5568" href="Algebra.Structures.html#5568" class="Function">inverseˡ</a> <a id="5577" class="Symbol">:</a> <a id="5579" href="Algebra.Definitions.html#2144" class="Function">LeftInverse</a> <a id="5591" href="Algebra.Structures.html#5393" class="Bound">ε</a> <a id="5593" href="Algebra.Structures.html#5401" class="Bound Operator">_⁻¹</a> <a id="5597" href="Algebra.Structures.html#5379" class="Bound Operator">_∙_</a>
|
|||
|
<a id="5603" href="Algebra.Structures.html#5568" class="Function">inverseˡ</a> <a id="5612" class="Symbol">=</a> <a id="5614" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="5620" href="Algebra.Structures.html#5473" class="Field">inverse</a>
|
|||
|
|
|||
|
<a id="IsInvertibleMagma.inverseʳ"></a><a id="5631" href="Algebra.Structures.html#5631" class="Function">inverseʳ</a> <a id="5640" class="Symbol">:</a> <a id="5642" href="Algebra.Definitions.html#2232" class="Function">RightInverse</a> <a id="5655" href="Algebra.Structures.html#5393" class="Bound">ε</a> <a id="5657" href="Algebra.Structures.html#5401" class="Bound Operator">_⁻¹</a> <a id="5661" href="Algebra.Structures.html#5379" class="Bound Operator">_∙_</a>
|
|||
|
<a id="5667" href="Algebra.Structures.html#5631" class="Function">inverseʳ</a> <a id="5676" class="Symbol">=</a> <a id="5678" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="5684" href="Algebra.Structures.html#5473" class="Field">inverse</a>
|
|||
|
|
|||
|
|
|||
|
<a id="5694" class="Keyword">record</a> <a id="IsInvertibleUnitalMagma"></a><a id="5701" href="Algebra.Structures.html#5701" class="Record">IsInvertibleUnitalMagma</a> <a id="5725" class="Symbol">(</a><a id="5726" href="Algebra.Structures.html#5726" class="Bound Operator">_∙_</a> <a id="5730" class="Symbol">:</a> <a id="5732" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="5736" href="Algebra.Structures.html#622" class="Bound">A</a><a id="5737" class="Symbol">)</a> <a id="5739" class="Symbol">(</a><a id="5740" href="Algebra.Structures.html#5740" class="Bound">ε</a> <a id="5742" class="Symbol">:</a> <a id="5744" href="Algebra.Structures.html#622" class="Bound">A</a><a id="5745" class="Symbol">)</a> <a id="5747" class="Symbol">(</a><a id="5748" href="Algebra.Structures.html#5748" class="Bound">⁻¹</a> <a id="5751" class="Symbol">:</a> <a id="5753" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="5757" href="Algebra.Structures.html#622" class="Bound">A</a><a id="5758" class="Symbol">)</a> <a id="5760" class="Symbol">:</a> <a id="5762" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5766" class="Symbol">(</a><a id="5767" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="5769" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="5771" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="5772" class="Symbol">)</a> <a id="5774" class="Keyword">where</a>
|
|||
|
<a id="5782" class="Keyword">field</a>
|
|||
|
<a id="IsInvertibleUnitalMagma.isInvertibleMagma"></a><a id="5792" href="Algebra.Structures.html#5792" class="Field">isInvertibleMagma</a> <a id="5810" class="Symbol">:</a> <a id="5812" href="Algebra.Structures.html#5360" class="Record">IsInvertibleMagma</a> <a id="5830" href="Algebra.Structures.html#5726" class="Bound Operator">_∙_</a> <a id="5835" href="Algebra.Structures.html#5740" class="Bound">ε</a> <a id="5837" href="Algebra.Structures.html#5748" class="Bound">⁻¹</a>
|
|||
|
<a id="IsInvertibleUnitalMagma.identity"></a><a id="5844" href="Algebra.Structures.html#5844" class="Field">identity</a> <a id="5862" class="Symbol">:</a> <a id="5864" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="5873" href="Algebra.Structures.html#5740" class="Bound">ε</a> <a id="5875" href="Algebra.Structures.html#5726" class="Bound Operator">_∙_</a>
|
|||
|
|
|||
|
<a id="5882" class="Keyword">open</a> <a id="5887" href="Algebra.Structures.html#5360" class="Module">IsInvertibleMagma</a> <a id="5905" href="Algebra.Structures.html#5792" class="Field">isInvertibleMagma</a> <a id="5923" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsInvertibleUnitalMagma.identityˡ"></a><a id="5933" href="Algebra.Structures.html#5933" class="Function">identityˡ</a> <a id="5943" class="Symbol">:</a> <a id="5945" href="Algebra.Definitions.html#1708" class="Function">LeftIdentity</a> <a id="5958" href="Algebra.Structures.html#5740" class="Bound">ε</a> <a id="5960" href="Algebra.Structures.html#5726" class="Bound Operator">_∙_</a>
|
|||
|
<a id="5966" href="Algebra.Structures.html#5933" class="Function">identityˡ</a> <a id="5976" class="Symbol">=</a> <a id="5978" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="5984" href="Algebra.Structures.html#5844" class="Field">identity</a>
|
|||
|
|
|||
|
<a id="IsInvertibleUnitalMagma.identityʳ"></a><a id="5996" href="Algebra.Structures.html#5996" class="Function">identityʳ</a> <a id="6006" class="Symbol">:</a> <a id="6008" href="Algebra.Definitions.html#1781" class="Function">RightIdentity</a> <a id="6022" href="Algebra.Structures.html#5740" class="Bound">ε</a> <a id="6024" href="Algebra.Structures.html#5726" class="Bound Operator">_∙_</a>
|
|||
|
<a id="6030" href="Algebra.Structures.html#5996" class="Function">identityʳ</a> <a id="6040" class="Symbol">=</a> <a id="6042" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="6048" href="Algebra.Structures.html#5844" class="Field">identity</a>
|
|||
|
|
|||
|
<a id="IsInvertibleUnitalMagma.isUnitalMagma"></a><a id="6060" href="Algebra.Structures.html#6060" class="Function">isUnitalMagma</a> <a id="6074" class="Symbol">:</a> <a id="6076" href="Algebra.Structures.html#3696" class="Record">IsUnitalMagma</a> <a id="6090" href="Algebra.Structures.html#5726" class="Bound Operator">_∙_</a> <a id="6095" href="Algebra.Structures.html#5740" class="Bound">ε</a>
|
|||
|
<a id="6099" href="Algebra.Structures.html#6060" class="Function">isUnitalMagma</a> <a id="6113" class="Symbol">=</a> <a id="6115" class="Keyword">record</a>
|
|||
|
<a id="6126" class="Symbol">{</a> <a id="6128" href="Algebra.Structures.html#3762" class="Field">isMagma</a> <a id="6137" class="Symbol">=</a> <a id="6139" href="Algebra.Structures.html#5446" class="Function">isMagma</a>
|
|||
|
<a id="6151" class="Symbol">;</a> <a id="6153" href="Algebra.Structures.html#3787" class="Field">identity</a> <a id="6162" class="Symbol">=</a> <a id="6164" href="Algebra.Structures.html#5844" class="Field">identity</a>
|
|||
|
<a id="6177" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="6181" class="Keyword">record</a> <a id="IsGroup"></a><a id="6188" href="Algebra.Structures.html#6188" class="Record">IsGroup</a> <a id="6196" class="Symbol">(</a><a id="6197" href="Algebra.Structures.html#6197" class="Bound Operator">_∙_</a> <a id="6201" class="Symbol">:</a> <a id="6203" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="6207" href="Algebra.Structures.html#622" class="Bound">A</a><a id="6208" class="Symbol">)</a> <a id="6210" class="Symbol">(</a><a id="6211" href="Algebra.Structures.html#6211" class="Bound">ε</a> <a id="6213" class="Symbol">:</a> <a id="6215" href="Algebra.Structures.html#622" class="Bound">A</a><a id="6216" class="Symbol">)</a> <a id="6218" class="Symbol">(</a><a id="6219" href="Algebra.Structures.html#6219" class="Bound Operator">_⁻¹</a> <a id="6223" class="Symbol">:</a> <a id="6225" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="6229" href="Algebra.Structures.html#622" class="Bound">A</a><a id="6230" class="Symbol">)</a> <a id="6232" class="Symbol">:</a> <a id="6234" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="6238" class="Symbol">(</a><a id="6239" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="6241" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6243" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="6244" class="Symbol">)</a> <a id="6246" class="Keyword">where</a>
|
|||
|
<a id="6254" class="Keyword">field</a>
|
|||
|
<a id="IsGroup.isMonoid"></a><a id="6264" href="Algebra.Structures.html#6264" class="Field">isMonoid</a> <a id="6274" class="Symbol">:</a> <a id="6276" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="6285" href="Algebra.Structures.html#6197" class="Bound Operator">_∙_</a> <a id="6289" href="Algebra.Structures.html#6211" class="Bound">ε</a>
|
|||
|
<a id="IsGroup.inverse"></a><a id="6295" href="Algebra.Structures.html#6295" class="Field">inverse</a> <a id="6305" class="Symbol">:</a> <a id="6307" href="Algebra.Definitions.html#2322" class="Function">Inverse</a> <a id="6315" href="Algebra.Structures.html#6211" class="Bound">ε</a> <a id="6317" href="Algebra.Structures.html#6219" class="Bound Operator">_⁻¹</a> <a id="6321" href="Algebra.Structures.html#6197" class="Bound Operator">_∙_</a>
|
|||
|
<a id="IsGroup.⁻¹-cong"></a><a id="6329" href="Algebra.Structures.html#6329" class="Field">⁻¹-cong</a> <a id="6339" class="Symbol">:</a> <a id="6341" href="Algebra.Definitions.html#1237" class="Function">Congruent₁</a> <a id="6352" href="Algebra.Structures.html#6219" class="Bound Operator">_⁻¹</a>
|
|||
|
|
|||
|
<a id="6359" class="Keyword">open</a> <a id="6364" href="Algebra.Structures.html#3974" class="Module">IsMonoid</a> <a id="6373" href="Algebra.Structures.html#6264" class="Field">isMonoid</a> <a id="6382" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="6392" class="Keyword">infixl</a> <a id="6399" class="Number">6</a> <a id="6401" href="Algebra.Structures.html#6407" class="Function Operator">_-_</a>
|
|||
|
<a id="IsGroup._-_"></a><a id="6407" href="Algebra.Structures.html#6407" class="Function Operator">_-_</a> <a id="6411" class="Symbol">:</a> <a id="6413" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="6417" href="Algebra.Structures.html#622" class="Bound">A</a>
|
|||
|
<a id="6421" href="Algebra.Structures.html#6421" class="Bound">x</a> <a id="6423" href="Algebra.Structures.html#6407" class="Function Operator">-</a> <a id="6425" href="Algebra.Structures.html#6425" class="Bound">y</a> <a id="6427" class="Symbol">=</a> <a id="6429" href="Algebra.Structures.html#6421" class="Bound">x</a> <a id="6431" href="Algebra.Structures.html#6197" class="Bound Operator">∙</a> <a id="6433" class="Symbol">(</a><a id="6434" href="Algebra.Structures.html#6425" class="Bound">y</a> <a id="6436" href="Algebra.Structures.html#6219" class="Bound Operator">⁻¹</a><a id="6438" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsGroup.inverseˡ"></a><a id="6443" href="Algebra.Structures.html#6443" class="Function">inverseˡ</a> <a id="6452" class="Symbol">:</a> <a id="6454" href="Algebra.Definitions.html#2144" class="Function">LeftInverse</a> <a id="6466" href="Algebra.Structures.html#6211" class="Bound">ε</a> <a id="6468" href="Algebra.Structures.html#6219" class="Bound Operator">_⁻¹</a> <a id="6472" href="Algebra.Structures.html#6197" class="Bound Operator">_∙_</a>
|
|||
|
<a id="6478" href="Algebra.Structures.html#6443" class="Function">inverseˡ</a> <a id="6487" class="Symbol">=</a> <a id="6489" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="6495" href="Algebra.Structures.html#6295" class="Field">inverse</a>
|
|||
|
|
|||
|
<a id="IsGroup.inverseʳ"></a><a id="6506" href="Algebra.Structures.html#6506" class="Function">inverseʳ</a> <a id="6515" class="Symbol">:</a> <a id="6517" href="Algebra.Definitions.html#2232" class="Function">RightInverse</a> <a id="6530" href="Algebra.Structures.html#6211" class="Bound">ε</a> <a id="6532" href="Algebra.Structures.html#6219" class="Bound Operator">_⁻¹</a> <a id="6536" href="Algebra.Structures.html#6197" class="Bound Operator">_∙_</a>
|
|||
|
<a id="6542" href="Algebra.Structures.html#6506" class="Function">inverseʳ</a> <a id="6551" class="Symbol">=</a> <a id="6553" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="6559" href="Algebra.Structures.html#6295" class="Field">inverse</a>
|
|||
|
|
|||
|
<a id="IsGroup.uniqueˡ-⁻¹"></a><a id="6570" href="Algebra.Structures.html#6570" class="Function">uniqueˡ-⁻¹</a> <a id="6581" class="Symbol">:</a> <a id="6583" class="Symbol">∀</a> <a id="6585" href="Algebra.Structures.html#6585" class="Bound">x</a> <a id="6587" href="Algebra.Structures.html#6587" class="Bound">y</a> <a id="6589" class="Symbol">→</a> <a id="6591" class="Symbol">(</a><a id="6592" href="Algebra.Structures.html#6585" class="Bound">x</a> <a id="6594" href="Algebra.Structures.html#6197" class="Bound Operator">∙</a> <a id="6596" href="Algebra.Structures.html#6587" class="Bound">y</a><a id="6597" class="Symbol">)</a> <a id="6599" href="Algebra.Structures.html#659" class="Bound Operator">≈</a> <a id="6601" href="Algebra.Structures.html#6211" class="Bound">ε</a> <a id="6603" class="Symbol">→</a> <a id="6605" href="Algebra.Structures.html#6585" class="Bound">x</a> <a id="6607" href="Algebra.Structures.html#659" class="Bound Operator">≈</a> <a id="6609" class="Symbol">(</a><a id="6610" href="Algebra.Structures.html#6587" class="Bound">y</a> <a id="6612" href="Algebra.Structures.html#6219" class="Bound Operator">⁻¹</a><a id="6614" class="Symbol">)</a>
|
|||
|
<a id="6618" href="Algebra.Structures.html#6570" class="Function">uniqueˡ-⁻¹</a> <a id="6629" class="Symbol">=</a> <a id="6631" href="Algebra.Consequences.Setoid.html#6752" class="Function">Consequences.assoc∧id∧invʳ⇒invˡ-unique</a>
|
|||
|
<a id="6686" href="Algebra.Structures.html#1390" class="Function">setoid</a> <a id="6693" href="Algebra.Structures.html#1315" class="Function">∙-cong</a> <a id="6700" href="Algebra.Structures.html#2977" class="Function">assoc</a> <a id="6706" href="Algebra.Structures.html#4067" class="Function">identity</a> <a id="6715" href="Algebra.Structures.html#6506" class="Function">inverseʳ</a>
|
|||
|
|
|||
|
<a id="IsGroup.uniqueʳ-⁻¹"></a><a id="6727" href="Algebra.Structures.html#6727" class="Function">uniqueʳ-⁻¹</a> <a id="6738" class="Symbol">:</a> <a id="6740" class="Symbol">∀</a> <a id="6742" href="Algebra.Structures.html#6742" class="Bound">x</a> <a id="6744" href="Algebra.Structures.html#6744" class="Bound">y</a> <a id="6746" class="Symbol">→</a> <a id="6748" class="Symbol">(</a><a id="6749" href="Algebra.Structures.html#6742" class="Bound">x</a> <a id="6751" href="Algebra.Structures.html#6197" class="Bound Operator">∙</a> <a id="6753" href="Algebra.Structures.html#6744" class="Bound">y</a><a id="6754" class="Symbol">)</a> <a id="6756" href="Algebra.Structures.html#659" class="Bound Operator">≈</a> <a id="6758" href="Algebra.Structures.html#6211" class="Bound">ε</a> <a id="6760" class="Symbol">→</a> <a id="6762" href="Algebra.Structures.html#6744" class="Bound">y</a> <a id="6764" href="Algebra.Structures.html#659" class="Bound Operator">≈</a> <a id="6766" class="Symbol">(</a><a id="6767" href="Algebra.Structures.html#6742" class="Bound">x</a> <a id="6769" href="Algebra.Structures.html#6219" class="Bound Operator">⁻¹</a><a id="6771" class="Symbol">)</a>
|
|||
|
<a id="6775" href="Algebra.Structures.html#6727" class="Function">uniqueʳ-⁻¹</a> <a id="6786" class="Symbol">=</a> <a id="6788" href="Algebra.Consequences.Setoid.html#7239" class="Function">Consequences.assoc∧id∧invˡ⇒invʳ-unique</a>
|
|||
|
<a id="6843" href="Algebra.Structures.html#1390" class="Function">setoid</a> <a id="6850" href="Algebra.Structures.html#1315" class="Function">∙-cong</a> <a id="6857" href="Algebra.Structures.html#2977" class="Function">assoc</a> <a id="6863" href="Algebra.Structures.html#4067" class="Function">identity</a> <a id="6872" href="Algebra.Structures.html#6443" class="Function">inverseˡ</a>
|
|||
|
|
|||
|
<a id="IsGroup.isInvertibleMagma"></a><a id="6884" href="Algebra.Structures.html#6884" class="Function">isInvertibleMagma</a> <a id="6902" class="Symbol">:</a> <a id="6904" href="Algebra.Structures.html#5360" class="Record">IsInvertibleMagma</a> <a id="6922" href="Algebra.Structures.html#6197" class="Bound Operator">_∙_</a> <a id="6926" href="Algebra.Structures.html#6211" class="Bound">ε</a> <a id="6928" href="Algebra.Structures.html#6219" class="Bound Operator">_⁻¹</a>
|
|||
|
<a id="6934" href="Algebra.Structures.html#6884" class="Function">isInvertibleMagma</a> <a id="6952" class="Symbol">=</a> <a id="6954" class="Keyword">record</a>
|
|||
|
<a id="6965" class="Symbol">{</a> <a id="6967" href="Algebra.Structures.html#5446" class="Field">isMagma</a> <a id="6975" class="Symbol">=</a> <a id="6977" href="Algebra.Structures.html#2953" class="Function">isMagma</a>
|
|||
|
<a id="6989" class="Symbol">;</a> <a id="6991" href="Algebra.Structures.html#5473" class="Field">inverse</a> <a id="6999" class="Symbol">=</a> <a id="7001" href="Algebra.Structures.html#6295" class="Field">inverse</a>
|
|||
|
<a id="7013" class="Symbol">;</a> <a id="7015" href="Algebra.Structures.html#5507" class="Field">⁻¹-cong</a> <a id="7023" class="Symbol">=</a> <a id="7025" href="Algebra.Structures.html#6329" class="Field">⁻¹-cong</a>
|
|||
|
<a id="7037" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsGroup.isInvertibleUnitalMagma"></a><a id="7042" href="Algebra.Structures.html#7042" class="Function">isInvertibleUnitalMagma</a> <a id="7066" class="Symbol">:</a> <a id="7068" href="Algebra.Structures.html#5701" class="Record">IsInvertibleUnitalMagma</a> <a id="7092" href="Algebra.Structures.html#6197" class="Bound Operator">_∙_</a> <a id="7096" href="Algebra.Structures.html#6211" class="Bound">ε</a> <a id="7098" href="Algebra.Structures.html#6219" class="Bound Operator">_⁻¹</a>
|
|||
|
<a id="7104" href="Algebra.Structures.html#7042" class="Function">isInvertibleUnitalMagma</a> <a id="7128" class="Symbol">=</a> <a id="7130" class="Keyword">record</a>
|
|||
|
<a id="7141" class="Symbol">{</a> <a id="7143" href="Algebra.Structures.html#5792" class="Field">isInvertibleMagma</a> <a id="7161" class="Symbol">=</a> <a id="7163" href="Algebra.Structures.html#6884" class="Function">isInvertibleMagma</a>
|
|||
|
<a id="7185" class="Symbol">;</a> <a id="7187" href="Algebra.Structures.html#5844" class="Field">identity</a> <a id="7196" class="Symbol">=</a> <a id="7198" href="Algebra.Structures.html#4067" class="Function">identity</a>
|
|||
|
<a id="7211" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="7215" class="Keyword">record</a> <a id="IsAbelianGroup"></a><a id="7222" href="Algebra.Structures.html#7222" class="Record">IsAbelianGroup</a> <a id="7237" class="Symbol">(</a><a id="7238" href="Algebra.Structures.html#7238" class="Bound">∙</a> <a id="7240" class="Symbol">:</a> <a id="7242" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="7246" href="Algebra.Structures.html#622" class="Bound">A</a><a id="7247" class="Symbol">)</a>
|
|||
|
<a id="7271" class="Symbol">(</a><a id="7272" href="Algebra.Structures.html#7272" class="Bound">ε</a> <a id="7274" class="Symbol">:</a> <a id="7276" href="Algebra.Structures.html#622" class="Bound">A</a><a id="7277" class="Symbol">)</a> <a id="7279" class="Symbol">(</a><a id="7280" href="Algebra.Structures.html#7280" class="Bound">⁻¹</a> <a id="7283" class="Symbol">:</a> <a id="7285" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="7289" href="Algebra.Structures.html#622" class="Bound">A</a><a id="7290" class="Symbol">)</a> <a id="7292" class="Symbol">:</a> <a id="7294" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="7298" class="Symbol">(</a><a id="7299" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="7301" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="7303" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="7304" class="Symbol">)</a> <a id="7306" class="Keyword">where</a>
|
|||
|
<a id="7314" class="Keyword">field</a>
|
|||
|
<a id="IsAbelianGroup.isGroup"></a><a id="7324" href="Algebra.Structures.html#7324" class="Field">isGroup</a> <a id="7332" class="Symbol">:</a> <a id="7334" href="Algebra.Structures.html#6188" class="Record">IsGroup</a> <a id="7342" href="Algebra.Structures.html#7238" class="Bound">∙</a> <a id="7344" href="Algebra.Structures.html#7272" class="Bound">ε</a> <a id="7346" href="Algebra.Structures.html#7280" class="Bound">⁻¹</a>
|
|||
|
<a id="IsAbelianGroup.comm"></a><a id="7353" href="Algebra.Structures.html#7353" class="Field">comm</a> <a id="7361" class="Symbol">:</a> <a id="7363" href="Algebra.Definitions.html#1635" class="Function">Commutative</a> <a id="7375" href="Algebra.Structures.html#7238" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="7380" class="Keyword">open</a> <a id="7385" href="Algebra.Structures.html#6188" class="Module">IsGroup</a> <a id="7393" href="Algebra.Structures.html#7324" class="Field">isGroup</a> <a id="7401" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsAbelianGroup.isCommutativeMonoid"></a><a id="7411" href="Algebra.Structures.html#7411" class="Function">isCommutativeMonoid</a> <a id="7431" class="Symbol">:</a> <a id="7433" href="Algebra.Structures.html#4384" class="Record">IsCommutativeMonoid</a> <a id="7453" href="Algebra.Structures.html#7238" class="Bound">∙</a> <a id="7455" href="Algebra.Structures.html#7272" class="Bound">ε</a>
|
|||
|
<a id="7459" href="Algebra.Structures.html#7411" class="Function">isCommutativeMonoid</a> <a id="7479" class="Symbol">=</a> <a id="7481" class="Keyword">record</a>
|
|||
|
<a id="7492" class="Symbol">{</a> <a id="7494" href="Algebra.Structures.html#4456" class="Field">isMonoid</a> <a id="7503" class="Symbol">=</a> <a id="7505" href="Algebra.Structures.html#6264" class="Function">isMonoid</a>
|
|||
|
<a id="7518" class="Symbol">;</a> <a id="7520" href="Algebra.Structures.html#4484" class="Field">comm</a> <a id="7529" class="Symbol">=</a> <a id="7531" href="Algebra.Structures.html#7353" class="Field">comm</a>
|
|||
|
<a id="7540" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="7545" class="Keyword">open</a> <a id="7550" href="Algebra.Structures.html#4384" class="Module">IsCommutativeMonoid</a> <a id="7570" href="Algebra.Structures.html#7411" class="Function">isCommutativeMonoid</a> <a id="7590" class="Keyword">public</a>
|
|||
|
<a id="7601" class="Keyword">using</a> <a id="7607" class="Symbol">(</a><a id="7608" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a><a id="7626" class="Symbol">;</a> <a id="7628" href="Algebra.Structures.html#4545" class="Function">isCommutativeSemigroup</a><a id="7650" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="7654" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="7727" class="Comment">-- Structures with 2 binary operations & 1 element</a>
|
|||
|
<a id="7778" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="7852" class="Keyword">record</a> <a id="IsNearSemiring"></a><a id="7859" href="Algebra.Structures.html#7859" class="Record">IsNearSemiring</a> <a id="7874" class="Symbol">(</a><a id="7875" href="Algebra.Structures.html#7875" class="Bound">+</a> <a id="7877" href="Algebra.Structures.html#7877" class="Bound">*</a> <a id="7879" class="Symbol">:</a> <a id="7881" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="7885" href="Algebra.Structures.html#622" class="Bound">A</a><a id="7886" class="Symbol">)</a> <a id="7888" class="Symbol">(</a><a id="7889" href="Algebra.Structures.html#7889" class="Bound">0#</a> <a id="7892" class="Symbol">:</a> <a id="7894" href="Algebra.Structures.html#622" class="Bound">A</a><a id="7895" class="Symbol">)</a> <a id="7897" class="Symbol">:</a> <a id="7899" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="7903" class="Symbol">(</a><a id="7904" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="7906" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="7908" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="7909" class="Symbol">)</a> <a id="7911" class="Keyword">where</a>
|
|||
|
<a id="7919" class="Keyword">field</a>
|
|||
|
<a id="IsNearSemiring.+-isMonoid"></a><a id="7929" href="Algebra.Structures.html#7929" class="Field">+-isMonoid</a> <a id="7943" class="Symbol">:</a> <a id="7945" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="7954" href="Algebra.Structures.html#7875" class="Bound">+</a> <a id="7956" href="Algebra.Structures.html#7889" class="Bound">0#</a>
|
|||
|
<a id="IsNearSemiring.*-cong"></a><a id="7963" href="Algebra.Structures.html#7963" class="Field">*-cong</a> <a id="7977" class="Symbol">:</a> <a id="7979" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="7990" href="Algebra.Structures.html#7877" class="Bound">*</a>
|
|||
|
<a id="IsNearSemiring.*-assoc"></a><a id="7996" href="Algebra.Structures.html#7996" class="Field">*-assoc</a> <a id="8010" class="Symbol">:</a> <a id="8012" href="Algebra.Definitions.html#1548" class="Function">Associative</a> <a id="8024" href="Algebra.Structures.html#7877" class="Bound">*</a>
|
|||
|
<a id="IsNearSemiring.distribʳ"></a><a id="8030" href="Algebra.Structures.html#8030" class="Field">distribʳ</a> <a id="8044" class="Symbol">:</a> <a id="8046" href="Algebra.Structures.html#7877" class="Bound">*</a> <a id="8048" href="Algebra.Definitions.html#3274" class="Function Operator">DistributesOverʳ</a> <a id="8065" href="Algebra.Structures.html#7875" class="Bound">+</a>
|
|||
|
<a id="IsNearSemiring.zeroˡ"></a><a id="8071" href="Algebra.Structures.html#8071" class="Field">zeroˡ</a> <a id="8085" class="Symbol">:</a> <a id="8087" href="Algebra.Definitions.html#1942" class="Function">LeftZero</a> <a id="8096" href="Algebra.Structures.html#7889" class="Bound">0#</a> <a id="8099" href="Algebra.Structures.html#7877" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="8104" class="Keyword">open</a> <a id="8109" href="Algebra.Structures.html#3974" class="Module">IsMonoid</a> <a id="8118" href="Algebra.Structures.html#7929" class="Field">+-isMonoid</a> <a id="8129" class="Keyword">public</a>
|
|||
|
<a id="8140" class="Keyword">renaming</a>
|
|||
|
<a id="8153" class="Symbol">(</a> <a id="8155" href="Algebra.Structures.html#2977" class="Function">assoc</a> <a id="8169" class="Symbol">to</a> <a id="8172" class="Function">+-assoc</a>
|
|||
|
<a id="8184" class="Symbol">;</a> <a id="8186" href="Algebra.Structures.html#1315" class="Function">∙-cong</a> <a id="8200" class="Symbol">to</a> <a id="8203" class="Function">+-cong</a>
|
|||
|
<a id="8214" class="Symbol">;</a> <a id="8216" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="8230" class="Symbol">to</a> <a id="8233" class="Function">+-congˡ</a>
|
|||
|
<a id="8245" class="Symbol">;</a> <a id="8247" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="8261" class="Symbol">to</a> <a id="8264" class="Function">+-congʳ</a>
|
|||
|
<a id="8276" class="Symbol">;</a> <a id="8278" href="Algebra.Structures.html#4067" class="Field">identity</a> <a id="8292" class="Symbol">to</a> <a id="8295" class="Field">+-identity</a>
|
|||
|
<a id="8310" class="Symbol">;</a> <a id="8312" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="8326" class="Symbol">to</a> <a id="8329" class="Function">+-identityˡ</a>
|
|||
|
<a id="8345" class="Symbol">;</a> <a id="8347" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="8361" class="Symbol">to</a> <a id="8364" class="Function">+-identityʳ</a>
|
|||
|
<a id="8380" class="Symbol">;</a> <a id="8382" href="Algebra.Structures.html#2953" class="Function">isMagma</a> <a id="8396" class="Symbol">to</a> <a id="8399" class="Function">+-isMagma</a>
|
|||
|
<a id="8413" class="Symbol">;</a> <a id="8415" href="Algebra.Structures.html#4259" class="Function">isUnitalMagma</a> <a id="8429" class="Symbol">to</a> <a id="8432" class="Function">+-isUnitalMagma</a>
|
|||
|
<a id="8452" class="Symbol">;</a> <a id="8454" href="Algebra.Structures.html#4035" class="Field">isSemigroup</a> <a id="8468" class="Symbol">to</a> <a id="8471" class="Field">+-isSemigroup</a>
|
|||
|
<a id="8489" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsNearSemiring.*-isMagma"></a><a id="8494" href="Algebra.Structures.html#8494" class="Function">*-isMagma</a> <a id="8504" class="Symbol">:</a> <a id="8506" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="8514" href="Algebra.Structures.html#7877" class="Bound">*</a>
|
|||
|
<a id="8518" href="Algebra.Structures.html#8494" class="Function">*-isMagma</a> <a id="8528" class="Symbol">=</a> <a id="8530" class="Keyword">record</a>
|
|||
|
<a id="8541" class="Symbol">{</a> <a id="8543" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="8557" class="Symbol">=</a> <a id="8559" href="Algebra.Structures.html#1277" class="Function">isEquivalence</a>
|
|||
|
<a id="8577" class="Symbol">;</a> <a id="8579" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="8593" class="Symbol">=</a> <a id="8595" href="Algebra.Structures.html#7963" class="Field">*-cong</a>
|
|||
|
<a id="8606" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsNearSemiring.*-isSemigroup"></a><a id="8611" href="Algebra.Structures.html#8611" class="Function">*-isSemigroup</a> <a id="8625" class="Symbol">:</a> <a id="8627" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="8639" href="Algebra.Structures.html#7877" class="Bound">*</a>
|
|||
|
<a id="8643" href="Algebra.Structures.html#8611" class="Function">*-isSemigroup</a> <a id="8657" class="Symbol">=</a> <a id="8659" class="Keyword">record</a>
|
|||
|
<a id="8670" class="Symbol">{</a> <a id="8672" href="Algebra.Structures.html#2953" class="Field">isMagma</a> <a id="8680" class="Symbol">=</a> <a id="8682" href="Algebra.Structures.html#8494" class="Function">*-isMagma</a>
|
|||
|
<a id="8696" class="Symbol">;</a> <a id="8698" href="Algebra.Structures.html#2977" class="Field">assoc</a> <a id="8706" class="Symbol">=</a> <a id="8708" href="Algebra.Structures.html#7996" class="Field">*-assoc</a>
|
|||
|
<a id="8720" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="8725" class="Keyword">open</a> <a id="8730" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="8738" href="Algebra.Structures.html#8494" class="Function">*-isMagma</a> <a id="8748" class="Keyword">public</a>
|
|||
|
<a id="8759" class="Keyword">using</a> <a id="8765" class="Symbol">()</a>
|
|||
|
<a id="8772" class="Keyword">renaming</a>
|
|||
|
<a id="8785" class="Symbol">(</a> <a id="8787" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="8796" class="Symbol">to</a> <a id="8799" class="Function">*-congˡ</a>
|
|||
|
<a id="8811" class="Symbol">;</a> <a id="8813" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="8822" class="Symbol">to</a> <a id="8825" class="Function">*-congʳ</a>
|
|||
|
<a id="8837" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="8841" class="Keyword">record</a> <a id="IsSemiringWithoutOne"></a><a id="8848" href="Algebra.Structures.html#8848" class="Record">IsSemiringWithoutOne</a> <a id="8869" class="Symbol">(</a><a id="8870" href="Algebra.Structures.html#8870" class="Bound">+</a> <a id="8872" href="Algebra.Structures.html#8872" class="Bound">*</a> <a id="8874" class="Symbol">:</a> <a id="8876" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="8880" href="Algebra.Structures.html#622" class="Bound">A</a><a id="8881" class="Symbol">)</a> <a id="8883" class="Symbol">(</a><a id="8884" href="Algebra.Structures.html#8884" class="Bound">0#</a> <a id="8887" class="Symbol">:</a> <a id="8889" href="Algebra.Structures.html#622" class="Bound">A</a><a id="8890" class="Symbol">)</a> <a id="8892" class="Symbol">:</a> <a id="8894" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="8898" class="Symbol">(</a><a id="8899" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="8901" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="8903" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="8904" class="Symbol">)</a> <a id="8906" class="Keyword">where</a>
|
|||
|
<a id="8914" class="Keyword">field</a>
|
|||
|
<a id="IsSemiringWithoutOne.+-isCommutativeMonoid"></a><a id="8924" href="Algebra.Structures.html#8924" class="Field">+-isCommutativeMonoid</a> <a id="8946" class="Symbol">:</a> <a id="8948" href="Algebra.Structures.html#4384" class="Record">IsCommutativeMonoid</a> <a id="8968" href="Algebra.Structures.html#8870" class="Bound">+</a> <a id="8970" href="Algebra.Structures.html#8884" class="Bound">0#</a>
|
|||
|
<a id="IsSemiringWithoutOne.*-cong"></a><a id="8977" href="Algebra.Structures.html#8977" class="Field">*-cong</a> <a id="8999" class="Symbol">:</a> <a id="9001" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="9012" href="Algebra.Structures.html#8872" class="Bound">*</a>
|
|||
|
<a id="IsSemiringWithoutOne.*-assoc"></a><a id="9018" href="Algebra.Structures.html#9018" class="Field">*-assoc</a> <a id="9040" class="Symbol">:</a> <a id="9042" href="Algebra.Definitions.html#1548" class="Function">Associative</a> <a id="9054" href="Algebra.Structures.html#8872" class="Bound">*</a>
|
|||
|
<a id="IsSemiringWithoutOne.distrib"></a><a id="9060" href="Algebra.Structures.html#9060" class="Field">distrib</a> <a id="9082" class="Symbol">:</a> <a id="9084" href="Algebra.Structures.html#8872" class="Bound">*</a> <a id="9086" href="Algebra.Definitions.html#3393" class="Function Operator">DistributesOver</a> <a id="9102" href="Algebra.Structures.html#8870" class="Bound">+</a>
|
|||
|
<a id="IsSemiringWithoutOne.zero"></a><a id="9108" href="Algebra.Structures.html#9108" class="Field">zero</a> <a id="9130" class="Symbol">:</a> <a id="9132" href="Algebra.Definitions.html#2074" class="Function">Zero</a> <a id="9137" href="Algebra.Structures.html#8884" class="Bound">0#</a> <a id="9140" href="Algebra.Structures.html#8872" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="9145" class="Keyword">open</a> <a id="9150" href="Algebra.Structures.html#4384" class="Module">IsCommutativeMonoid</a> <a id="9170" href="Algebra.Structures.html#8924" class="Field">+-isCommutativeMonoid</a> <a id="9192" class="Keyword">public</a>
|
|||
|
<a id="9203" class="Keyword">using</a> <a id="9209" class="Symbol">(</a><a id="9210" href="Algebra.Structures.html#1390" class="Function">setoid</a><a id="9216" class="Symbol">)</a>
|
|||
|
<a id="9222" class="Keyword">renaming</a>
|
|||
|
<a id="9235" class="Symbol">(</a> <a id="9237" href="Algebra.Structures.html#4484" class="Field">comm</a> <a id="9260" class="Symbol">to</a> <a id="9263" class="Field">+-comm</a>
|
|||
|
<a id="9274" class="Symbol">;</a> <a id="9276" href="Algebra.Structures.html#4456" class="Field">isMonoid</a> <a id="9299" class="Symbol">to</a> <a id="9302" class="Field">+-isMonoid</a>
|
|||
|
<a id="9317" class="Symbol">;</a> <a id="9319" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a> <a id="9342" class="Symbol">to</a> <a id="9345" class="Function">+-isCommutativeMagma</a>
|
|||
|
<a id="9370" class="Symbol">;</a> <a id="9372" href="Algebra.Structures.html#4545" class="Function">isCommutativeSemigroup</a> <a id="9395" class="Symbol">to</a> <a id="9398" class="Function">+-isCommutativeSemigroup</a>
|
|||
|
<a id="9427" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="9432" class="Keyword">open</a> <a id="9437" href="Relation.Binary.Bundles.html#1080" class="Module">Setoid</a> <a id="9444" href="Algebra.Structures.html#1390" class="Function">setoid</a> <a id="9451" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutOne.*-isMagma"></a><a id="9461" href="Algebra.Structures.html#9461" class="Function">*-isMagma</a> <a id="9471" class="Symbol">:</a> <a id="9473" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="9481" href="Algebra.Structures.html#8872" class="Bound">*</a>
|
|||
|
<a id="9485" href="Algebra.Structures.html#9461" class="Function">*-isMagma</a> <a id="9495" class="Symbol">=</a> <a id="9497" class="Keyword">record</a>
|
|||
|
<a id="9508" class="Symbol">{</a> <a id="9510" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="9524" class="Symbol">=</a> <a id="9526" href="Relation.Binary.Bundles.html#1203" class="Function">isEquivalence</a>
|
|||
|
<a id="9544" class="Symbol">;</a> <a id="9546" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="9560" class="Symbol">=</a> <a id="9562" href="Algebra.Structures.html#8977" class="Field">*-cong</a>
|
|||
|
<a id="9573" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutOne.*-isSemigroup"></a><a id="9578" href="Algebra.Structures.html#9578" class="Function">*-isSemigroup</a> <a id="9592" class="Symbol">:</a> <a id="9594" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="9606" href="Algebra.Structures.html#8872" class="Bound">*</a>
|
|||
|
<a id="9610" href="Algebra.Structures.html#9578" class="Function">*-isSemigroup</a> <a id="9624" class="Symbol">=</a> <a id="9626" class="Keyword">record</a>
|
|||
|
<a id="9637" class="Symbol">{</a> <a id="9639" href="Algebra.Structures.html#2953" class="Field">isMagma</a> <a id="9647" class="Symbol">=</a> <a id="9649" href="Algebra.Structures.html#9461" class="Function">*-isMagma</a>
|
|||
|
<a id="9663" class="Symbol">;</a> <a id="9665" href="Algebra.Structures.html#2977" class="Field">assoc</a> <a id="9673" class="Symbol">=</a> <a id="9675" href="Algebra.Structures.html#9018" class="Field">*-assoc</a>
|
|||
|
<a id="9687" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="9692" class="Keyword">open</a> <a id="9697" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="9705" href="Algebra.Structures.html#9461" class="Function">*-isMagma</a> <a id="9715" class="Keyword">public</a>
|
|||
|
<a id="9726" class="Keyword">using</a> <a id="9732" class="Symbol">()</a>
|
|||
|
<a id="9739" class="Keyword">renaming</a>
|
|||
|
<a id="9752" class="Symbol">(</a> <a id="9754" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="9762" class="Symbol">to</a> <a id="9765" class="Function">*-congˡ</a>
|
|||
|
<a id="9777" class="Symbol">;</a> <a id="9779" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="9787" class="Symbol">to</a> <a id="9790" class="Function">*-congʳ</a>
|
|||
|
<a id="9802" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutOne.zeroˡ"></a><a id="9807" href="Algebra.Structures.html#9807" class="Function">zeroˡ</a> <a id="9813" class="Symbol">:</a> <a id="9815" href="Algebra.Definitions.html#1942" class="Function">LeftZero</a> <a id="9824" href="Algebra.Structures.html#8884" class="Bound">0#</a> <a id="9827" href="Algebra.Structures.html#8872" class="Bound">*</a>
|
|||
|
<a id="9831" href="Algebra.Structures.html#9807" class="Function">zeroˡ</a> <a id="9837" class="Symbol">=</a> <a id="9839" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="9845" href="Algebra.Structures.html#9108" class="Field">zero</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutOne.zeroʳ"></a><a id="9853" href="Algebra.Structures.html#9853" class="Function">zeroʳ</a> <a id="9859" class="Symbol">:</a> <a id="9861" href="Algebra.Definitions.html#2007" class="Function">RightZero</a> <a id="9871" href="Algebra.Structures.html#8884" class="Bound">0#</a> <a id="9874" href="Algebra.Structures.html#8872" class="Bound">*</a>
|
|||
|
<a id="9878" href="Algebra.Structures.html#9853" class="Function">zeroʳ</a> <a id="9884" class="Symbol">=</a> <a id="9886" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="9892" href="Algebra.Structures.html#9108" class="Field">zero</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutOne.isNearSemiring"></a><a id="9900" href="Algebra.Structures.html#9900" class="Function">isNearSemiring</a> <a id="9915" class="Symbol">:</a> <a id="9917" href="Algebra.Structures.html#7859" class="Record">IsNearSemiring</a> <a id="9932" href="Algebra.Structures.html#8870" class="Bound">+</a> <a id="9934" href="Algebra.Structures.html#8872" class="Bound">*</a> <a id="9936" href="Algebra.Structures.html#8884" class="Bound">0#</a>
|
|||
|
<a id="9941" href="Algebra.Structures.html#9900" class="Function">isNearSemiring</a> <a id="9956" class="Symbol">=</a> <a id="9958" class="Keyword">record</a>
|
|||
|
<a id="9969" class="Symbol">{</a> <a id="9971" href="Algebra.Structures.html#7929" class="Field">+-isMonoid</a> <a id="9985" class="Symbol">=</a> <a id="9987" href="Algebra.Structures.html#9302" class="Function">+-isMonoid</a>
|
|||
|
<a id="10002" class="Symbol">;</a> <a id="10004" href="Algebra.Structures.html#7963" class="Field">*-cong</a> <a id="10018" class="Symbol">=</a> <a id="10020" href="Algebra.Structures.html#8977" class="Field">*-cong</a>
|
|||
|
<a id="10031" class="Symbol">;</a> <a id="10033" href="Algebra.Structures.html#7996" class="Field">*-assoc</a> <a id="10047" class="Symbol">=</a> <a id="10049" href="Algebra.Structures.html#9018" class="Field">*-assoc</a>
|
|||
|
<a id="10061" class="Symbol">;</a> <a id="10063" href="Algebra.Structures.html#8030" class="Field">distribʳ</a> <a id="10077" class="Symbol">=</a> <a id="10079" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="10085" href="Algebra.Structures.html#9060" class="Field">distrib</a>
|
|||
|
<a id="10097" class="Symbol">;</a> <a id="10099" href="Algebra.Structures.html#8071" class="Field">zeroˡ</a> <a id="10113" class="Symbol">=</a> <a id="10115" href="Algebra.Structures.html#9807" class="Function">zeroˡ</a>
|
|||
|
<a id="10125" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="10128" class="Keyword">record</a> <a id="IsCommutativeSemiringWithoutOne"></a><a id="10135" href="Algebra.Structures.html#10135" class="Record">IsCommutativeSemiringWithoutOne</a>
|
|||
|
<a id="10176" class="Symbol">(</a><a id="10177" href="Algebra.Structures.html#10177" class="Bound">+</a> <a id="10179" href="Algebra.Structures.html#10179" class="Bound">*</a> <a id="10181" class="Symbol">:</a> <a id="10183" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="10187" href="Algebra.Structures.html#622" class="Bound">A</a><a id="10188" class="Symbol">)</a> <a id="10190" class="Symbol">(</a><a id="10191" href="Algebra.Structures.html#10191" class="Bound">0#</a> <a id="10194" class="Symbol">:</a> <a id="10196" href="Algebra.Structures.html#622" class="Bound">A</a><a id="10197" class="Symbol">)</a> <a id="10199" class="Symbol">:</a> <a id="10201" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="10205" class="Symbol">(</a><a id="10206" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="10208" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="10210" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="10211" class="Symbol">)</a> <a id="10213" class="Keyword">where</a>
|
|||
|
<a id="10221" class="Keyword">field</a>
|
|||
|
<a id="IsCommutativeSemiringWithoutOne.isSemiringWithoutOne"></a><a id="10231" href="Algebra.Structures.html#10231" class="Field">isSemiringWithoutOne</a> <a id="10252" class="Symbol">:</a> <a id="10254" href="Algebra.Structures.html#8848" class="Record">IsSemiringWithoutOne</a> <a id="10275" href="Algebra.Structures.html#10177" class="Bound">+</a> <a id="10277" href="Algebra.Structures.html#10179" class="Bound">*</a> <a id="10279" href="Algebra.Structures.html#10191" class="Bound">0#</a>
|
|||
|
<a id="IsCommutativeSemiringWithoutOne.*-comm"></a><a id="10286" href="Algebra.Structures.html#10286" class="Field">*-comm</a> <a id="10307" class="Symbol">:</a> <a id="10309" href="Algebra.Definitions.html#1635" class="Function">Commutative</a> <a id="10321" href="Algebra.Structures.html#10179" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="10326" class="Keyword">open</a> <a id="10331" href="Algebra.Structures.html#8848" class="Module">IsSemiringWithoutOne</a> <a id="10352" href="Algebra.Structures.html#10231" class="Field">isSemiringWithoutOne</a> <a id="10373" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsCommutativeSemiringWithoutOne.*-isCommutativeSemigroup"></a><a id="10383" href="Algebra.Structures.html#10383" class="Function">*-isCommutativeSemigroup</a> <a id="10408" class="Symbol">:</a> <a id="10410" href="Algebra.Structures.html#3199" class="Record">IsCommutativeSemigroup</a> <a id="10433" href="Algebra.Structures.html#10179" class="Bound">*</a>
|
|||
|
<a id="10437" href="Algebra.Structures.html#10383" class="Function">*-isCommutativeSemigroup</a> <a id="10462" class="Symbol">=</a> <a id="10464" class="Keyword">record</a>
|
|||
|
<a id="10475" class="Symbol">{</a> <a id="10477" href="Algebra.Structures.html#3266" class="Field">isSemigroup</a> <a id="10489" class="Symbol">=</a> <a id="10491" href="Algebra.Structures.html#9578" class="Function">*-isSemigroup</a>
|
|||
|
<a id="10509" class="Symbol">;</a> <a id="10511" href="Algebra.Structures.html#3298" class="Field">comm</a> <a id="10523" class="Symbol">=</a> <a id="10525" href="Algebra.Structures.html#10286" class="Field">*-comm</a>
|
|||
|
<a id="10536" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="10541" class="Keyword">open</a> <a id="10546" href="Algebra.Structures.html#3199" class="Module">IsCommutativeSemigroup</a> <a id="10569" href="Algebra.Structures.html#10383" class="Function">*-isCommutativeSemigroup</a> <a id="10594" class="Keyword">public</a>
|
|||
|
<a id="10605" class="Keyword">using</a> <a id="10611" class="Symbol">()</a> <a id="10614" class="Keyword">renaming</a> <a id="10623" class="Symbol">(</a><a id="10624" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a> <a id="10643" class="Symbol">to</a> <a id="10646" class="Function">*-isCommutativeMagma</a><a id="10666" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="10669" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="10742" class="Comment">-- Structures with 2 binary operations & 2 elements</a>
|
|||
|
<a id="10794" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="10868" class="Keyword">record</a> <a id="IsSemiringWithoutAnnihilatingZero"></a><a id="10875" href="Algebra.Structures.html#10875" class="Record">IsSemiringWithoutAnnihilatingZero</a> <a id="10909" class="Symbol">(</a><a id="10910" href="Algebra.Structures.html#10910" class="Bound">+</a> <a id="10912" href="Algebra.Structures.html#10912" class="Bound">*</a> <a id="10914" class="Symbol">:</a> <a id="10916" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="10920" href="Algebra.Structures.html#622" class="Bound">A</a><a id="10921" class="Symbol">)</a>
|
|||
|
<a id="10964" class="Symbol">(</a><a id="10965" href="Algebra.Structures.html#10965" class="Bound">0#</a> <a id="10968" href="Algebra.Structures.html#10968" class="Bound">1#</a> <a id="10971" class="Symbol">:</a> <a id="10973" href="Algebra.Structures.html#622" class="Bound">A</a><a id="10974" class="Symbol">)</a> <a id="10976" class="Symbol">:</a> <a id="10978" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="10982" class="Symbol">(</a><a id="10983" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="10985" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="10987" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="10988" class="Symbol">)</a> <a id="10990" class="Keyword">where</a>
|
|||
|
<a id="10998" class="Keyword">field</a>
|
|||
|
<a id="11008" class="Comment">-- Note that these structures do have an additive unit, but this</a>
|
|||
|
<a id="11077" class="Comment">-- unit does not necessarily annihilate multiplication.</a>
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.+-isCommutativeMonoid"></a><a id="11137" href="Algebra.Structures.html#11137" class="Field">+-isCommutativeMonoid</a> <a id="11159" class="Symbol">:</a> <a id="11161" href="Algebra.Structures.html#4384" class="Record">IsCommutativeMonoid</a> <a id="11181" href="Algebra.Structures.html#10910" class="Bound">+</a> <a id="11183" href="Algebra.Structures.html#10965" class="Bound">0#</a>
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.*-cong"></a><a id="11190" href="Algebra.Structures.html#11190" class="Field">*-cong</a> <a id="11212" class="Symbol">:</a> <a id="11214" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="11225" href="Algebra.Structures.html#10912" class="Bound">*</a>
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.*-assoc"></a><a id="11231" href="Algebra.Structures.html#11231" class="Field">*-assoc</a> <a id="11253" class="Symbol">:</a> <a id="11255" href="Algebra.Definitions.html#1548" class="Function">Associative</a> <a id="11267" href="Algebra.Structures.html#10912" class="Bound">*</a>
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.*-identity"></a><a id="11273" href="Algebra.Structures.html#11273" class="Field">*-identity</a> <a id="11295" class="Symbol">:</a> <a id="11297" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="11306" href="Algebra.Structures.html#10968" class="Bound">1#</a> <a id="11309" href="Algebra.Structures.html#10912" class="Bound">*</a>
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.distrib"></a><a id="11315" href="Algebra.Structures.html#11315" class="Field">distrib</a> <a id="11337" class="Symbol">:</a> <a id="11339" href="Algebra.Structures.html#10912" class="Bound">*</a> <a id="11341" href="Algebra.Definitions.html#3393" class="Function Operator">DistributesOver</a> <a id="11357" href="Algebra.Structures.html#10910" class="Bound">+</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.distribˡ"></a><a id="11362" href="Algebra.Structures.html#11362" class="Function">distribˡ</a> <a id="11371" class="Symbol">:</a> <a id="11373" href="Algebra.Structures.html#10912" class="Bound">*</a> <a id="11375" href="Algebra.Definitions.html#3155" class="Function Operator">DistributesOverˡ</a> <a id="11392" href="Algebra.Structures.html#10910" class="Bound">+</a>
|
|||
|
<a id="11396" href="Algebra.Structures.html#11362" class="Function">distribˡ</a> <a id="11405" class="Symbol">=</a> <a id="11407" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="11413" href="Algebra.Structures.html#11315" class="Field">distrib</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.distribʳ"></a><a id="11424" href="Algebra.Structures.html#11424" class="Function">distribʳ</a> <a id="11433" class="Symbol">:</a> <a id="11435" href="Algebra.Structures.html#10912" class="Bound">*</a> <a id="11437" href="Algebra.Definitions.html#3274" class="Function Operator">DistributesOverʳ</a> <a id="11454" href="Algebra.Structures.html#10910" class="Bound">+</a>
|
|||
|
<a id="11458" href="Algebra.Structures.html#11424" class="Function">distribʳ</a> <a id="11467" class="Symbol">=</a> <a id="11469" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="11475" href="Algebra.Structures.html#11315" class="Field">distrib</a>
|
|||
|
|
|||
|
<a id="11486" class="Keyword">open</a> <a id="11491" href="Algebra.Structures.html#4384" class="Module">IsCommutativeMonoid</a> <a id="11511" href="Algebra.Structures.html#11137" class="Field">+-isCommutativeMonoid</a> <a id="11533" class="Keyword">public</a>
|
|||
|
<a id="11544" class="Keyword">renaming</a>
|
|||
|
<a id="11557" class="Symbol">(</a> <a id="11559" href="Algebra.Structures.html#2977" class="Function">assoc</a> <a id="11582" class="Symbol">to</a> <a id="11585" class="Function">+-assoc</a>
|
|||
|
<a id="11597" class="Symbol">;</a> <a id="11599" href="Algebra.Structures.html#1315" class="Function">∙-cong</a> <a id="11622" class="Symbol">to</a> <a id="11625" class="Function">+-cong</a>
|
|||
|
<a id="11636" class="Symbol">;</a> <a id="11638" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="11661" class="Symbol">to</a> <a id="11664" class="Function">+-congˡ</a>
|
|||
|
<a id="11676" class="Symbol">;</a> <a id="11678" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="11701" class="Symbol">to</a> <a id="11704" class="Function">+-congʳ</a>
|
|||
|
<a id="11716" class="Symbol">;</a> <a id="11718" href="Algebra.Structures.html#4067" class="Function">identity</a> <a id="11741" class="Symbol">to</a> <a id="11744" class="Function">+-identity</a>
|
|||
|
<a id="11759" class="Symbol">;</a> <a id="11761" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="11784" class="Symbol">to</a> <a id="11787" class="Function">+-identityˡ</a>
|
|||
|
<a id="11803" class="Symbol">;</a> <a id="11805" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="11828" class="Symbol">to</a> <a id="11831" class="Function">+-identityʳ</a>
|
|||
|
<a id="11847" class="Symbol">;</a> <a id="11849" href="Algebra.Structures.html#4484" class="Field">comm</a> <a id="11872" class="Symbol">to</a> <a id="11875" class="Field">+-comm</a>
|
|||
|
<a id="11886" class="Symbol">;</a> <a id="11888" href="Algebra.Structures.html#2953" class="Function">isMagma</a> <a id="11911" class="Symbol">to</a> <a id="11914" class="Function">+-isMagma</a>
|
|||
|
<a id="11928" class="Symbol">;</a> <a id="11930" href="Algebra.Structures.html#4035" class="Function">isSemigroup</a> <a id="11953" class="Symbol">to</a> <a id="11956" class="Function">+-isSemigroup</a>
|
|||
|
<a id="11974" class="Symbol">;</a> <a id="11976" href="Algebra.Structures.html#4456" class="Field">isMonoid</a> <a id="11999" class="Symbol">to</a> <a id="12002" class="Field">+-isMonoid</a>
|
|||
|
<a id="12017" class="Symbol">;</a> <a id="12019" href="Algebra.Structures.html#4259" class="Function">isUnitalMagma</a> <a id="12042" class="Symbol">to</a> <a id="12045" class="Function">+-isUnitalMagma</a>
|
|||
|
<a id="12065" class="Symbol">;</a> <a id="12067" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a> <a id="12090" class="Symbol">to</a> <a id="12093" class="Function">+-isCommutativeMagma</a>
|
|||
|
<a id="12118" class="Symbol">;</a> <a id="12120" href="Algebra.Structures.html#4545" class="Function">isCommutativeSemigroup</a> <a id="12143" class="Symbol">to</a> <a id="12146" class="Function">+-isCommutativeSemigroup</a>
|
|||
|
<a id="12175" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.*-isMagma"></a><a id="12180" href="Algebra.Structures.html#12180" class="Function">*-isMagma</a> <a id="12190" class="Symbol">:</a> <a id="12192" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="12200" href="Algebra.Structures.html#10912" class="Bound">*</a>
|
|||
|
<a id="12204" href="Algebra.Structures.html#12180" class="Function">*-isMagma</a> <a id="12214" class="Symbol">=</a> <a id="12216" class="Keyword">record</a>
|
|||
|
<a id="12227" class="Symbol">{</a> <a id="12229" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="12243" class="Symbol">=</a> <a id="12245" href="Algebra.Structures.html#1277" class="Function">isEquivalence</a>
|
|||
|
<a id="12263" class="Symbol">;</a> <a id="12265" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="12279" class="Symbol">=</a> <a id="12281" href="Algebra.Structures.html#11190" class="Field">*-cong</a>
|
|||
|
<a id="12292" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.*-isSemigroup"></a><a id="12297" href="Algebra.Structures.html#12297" class="Function">*-isSemigroup</a> <a id="12311" class="Symbol">:</a> <a id="12313" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="12325" href="Algebra.Structures.html#10912" class="Bound">*</a>
|
|||
|
<a id="12329" href="Algebra.Structures.html#12297" class="Function">*-isSemigroup</a> <a id="12343" class="Symbol">=</a> <a id="12345" class="Keyword">record</a>
|
|||
|
<a id="12356" class="Symbol">{</a> <a id="12358" href="Algebra.Structures.html#2953" class="Field">isMagma</a> <a id="12366" class="Symbol">=</a> <a id="12368" href="Algebra.Structures.html#12180" class="Function">*-isMagma</a>
|
|||
|
<a id="12382" class="Symbol">;</a> <a id="12384" href="Algebra.Structures.html#2977" class="Field">assoc</a> <a id="12392" class="Symbol">=</a> <a id="12394" href="Algebra.Structures.html#11231" class="Field">*-assoc</a>
|
|||
|
<a id="12406" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsSemiringWithoutAnnihilatingZero.*-isMonoid"></a><a id="12411" href="Algebra.Structures.html#12411" class="Function">*-isMonoid</a> <a id="12422" class="Symbol">:</a> <a id="12424" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="12433" href="Algebra.Structures.html#10912" class="Bound">*</a> <a id="12435" href="Algebra.Structures.html#10968" class="Bound">1#</a>
|
|||
|
<a id="12440" href="Algebra.Structures.html#12411" class="Function">*-isMonoid</a> <a id="12451" class="Symbol">=</a> <a id="12453" class="Keyword">record</a>
|
|||
|
<a id="12464" class="Symbol">{</a> <a id="12466" href="Algebra.Structures.html#4035" class="Field">isSemigroup</a> <a id="12478" class="Symbol">=</a> <a id="12480" href="Algebra.Structures.html#12297" class="Function">*-isSemigroup</a>
|
|||
|
<a id="12498" class="Symbol">;</a> <a id="12500" href="Algebra.Structures.html#4067" class="Field">identity</a> <a id="12512" class="Symbol">=</a> <a id="12514" href="Algebra.Structures.html#11273" class="Field">*-identity</a>
|
|||
|
<a id="12529" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="12534" class="Keyword">open</a> <a id="12539" href="Algebra.Structures.html#3974" class="Module">IsMonoid</a> <a id="12548" href="Algebra.Structures.html#12411" class="Function">*-isMonoid</a> <a id="12559" class="Keyword">public</a>
|
|||
|
<a id="12570" class="Keyword">using</a> <a id="12576" class="Symbol">()</a>
|
|||
|
<a id="12583" class="Keyword">renaming</a>
|
|||
|
<a id="12596" class="Symbol">(</a> <a id="12598" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="12610" class="Symbol">to</a> <a id="12613" class="Function">*-congˡ</a>
|
|||
|
<a id="12625" class="Symbol">;</a> <a id="12627" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="12639" class="Symbol">to</a> <a id="12642" class="Function">*-congʳ</a>
|
|||
|
<a id="12654" class="Symbol">;</a> <a id="12656" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="12668" class="Symbol">to</a> <a id="12671" class="Function">*-identityˡ</a>
|
|||
|
<a id="12687" class="Symbol">;</a> <a id="12689" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="12701" class="Symbol">to</a> <a id="12704" class="Function">*-identityʳ</a>
|
|||
|
<a id="12720" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="12724" class="Keyword">record</a> <a id="IsSemiring"></a><a id="12731" href="Algebra.Structures.html#12731" class="Record">IsSemiring</a> <a id="12742" class="Symbol">(</a><a id="12743" href="Algebra.Structures.html#12743" class="Bound">+</a> <a id="12745" href="Algebra.Structures.html#12745" class="Bound">*</a> <a id="12747" class="Symbol">:</a> <a id="12749" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="12753" href="Algebra.Structures.html#622" class="Bound">A</a><a id="12754" class="Symbol">)</a> <a id="12756" class="Symbol">(</a><a id="12757" href="Algebra.Structures.html#12757" class="Bound">0#</a> <a id="12760" href="Algebra.Structures.html#12760" class="Bound">1#</a> <a id="12763" class="Symbol">:</a> <a id="12765" href="Algebra.Structures.html#622" class="Bound">A</a><a id="12766" class="Symbol">)</a> <a id="12768" class="Symbol">:</a> <a id="12770" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="12774" class="Symbol">(</a><a id="12775" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="12777" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="12779" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="12780" class="Symbol">)</a> <a id="12782" class="Keyword">where</a>
|
|||
|
<a id="12790" class="Keyword">field</a>
|
|||
|
<a id="IsSemiring.isSemiringWithoutAnnihilatingZero"></a><a id="12800" href="Algebra.Structures.html#12800" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="12834" class="Symbol">:</a>
|
|||
|
<a id="12842" href="Algebra.Structures.html#10875" class="Record">IsSemiringWithoutAnnihilatingZero</a> <a id="12876" href="Algebra.Structures.html#12743" class="Bound">+</a> <a id="12878" href="Algebra.Structures.html#12745" class="Bound">*</a> <a id="12880" href="Algebra.Structures.html#12757" class="Bound">0#</a> <a id="12883" href="Algebra.Structures.html#12760" class="Bound">1#</a>
|
|||
|
<a id="IsSemiring.zero"></a><a id="12890" href="Algebra.Structures.html#12890" class="Field">zero</a> <a id="12895" class="Symbol">:</a> <a id="12897" href="Algebra.Definitions.html#2074" class="Function">Zero</a> <a id="12902" href="Algebra.Structures.html#12757" class="Bound">0#</a> <a id="12905" href="Algebra.Structures.html#12745" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="12910" class="Keyword">open</a> <a id="12915" href="Algebra.Structures.html#10875" class="Module">IsSemiringWithoutAnnihilatingZero</a>
|
|||
|
<a id="12958" href="Algebra.Structures.html#12800" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="12992" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsSemiring.isSemiringWithoutOne"></a><a id="13002" href="Algebra.Structures.html#13002" class="Function">isSemiringWithoutOne</a> <a id="13023" class="Symbol">:</a> <a id="13025" href="Algebra.Structures.html#8848" class="Record">IsSemiringWithoutOne</a> <a id="13046" href="Algebra.Structures.html#12743" class="Bound">+</a> <a id="13048" href="Algebra.Structures.html#12745" class="Bound">*</a> <a id="13050" href="Algebra.Structures.html#12757" class="Bound">0#</a>
|
|||
|
<a id="13055" href="Algebra.Structures.html#13002" class="Function">isSemiringWithoutOne</a> <a id="13076" class="Symbol">=</a> <a id="13078" class="Keyword">record</a>
|
|||
|
<a id="13089" class="Symbol">{</a> <a id="13091" href="Algebra.Structures.html#8924" class="Field">+-isCommutativeMonoid</a> <a id="13113" class="Symbol">=</a> <a id="13115" href="Algebra.Structures.html#11137" class="Function">+-isCommutativeMonoid</a>
|
|||
|
<a id="13141" class="Symbol">;</a> <a id="13143" href="Algebra.Structures.html#8977" class="Field">*-cong</a> <a id="13165" class="Symbol">=</a> <a id="13167" href="Algebra.Structures.html#11190" class="Function">*-cong</a>
|
|||
|
<a id="13178" class="Symbol">;</a> <a id="13180" href="Algebra.Structures.html#9018" class="Field">*-assoc</a> <a id="13202" class="Symbol">=</a> <a id="13204" href="Algebra.Structures.html#11231" class="Function">*-assoc</a>
|
|||
|
<a id="13216" class="Symbol">;</a> <a id="13218" href="Algebra.Structures.html#9060" class="Field">distrib</a> <a id="13240" class="Symbol">=</a> <a id="13242" href="Algebra.Structures.html#11315" class="Function">distrib</a>
|
|||
|
<a id="13254" class="Symbol">;</a> <a id="13256" href="Algebra.Structures.html#9108" class="Field">zero</a> <a id="13278" class="Symbol">=</a> <a id="13280" href="Algebra.Structures.html#12890" class="Field">zero</a>
|
|||
|
<a id="13289" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="13294" class="Keyword">open</a> <a id="13299" href="Algebra.Structures.html#8848" class="Module">IsSemiringWithoutOne</a> <a id="13320" href="Algebra.Structures.html#13002" class="Function">isSemiringWithoutOne</a> <a id="13341" class="Keyword">public</a>
|
|||
|
<a id="13352" class="Keyword">using</a>
|
|||
|
<a id="13362" class="Symbol">(</a> <a id="13364" href="Algebra.Structures.html#9900" class="Function">isNearSemiring</a>
|
|||
|
<a id="13383" class="Symbol">;</a> <a id="13385" href="Algebra.Structures.html#9807" class="Function">zeroˡ</a>
|
|||
|
<a id="13395" class="Symbol">;</a> <a id="13397" href="Algebra.Structures.html#9853" class="Function">zeroʳ</a>
|
|||
|
<a id="13407" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="13411" class="Keyword">record</a> <a id="IsCommutativeSemiring"></a><a id="13418" href="Algebra.Structures.html#13418" class="Record">IsCommutativeSemiring</a> <a id="13440" class="Symbol">(</a><a id="13441" href="Algebra.Structures.html#13441" class="Bound">+</a> <a id="13443" href="Algebra.Structures.html#13443" class="Bound">*</a> <a id="13445" class="Symbol">:</a> <a id="13447" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="13451" href="Algebra.Structures.html#622" class="Bound">A</a><a id="13452" class="Symbol">)</a> <a id="13454" class="Symbol">(</a><a id="13455" href="Algebra.Structures.html#13455" class="Bound">0#</a> <a id="13458" href="Algebra.Structures.html#13458" class="Bound">1#</a> <a id="13461" class="Symbol">:</a> <a id="13463" href="Algebra.Structures.html#622" class="Bound">A</a><a id="13464" class="Symbol">)</a> <a id="13466" class="Symbol">:</a> <a id="13468" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="13472" class="Symbol">(</a><a id="13473" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="13475" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="13477" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="13478" class="Symbol">)</a> <a id="13480" class="Keyword">where</a>
|
|||
|
<a id="13488" class="Keyword">field</a>
|
|||
|
<a id="IsCommutativeSemiring.isSemiring"></a><a id="13498" href="Algebra.Structures.html#13498" class="Field">isSemiring</a> <a id="13509" class="Symbol">:</a> <a id="13511" href="Algebra.Structures.html#12731" class="Record">IsSemiring</a> <a id="13522" href="Algebra.Structures.html#13441" class="Bound">+</a> <a id="13524" href="Algebra.Structures.html#13443" class="Bound">*</a> <a id="13526" href="Algebra.Structures.html#13455" class="Bound">0#</a> <a id="13529" href="Algebra.Structures.html#13458" class="Bound">1#</a>
|
|||
|
<a id="IsCommutativeSemiring.*-comm"></a><a id="13536" href="Algebra.Structures.html#13536" class="Field">*-comm</a> <a id="13547" class="Symbol">:</a> <a id="13549" href="Algebra.Definitions.html#1635" class="Function">Commutative</a> <a id="13561" href="Algebra.Structures.html#13443" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="13566" class="Keyword">open</a> <a id="13571" href="Algebra.Structures.html#12731" class="Module">IsSemiring</a> <a id="13582" href="Algebra.Structures.html#13498" class="Field">isSemiring</a> <a id="13593" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsCommutativeSemiring.isCommutativeSemiringWithoutOne"></a><a id="13603" href="Algebra.Structures.html#13603" class="Function">isCommutativeSemiringWithoutOne</a> <a id="13635" class="Symbol">:</a>
|
|||
|
<a id="13641" href="Algebra.Structures.html#10135" class="Record">IsCommutativeSemiringWithoutOne</a> <a id="13673" href="Algebra.Structures.html#13441" class="Bound">+</a> <a id="13675" href="Algebra.Structures.html#13443" class="Bound">*</a> <a id="13677" href="Algebra.Structures.html#13455" class="Bound">0#</a>
|
|||
|
<a id="13682" href="Algebra.Structures.html#13603" class="Function">isCommutativeSemiringWithoutOne</a> <a id="13714" class="Symbol">=</a> <a id="13716" class="Keyword">record</a>
|
|||
|
<a id="13727" class="Symbol">{</a> <a id="13729" href="Algebra.Structures.html#10231" class="Field">isSemiringWithoutOne</a> <a id="13750" class="Symbol">=</a> <a id="13752" href="Algebra.Structures.html#13002" class="Function">isSemiringWithoutOne</a>
|
|||
|
<a id="13777" class="Symbol">;</a> <a id="13779" href="Algebra.Structures.html#10286" class="Field">*-comm</a> <a id="13786" class="Symbol">=</a> <a id="13788" href="Algebra.Structures.html#13536" class="Field">*-comm</a>
|
|||
|
<a id="13799" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="13804" class="Keyword">open</a> <a id="13809" href="Algebra.Structures.html#10135" class="Module">IsCommutativeSemiringWithoutOne</a> <a id="13841" href="Algebra.Structures.html#13603" class="Function">isCommutativeSemiringWithoutOne</a> <a id="13873" class="Keyword">public</a>
|
|||
|
<a id="13884" class="Keyword">using</a>
|
|||
|
<a id="13894" class="Symbol">(</a> <a id="13896" href="Algebra.Structures.html#10646" class="Function">*-isCommutativeMagma</a>
|
|||
|
<a id="13921" class="Symbol">;</a> <a id="13923" href="Algebra.Structures.html#10383" class="Function">*-isCommutativeSemigroup</a>
|
|||
|
<a id="13952" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsCommutativeSemiring.*-isCommutativeMonoid"></a><a id="13957" href="Algebra.Structures.html#13957" class="Function">*-isCommutativeMonoid</a> <a id="13979" class="Symbol">:</a> <a id="13981" href="Algebra.Structures.html#4384" class="Record">IsCommutativeMonoid</a> <a id="14001" href="Algebra.Structures.html#13443" class="Bound">*</a> <a id="14003" href="Algebra.Structures.html#13458" class="Bound">1#</a>
|
|||
|
<a id="14008" href="Algebra.Structures.html#13957" class="Function">*-isCommutativeMonoid</a> <a id="14030" class="Symbol">=</a> <a id="14032" class="Keyword">record</a>
|
|||
|
<a id="14043" class="Symbol">{</a> <a id="14045" href="Algebra.Structures.html#4456" class="Field">isMonoid</a> <a id="14054" class="Symbol">=</a> <a id="14056" href="Algebra.Structures.html#12411" class="Function">*-isMonoid</a>
|
|||
|
<a id="14071" class="Symbol">;</a> <a id="14073" href="Algebra.Structures.html#4484" class="Field">comm</a> <a id="14082" class="Symbol">=</a> <a id="14084" href="Algebra.Structures.html#13536" class="Field">*-comm</a>
|
|||
|
<a id="14095" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="14099" class="Keyword">record</a> <a id="IsCancellativeCommutativeSemiring"></a><a id="14106" href="Algebra.Structures.html#14106" class="Record">IsCancellativeCommutativeSemiring</a> <a id="14140" class="Symbol">(</a><a id="14141" href="Algebra.Structures.html#14141" class="Bound">+</a> <a id="14143" href="Algebra.Structures.html#14143" class="Bound">*</a> <a id="14145" class="Symbol">:</a> <a id="14147" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="14151" href="Algebra.Structures.html#622" class="Bound">A</a><a id="14152" class="Symbol">)</a> <a id="14154" class="Symbol">(</a><a id="14155" href="Algebra.Structures.html#14155" class="Bound">0#</a> <a id="14158" href="Algebra.Structures.html#14158" class="Bound">1#</a> <a id="14161" class="Symbol">:</a> <a id="14163" href="Algebra.Structures.html#622" class="Bound">A</a><a id="14164" class="Symbol">)</a> <a id="14166" class="Symbol">:</a> <a id="14168" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="14172" class="Symbol">(</a><a id="14173" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="14175" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="14177" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="14178" class="Symbol">)</a> <a id="14180" class="Keyword">where</a>
|
|||
|
<a id="14188" class="Keyword">field</a>
|
|||
|
<a id="IsCancellativeCommutativeSemiring.isCommutativeSemiring"></a><a id="14198" href="Algebra.Structures.html#14198" class="Field">isCommutativeSemiring</a> <a id="14220" class="Symbol">:</a> <a id="14222" href="Algebra.Structures.html#13418" class="Record">IsCommutativeSemiring</a> <a id="14244" href="Algebra.Structures.html#14141" class="Bound">+</a> <a id="14246" href="Algebra.Structures.html#14143" class="Bound">*</a> <a id="14248" href="Algebra.Structures.html#14155" class="Bound">0#</a> <a id="14251" href="Algebra.Structures.html#14158" class="Bound">1#</a>
|
|||
|
<a id="IsCancellativeCommutativeSemiring.*-cancelˡ-nonZero"></a><a id="14258" href="Algebra.Structures.html#14258" class="Field">*-cancelˡ-nonZero</a> <a id="14280" class="Symbol">:</a> <a id="14282" href="Algebra.Definitions.html#4500" class="Function">AlmostLeftCancellative</a> <a id="14305" href="Algebra.Structures.html#14155" class="Bound">0#</a> <a id="14308" href="Algebra.Structures.html#14143" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="14313" class="Keyword">open</a> <a id="14318" href="Algebra.Structures.html#13418" class="Module">IsCommutativeSemiring</a> <a id="14340" href="Algebra.Structures.html#14198" class="Field">isCommutativeSemiring</a> <a id="14362" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="14370" class="Keyword">record</a> <a id="IsIdempotentSemiring"></a><a id="14377" href="Algebra.Structures.html#14377" class="Record">IsIdempotentSemiring</a> <a id="14398" class="Symbol">(</a><a id="14399" href="Algebra.Structures.html#14399" class="Bound">+</a> <a id="14401" href="Algebra.Structures.html#14401" class="Bound">*</a> <a id="14403" class="Symbol">:</a> <a id="14405" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="14409" href="Algebra.Structures.html#622" class="Bound">A</a><a id="14410" class="Symbol">)</a> <a id="14412" class="Symbol">(</a><a id="14413" href="Algebra.Structures.html#14413" class="Bound">0#</a> <a id="14416" href="Algebra.Structures.html#14416" class="Bound">1#</a> <a id="14419" class="Symbol">:</a> <a id="14421" href="Algebra.Structures.html#622" class="Bound">A</a><a id="14422" class="Symbol">)</a> <a id="14424" class="Symbol">:</a> <a id="14426" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="14430" class="Symbol">(</a><a id="14431" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="14433" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="14435" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="14436" class="Symbol">)</a> <a id="14438" class="Keyword">where</a>
|
|||
|
<a id="14446" class="Keyword">field</a>
|
|||
|
<a id="IsIdempotentSemiring.isSemiring"></a><a id="14456" href="Algebra.Structures.html#14456" class="Field">isSemiring</a> <a id="14471" class="Symbol">:</a> <a id="14473" href="Algebra.Structures.html#12731" class="Record">IsSemiring</a> <a id="14484" href="Algebra.Structures.html#14399" class="Bound">+</a> <a id="14486" href="Algebra.Structures.html#14401" class="Bound">*</a> <a id="14488" href="Algebra.Structures.html#14413" class="Bound">0#</a> <a id="14491" href="Algebra.Structures.html#14416" class="Bound">1#</a>
|
|||
|
<a id="IsIdempotentSemiring.+-idem"></a><a id="14498" href="Algebra.Structures.html#14498" class="Field">+-idem</a> <a id="14513" class="Symbol">:</a> <a id="14515" href="Algebra.Definitions.html#3706" class="Function">Idempotent</a> <a id="14526" href="Algebra.Structures.html#14399" class="Bound">+</a>
|
|||
|
|
|||
|
<a id="14531" class="Keyword">open</a> <a id="14536" href="Algebra.Structures.html#12731" class="Module">IsSemiring</a> <a id="14547" href="Algebra.Structures.html#14456" class="Field">isSemiring</a> <a id="14558" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="14566" class="Keyword">record</a> <a id="IsKleeneAlgebra"></a><a id="14573" href="Algebra.Structures.html#14573" class="Record">IsKleeneAlgebra</a> <a id="14589" class="Symbol">(</a><a id="14590" href="Algebra.Structures.html#14590" class="Bound">+</a> <a id="14592" href="Algebra.Structures.html#14592" class="Bound">*</a> <a id="14594" class="Symbol">:</a> <a id="14596" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="14600" href="Algebra.Structures.html#622" class="Bound">A</a><a id="14601" class="Symbol">)</a> <a id="14603" class="Symbol">(</a><a id="14604" href="Algebra.Structures.html#14604" class="Bound">⋆</a> <a id="14606" class="Symbol">:</a> <a id="14608" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="14612" href="Algebra.Structures.html#622" class="Bound">A</a><a id="14613" class="Symbol">)</a> <a id="14615" class="Symbol">(</a><a id="14616" href="Algebra.Structures.html#14616" class="Bound">0#</a> <a id="14619" href="Algebra.Structures.html#14619" class="Bound">1#</a> <a id="14622" class="Symbol">:</a> <a id="14624" href="Algebra.Structures.html#622" class="Bound">A</a><a id="14625" class="Symbol">)</a> <a id="14627" class="Symbol">:</a> <a id="14629" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="14633" class="Symbol">(</a><a id="14634" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="14636" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="14638" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="14639" class="Symbol">)</a> <a id="14641" class="Keyword">where</a>
|
|||
|
<a id="14649" class="Keyword">field</a>
|
|||
|
<a id="IsKleeneAlgebra.isIdempotentSemiring"></a><a id="14659" href="Algebra.Structures.html#14659" class="Field">isIdempotentSemiring</a> <a id="14681" class="Symbol">:</a> <a id="14683" href="Algebra.Structures.html#14377" class="Record">IsIdempotentSemiring</a> <a id="14704" href="Algebra.Structures.html#14590" class="Bound">+</a> <a id="14706" href="Algebra.Structures.html#14592" class="Bound">*</a> <a id="14708" href="Algebra.Structures.html#14616" class="Bound">0#</a> <a id="14711" href="Algebra.Structures.html#14619" class="Bound">1#</a>
|
|||
|
<a id="IsKleeneAlgebra.starExpansive"></a><a id="14718" href="Algebra.Structures.html#14718" class="Field">starExpansive</a> <a id="14740" class="Symbol">:</a> <a id="14742" href="Algebra.Definitions.html#5795" class="Function">StarExpansive</a> <a id="14756" href="Algebra.Structures.html#14619" class="Bound">1#</a> <a id="14759" href="Algebra.Structures.html#14590" class="Bound">+</a> <a id="14761" href="Algebra.Structures.html#14592" class="Bound">*</a> <a id="14763" href="Algebra.Structures.html#14604" class="Bound">⋆</a>
|
|||
|
<a id="IsKleeneAlgebra.starDestructive"></a><a id="14769" href="Algebra.Structures.html#14769" class="Field">starDestructive</a> <a id="14791" class="Symbol">:</a> <a id="14793" href="Algebra.Definitions.html#6210" class="Function">StarDestructive</a> <a id="14809" href="Algebra.Structures.html#14590" class="Bound">+</a> <a id="14811" href="Algebra.Structures.html#14592" class="Bound">*</a> <a id="14813" href="Algebra.Structures.html#14604" class="Bound">⋆</a>
|
|||
|
|
|||
|
<a id="14818" class="Keyword">open</a> <a id="14823" href="Algebra.Structures.html#14377" class="Module">IsIdempotentSemiring</a> <a id="14844" href="Algebra.Structures.html#14659" class="Field">isIdempotentSemiring</a> <a id="14865" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsKleeneAlgebra.starExpansiveˡ"></a><a id="14875" href="Algebra.Structures.html#14875" class="Function">starExpansiveˡ</a> <a id="14890" class="Symbol">:</a> <a id="14892" href="Algebra.Definitions.html#5674" class="Function">StarLeftExpansive</a> <a id="14910" href="Algebra.Structures.html#14619" class="Bound">1#</a> <a id="14913" href="Algebra.Structures.html#14590" class="Bound">+</a> <a id="14915" href="Algebra.Structures.html#14592" class="Bound">*</a> <a id="14917" href="Algebra.Structures.html#14604" class="Bound">⋆</a>
|
|||
|
<a id="14921" href="Algebra.Structures.html#14875" class="Function">starExpansiveˡ</a> <a id="14936" class="Symbol">=</a> <a id="14938" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="14944" href="Algebra.Structures.html#14718" class="Field">starExpansive</a>
|
|||
|
|
|||
|
<a id="IsKleeneAlgebra.starExpansiveʳ"></a><a id="14961" href="Algebra.Structures.html#14961" class="Function">starExpansiveʳ</a> <a id="14976" class="Symbol">:</a> <a id="14978" href="Algebra.Definitions.html#5552" class="Function">StarRightExpansive</a> <a id="14997" href="Algebra.Structures.html#14619" class="Bound">1#</a> <a id="15000" href="Algebra.Structures.html#14590" class="Bound">+</a> <a id="15002" href="Algebra.Structures.html#14592" class="Bound">*</a> <a id="15004" href="Algebra.Structures.html#14604" class="Bound">⋆</a>
|
|||
|
<a id="15008" href="Algebra.Structures.html#14961" class="Function">starExpansiveʳ</a> <a id="15023" class="Symbol">=</a> <a id="15025" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="15031" href="Algebra.Structures.html#14718" class="Field">starExpansive</a>
|
|||
|
|
|||
|
<a id="IsKleeneAlgebra.starDestructiveˡ"></a><a id="15048" href="Algebra.Structures.html#15048" class="Function">starDestructiveˡ</a> <a id="15065" class="Symbol">:</a> <a id="15067" href="Algebra.Definitions.html#5944" class="Function">StarLeftDestructive</a> <a id="15087" href="Algebra.Structures.html#14590" class="Bound">+</a> <a id="15089" href="Algebra.Structures.html#14592" class="Bound">*</a> <a id="15091" href="Algebra.Structures.html#14604" class="Bound">⋆</a>
|
|||
|
<a id="15095" href="Algebra.Structures.html#15048" class="Function">starDestructiveˡ</a> <a id="15112" class="Symbol">=</a> <a id="15114" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="15120" href="Algebra.Structures.html#14769" class="Field">starDestructive</a>
|
|||
|
|
|||
|
<a id="IsKleeneAlgebra.starDestructiveʳ"></a><a id="15139" href="Algebra.Structures.html#15139" class="Function">starDestructiveʳ</a> <a id="15156" class="Symbol">:</a> <a id="15158" href="Algebra.Definitions.html#6076" class="Function">StarRightDestructive</a> <a id="15179" href="Algebra.Structures.html#14590" class="Bound">+</a> <a id="15181" href="Algebra.Structures.html#14592" class="Bound">*</a> <a id="15183" href="Algebra.Structures.html#14604" class="Bound">⋆</a>
|
|||
|
<a id="15187" href="Algebra.Structures.html#15139" class="Function">starDestructiveʳ</a> <a id="15204" class="Symbol">=</a> <a id="15206" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="15212" href="Algebra.Structures.html#14769" class="Field">starDestructive</a>
|
|||
|
|
|||
|
<a id="15229" class="Keyword">record</a> <a id="IsQuasiring"></a><a id="15236" href="Algebra.Structures.html#15236" class="Record">IsQuasiring</a> <a id="15248" class="Symbol">(</a><a id="15249" href="Algebra.Structures.html#15249" class="Bound">+</a> <a id="15251" href="Algebra.Structures.html#15251" class="Bound">*</a> <a id="15253" class="Symbol">:</a> <a id="15255" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="15259" href="Algebra.Structures.html#622" class="Bound">A</a><a id="15260" class="Symbol">)</a> <a id="15262" class="Symbol">(</a><a id="15263" href="Algebra.Structures.html#15263" class="Bound">0#</a> <a id="15266" href="Algebra.Structures.html#15266" class="Bound">1#</a> <a id="15269" class="Symbol">:</a> <a id="15271" href="Algebra.Structures.html#622" class="Bound">A</a><a id="15272" class="Symbol">)</a> <a id="15274" class="Symbol">:</a> <a id="15276" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="15280" class="Symbol">(</a><a id="15281" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="15283" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="15285" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="15286" class="Symbol">)</a> <a id="15288" class="Keyword">where</a>
|
|||
|
<a id="15296" class="Keyword">field</a>
|
|||
|
<a id="IsQuasiring.+-isMonoid"></a><a id="15306" href="Algebra.Structures.html#15306" class="Field">+-isMonoid</a> <a id="15320" class="Symbol">:</a> <a id="15322" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="15331" href="Algebra.Structures.html#15249" class="Bound">+</a> <a id="15333" href="Algebra.Structures.html#15263" class="Bound">0#</a>
|
|||
|
<a id="IsQuasiring.*-cong"></a><a id="15340" href="Algebra.Structures.html#15340" class="Field">*-cong</a> <a id="15354" class="Symbol">:</a> <a id="15356" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="15367" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="IsQuasiring.*-assoc"></a><a id="15373" href="Algebra.Structures.html#15373" class="Field">*-assoc</a> <a id="15387" class="Symbol">:</a> <a id="15389" href="Algebra.Definitions.html#1548" class="Function">Associative</a> <a id="15401" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="IsQuasiring.*-identity"></a><a id="15407" href="Algebra.Structures.html#15407" class="Field">*-identity</a> <a id="15421" class="Symbol">:</a> <a id="15423" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="15432" href="Algebra.Structures.html#15266" class="Bound">1#</a> <a id="15435" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="IsQuasiring.distrib"></a><a id="15441" href="Algebra.Structures.html#15441" class="Field">distrib</a> <a id="15455" class="Symbol">:</a> <a id="15457" href="Algebra.Structures.html#15251" class="Bound">*</a> <a id="15459" href="Algebra.Definitions.html#3393" class="Function Operator">DistributesOver</a> <a id="15475" href="Algebra.Structures.html#15249" class="Bound">+</a>
|
|||
|
<a id="IsQuasiring.zero"></a><a id="15481" href="Algebra.Structures.html#15481" class="Field">zero</a> <a id="15495" class="Symbol">:</a> <a id="15497" href="Algebra.Definitions.html#2074" class="Function">Zero</a> <a id="15502" href="Algebra.Structures.html#15263" class="Bound">0#</a> <a id="15505" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="15510" class="Keyword">open</a> <a id="15515" href="Algebra.Structures.html#3974" class="Module">IsMonoid</a> <a id="15524" href="Algebra.Structures.html#15306" class="Field">+-isMonoid</a> <a id="15535" class="Keyword">public</a>
|
|||
|
<a id="15546" class="Keyword">renaming</a>
|
|||
|
<a id="15559" class="Symbol">(</a> <a id="15561" href="Algebra.Structures.html#2977" class="Function">assoc</a> <a id="15575" class="Symbol">to</a> <a id="15578" class="Function">+-assoc</a>
|
|||
|
<a id="15590" class="Symbol">;</a> <a id="15592" href="Algebra.Structures.html#1315" class="Function">∙-cong</a> <a id="15606" class="Symbol">to</a> <a id="15609" class="Function">+-cong</a>
|
|||
|
<a id="15620" class="Symbol">;</a> <a id="15622" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="15636" class="Symbol">to</a> <a id="15639" class="Function">+-congˡ</a>
|
|||
|
<a id="15651" class="Symbol">;</a> <a id="15653" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="15667" class="Symbol">to</a> <a id="15670" class="Function">+-congʳ</a>
|
|||
|
<a id="15682" class="Symbol">;</a> <a id="15684" href="Algebra.Structures.html#4067" class="Field">identity</a> <a id="15698" class="Symbol">to</a> <a id="15701" class="Field">+-identity</a>
|
|||
|
<a id="15716" class="Symbol">;</a> <a id="15718" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="15732" class="Symbol">to</a> <a id="15735" class="Function">+-identityˡ</a>
|
|||
|
<a id="15751" class="Symbol">;</a> <a id="15753" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="15767" class="Symbol">to</a> <a id="15770" class="Function">+-identityʳ</a>
|
|||
|
<a id="15786" class="Symbol">;</a> <a id="15788" href="Algebra.Structures.html#2953" class="Function">isMagma</a> <a id="15802" class="Symbol">to</a> <a id="15805" class="Function">+-isMagma</a>
|
|||
|
<a id="15819" class="Symbol">;</a> <a id="15821" href="Algebra.Structures.html#4259" class="Function">isUnitalMagma</a> <a id="15835" class="Symbol">to</a> <a id="15838" class="Function">+-isUnitalMagma</a>
|
|||
|
<a id="15858" class="Symbol">;</a> <a id="15860" href="Algebra.Structures.html#4035" class="Field">isSemigroup</a> <a id="15874" class="Symbol">to</a> <a id="15877" class="Field">+-isSemigroup</a>
|
|||
|
<a id="15895" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.distribˡ"></a><a id="15900" href="Algebra.Structures.html#15900" class="Function">distribˡ</a> <a id="15909" class="Symbol">:</a> <a id="15911" href="Algebra.Structures.html#15251" class="Bound">*</a> <a id="15913" href="Algebra.Definitions.html#3155" class="Function Operator">DistributesOverˡ</a> <a id="15930" href="Algebra.Structures.html#15249" class="Bound">+</a>
|
|||
|
<a id="15934" href="Algebra.Structures.html#15900" class="Function">distribˡ</a> <a id="15943" class="Symbol">=</a> <a id="15945" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="15951" href="Algebra.Structures.html#15441" class="Field">distrib</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.distribʳ"></a><a id="15962" href="Algebra.Structures.html#15962" class="Function">distribʳ</a> <a id="15971" class="Symbol">:</a> <a id="15973" href="Algebra.Structures.html#15251" class="Bound">*</a> <a id="15975" href="Algebra.Definitions.html#3274" class="Function Operator">DistributesOverʳ</a> <a id="15992" href="Algebra.Structures.html#15249" class="Bound">+</a>
|
|||
|
<a id="15996" href="Algebra.Structures.html#15962" class="Function">distribʳ</a> <a id="16005" class="Symbol">=</a> <a id="16007" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="16013" href="Algebra.Structures.html#15441" class="Field">distrib</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.zeroˡ"></a><a id="16024" href="Algebra.Structures.html#16024" class="Function">zeroˡ</a> <a id="16030" class="Symbol">:</a> <a id="16032" href="Algebra.Definitions.html#1942" class="Function">LeftZero</a> <a id="16041" href="Algebra.Structures.html#15263" class="Bound">0#</a> <a id="16044" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="16048" href="Algebra.Structures.html#16024" class="Function">zeroˡ</a> <a id="16054" class="Symbol">=</a> <a id="16056" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="16062" href="Algebra.Structures.html#15481" class="Field">zero</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.zeroʳ"></a><a id="16070" href="Algebra.Structures.html#16070" class="Function">zeroʳ</a> <a id="16076" class="Symbol">:</a> <a id="16078" href="Algebra.Definitions.html#2007" class="Function">RightZero</a> <a id="16088" href="Algebra.Structures.html#15263" class="Bound">0#</a> <a id="16091" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="16095" href="Algebra.Structures.html#16070" class="Function">zeroʳ</a> <a id="16101" class="Symbol">=</a> <a id="16103" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="16109" href="Algebra.Structures.html#15481" class="Field">zero</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.identityˡ"></a><a id="16117" href="Algebra.Structures.html#16117" class="Function">identityˡ</a> <a id="16127" class="Symbol">:</a> <a id="16129" href="Algebra.Definitions.html#1708" class="Function">LeftIdentity</a> <a id="16142" href="Algebra.Structures.html#15266" class="Bound">1#</a> <a id="16145" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="16149" href="Algebra.Structures.html#16117" class="Function">identityˡ</a> <a id="16159" class="Symbol">=</a> <a id="16161" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="16167" href="Algebra.Structures.html#15407" class="Field">*-identity</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.identityʳ"></a><a id="16181" href="Algebra.Structures.html#16181" class="Function">identityʳ</a> <a id="16191" class="Symbol">:</a> <a id="16193" href="Algebra.Definitions.html#1781" class="Function">RightIdentity</a> <a id="16207" href="Algebra.Structures.html#15266" class="Bound">1#</a> <a id="16210" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="16214" href="Algebra.Structures.html#16181" class="Function">identityʳ</a> <a id="16224" class="Symbol">=</a> <a id="16226" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="16232" href="Algebra.Structures.html#15407" class="Field">*-identity</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.*-isMagma"></a><a id="16246" href="Algebra.Structures.html#16246" class="Function">*-isMagma</a> <a id="16256" class="Symbol">:</a> <a id="16258" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="16266" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="16270" href="Algebra.Structures.html#16246" class="Function">*-isMagma</a> <a id="16280" class="Symbol">=</a> <a id="16282" class="Keyword">record</a>
|
|||
|
<a id="16293" class="Symbol">{</a> <a id="16295" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="16309" class="Symbol">=</a> <a id="16311" href="Algebra.Structures.html#1277" class="Function">isEquivalence</a>
|
|||
|
<a id="16329" class="Symbol">;</a> <a id="16331" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="16345" class="Symbol">=</a> <a id="16347" href="Algebra.Structures.html#15340" class="Field">*-cong</a>
|
|||
|
<a id="16358" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.*-isSemigroup"></a><a id="16363" href="Algebra.Structures.html#16363" class="Function">*-isSemigroup</a> <a id="16377" class="Symbol">:</a> <a id="16379" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="16391" href="Algebra.Structures.html#15251" class="Bound">*</a>
|
|||
|
<a id="16395" href="Algebra.Structures.html#16363" class="Function">*-isSemigroup</a> <a id="16409" class="Symbol">=</a> <a id="16411" class="Keyword">record</a>
|
|||
|
<a id="16422" class="Symbol">{</a> <a id="16424" href="Algebra.Structures.html#2953" class="Field">isMagma</a> <a id="16432" class="Symbol">=</a> <a id="16434" href="Algebra.Structures.html#16246" class="Function">*-isMagma</a>
|
|||
|
<a id="16448" class="Symbol">;</a> <a id="16450" href="Algebra.Structures.html#2977" class="Field">assoc</a> <a id="16458" class="Symbol">=</a> <a id="16460" href="Algebra.Structures.html#15373" class="Field">*-assoc</a>
|
|||
|
<a id="16472" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsQuasiring.*-isMonoid"></a><a id="16477" href="Algebra.Structures.html#16477" class="Function">*-isMonoid</a> <a id="16488" class="Symbol">:</a> <a id="16490" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="16499" href="Algebra.Structures.html#15251" class="Bound">*</a> <a id="16501" href="Algebra.Structures.html#15266" class="Bound">1#</a>
|
|||
|
<a id="16506" href="Algebra.Structures.html#16477" class="Function">*-isMonoid</a> <a id="16517" class="Symbol">=</a> <a id="16519" class="Keyword">record</a>
|
|||
|
<a id="16530" class="Symbol">{</a> <a id="16532" href="Algebra.Structures.html#4035" class="Field">isSemigroup</a> <a id="16544" class="Symbol">=</a> <a id="16546" href="Algebra.Structures.html#16363" class="Function">*-isSemigroup</a>
|
|||
|
<a id="16564" class="Symbol">;</a> <a id="16566" href="Algebra.Structures.html#4067" class="Field">identity</a> <a id="16578" class="Symbol">=</a> <a id="16580" href="Algebra.Structures.html#15407" class="Field">*-identity</a>
|
|||
|
<a id="16595" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="16600" class="Keyword">open</a> <a id="16605" href="Algebra.Structures.html#3974" class="Module">IsMonoid</a> <a id="16614" href="Algebra.Structures.html#16477" class="Function">*-isMonoid</a> <a id="16625" class="Keyword">public</a>
|
|||
|
<a id="16636" class="Keyword">using</a> <a id="16642" class="Symbol">()</a>
|
|||
|
<a id="16649" class="Keyword">renaming</a>
|
|||
|
<a id="16662" class="Symbol">(</a> <a id="16664" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="16676" class="Symbol">to</a> <a id="16679" class="Function">*-congˡ</a>
|
|||
|
<a id="16691" class="Symbol">;</a> <a id="16693" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="16705" class="Symbol">to</a> <a id="16708" class="Function">*-congʳ</a>
|
|||
|
<a id="16720" class="Symbol">;</a> <a id="16722" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="16734" class="Symbol">to</a> <a id="16737" class="Function">*-identityˡ</a>
|
|||
|
<a id="16753" class="Symbol">;</a> <a id="16755" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="16767" class="Symbol">to</a> <a id="16770" class="Function">*-identityʳ</a>
|
|||
|
<a id="16786" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="16789" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="16862" class="Comment">-- Structures with 2 binary operations, 1 unary operation & 1 element</a>
|
|||
|
<a id="16932" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="17006" class="Keyword">record</a> <a id="IsRingWithoutOne"></a><a id="17013" href="Algebra.Structures.html#17013" class="Record">IsRingWithoutOne</a> <a id="17030" class="Symbol">(</a><a id="17031" href="Algebra.Structures.html#17031" class="Bound">+</a> <a id="17033" href="Algebra.Structures.html#17033" class="Bound">*</a> <a id="17035" class="Symbol">:</a> <a id="17037" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="17041" href="Algebra.Structures.html#622" class="Bound">A</a><a id="17042" class="Symbol">)</a> <a id="17044" class="Symbol">(</a><a id="17045" href="Algebra.Structures.html#17045" class="Bound Operator">-_</a> <a id="17048" class="Symbol">:</a> <a id="17050" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="17054" href="Algebra.Structures.html#622" class="Bound">A</a><a id="17055" class="Symbol">)</a> <a id="17057" class="Symbol">(</a><a id="17058" href="Algebra.Structures.html#17058" class="Bound">0#</a> <a id="17061" class="Symbol">:</a> <a id="17063" href="Algebra.Structures.html#622" class="Bound">A</a><a id="17064" class="Symbol">)</a> <a id="17066" class="Symbol">:</a> <a id="17068" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="17072" class="Symbol">(</a><a id="17073" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="17075" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="17077" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="17078" class="Symbol">)</a> <a id="17080" class="Keyword">where</a>
|
|||
|
<a id="17088" class="Keyword">field</a>
|
|||
|
<a id="IsRingWithoutOne.+-isAbelianGroup"></a><a id="17098" href="Algebra.Structures.html#17098" class="Field">+-isAbelianGroup</a> <a id="17115" class="Symbol">:</a> <a id="17117" href="Algebra.Structures.html#7222" class="Record">IsAbelianGroup</a> <a id="17132" href="Algebra.Structures.html#17031" class="Bound">+</a> <a id="17134" href="Algebra.Structures.html#17058" class="Bound">0#</a> <a id="17137" href="Algebra.Structures.html#17045" class="Bound Operator">-_</a>
|
|||
|
<a id="IsRingWithoutOne.*-cong"></a><a id="17144" href="Algebra.Structures.html#17144" class="Field">*-cong</a> <a id="17161" class="Symbol">:</a> <a id="17163" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="17174" href="Algebra.Structures.html#17033" class="Bound">*</a>
|
|||
|
<a id="IsRingWithoutOne.*-assoc"></a><a id="17180" href="Algebra.Structures.html#17180" class="Field">*-assoc</a> <a id="17197" class="Symbol">:</a> <a id="17199" href="Algebra.Definitions.html#1548" class="Function">Associative</a> <a id="17211" href="Algebra.Structures.html#17033" class="Bound">*</a>
|
|||
|
<a id="IsRingWithoutOne.distrib"></a><a id="17217" href="Algebra.Structures.html#17217" class="Field">distrib</a> <a id="17234" class="Symbol">:</a> <a id="17236" href="Algebra.Structures.html#17033" class="Bound">*</a> <a id="17238" href="Algebra.Definitions.html#3393" class="Function Operator">DistributesOver</a> <a id="17254" href="Algebra.Structures.html#17031" class="Bound">+</a>
|
|||
|
|
|||
|
<a id="17259" class="Keyword">open</a> <a id="17264" href="Algebra.Structures.html#7222" class="Module">IsAbelianGroup</a> <a id="17279" href="Algebra.Structures.html#17098" class="Field">+-isAbelianGroup</a> <a id="17296" class="Keyword">public</a>
|
|||
|
<a id="17307" class="Keyword">renaming</a>
|
|||
|
<a id="17320" class="Symbol">(</a> <a id="17322" href="Algebra.Structures.html#2977" class="Function">assoc</a> <a id="17346" class="Symbol">to</a> <a id="17349" class="Function">+-assoc</a>
|
|||
|
<a id="17361" class="Symbol">;</a> <a id="17363" href="Algebra.Structures.html#1315" class="Function">∙-cong</a> <a id="17387" class="Symbol">to</a> <a id="17390" class="Function">+-cong</a>
|
|||
|
<a id="17401" class="Symbol">;</a> <a id="17403" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="17427" class="Symbol">to</a> <a id="17430" class="Function">+-congˡ</a>
|
|||
|
<a id="17442" class="Symbol">;</a> <a id="17444" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="17468" class="Symbol">to</a> <a id="17471" class="Function">+-congʳ</a>
|
|||
|
<a id="17483" class="Symbol">;</a> <a id="17485" href="Algebra.Structures.html#4067" class="Function">identity</a> <a id="17509" class="Symbol">to</a> <a id="17512" class="Function">+-identity</a>
|
|||
|
<a id="17527" class="Symbol">;</a> <a id="17529" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="17553" class="Symbol">to</a> <a id="17556" class="Function">+-identityˡ</a>
|
|||
|
<a id="17572" class="Symbol">;</a> <a id="17574" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="17598" class="Symbol">to</a> <a id="17601" class="Function">+-identityʳ</a>
|
|||
|
<a id="17617" class="Symbol">;</a> <a id="17619" href="Algebra.Structures.html#6295" class="Function">inverse</a> <a id="17643" class="Symbol">to</a> <a id="17646" class="Function">-‿inverse</a>
|
|||
|
<a id="17660" class="Symbol">;</a> <a id="17662" href="Algebra.Structures.html#6443" class="Function">inverseˡ</a> <a id="17686" class="Symbol">to</a> <a id="17689" class="Function">-‿inverseˡ</a>
|
|||
|
<a id="17704" class="Symbol">;</a> <a id="17706" href="Algebra.Structures.html#6506" class="Function">inverseʳ</a> <a id="17730" class="Symbol">to</a> <a id="17733" class="Function">-‿inverseʳ</a>
|
|||
|
<a id="17748" class="Symbol">;</a> <a id="17750" href="Algebra.Structures.html#6329" class="Function">⁻¹-cong</a> <a id="17774" class="Symbol">to</a> <a id="17777" class="Function">-‿cong</a>
|
|||
|
<a id="17788" class="Symbol">;</a> <a id="17790" href="Algebra.Structures.html#7353" class="Field">comm</a> <a id="17814" class="Symbol">to</a> <a id="17817" class="Field">+-comm</a>
|
|||
|
<a id="17828" class="Symbol">;</a> <a id="17830" href="Algebra.Structures.html#2953" class="Function">isMagma</a> <a id="17854" class="Symbol">to</a> <a id="17857" class="Function">+-isMagma</a>
|
|||
|
<a id="17871" class="Symbol">;</a> <a id="17873" href="Algebra.Structures.html#4035" class="Function">isSemigroup</a> <a id="17897" class="Symbol">to</a> <a id="17900" class="Function">+-isSemigroup</a>
|
|||
|
<a id="17918" class="Symbol">;</a> <a id="17920" href="Algebra.Structures.html#6264" class="Function">isMonoid</a> <a id="17944" class="Symbol">to</a> <a id="17947" class="Function">+-isMonoid</a>
|
|||
|
<a id="17962" class="Symbol">;</a> <a id="17964" href="Algebra.Structures.html#4259" class="Function">isUnitalMagma</a> <a id="17988" class="Symbol">to</a> <a id="17991" class="Function">+-isUnitalMagma</a>
|
|||
|
<a id="18011" class="Symbol">;</a> <a id="18013" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a> <a id="18037" class="Symbol">to</a> <a id="18040" class="Function">+-isCommutativeMagma</a>
|
|||
|
<a id="18065" class="Symbol">;</a> <a id="18067" href="Algebra.Structures.html#7411" class="Function">isCommutativeMonoid</a> <a id="18091" class="Symbol">to</a> <a id="18094" class="Function">+-isCommutativeMonoid</a>
|
|||
|
<a id="18120" class="Symbol">;</a> <a id="18122" href="Algebra.Structures.html#4545" class="Function">isCommutativeSemigroup</a> <a id="18146" class="Symbol">to</a> <a id="18149" class="Function">+-isCommutativeSemigroup</a>
|
|||
|
<a id="18178" class="Symbol">;</a> <a id="18180" href="Algebra.Structures.html#6884" class="Function">isInvertibleMagma</a> <a id="18204" class="Symbol">to</a> <a id="18207" class="Function">+-isInvertibleMagma</a>
|
|||
|
<a id="18231" class="Symbol">;</a> <a id="18233" href="Algebra.Structures.html#7042" class="Function">isInvertibleUnitalMagma</a> <a id="18257" class="Symbol">to</a> <a id="18260" class="Function">+-isInvertibleUnitalMagma</a>
|
|||
|
<a id="18290" class="Symbol">;</a> <a id="18292" href="Algebra.Structures.html#7324" class="Field">isGroup</a> <a id="18316" class="Symbol">to</a> <a id="18319" class="Field">+-isGroup</a>
|
|||
|
<a id="18333" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsRingWithoutOne.distribˡ"></a><a id="18338" href="Algebra.Structures.html#18338" class="Function">distribˡ</a> <a id="18347" class="Symbol">:</a> <a id="18349" href="Algebra.Structures.html#17033" class="Bound">*</a> <a id="18351" href="Algebra.Definitions.html#3155" class="Function Operator">DistributesOverˡ</a> <a id="18368" href="Algebra.Structures.html#17031" class="Bound">+</a>
|
|||
|
<a id="18372" href="Algebra.Structures.html#18338" class="Function">distribˡ</a> <a id="18381" class="Symbol">=</a> <a id="18383" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="18389" href="Algebra.Structures.html#17217" class="Field">distrib</a>
|
|||
|
|
|||
|
<a id="IsRingWithoutOne.distribʳ"></a><a id="18400" href="Algebra.Structures.html#18400" class="Function">distribʳ</a> <a id="18409" class="Symbol">:</a> <a id="18411" href="Algebra.Structures.html#17033" class="Bound">*</a> <a id="18413" href="Algebra.Definitions.html#3274" class="Function Operator">DistributesOverʳ</a> <a id="18430" href="Algebra.Structures.html#17031" class="Bound">+</a>
|
|||
|
<a id="18434" href="Algebra.Structures.html#18400" class="Function">distribʳ</a> <a id="18443" class="Symbol">=</a> <a id="18445" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="18451" href="Algebra.Structures.html#17217" class="Field">distrib</a>
|
|||
|
|
|||
|
<a id="IsRingWithoutOne.zeroˡ"></a><a id="18462" href="Algebra.Structures.html#18462" class="Function">zeroˡ</a> <a id="18468" class="Symbol">:</a> <a id="18470" href="Algebra.Definitions.html#1942" class="Function">LeftZero</a> <a id="18479" href="Algebra.Structures.html#17058" class="Bound">0#</a> <a id="18482" href="Algebra.Structures.html#17033" class="Bound">*</a>
|
|||
|
<a id="18486" href="Algebra.Structures.html#18462" class="Function">zeroˡ</a> <a id="18492" class="Symbol">=</a> <a id="18494" href="Algebra.Consequences.Setoid.html#10215" class="Function">Consequences.assoc∧distribʳ∧idʳ∧invʳ⇒zeˡ</a> <a id="18535" href="Algebra.Structures.html#1390" class="Function">setoid</a>
|
|||
|
<a id="18546" href="Algebra.Structures.html#17390" class="Function">+-cong</a> <a id="18553" href="Algebra.Structures.html#17144" class="Field">*-cong</a> <a id="18560" href="Algebra.Structures.html#17349" class="Function">+-assoc</a> <a id="18568" href="Algebra.Structures.html#18400" class="Function">distribʳ</a> <a id="18577" href="Algebra.Structures.html#17601" class="Function">+-identityʳ</a> <a id="18589" href="Algebra.Structures.html#17733" class="Function">-‿inverseʳ</a>
|
|||
|
|
|||
|
<a id="IsRingWithoutOne.zeroʳ"></a><a id="18603" href="Algebra.Structures.html#18603" class="Function">zeroʳ</a> <a id="18609" class="Symbol">:</a> <a id="18611" href="Algebra.Definitions.html#2007" class="Function">RightZero</a> <a id="18621" href="Algebra.Structures.html#17058" class="Bound">0#</a> <a id="18624" href="Algebra.Structures.html#17033" class="Bound">*</a>
|
|||
|
<a id="18628" href="Algebra.Structures.html#18603" class="Function">zeroʳ</a> <a id="18634" class="Symbol">=</a> <a id="18636" href="Algebra.Consequences.Setoid.html#10957" class="Function">Consequences.assoc∧distribˡ∧idʳ∧invʳ⇒zeʳ</a> <a id="18677" href="Algebra.Structures.html#1390" class="Function">setoid</a>
|
|||
|
<a id="18688" href="Algebra.Structures.html#17390" class="Function">+-cong</a> <a id="18695" href="Algebra.Structures.html#17144" class="Field">*-cong</a> <a id="18702" href="Algebra.Structures.html#17349" class="Function">+-assoc</a> <a id="18710" href="Algebra.Structures.html#18338" class="Function">distribˡ</a> <a id="18719" href="Algebra.Structures.html#17601" class="Function">+-identityʳ</a> <a id="18731" href="Algebra.Structures.html#17733" class="Function">-‿inverseʳ</a>
|
|||
|
|
|||
|
<a id="IsRingWithoutOne.zero"></a><a id="18745" href="Algebra.Structures.html#18745" class="Function">zero</a> <a id="18750" class="Symbol">:</a> <a id="18752" href="Algebra.Definitions.html#2074" class="Function">Zero</a> <a id="18757" href="Algebra.Structures.html#17058" class="Bound">0#</a> <a id="18760" href="Algebra.Structures.html#17033" class="Bound">*</a>
|
|||
|
<a id="18764" href="Algebra.Structures.html#18745" class="Function">zero</a> <a id="18769" class="Symbol">=</a> <a id="18771" href="Algebra.Structures.html#18462" class="Function">zeroˡ</a> <a id="18777" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18779" href="Algebra.Structures.html#18603" class="Function">zeroʳ</a>
|
|||
|
|
|||
|
<a id="IsRingWithoutOne.*-isMagma"></a><a id="18788" href="Algebra.Structures.html#18788" class="Function">*-isMagma</a> <a id="18798" class="Symbol">:</a> <a id="18800" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="18808" href="Algebra.Structures.html#17033" class="Bound">*</a>
|
|||
|
<a id="18812" href="Algebra.Structures.html#18788" class="Function">*-isMagma</a> <a id="18822" class="Symbol">=</a> <a id="18824" class="Keyword">record</a>
|
|||
|
<a id="18835" class="Symbol">{</a> <a id="18837" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="18851" class="Symbol">=</a> <a id="18853" href="Algebra.Structures.html#1277" class="Function">isEquivalence</a>
|
|||
|
<a id="18871" class="Symbol">;</a> <a id="18873" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="18887" class="Symbol">=</a> <a id="18889" href="Algebra.Structures.html#17144" class="Field">*-cong</a>
|
|||
|
<a id="18900" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsRingWithoutOne.*-isSemigroup"></a><a id="18905" href="Algebra.Structures.html#18905" class="Function">*-isSemigroup</a> <a id="18919" class="Symbol">:</a> <a id="18921" href="Algebra.Structures.html#2897" class="Record">IsSemigroup</a> <a id="18933" href="Algebra.Structures.html#17033" class="Bound">*</a>
|
|||
|
<a id="18937" href="Algebra.Structures.html#18905" class="Function">*-isSemigroup</a> <a id="18951" class="Symbol">=</a> <a id="18953" class="Keyword">record</a>
|
|||
|
<a id="18964" class="Symbol">{</a> <a id="18966" href="Algebra.Structures.html#2953" class="Field">isMagma</a> <a id="18974" class="Symbol">=</a> <a id="18976" href="Algebra.Structures.html#18788" class="Function">*-isMagma</a>
|
|||
|
<a id="18990" class="Symbol">;</a> <a id="18992" href="Algebra.Structures.html#2977" class="Field">assoc</a> <a id="19000" class="Symbol">=</a> <a id="19002" href="Algebra.Structures.html#17180" class="Field">*-assoc</a>
|
|||
|
<a id="19014" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="19019" class="Keyword">open</a> <a id="19024" href="Algebra.Structures.html#2897" class="Module">IsSemigroup</a> <a id="19036" href="Algebra.Structures.html#18905" class="Function">*-isSemigroup</a> <a id="19050" class="Keyword">public</a>
|
|||
|
<a id="19061" class="Keyword">using</a> <a id="19067" class="Symbol">()</a>
|
|||
|
<a id="19074" class="Keyword">renaming</a>
|
|||
|
<a id="19087" class="Symbol">(</a> <a id="19089" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="19099" class="Symbol">to</a> <a id="19102" class="Function">*-congˡ</a>
|
|||
|
<a id="19114" class="Symbol">;</a> <a id="19116" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="19126" class="Symbol">to</a> <a id="19129" class="Function">*-congʳ</a>
|
|||
|
<a id="19141" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="19144" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="19217" class="Comment">-- Structures with 2 binary operations, 1 unary operation & 2 elements</a>
|
|||
|
<a id="19288" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="19362" class="Keyword">record</a> <a id="IsNonAssociativeRing"></a><a id="19369" href="Algebra.Structures.html#19369" class="Record">IsNonAssociativeRing</a> <a id="19390" class="Symbol">(</a><a id="19391" href="Algebra.Structures.html#19391" class="Bound">+</a> <a id="19393" href="Algebra.Structures.html#19393" class="Bound">*</a> <a id="19395" class="Symbol">:</a> <a id="19397" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="19401" href="Algebra.Structures.html#622" class="Bound">A</a><a id="19402" class="Symbol">)</a> <a id="19404" class="Symbol">(</a><a id="19405" href="Algebra.Structures.html#19405" class="Bound Operator">-_</a> <a id="19408" class="Symbol">:</a> <a id="19410" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="19414" href="Algebra.Structures.html#622" class="Bound">A</a><a id="19415" class="Symbol">)</a> <a id="19417" class="Symbol">(</a><a id="19418" href="Algebra.Structures.html#19418" class="Bound">0#</a> <a id="19421" href="Algebra.Structures.html#19421" class="Bound">1#</a> <a id="19424" class="Symbol">:</a> <a id="19426" href="Algebra.Structures.html#622" class="Bound">A</a><a id="19427" class="Symbol">)</a> <a id="19429" class="Symbol">:</a> <a id="19431" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="19435" class="Symbol">(</a><a id="19436" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="19438" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="19440" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="19441" class="Symbol">)</a> <a id="19443" class="Keyword">where</a>
|
|||
|
<a id="19451" class="Keyword">field</a>
|
|||
|
<a id="IsNonAssociativeRing.+-isAbelianGroup"></a><a id="19461" href="Algebra.Structures.html#19461" class="Field">+-isAbelianGroup</a> <a id="19478" class="Symbol">:</a> <a id="19480" href="Algebra.Structures.html#7222" class="Record">IsAbelianGroup</a> <a id="19495" href="Algebra.Structures.html#19391" class="Bound">+</a> <a id="19497" href="Algebra.Structures.html#19418" class="Bound">0#</a> <a id="19500" href="Algebra.Structures.html#19405" class="Bound Operator">-_</a>
|
|||
|
<a id="IsNonAssociativeRing.*-cong"></a><a id="19507" href="Algebra.Structures.html#19507" class="Field">*-cong</a> <a id="19524" class="Symbol">:</a> <a id="19526" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="19537" href="Algebra.Structures.html#19393" class="Bound">*</a>
|
|||
|
<a id="IsNonAssociativeRing.*-identity"></a><a id="19543" href="Algebra.Structures.html#19543" class="Field">*-identity</a> <a id="19560" class="Symbol">:</a> <a id="19562" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="19571" href="Algebra.Structures.html#19421" class="Bound">1#</a> <a id="19574" href="Algebra.Structures.html#19393" class="Bound">*</a>
|
|||
|
<a id="IsNonAssociativeRing.distrib"></a><a id="19580" href="Algebra.Structures.html#19580" class="Field">distrib</a> <a id="19597" class="Symbol">:</a> <a id="19599" href="Algebra.Structures.html#19393" class="Bound">*</a> <a id="19601" href="Algebra.Definitions.html#3393" class="Function Operator">DistributesOver</a> <a id="19617" href="Algebra.Structures.html#19391" class="Bound">+</a>
|
|||
|
<a id="IsNonAssociativeRing.zero"></a><a id="19623" href="Algebra.Structures.html#19623" class="Field">zero</a> <a id="19640" class="Symbol">:</a> <a id="19642" href="Algebra.Definitions.html#2074" class="Function">Zero</a> <a id="19647" href="Algebra.Structures.html#19418" class="Bound">0#</a> <a id="19650" href="Algebra.Structures.html#19393" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="19655" class="Keyword">open</a> <a id="19660" href="Algebra.Structures.html#7222" class="Module">IsAbelianGroup</a> <a id="19675" href="Algebra.Structures.html#19461" class="Field">+-isAbelianGroup</a> <a id="19692" class="Keyword">public</a>
|
|||
|
<a id="19703" class="Keyword">renaming</a>
|
|||
|
<a id="19716" class="Symbol">(</a> <a id="19718" href="Algebra.Structures.html#2977" class="Function">assoc</a> <a id="19742" class="Symbol">to</a> <a id="19745" class="Function">+-assoc</a>
|
|||
|
<a id="19757" class="Symbol">;</a> <a id="19759" href="Algebra.Structures.html#1315" class="Function">∙-cong</a> <a id="19783" class="Symbol">to</a> <a id="19786" class="Function">+-cong</a>
|
|||
|
<a id="19797" class="Symbol">;</a> <a id="19799" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="19823" class="Symbol">to</a> <a id="19826" class="Function">+-congˡ</a>
|
|||
|
<a id="19838" class="Symbol">;</a> <a id="19840" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="19864" class="Symbol">to</a> <a id="19867" class="Function">+-congʳ</a>
|
|||
|
<a id="19879" class="Symbol">;</a> <a id="19881" href="Algebra.Structures.html#4067" class="Function">identity</a> <a id="19905" class="Symbol">to</a> <a id="19908" class="Function">+-identity</a>
|
|||
|
<a id="19923" class="Symbol">;</a> <a id="19925" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="19949" class="Symbol">to</a> <a id="19952" class="Function">+-identityˡ</a>
|
|||
|
<a id="19968" class="Symbol">;</a> <a id="19970" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="19994" class="Symbol">to</a> <a id="19997" class="Function">+-identityʳ</a>
|
|||
|
<a id="20013" class="Symbol">;</a> <a id="20015" href="Algebra.Structures.html#6295" class="Function">inverse</a> <a id="20039" class="Symbol">to</a> <a id="20042" class="Function">-‿inverse</a>
|
|||
|
<a id="20056" class="Symbol">;</a> <a id="20058" href="Algebra.Structures.html#6443" class="Function">inverseˡ</a> <a id="20082" class="Symbol">to</a> <a id="20085" class="Function">-‿inverseˡ</a>
|
|||
|
<a id="20100" class="Symbol">;</a> <a id="20102" href="Algebra.Structures.html#6506" class="Function">inverseʳ</a> <a id="20126" class="Symbol">to</a> <a id="20129" class="Function">-‿inverseʳ</a>
|
|||
|
<a id="20144" class="Symbol">;</a> <a id="20146" href="Algebra.Structures.html#6329" class="Function">⁻¹-cong</a> <a id="20170" class="Symbol">to</a> <a id="20173" class="Function">-‿cong</a>
|
|||
|
<a id="20184" class="Symbol">;</a> <a id="20186" href="Algebra.Structures.html#7353" class="Field">comm</a> <a id="20210" class="Symbol">to</a> <a id="20213" class="Field">+-comm</a>
|
|||
|
<a id="20224" class="Symbol">;</a> <a id="20226" href="Algebra.Structures.html#2953" class="Function">isMagma</a> <a id="20250" class="Symbol">to</a> <a id="20253" class="Function">+-isMagma</a>
|
|||
|
<a id="20267" class="Symbol">;</a> <a id="20269" href="Algebra.Structures.html#4035" class="Function">isSemigroup</a> <a id="20293" class="Symbol">to</a> <a id="20296" class="Function">+-isSemigroup</a>
|
|||
|
<a id="20314" class="Symbol">;</a> <a id="20316" href="Algebra.Structures.html#6264" class="Function">isMonoid</a> <a id="20340" class="Symbol">to</a> <a id="20343" class="Function">+-isMonoid</a>
|
|||
|
<a id="20358" class="Symbol">;</a> <a id="20360" href="Algebra.Structures.html#4259" class="Function">isUnitalMagma</a> <a id="20384" class="Symbol">to</a> <a id="20387" class="Function">+-isUnitalMagma</a>
|
|||
|
<a id="20407" class="Symbol">;</a> <a id="20409" href="Algebra.Structures.html#3368" class="Function">isCommutativeMagma</a> <a id="20433" class="Symbol">to</a> <a id="20436" class="Function">+-isCommutativeMagma</a>
|
|||
|
<a id="20461" class="Symbol">;</a> <a id="20463" href="Algebra.Structures.html#7411" class="Function">isCommutativeMonoid</a> <a id="20487" class="Symbol">to</a> <a id="20490" class="Function">+-isCommutativeMonoid</a>
|
|||
|
<a id="20516" class="Symbol">;</a> <a id="20518" href="Algebra.Structures.html#4545" class="Function">isCommutativeSemigroup</a> <a id="20542" class="Symbol">to</a> <a id="20545" class="Function">+-isCommutativeSemigroup</a>
|
|||
|
<a id="20574" class="Symbol">;</a> <a id="20576" href="Algebra.Structures.html#6884" class="Function">isInvertibleMagma</a> <a id="20600" class="Symbol">to</a> <a id="20603" class="Function">+-isInvertibleMagma</a>
|
|||
|
<a id="20627" class="Symbol">;</a> <a id="20629" href="Algebra.Structures.html#7042" class="Function">isInvertibleUnitalMagma</a> <a id="20653" class="Symbol">to</a> <a id="20656" class="Function">+-isInvertibleUnitalMagma</a>
|
|||
|
<a id="20686" class="Symbol">;</a> <a id="20688" href="Algebra.Structures.html#7324" class="Field">isGroup</a> <a id="20712" class="Symbol">to</a> <a id="20715" class="Field">+-isGroup</a>
|
|||
|
<a id="20729" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsNonAssociativeRing.zeroˡ"></a><a id="20734" href="Algebra.Structures.html#20734" class="Function">zeroˡ</a> <a id="20740" class="Symbol">:</a> <a id="20742" href="Algebra.Definitions.html#1942" class="Function">LeftZero</a> <a id="20751" href="Algebra.Structures.html#19418" class="Bound">0#</a> <a id="20754" href="Algebra.Structures.html#19393" class="Bound">*</a>
|
|||
|
<a id="20758" href="Algebra.Structures.html#20734" class="Function">zeroˡ</a> <a id="20764" class="Symbol">=</a> <a id="20766" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="20772" href="Algebra.Structures.html#19623" class="Field">zero</a>
|
|||
|
|
|||
|
<a id="IsNonAssociativeRing.zeroʳ"></a><a id="20780" href="Algebra.Structures.html#20780" class="Function">zeroʳ</a> <a id="20786" class="Symbol">:</a> <a id="20788" href="Algebra.Definitions.html#2007" class="Function">RightZero</a> <a id="20798" href="Algebra.Structures.html#19418" class="Bound">0#</a> <a id="20801" href="Algebra.Structures.html#19393" class="Bound">*</a>
|
|||
|
<a id="20805" href="Algebra.Structures.html#20780" class="Function">zeroʳ</a> <a id="20811" class="Symbol">=</a> <a id="20813" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="20819" href="Algebra.Structures.html#19623" class="Field">zero</a>
|
|||
|
|
|||
|
<a id="IsNonAssociativeRing.distribˡ"></a><a id="20827" href="Algebra.Structures.html#20827" class="Function">distribˡ</a> <a id="20836" class="Symbol">:</a> <a id="20838" href="Algebra.Structures.html#19393" class="Bound">*</a> <a id="20840" href="Algebra.Definitions.html#3155" class="Function Operator">DistributesOverˡ</a> <a id="20857" href="Algebra.Structures.html#19391" class="Bound">+</a>
|
|||
|
<a id="20861" href="Algebra.Structures.html#20827" class="Function">distribˡ</a> <a id="20870" class="Symbol">=</a> <a id="20872" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="20878" href="Algebra.Structures.html#19580" class="Field">distrib</a>
|
|||
|
|
|||
|
<a id="IsNonAssociativeRing.distribʳ"></a><a id="20889" href="Algebra.Structures.html#20889" class="Function">distribʳ</a> <a id="20898" class="Symbol">:</a> <a id="20900" href="Algebra.Structures.html#19393" class="Bound">*</a> <a id="20902" href="Algebra.Definitions.html#3274" class="Function Operator">DistributesOverʳ</a> <a id="20919" href="Algebra.Structures.html#19391" class="Bound">+</a>
|
|||
|
<a id="20923" href="Algebra.Structures.html#20889" class="Function">distribʳ</a> <a id="20932" class="Symbol">=</a> <a id="20934" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="20940" href="Algebra.Structures.html#19580" class="Field">distrib</a>
|
|||
|
|
|||
|
<a id="IsNonAssociativeRing.*-isMagma"></a><a id="20951" href="Algebra.Structures.html#20951" class="Function">*-isMagma</a> <a id="20961" class="Symbol">:</a> <a id="20963" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="20971" href="Algebra.Structures.html#19393" class="Bound">*</a>
|
|||
|
<a id="20975" href="Algebra.Structures.html#20951" class="Function">*-isMagma</a> <a id="20985" class="Symbol">=</a> <a id="20987" class="Keyword">record</a>
|
|||
|
<a id="20998" class="Symbol">{</a> <a id="21000" href="Algebra.Structures.html#1277" class="Field">isEquivalence</a> <a id="21014" class="Symbol">=</a> <a id="21016" href="Algebra.Structures.html#1277" class="Function">isEquivalence</a>
|
|||
|
<a id="21034" class="Symbol">;</a> <a id="21036" href="Algebra.Structures.html#1315" class="Field">∙-cong</a> <a id="21050" class="Symbol">=</a> <a id="21052" href="Algebra.Structures.html#19507" class="Field">*-cong</a>
|
|||
|
<a id="21063" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsNonAssociativeRing.*-identityˡ"></a><a id="21068" href="Algebra.Structures.html#21068" class="Function">*-identityˡ</a> <a id="21080" class="Symbol">:</a> <a id="21082" href="Algebra.Definitions.html#1708" class="Function">LeftIdentity</a> <a id="21095" href="Algebra.Structures.html#19421" class="Bound">1#</a> <a id="21098" href="Algebra.Structures.html#19393" class="Bound">*</a>
|
|||
|
<a id="21102" href="Algebra.Structures.html#21068" class="Function">*-identityˡ</a> <a id="21114" class="Symbol">=</a> <a id="21116" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="21122" href="Algebra.Structures.html#19543" class="Field">*-identity</a>
|
|||
|
|
|||
|
<a id="IsNonAssociativeRing.*-identityʳ"></a><a id="21136" href="Algebra.Structures.html#21136" class="Function">*-identityʳ</a> <a id="21148" class="Symbol">:</a> <a id="21150" href="Algebra.Definitions.html#1781" class="Function">RightIdentity</a> <a id="21164" href="Algebra.Structures.html#19421" class="Bound">1#</a> <a id="21167" href="Algebra.Structures.html#19393" class="Bound">*</a>
|
|||
|
<a id="21171" href="Algebra.Structures.html#21136" class="Function">*-identityʳ</a> <a id="21183" class="Symbol">=</a> <a id="21185" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="21191" href="Algebra.Structures.html#19543" class="Field">*-identity</a>
|
|||
|
|
|||
|
<a id="IsNonAssociativeRing.*-isUnitalMagma"></a><a id="21205" href="Algebra.Structures.html#21205" class="Function">*-isUnitalMagma</a> <a id="21221" class="Symbol">:</a> <a id="21223" href="Algebra.Structures.html#3696" class="Record">IsUnitalMagma</a> <a id="21237" href="Algebra.Structures.html#19393" class="Bound">*</a> <a id="21239" href="Algebra.Structures.html#19421" class="Bound">1#</a>
|
|||
|
<a id="21244" href="Algebra.Structures.html#21205" class="Function">*-isUnitalMagma</a> <a id="21260" class="Symbol">=</a> <a id="21262" class="Keyword">record</a>
|
|||
|
<a id="21273" class="Symbol">{</a> <a id="21275" href="Algebra.Structures.html#3762" class="Field">isMagma</a> <a id="21283" class="Symbol">=</a> <a id="21285" href="Algebra.Structures.html#20951" class="Function">*-isMagma</a>
|
|||
|
<a id="21299" class="Symbol">;</a> <a id="21301" href="Algebra.Structures.html#3787" class="Field">identity</a> <a id="21310" class="Symbol">=</a> <a id="21312" href="Algebra.Structures.html#19543" class="Field">*-identity</a>
|
|||
|
<a id="21327" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="21332" class="Keyword">open</a> <a id="21337" href="Algebra.Structures.html#3696" class="Module">IsUnitalMagma</a> <a id="21351" href="Algebra.Structures.html#21205" class="Function">*-isUnitalMagma</a> <a id="21367" class="Keyword">public</a>
|
|||
|
<a id="21378" class="Keyword">using</a> <a id="21384" class="Symbol">()</a>
|
|||
|
<a id="21391" class="Keyword">renaming</a>
|
|||
|
<a id="21404" class="Symbol">(</a> <a id="21406" href="Algebra.Structures.html#1465" class="Function">∙-congˡ</a> <a id="21416" class="Symbol">to</a> <a id="21419" class="Function">*-congˡ</a>
|
|||
|
<a id="21431" class="Symbol">;</a> <a id="21433" href="Algebra.Structures.html#1526" class="Function">∙-congʳ</a> <a id="21443" class="Symbol">to</a> <a id="21446" class="Function">*-congʳ</a>
|
|||
|
<a id="21458" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="21461" class="Keyword">record</a> <a id="IsNearring"></a><a id="21468" href="Algebra.Structures.html#21468" class="Record">IsNearring</a> <a id="21479" class="Symbol">(</a><a id="21480" href="Algebra.Structures.html#21480" class="Bound">+</a> <a id="21482" href="Algebra.Structures.html#21482" class="Bound">*</a> <a id="21484" class="Symbol">:</a> <a id="21486" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="21490" href="Algebra.Structures.html#622" class="Bound">A</a><a id="21491" class="Symbol">)</a> <a id="21493" class="Symbol">(</a><a id="21494" href="Algebra.Structures.html#21494" class="Bound">0#</a> <a id="21497" href="Algebra.Structures.html#21497" class="Bound">1#</a> <a id="21500" class="Symbol">:</a> <a id="21502" href="Algebra.Structures.html#622" class="Bound">A</a><a id="21503" class="Symbol">)</a> <a id="21505" class="Symbol">(</a><a id="21506" href="Algebra.Structures.html#21506" class="Bound Operator">_⁻¹</a> <a id="21510" class="Symbol">:</a> <a id="21512" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="21516" href="Algebra.Structures.html#622" class="Bound">A</a><a id="21517" class="Symbol">)</a> <a id="21519" class="Symbol">:</a> <a id="21521" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="21525" class="Symbol">(</a><a id="21526" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="21528" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="21530" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="21531" class="Symbol">)</a> <a id="21533" class="Keyword">where</a>
|
|||
|
<a id="21541" class="Keyword">field</a>
|
|||
|
<a id="IsNearring.isQuasiring"></a><a id="21551" href="Algebra.Structures.html#21551" class="Field">isQuasiring</a> <a id="21563" class="Symbol">:</a> <a id="21565" href="Algebra.Structures.html#15236" class="Record">IsQuasiring</a> <a id="21577" href="Algebra.Structures.html#21480" class="Bound">+</a> <a id="21579" href="Algebra.Structures.html#21482" class="Bound">*</a> <a id="21581" href="Algebra.Structures.html#21494" class="Bound">0#</a> <a id="21584" href="Algebra.Structures.html#21497" class="Bound">1#</a>
|
|||
|
<a id="IsNearring.+-inverse"></a><a id="21591" href="Algebra.Structures.html#21591" class="Field">+-inverse</a> <a id="21603" class="Symbol">:</a> <a id="21605" href="Algebra.Definitions.html#2322" class="Function">Inverse</a> <a id="21613" href="Algebra.Structures.html#21494" class="Bound">0#</a> <a id="21616" href="Algebra.Structures.html#21506" class="Bound Operator">_⁻¹</a> <a id="21620" href="Algebra.Structures.html#21480" class="Bound">+</a>
|
|||
|
<a id="IsNearring.⁻¹-cong"></a><a id="21626" href="Algebra.Structures.html#21626" class="Field">⁻¹-cong</a> <a id="21638" class="Symbol">:</a> <a id="21640" href="Algebra.Definitions.html#1237" class="Function">Congruent₁</a> <a id="21651" href="Algebra.Structures.html#21506" class="Bound Operator">_⁻¹</a>
|
|||
|
|
|||
|
<a id="21658" class="Keyword">open</a> <a id="21663" href="Algebra.Structures.html#15236" class="Module">IsQuasiring</a> <a id="21675" href="Algebra.Structures.html#21551" class="Field">isQuasiring</a> <a id="21687" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsNearring.+-inverseˡ"></a><a id="21697" href="Algebra.Structures.html#21697" class="Function">+-inverseˡ</a> <a id="21708" class="Symbol">:</a> <a id="21710" href="Algebra.Definitions.html#2144" class="Function">LeftInverse</a> <a id="21722" href="Algebra.Structures.html#21494" class="Bound">0#</a> <a id="21725" href="Algebra.Structures.html#21506" class="Bound Operator">_⁻¹</a> <a id="21729" href="Algebra.Structures.html#21480" class="Bound">+</a>
|
|||
|
<a id="21733" href="Algebra.Structures.html#21697" class="Function">+-inverseˡ</a> <a id="21744" class="Symbol">=</a> <a id="21746" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="21752" href="Algebra.Structures.html#21591" class="Field">+-inverse</a>
|
|||
|
|
|||
|
<a id="IsNearring.+-inverseʳ"></a><a id="21765" href="Algebra.Structures.html#21765" class="Function">+-inverseʳ</a> <a id="21776" class="Symbol">:</a> <a id="21778" href="Algebra.Definitions.html#2232" class="Function">RightInverse</a> <a id="21791" href="Algebra.Structures.html#21494" class="Bound">0#</a> <a id="21794" href="Algebra.Structures.html#21506" class="Bound Operator">_⁻¹</a> <a id="21798" href="Algebra.Structures.html#21480" class="Bound">+</a>
|
|||
|
<a id="21802" href="Algebra.Structures.html#21765" class="Function">+-inverseʳ</a> <a id="21813" class="Symbol">=</a> <a id="21815" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="21821" href="Algebra.Structures.html#21591" class="Field">+-inverse</a>
|
|||
|
|
|||
|
<a id="21832" class="Keyword">record</a> <a id="IsRing"></a><a id="21839" href="Algebra.Structures.html#21839" class="Record">IsRing</a> <a id="21846" class="Symbol">(</a><a id="21847" href="Algebra.Structures.html#21847" class="Bound">+</a> <a id="21849" href="Algebra.Structures.html#21849" class="Bound">*</a> <a id="21851" class="Symbol">:</a> <a id="21853" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="21857" href="Algebra.Structures.html#622" class="Bound">A</a><a id="21858" class="Symbol">)</a> <a id="21860" class="Symbol">(</a><a id="21861" href="Algebra.Structures.html#21861" class="Bound Operator">-_</a> <a id="21864" class="Symbol">:</a> <a id="21866" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="21870" href="Algebra.Structures.html#622" class="Bound">A</a><a id="21871" class="Symbol">)</a> <a id="21873" class="Symbol">(</a><a id="21874" href="Algebra.Structures.html#21874" class="Bound">0#</a> <a id="21877" href="Algebra.Structures.html#21877" class="Bound">1#</a> <a id="21880" class="Symbol">:</a> <a id="21882" href="Algebra.Structures.html#622" class="Bound">A</a><a id="21883" class="Symbol">)</a> <a id="21885" class="Symbol">:</a> <a id="21887" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="21891" class="Symbol">(</a><a id="21892" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="21894" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="21896" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="21897" class="Symbol">)</a> <a id="21899" class="Keyword">where</a>
|
|||
|
<a id="21907" class="Keyword">field</a>
|
|||
|
<a id="IsRing.+-isAbelianGroup"></a><a id="21917" href="Algebra.Structures.html#21917" class="Field">+-isAbelianGroup</a> <a id="21934" class="Symbol">:</a> <a id="21936" href="Algebra.Structures.html#7222" class="Record">IsAbelianGroup</a> <a id="21951" href="Algebra.Structures.html#21847" class="Bound">+</a> <a id="21953" href="Algebra.Structures.html#21874" class="Bound">0#</a> <a id="21956" href="Algebra.Structures.html#21861" class="Bound Operator">-_</a>
|
|||
|
<a id="IsRing.*-cong"></a><a id="21963" href="Algebra.Structures.html#21963" class="Field">*-cong</a> <a id="21980" class="Symbol">:</a> <a id="21982" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="21993" href="Algebra.Structures.html#21849" class="Bound">*</a>
|
|||
|
<a id="IsRing.*-assoc"></a><a id="21999" href="Algebra.Structures.html#21999" class="Field">*-assoc</a> <a id="22016" class="Symbol">:</a> <a id="22018" href="Algebra.Definitions.html#1548" class="Function">Associative</a> <a id="22030" href="Algebra.Structures.html#21849" class="Bound">*</a>
|
|||
|
<a id="IsRing.*-identity"></a><a id="22036" href="Algebra.Structures.html#22036" class="Field">*-identity</a> <a id="22053" class="Symbol">:</a> <a id="22055" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="22064" href="Algebra.Structures.html#21877" class="Bound">1#</a> <a id="22067" href="Algebra.Structures.html#21849" class="Bound">*</a>
|
|||
|
<a id="IsRing.distrib"></a><a id="22073" href="Algebra.Structures.html#22073" class="Field">distrib</a> <a id="22090" class="Symbol">:</a> <a id="22092" href="Algebra.Structures.html#21849" class="Bound">*</a> <a id="22094" href="Algebra.Definitions.html#3393" class="Function Operator">DistributesOver</a> <a id="22110" href="Algebra.Structures.html#21847" class="Bound">+</a>
|
|||
|
|
|||
|
<a id="IsRing.isRingWithoutOne"></a><a id="22115" href="Algebra.Structures.html#22115" class="Function">isRingWithoutOne</a> <a id="22132" class="Symbol">:</a> <a id="22134" href="Algebra.Structures.html#17013" class="Record">IsRingWithoutOne</a> <a id="22151" href="Algebra.Structures.html#21847" class="Bound">+</a> <a id="22153" href="Algebra.Structures.html#21849" class="Bound">*</a> <a id="22155" href="Algebra.Structures.html#21861" class="Bound Operator">-_</a> <a id="22158" href="Algebra.Structures.html#21874" class="Bound">0#</a>
|
|||
|
<a id="22163" href="Algebra.Structures.html#22115" class="Function">isRingWithoutOne</a> <a id="22180" class="Symbol">=</a> <a id="22182" class="Keyword">record</a>
|
|||
|
<a id="22193" class="Symbol">{</a> <a id="22195" href="Algebra.Structures.html#17098" class="Field">+-isAbelianGroup</a> <a id="22212" class="Symbol">=</a> <a id="22214" href="Algebra.Structures.html#21917" class="Field">+-isAbelianGroup</a>
|
|||
|
<a id="22235" class="Symbol">;</a> <a id="22237" href="Algebra.Structures.html#17144" class="Field">*-cong</a> <a id="22245" class="Symbol">=</a> <a id="22247" href="Algebra.Structures.html#21963" class="Field">*-cong</a>
|
|||
|
<a id="22258" class="Symbol">;</a> <a id="22260" href="Algebra.Structures.html#17180" class="Field">*-assoc</a> <a id="22268" class="Symbol">=</a> <a id="22270" href="Algebra.Structures.html#21999" class="Field">*-assoc</a>
|
|||
|
<a id="22282" class="Symbol">;</a> <a id="22284" href="Algebra.Structures.html#17217" class="Field">distrib</a> <a id="22292" class="Symbol">=</a> <a id="22294" href="Algebra.Structures.html#22073" class="Field">distrib</a>
|
|||
|
<a id="22306" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="22311" class="Keyword">open</a> <a id="22316" href="Algebra.Structures.html#17013" class="Module">IsRingWithoutOne</a> <a id="22333" href="Algebra.Structures.html#22115" class="Function">isRingWithoutOne</a> <a id="22350" class="Keyword">public</a>
|
|||
|
<a id="22361" class="Keyword">hiding</a> <a id="22368" class="Symbol">(</a><a id="22369" href="Algebra.Structures.html#17098" class="Field">+-isAbelianGroup</a><a id="22385" class="Symbol">;</a> <a id="22387" href="Algebra.Structures.html#17144" class="Field">*-cong</a><a id="22393" class="Symbol">;</a> <a id="22395" href="Algebra.Structures.html#17180" class="Field">*-assoc</a><a id="22402" class="Symbol">;</a> <a id="22404" href="Algebra.Structures.html#17217" class="Field">distrib</a><a id="22411" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsRing.*-isMonoid"></a><a id="22416" href="Algebra.Structures.html#22416" class="Function">*-isMonoid</a> <a id="22427" class="Symbol">:</a> <a id="22429" href="Algebra.Structures.html#3974" class="Record">IsMonoid</a> <a id="22438" href="Algebra.Structures.html#21849" class="Bound">*</a> <a id="22440" href="Algebra.Structures.html#21877" class="Bound">1#</a>
|
|||
|
<a id="22445" href="Algebra.Structures.html#22416" class="Function">*-isMonoid</a> <a id="22456" class="Symbol">=</a> <a id="22458" class="Keyword">record</a>
|
|||
|
<a id="22469" class="Symbol">{</a> <a id="22471" href="Algebra.Structures.html#4035" class="Field">isSemigroup</a> <a id="22483" class="Symbol">=</a> <a id="22485" href="Algebra.Structures.html#18905" class="Function">*-isSemigroup</a>
|
|||
|
<a id="22503" class="Symbol">;</a> <a id="22505" href="Algebra.Structures.html#4067" class="Field">identity</a> <a id="22517" class="Symbol">=</a> <a id="22519" href="Algebra.Structures.html#22036" class="Field">*-identity</a>
|
|||
|
<a id="22534" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="22539" class="Keyword">open</a> <a id="22544" href="Algebra.Structures.html#3974" class="Module">IsMonoid</a> <a id="22553" href="Algebra.Structures.html#22416" class="Function">*-isMonoid</a> <a id="22564" class="Keyword">public</a>
|
|||
|
<a id="22575" class="Keyword">using</a> <a id="22581" class="Symbol">()</a>
|
|||
|
<a id="22588" class="Keyword">renaming</a>
|
|||
|
<a id="22601" class="Symbol">(</a> <a id="22603" href="Algebra.Structures.html#4136" class="Function">identityˡ</a> <a id="22615" class="Symbol">to</a> <a id="22618" class="Function">*-identityˡ</a>
|
|||
|
<a id="22634" class="Symbol">;</a> <a id="22636" href="Algebra.Structures.html#4197" class="Function">identityʳ</a> <a id="22648" class="Symbol">to</a> <a id="22651" class="Function">*-identityʳ</a>
|
|||
|
<a id="22667" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="IsRing.isSemiringWithoutAnnihilatingZero"></a><a id="22672" href="Algebra.Structures.html#22672" class="Function">isSemiringWithoutAnnihilatingZero</a>
|
|||
|
<a id="22710" class="Symbol">:</a> <a id="22712" href="Algebra.Structures.html#10875" class="Record">IsSemiringWithoutAnnihilatingZero</a> <a id="22746" href="Algebra.Structures.html#21847" class="Bound">+</a> <a id="22748" href="Algebra.Structures.html#21849" class="Bound">*</a> <a id="22750" href="Algebra.Structures.html#21874" class="Bound">0#</a> <a id="22753" href="Algebra.Structures.html#21877" class="Bound">1#</a>
|
|||
|
<a id="22758" href="Algebra.Structures.html#22672" class="Function">isSemiringWithoutAnnihilatingZero</a> <a id="22792" class="Symbol">=</a> <a id="22794" class="Keyword">record</a>
|
|||
|
<a id="22805" class="Symbol">{</a> <a id="22807" href="Algebra.Structures.html#11137" class="Field">+-isCommutativeMonoid</a> <a id="22829" class="Symbol">=</a> <a id="22831" href="Algebra.Structures.html#18094" class="Function">+-isCommutativeMonoid</a>
|
|||
|
<a id="22857" class="Symbol">;</a> <a id="22859" href="Algebra.Structures.html#11190" class="Field">*-cong</a> <a id="22881" class="Symbol">=</a> <a id="22883" href="Algebra.Structures.html#21963" class="Field">*-cong</a>
|
|||
|
<a id="22894" class="Symbol">;</a> <a id="22896" href="Algebra.Structures.html#11231" class="Field">*-assoc</a> <a id="22918" class="Symbol">=</a> <a id="22920" href="Algebra.Structures.html#21999" class="Field">*-assoc</a>
|
|||
|
<a id="22932" class="Symbol">;</a> <a id="22934" href="Algebra.Structures.html#11273" class="Field">*-identity</a> <a id="22956" class="Symbol">=</a> <a id="22958" href="Algebra.Structures.html#22036" class="Field">*-identity</a>
|
|||
|
<a id="22973" class="Symbol">;</a> <a id="22975" href="Algebra.Structures.html#11315" class="Field">distrib</a> <a id="22997" class="Symbol">=</a> <a id="22999" href="Algebra.Structures.html#22073" class="Field">distrib</a>
|
|||
|
<a id="23011" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="IsRing.isSemiring"></a><a id="23016" href="Algebra.Structures.html#23016" class="Function">isSemiring</a> <a id="23027" class="Symbol">:</a> <a id="23029" href="Algebra.Structures.html#12731" class="Record">IsSemiring</a> <a id="23040" href="Algebra.Structures.html#21847" class="Bound">+</a> <a id="23042" href="Algebra.Structures.html#21849" class="Bound">*</a> <a id="23044" href="Algebra.Structures.html#21874" class="Bound">0#</a> <a id="23047" href="Algebra.Structures.html#21877" class="Bound">1#</a>
|
|||
|
<a id="23052" href="Algebra.Structures.html#23016" class="Function">isSemiring</a> <a id="23063" class="Symbol">=</a> <a id="23065" class="Keyword">record</a>
|
|||
|
<a id="23076" class="Symbol">{</a> <a id="23078" href="Algebra.Structures.html#12800" class="Field">isSemiringWithoutAnnihilatingZero</a> <a id="23112" class="Symbol">=</a>
|
|||
|
<a id="23122" href="Algebra.Structures.html#22672" class="Function">isSemiringWithoutAnnihilatingZero</a>
|
|||
|
<a id="23160" class="Symbol">;</a> <a id="23162" href="Algebra.Structures.html#12890" class="Field">zero</a> <a id="23167" class="Symbol">=</a> <a id="23169" href="Algebra.Structures.html#18745" class="Function">zero</a>
|
|||
|
<a id="23178" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="23183" class="Keyword">open</a> <a id="23188" href="Algebra.Structures.html#12731" class="Module">IsSemiring</a> <a id="23199" href="Algebra.Structures.html#23016" class="Function">isSemiring</a> <a id="23210" class="Keyword">public</a>
|
|||
|
<a id="23221" class="Keyword">using</a> <a id="23227" class="Symbol">(</a><a id="23228" href="Algebra.Structures.html#9900" class="Function">isNearSemiring</a><a id="23242" class="Symbol">;</a> <a id="23244" href="Algebra.Structures.html#13002" class="Function">isSemiringWithoutOne</a><a id="23264" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="23268" class="Keyword">record</a> <a id="IsCommutativeRing"></a><a id="23275" href="Algebra.Structures.html#23275" class="Record">IsCommutativeRing</a>
|
|||
|
<a id="23302" class="Symbol">(</a><a id="23303" href="Algebra.Structures.html#23303" class="Bound">+</a> <a id="23305" href="Algebra.Structures.html#23305" class="Bound">*</a> <a id="23307" class="Symbol">:</a> <a id="23309" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="23313" href="Algebra.Structures.html#622" class="Bound">A</a><a id="23314" class="Symbol">)</a> <a id="23316" class="Symbol">(</a><a id="23317" href="Algebra.Structures.html#23317" class="Bound">-</a> <a id="23319" class="Symbol">:</a> <a id="23321" href="Algebra.Core.html#484" class="Function">Op₁</a> <a id="23325" href="Algebra.Structures.html#622" class="Bound">A</a><a id="23326" class="Symbol">)</a> <a id="23328" class="Symbol">(</a><a id="23329" href="Algebra.Structures.html#23329" class="Bound">0#</a> <a id="23332" href="Algebra.Structures.html#23332" class="Bound">1#</a> <a id="23335" class="Symbol">:</a> <a id="23337" href="Algebra.Structures.html#622" class="Bound">A</a><a id="23338" class="Symbol">)</a> <a id="23340" class="Symbol">:</a> <a id="23342" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="23346" class="Symbol">(</a><a id="23347" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="23349" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="23351" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="23352" class="Symbol">)</a> <a id="23354" class="Keyword">where</a>
|
|||
|
<a id="23362" class="Keyword">field</a>
|
|||
|
<a id="IsCommutativeRing.isRing"></a><a id="23372" href="Algebra.Structures.html#23372" class="Field">isRing</a> <a id="23379" class="Symbol">:</a> <a id="23381" href="Algebra.Structures.html#21839" class="Record">IsRing</a> <a id="23388" href="Algebra.Structures.html#23303" class="Bound">+</a> <a id="23390" href="Algebra.Structures.html#23305" class="Bound">*</a> <a id="23392" href="Algebra.Structures.html#23317" class="Bound">-</a> <a id="23394" href="Algebra.Structures.html#23329" class="Bound">0#</a> <a id="23397" href="Algebra.Structures.html#23332" class="Bound">1#</a>
|
|||
|
<a id="IsCommutativeRing.*-comm"></a><a id="23404" href="Algebra.Structures.html#23404" class="Field">*-comm</a> <a id="23411" class="Symbol">:</a> <a id="23413" href="Algebra.Definitions.html#1635" class="Function">Commutative</a> <a id="23425" href="Algebra.Structures.html#23305" class="Bound">*</a>
|
|||
|
|
|||
|
<a id="23430" class="Keyword">open</a> <a id="23435" href="Algebra.Structures.html#21839" class="Module">IsRing</a> <a id="23442" href="Algebra.Structures.html#23372" class="Field">isRing</a> <a id="23449" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsCommutativeRing.isCommutativeSemiring"></a><a id="23459" href="Algebra.Structures.html#23459" class="Function">isCommutativeSemiring</a> <a id="23481" class="Symbol">:</a> <a id="23483" href="Algebra.Structures.html#13418" class="Record">IsCommutativeSemiring</a> <a id="23505" href="Algebra.Structures.html#23303" class="Bound">+</a> <a id="23507" href="Algebra.Structures.html#23305" class="Bound">*</a> <a id="23509" href="Algebra.Structures.html#23329" class="Bound">0#</a> <a id="23512" href="Algebra.Structures.html#23332" class="Bound">1#</a>
|
|||
|
<a id="23517" href="Algebra.Structures.html#23459" class="Function">isCommutativeSemiring</a> <a id="23539" class="Symbol">=</a> <a id="23541" class="Keyword">record</a>
|
|||
|
<a id="23552" class="Symbol">{</a> <a id="23554" href="Algebra.Structures.html#13498" class="Field">isSemiring</a> <a id="23565" class="Symbol">=</a> <a id="23567" href="Algebra.Structures.html#23016" class="Function">isSemiring</a>
|
|||
|
<a id="23582" class="Symbol">;</a> <a id="23584" href="Algebra.Structures.html#13536" class="Field">*-comm</a> <a id="23591" class="Symbol">=</a> <a id="23593" href="Algebra.Structures.html#23404" class="Field">*-comm</a>
|
|||
|
<a id="23604" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="23609" class="Keyword">open</a> <a id="23614" href="Algebra.Structures.html#13418" class="Module">IsCommutativeSemiring</a> <a id="23636" href="Algebra.Structures.html#23459" class="Function">isCommutativeSemiring</a> <a id="23658" class="Keyword">public</a>
|
|||
|
<a id="23669" class="Keyword">using</a>
|
|||
|
<a id="23679" class="Symbol">(</a> <a id="23681" href="Algebra.Structures.html#13603" class="Function">isCommutativeSemiringWithoutOne</a>
|
|||
|
<a id="23717" class="Symbol">;</a> <a id="23719" href="Algebra.Structures.html#10646" class="Function">*-isCommutativeMagma</a>
|
|||
|
<a id="23744" class="Symbol">;</a> <a id="23746" href="Algebra.Structures.html#10383" class="Function">*-isCommutativeSemigroup</a>
|
|||
|
<a id="23775" class="Symbol">;</a> <a id="23777" href="Algebra.Structures.html#13957" class="Function">*-isCommutativeMonoid</a>
|
|||
|
<a id="23803" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="23806" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="23879" class="Comment">-- Structures with 3 binary operations</a>
|
|||
|
<a id="23918" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="23992" class="Keyword">record</a> <a id="IsQuasigroup"></a><a id="23999" href="Algebra.Structures.html#23999" class="Record">IsQuasigroup</a> <a id="24012" class="Symbol">(</a><a id="24013" href="Algebra.Structures.html#24013" class="Bound">∙</a> <a id="24015" href="Algebra.Structures.html#24015" class="Bound">\\</a> <a id="24018" href="Algebra.Structures.html#24018" class="Bound">//</a> <a id="24021" class="Symbol">:</a> <a id="24023" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="24027" href="Algebra.Structures.html#622" class="Bound">A</a><a id="24028" class="Symbol">)</a> <a id="24030" class="Symbol">:</a> <a id="24032" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="24036" class="Symbol">(</a><a id="24037" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="24039" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="24041" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="24042" class="Symbol">)</a> <a id="24044" class="Keyword">where</a>
|
|||
|
<a id="24052" class="Keyword">field</a>
|
|||
|
<a id="IsQuasigroup.isMagma"></a><a id="24062" href="Algebra.Structures.html#24062" class="Field">isMagma</a> <a id="24076" class="Symbol">:</a> <a id="24078" href="Algebra.Structures.html#1225" class="Record">IsMagma</a> <a id="24086" href="Algebra.Structures.html#24013" class="Bound">∙</a>
|
|||
|
<a id="IsQuasigroup.\\-cong"></a><a id="24092" href="Algebra.Structures.html#24092" class="Field">\\-cong</a> <a id="24106" class="Symbol">:</a> <a id="24108" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="24119" href="Algebra.Structures.html#24015" class="Bound">\\</a>
|
|||
|
<a id="IsQuasigroup.//-cong"></a><a id="24126" href="Algebra.Structures.html#24126" class="Field">//-cong</a> <a id="24140" class="Symbol">:</a> <a id="24142" href="Algebra.Definitions.html#1302" class="Function">Congruent₂</a> <a id="24153" href="Algebra.Structures.html#24018" class="Bound">//</a>
|
|||
|
<a id="IsQuasigroup.leftDivides"></a><a id="24160" href="Algebra.Structures.html#24160" class="Field">leftDivides</a> <a id="24174" class="Symbol">:</a> <a id="24176" href="Algebra.Definitions.html#5352" class="Function">LeftDivides</a> <a id="24188" href="Algebra.Structures.html#24013" class="Bound">∙</a> <a id="24190" href="Algebra.Structures.html#24015" class="Bound">\\</a>
|
|||
|
<a id="IsQuasigroup.rightDivides"></a><a id="24197" href="Algebra.Structures.html#24197" class="Field">rightDivides</a> <a id="24211" class="Symbol">:</a> <a id="24213" href="Algebra.Definitions.html#5450" class="Function">RightDivides</a> <a id="24226" href="Algebra.Structures.html#24013" class="Bound">∙</a> <a id="24228" href="Algebra.Structures.html#24018" class="Bound">//</a>
|
|||
|
|
|||
|
<a id="24234" class="Keyword">open</a> <a id="24239" href="Algebra.Structures.html#1225" class="Module">IsMagma</a> <a id="24247" href="Algebra.Structures.html#24062" class="Field">isMagma</a> <a id="24255" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsQuasigroup.\\-congˡ"></a><a id="24265" href="Algebra.Structures.html#24265" class="Function">\\-congˡ</a> <a id="24274" class="Symbol">:</a> <a id="24276" href="Algebra.Definitions.html#1374" class="Function">LeftCongruent</a> <a id="24290" href="Algebra.Structures.html#24015" class="Bound">\\</a>
|
|||
|
<a id="24295" href="Algebra.Structures.html#24265" class="Function">\\-congˡ</a> <a id="24304" href="Algebra.Structures.html#24304" class="Bound">y≈z</a> <a id="24308" class="Symbol">=</a> <a id="24310" href="Algebra.Structures.html#24092" class="Field">\\-cong</a> <a id="24318" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="24323" href="Algebra.Structures.html#24304" class="Bound">y≈z</a>
|
|||
|
|
|||
|
<a id="IsQuasigroup.\\-congʳ"></a><a id="24330" href="Algebra.Structures.html#24330" class="Function">\\-congʳ</a> <a id="24339" class="Symbol">:</a> <a id="24341" href="Algebra.Definitions.html#1460" class="Function">RightCongruent</a> <a id="24356" href="Algebra.Structures.html#24015" class="Bound">\\</a>
|
|||
|
<a id="24361" href="Algebra.Structures.html#24330" class="Function">\\-congʳ</a> <a id="24370" href="Algebra.Structures.html#24370" class="Bound">y≈z</a> <a id="24374" class="Symbol">=</a> <a id="24376" href="Algebra.Structures.html#24092" class="Field">\\-cong</a> <a id="24384" href="Algebra.Structures.html#24370" class="Bound">y≈z</a> <a id="24388" href="Relation.Binary.Structures.html#1596" class="Function">refl</a>
|
|||
|
|
|||
|
<a id="IsQuasigroup.//-congˡ"></a><a id="24396" href="Algebra.Structures.html#24396" class="Function">//-congˡ</a> <a id="24405" class="Symbol">:</a> <a id="24407" href="Algebra.Definitions.html#1374" class="Function">LeftCongruent</a> <a id="24421" href="Algebra.Structures.html#24018" class="Bound">//</a>
|
|||
|
<a id="24426" href="Algebra.Structures.html#24396" class="Function">//-congˡ</a> <a id="24435" href="Algebra.Structures.html#24435" class="Bound">y≈z</a> <a id="24439" class="Symbol">=</a> <a id="24441" href="Algebra.Structures.html#24126" class="Field">//-cong</a> <a id="24449" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="24454" href="Algebra.Structures.html#24435" class="Bound">y≈z</a>
|
|||
|
|
|||
|
<a id="IsQuasigroup.//-congʳ"></a><a id="24461" href="Algebra.Structures.html#24461" class="Function">//-congʳ</a> <a id="24470" class="Symbol">:</a> <a id="24472" href="Algebra.Definitions.html#1460" class="Function">RightCongruent</a> <a id="24487" href="Algebra.Structures.html#24018" class="Bound">//</a>
|
|||
|
<a id="24492" href="Algebra.Structures.html#24461" class="Function">//-congʳ</a> <a id="24501" href="Algebra.Structures.html#24501" class="Bound">y≈z</a> <a id="24505" class="Symbol">=</a> <a id="24507" href="Algebra.Structures.html#24126" class="Field">//-cong</a> <a id="24515" href="Algebra.Structures.html#24501" class="Bound">y≈z</a> <a id="24519" href="Relation.Binary.Structures.html#1596" class="Function">refl</a>
|
|||
|
|
|||
|
<a id="IsQuasigroup.leftDividesˡ"></a><a id="24527" href="Algebra.Structures.html#24527" class="Function">leftDividesˡ</a> <a id="24540" class="Symbol">:</a> <a id="24542" href="Algebra.Definitions.html#4991" class="Function">LeftDividesˡ</a> <a id="24555" href="Algebra.Structures.html#24013" class="Bound">∙</a> <a id="24557" href="Algebra.Structures.html#24015" class="Bound">\\</a>
|
|||
|
<a id="24562" href="Algebra.Structures.html#24527" class="Function">leftDividesˡ</a> <a id="24575" class="Symbol">=</a> <a id="24577" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="24583" href="Algebra.Structures.html#24160" class="Field">leftDivides</a>
|
|||
|
|
|||
|
<a id="IsQuasigroup.leftDividesʳ"></a><a id="24598" href="Algebra.Structures.html#24598" class="Function">leftDividesʳ</a> <a id="24611" class="Symbol">:</a> <a id="24613" href="Algebra.Definitions.html#5081" class="Function">LeftDividesʳ</a> <a id="24626" href="Algebra.Structures.html#24013" class="Bound">∙</a> <a id="24628" href="Algebra.Structures.html#24015" class="Bound">\\</a>
|
|||
|
<a id="24633" href="Algebra.Structures.html#24598" class="Function">leftDividesʳ</a> <a id="24646" class="Symbol">=</a> <a id="24648" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="24654" href="Algebra.Structures.html#24160" class="Field">leftDivides</a>
|
|||
|
|
|||
|
<a id="IsQuasigroup.rightDividesˡ"></a><a id="24669" href="Algebra.Structures.html#24669" class="Function">rightDividesˡ</a> <a id="24683" class="Symbol">:</a> <a id="24685" href="Algebra.Definitions.html#5170" class="Function">RightDividesˡ</a> <a id="24699" href="Algebra.Structures.html#24013" class="Bound">∙</a> <a id="24701" href="Algebra.Structures.html#24018" class="Bound">//</a>
|
|||
|
<a id="24706" href="Algebra.Structures.html#24669" class="Function">rightDividesˡ</a> <a id="24720" class="Symbol">=</a> <a id="24722" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="24728" href="Algebra.Structures.html#24197" class="Field">rightDivides</a>
|
|||
|
|
|||
|
<a id="IsQuasigroup.rightDividesʳ"></a><a id="24744" href="Algebra.Structures.html#24744" class="Function">rightDividesʳ</a> <a id="24758" class="Symbol">:</a> <a id="24760" href="Algebra.Definitions.html#5261" class="Function">RightDividesʳ</a> <a id="24774" href="Algebra.Structures.html#24013" class="Bound">∙</a> <a id="24776" href="Algebra.Structures.html#24018" class="Bound">//</a>
|
|||
|
<a id="24781" href="Algebra.Structures.html#24744" class="Function">rightDividesʳ</a> <a id="24795" class="Symbol">=</a> <a id="24797" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="24803" href="Algebra.Structures.html#24197" class="Field">rightDivides</a>
|
|||
|
|
|||
|
|
|||
|
<a id="24818" class="Keyword">record</a> <a id="IsLoop"></a><a id="24825" href="Algebra.Structures.html#24825" class="Record">IsLoop</a> <a id="24832" class="Symbol">(</a><a id="24833" href="Algebra.Structures.html#24833" class="Bound">∙</a> <a id="24835" href="Algebra.Structures.html#24835" class="Bound">\\</a> <a id="24838" href="Algebra.Structures.html#24838" class="Bound">//</a> <a id="24841" class="Symbol">:</a> <a id="24843" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="24847" href="Algebra.Structures.html#622" class="Bound">A</a><a id="24848" class="Symbol">)</a> <a id="24850" class="Symbol">(</a><a id="24851" href="Algebra.Structures.html#24851" class="Bound">ε</a> <a id="24853" class="Symbol">:</a> <a id="24855" href="Algebra.Structures.html#622" class="Bound">A</a><a id="24856" class="Symbol">)</a> <a id="24858" class="Symbol">:</a> <a id="24860" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="24864" class="Symbol">(</a><a id="24865" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="24867" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="24869" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="24870" class="Symbol">)</a> <a id="24872" class="Keyword">where</a>
|
|||
|
<a id="24880" class="Keyword">field</a>
|
|||
|
<a id="IsLoop.isQuasigroup"></a><a id="24890" href="Algebra.Structures.html#24890" class="Field">isQuasigroup</a> <a id="24903" class="Symbol">:</a> <a id="24905" href="Algebra.Structures.html#23999" class="Record">IsQuasigroup</a> <a id="24918" href="Algebra.Structures.html#24833" class="Bound">∙</a> <a id="24920" href="Algebra.Structures.html#24835" class="Bound">\\</a> <a id="24923" href="Algebra.Structures.html#24838" class="Bound">//</a>
|
|||
|
<a id="IsLoop.identity"></a><a id="24930" href="Algebra.Structures.html#24930" class="Field">identity</a> <a id="24943" class="Symbol">:</a> <a id="24945" href="Algebra.Definitions.html#1856" class="Function">Identity</a> <a id="24954" href="Algebra.Structures.html#24851" class="Bound">ε</a> <a id="24956" href="Algebra.Structures.html#24833" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="24961" class="Keyword">open</a> <a id="24966" href="Algebra.Structures.html#23999" class="Module">IsQuasigroup</a> <a id="24979" href="Algebra.Structures.html#24890" class="Field">isQuasigroup</a> <a id="24992" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="IsLoop.identityˡ"></a><a id="25002" href="Algebra.Structures.html#25002" class="Function">identityˡ</a> <a id="25012" class="Symbol">:</a> <a id="25014" href="Algebra.Definitions.html#1708" class="Function">LeftIdentity</a> <a id="25027" href="Algebra.Structures.html#24851" class="Bound">ε</a> <a id="25029" href="Algebra.Structures.html#24833" class="Bound">∙</a>
|
|||
|
<a id="25033" href="Algebra.Structures.html#25002" class="Function">identityˡ</a> <a id="25043" class="Symbol">=</a> <a id="25045" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="25051" href="Algebra.Structures.html#24930" class="Field">identity</a>
|
|||
|
|
|||
|
<a id="IsLoop.identityʳ"></a><a id="25063" href="Algebra.Structures.html#25063" class="Function">identityʳ</a> <a id="25073" class="Symbol">:</a> <a id="25075" href="Algebra.Definitions.html#1781" class="Function">RightIdentity</a> <a id="25089" href="Algebra.Structures.html#24851" class="Bound">ε</a> <a id="25091" href="Algebra.Structures.html#24833" class="Bound">∙</a>
|
|||
|
<a id="25095" href="Algebra.Structures.html#25063" class="Function">identityʳ</a> <a id="25105" class="Symbol">=</a> <a id="25107" href="Data.Product.Base.html#650" class="Field">proj₂</a> <a id="25113" href="Algebra.Structures.html#24930" class="Field">identity</a>
|
|||
|
|
|||
|
<a id="25123" class="Keyword">record</a> <a id="IsLeftBolLoop"></a><a id="25130" href="Algebra.Structures.html#25130" class="Record">IsLeftBolLoop</a> <a id="25144" class="Symbol">(</a><a id="25145" href="Algebra.Structures.html#25145" class="Bound">∙</a> <a id="25147" href="Algebra.Structures.html#25147" class="Bound">\\</a> <a id="25150" href="Algebra.Structures.html#25150" class="Bound">//</a> <a id="25153" class="Symbol">:</a> <a id="25155" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="25159" href="Algebra.Structures.html#622" class="Bound">A</a><a id="25160" class="Symbol">)</a> <a id="25162" class="Symbol">(</a><a id="25163" href="Algebra.Structures.html#25163" class="Bound">ε</a> <a id="25165" class="Symbol">:</a> <a id="25167" href="Algebra.Structures.html#622" class="Bound">A</a><a id="25168" class="Symbol">)</a> <a id="25170" class="Symbol">:</a> <a id="25172" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="25176" class="Symbol">(</a><a id="25177" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="25179" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="25181" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="25182" class="Symbol">)</a> <a id="25184" class="Keyword">where</a>
|
|||
|
<a id="25192" class="Keyword">field</a>
|
|||
|
<a id="IsLeftBolLoop.isLoop"></a><a id="25202" href="Algebra.Structures.html#25202" class="Field">isLoop</a> <a id="25210" class="Symbol">:</a> <a id="25212" href="Algebra.Structures.html#24825" class="Record">IsLoop</a> <a id="25219" href="Algebra.Structures.html#25145" class="Bound">∙</a> <a id="25221" href="Algebra.Structures.html#25147" class="Bound">\\</a> <a id="25224" href="Algebra.Structures.html#25150" class="Bound">//</a> <a id="25228" href="Algebra.Structures.html#25163" class="Bound">ε</a>
|
|||
|
<a id="IsLeftBolLoop.leftBol"></a><a id="25234" href="Algebra.Structures.html#25234" class="Field">leftBol</a> <a id="25242" class="Symbol">:</a> <a id="25244" href="Algebra.Definitions.html#7114" class="Function">LeftBol</a> <a id="25252" href="Algebra.Structures.html#25145" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="25257" class="Keyword">open</a> <a id="25262" href="Algebra.Structures.html#24825" class="Module">IsLoop</a> <a id="25269" href="Algebra.Structures.html#25202" class="Field">isLoop</a> <a id="25276" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="25284" class="Keyword">record</a> <a id="IsRightBolLoop"></a><a id="25291" href="Algebra.Structures.html#25291" class="Record">IsRightBolLoop</a> <a id="25306" class="Symbol">(</a><a id="25307" href="Algebra.Structures.html#25307" class="Bound">∙</a> <a id="25309" href="Algebra.Structures.html#25309" class="Bound">\\</a> <a id="25312" href="Algebra.Structures.html#25312" class="Bound">//</a> <a id="25315" class="Symbol">:</a> <a id="25317" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="25321" href="Algebra.Structures.html#622" class="Bound">A</a><a id="25322" class="Symbol">)</a> <a id="25324" class="Symbol">(</a><a id="25325" href="Algebra.Structures.html#25325" class="Bound">ε</a> <a id="25327" class="Symbol">:</a> <a id="25329" href="Algebra.Structures.html#622" class="Bound">A</a><a id="25330" class="Symbol">)</a> <a id="25332" class="Symbol">:</a> <a id="25334" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="25338" class="Symbol">(</a><a id="25339" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="25341" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="25343" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="25344" class="Symbol">)</a> <a id="25346" class="Keyword">where</a>
|
|||
|
<a id="25354" class="Keyword">field</a>
|
|||
|
<a id="IsRightBolLoop.isLoop"></a><a id="25364" href="Algebra.Structures.html#25364" class="Field">isLoop</a> <a id="25373" class="Symbol">:</a> <a id="25375" href="Algebra.Structures.html#24825" class="Record">IsLoop</a> <a id="25382" href="Algebra.Structures.html#25307" class="Bound">∙</a> <a id="25384" href="Algebra.Structures.html#25309" class="Bound">\\</a> <a id="25387" href="Algebra.Structures.html#25312" class="Bound">//</a> <a id="25391" href="Algebra.Structures.html#25325" class="Bound">ε</a>
|
|||
|
<a id="IsRightBolLoop.rightBol"></a><a id="25397" href="Algebra.Structures.html#25397" class="Field">rightBol</a> <a id="25406" class="Symbol">:</a> <a id="25408" href="Algebra.Definitions.html#7206" class="Function">RightBol</a> <a id="25417" href="Algebra.Structures.html#25307" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="25422" class="Keyword">open</a> <a id="25427" href="Algebra.Structures.html#24825" class="Module">IsLoop</a> <a id="25434" href="Algebra.Structures.html#25364" class="Field">isLoop</a> <a id="25441" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="25449" class="Keyword">record</a> <a id="IsMoufangLoop"></a><a id="25456" href="Algebra.Structures.html#25456" class="Record">IsMoufangLoop</a> <a id="25470" class="Symbol">(</a><a id="25471" href="Algebra.Structures.html#25471" class="Bound">∙</a> <a id="25473" href="Algebra.Structures.html#25473" class="Bound">\\</a> <a id="25476" href="Algebra.Structures.html#25476" class="Bound">//</a> <a id="25479" class="Symbol">:</a> <a id="25481" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="25485" href="Algebra.Structures.html#622" class="Bound">A</a><a id="25486" class="Symbol">)</a> <a id="25488" class="Symbol">(</a><a id="25489" href="Algebra.Structures.html#25489" class="Bound">ε</a> <a id="25491" class="Symbol">:</a> <a id="25493" href="Algebra.Structures.html#622" class="Bound">A</a><a id="25494" class="Symbol">)</a> <a id="25496" class="Symbol">:</a> <a id="25498" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="25502" class="Symbol">(</a><a id="25503" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="25505" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="25507" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="25508" class="Symbol">)</a> <a id="25510" class="Keyword">where</a>
|
|||
|
<a id="25518" class="Keyword">field</a>
|
|||
|
<a id="IsMoufangLoop.isLeftBolLoop"></a><a id="25528" href="Algebra.Structures.html#25528" class="Field">isLeftBolLoop</a> <a id="25543" class="Symbol">:</a> <a id="25545" href="Algebra.Structures.html#25130" class="Record">IsLeftBolLoop</a> <a id="25559" href="Algebra.Structures.html#25471" class="Bound">∙</a> <a id="25561" href="Algebra.Structures.html#25473" class="Bound">\\</a> <a id="25564" href="Algebra.Structures.html#25476" class="Bound">//</a> <a id="25568" href="Algebra.Structures.html#25489" class="Bound">ε</a>
|
|||
|
<a id="IsMoufangLoop.rightBol"></a><a id="25574" href="Algebra.Structures.html#25574" class="Field">rightBol</a> <a id="25589" class="Symbol">:</a> <a id="25591" href="Algebra.Definitions.html#7206" class="Function">RightBol</a> <a id="25600" href="Algebra.Structures.html#25471" class="Bound">∙</a>
|
|||
|
<a id="IsMoufangLoop.identical"></a><a id="25606" href="Algebra.Structures.html#25606" class="Field">identical</a> <a id="25621" class="Symbol">:</a> <a id="25623" href="Algebra.Definitions.html#7425" class="Function">Identical</a> <a id="25633" href="Algebra.Structures.html#25471" class="Bound">∙</a>
|
|||
|
|
|||
|
<a id="25638" class="Keyword">open</a> <a id="25643" href="Algebra.Structures.html#25130" class="Module">IsLeftBolLoop</a> <a id="25657" href="Algebra.Structures.html#25528" class="Field">isLeftBolLoop</a> <a id="25671" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="25679" class="Keyword">record</a> <a id="IsMiddleBolLoop"></a><a id="25686" href="Algebra.Structures.html#25686" class="Record">IsMiddleBolLoop</a> <a id="25702" class="Symbol">(</a><a id="25703" href="Algebra.Structures.html#25703" class="Bound">∙</a> <a id="25705" href="Algebra.Structures.html#25705" class="Bound">\\</a> <a id="25708" href="Algebra.Structures.html#25708" class="Bound">//</a> <a id="25711" class="Symbol">:</a> <a id="25713" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="25717" href="Algebra.Structures.html#622" class="Bound">A</a><a id="25718" class="Symbol">)</a> <a id="25720" class="Symbol">(</a><a id="25721" href="Algebra.Structures.html#25721" class="Bound">ε</a> <a id="25723" class="Symbol">:</a> <a id="25725" href="Algebra.Structures.html#622" class="Bound">A</a><a id="25726" class="Symbol">)</a> <a id="25728" class="Symbol">:</a> <a id="25730" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="25734" class="Symbol">(</a><a id="25735" href="Algebra.Structures.html#616" class="Bound">a</a> <a id="25737" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="25739" href="Algebra.Structures.html#618" class="Bound">ℓ</a><a id="25740" class="Symbol">)</a> <a id="25742" class="Keyword">where</a>
|
|||
|
<a id="25750" class="Keyword">field</a>
|
|||
|
<a id="IsMiddleBolLoop.isLoop"></a><a id="25760" href="Algebra.Structures.html#25760" class="Field">isLoop</a> <a id="25770" class="Symbol">:</a> <a id="25772" href="Algebra.Structures.html#24825" class="Record">IsLoop</a> <a id="25779" href="Algebra.Structures.html#25703" class="Bound">∙</a> <a id="25781" href="Algebra.Structures.html#25705" class="Bound">\\</a> <a id="25784" href="Algebra.Structures.html#25708" class="Bound">//</a> <a id="25788" href="Algebra.Structures.html#25721" class="Bound">ε</a>
|
|||
|
<a id="IsMiddleBolLoop.middleBol"></a><a id="25794" href="Algebra.Structures.html#25794" class="Field">middleBol</a> <a id="25804" class="Symbol">:</a> <a id="25806" href="Algebra.Definitions.html#7299" class="Function">MiddleBol</a> <a id="25816" href="Algebra.Structures.html#25703" class="Bound">∙</a> <a id="25818" href="Algebra.Structures.html#25705" class="Bound">\\</a> <a id="25821" href="Algebra.Structures.html#25708" class="Bound">//</a>
|
|||
|
|
|||
|
<a id="25827" class="Keyword">open</a> <a id="25832" href="Algebra.Structures.html#24825" class="Module">IsLoop</a> <a id="25839" href="Algebra.Structures.html#25760" class="Field">isLoop</a> <a id="25846" class="Keyword">public</a>
|
|||
|
</pre></body></html>
|