File tree Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Original file line number Diff line number Diff line change @@ -57,6 +57,11 @@ New modules
57
57
Additions to existing modules
58
58
-----------------------------
59
59
60
+ * In ` Algebra.Bundles ` :
61
+ ``` agda
62
+ IntegralSemiring : (c ℓ : Level) → Set _
63
+ ```
64
+
60
65
* In ` Algebra.Consequences.Base ` :
61
66
``` agda
62
67
integral⇒noZeroDivisors : Integral _≈_ 1# 0# _•_ → ¬ (1# ≈ 0#) →
@@ -98,3 +103,8 @@ Additions to existing modules
98
103
Integral : A → A → Op₂ A → Set _
99
104
```
100
105
(see [ discussion on issue #2554 ] ( https://github.com/agda/agda-stdlib/issues/2554 ) )
106
+
107
+ * In ` Algebra.Structures ` :
108
+ ``` agda
109
+ IsIntegralSemiring : (+ * : Op₂ A) (0# 1# : A) → Set _
110
+ ```
Original file line number Diff line number Diff line change @@ -841,6 +841,36 @@ record IdempotentSemiring c ℓ : Set (suc (c ⊔ ℓ)) where
841
841
; idempotentMonoid to +-idempotentMonoid
842
842
)
843
843
844
+ record IntegralSemiring c ℓ : Set (suc (c ⊔ ℓ)) where
845
+ infixl 7 _*_
846
+ infixl 6 _+_
847
+ infix 4 _≈_
848
+ field
849
+ Carrier : Set c
850
+ _≈_ : Rel Carrier ℓ
851
+ _+_ : Op₂ Carrier
852
+ _*_ : Op₂ Carrier
853
+ 0# : Carrier
854
+ 1# : Carrier
855
+ isIntegralSemiring : IsIntegralSemiring _≈_ _+_ _*_ 0# 1#
856
+
857
+ open IsIntegralSemiring isIntegralSemiring public
858
+
859
+ semiring : Semiring _ _
860
+ semiring = record { isSemiring = isSemiring }
861
+
862
+ open Semiring semiring public
863
+ using
864
+ ( _≉_; +-rawMagma; +-magma; +-unitalMagma; +-commutativeMagma
865
+ ; +-semigroup; +-commutativeSemigroup
866
+ ; *-rawMagma; *-magma; *-semigroup
867
+ ; +-rawMonoid; +-monoid; +-commutativeMonoid
868
+ ; *-rawMonoid; *-monoid
869
+ ; nearSemiring; semiringWithoutOne
870
+ ; semiringWithoutAnnihilatingZero
871
+ ; rawSemiring
872
+ )
873
+
844
874
record KleeneAlgebra c ℓ : Set (suc (c ⊔ ℓ)) where
845
875
infix 8 _⋆
846
876
infixl 7 _*_
Original file line number Diff line number Diff line change @@ -582,6 +582,14 @@ record IsSemiring (+ * : Op₂ A) (0# 1# : A) : Set (a ⊔ ℓ) where
582
582
)
583
583
584
584
585
+ record IsIntegralSemiring (+ * : Op₂ A) (0# 1# : A) : Set (a ⊔ ℓ) where
586
+ field
587
+ isSemiring : IsSemiring + * 0# 1#
588
+ integral : Integral 1# 0# *
589
+
590
+ open IsSemiring isSemiring public
591
+
592
+
585
593
record IsCommutativeSemiring (+ * : Op₂ A) (0# 1# : A) : Set (a ⊔ ℓ) where
586
594
field
587
595
isSemiring : IsSemiring + * 0# 1#
You can’t perform that action at this time.
0 commit comments