diff --git a/CHANGELOG.md b/CHANGELOG.md index 02014e8d9f..58ca827765 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1739,6 +1739,13 @@ Other minor changes _⊓′_ : ℕ → ℕ → ℕ ∣_-_∣′ : ℕ → ℕ → ℕ _! : ℕ → ℕ + + +-rawMagma : RawMagma 0ℓ 0ℓ + +-0-rawMonoid : RawMonoid 0ℓ 0ℓ + *-rawMagma : RawMagma 0ℓ 0ℓ + *-1-rawMonoid : RawMonoid 0ℓ 0ℓ + +-*-rawNearSemiring : RawNearSemiring 0ℓ 0ℓ + +-*-rawSemiring : RawSemiring 0ℓ 0ℓ ``` diff --git a/src/Data/Nat/Base.agda b/src/Data/Nat/Base.agda index 2f2a66edab..abdd5bbe8a 100644 --- a/src/Data/Nat/Base.agda +++ b/src/Data/Nat/Base.agda @@ -11,7 +11,7 @@ module Data.Nat.Base where -open import Algebra.Bundles.Raw using (RawMagma; RawMonoid) +open import Algebra.Bundles.Raw using (RawMagma; RawMonoid; RawNearSemiring; RawSemiring) open import Data.Bool.Base using (Bool; true; false; T; not) open import Level using (0ℓ) open import Relation.Binary.Core using (Rel) @@ -323,3 +323,36 @@ compare (suc m) (suc n) with compare m n ; _∙_ = _+_ ; ε = 0 } + +*-rawMagma : RawMagma 0ℓ 0ℓ +*-rawMagma = record + { _≈_ = _≡_ + ; _∙_ = _*_ + } + +*-1-rawMonoid : RawMonoid 0ℓ 0ℓ +*-1-rawMonoid = record + { _≈_ = _≡_ + ; _∙_ = _*_ + ; ε = 1 + } + ++-*-rawNearSemiring : RawNearSemiring 0ℓ 0ℓ ++-*-rawNearSemiring = record + { Carrier = _ + ; _≈_ = _≡_ + ; _+_ = _+_ + ; _*_ = _*_ + ; 0# = 0 + } + ++-*-rawSemiring : RawSemiring 0ℓ 0ℓ ++-*-rawSemiring = record + { Carrier = _ + ; _≈_ = _≡_ + ; _+_ = _+_ + ; _*_ = _*_ + ; 0# = 0 + ; 1# = 1 + } + diff --git a/src/Data/Nat/Binary/Properties.agda b/src/Data/Nat/Binary/Properties.agda index 2f79568895..67718af6b9 100644 --- a/src/Data/Nat/Binary/Properties.agda +++ b/src/Data/Nat/Binary/Properties.agda @@ -983,19 +983,19 @@ toℕ-homo-* x y = aux x y (size x ℕ.+ size y) ℕₚ.≤-refl |y|+1+|x|≤cnt = subst (ℕ._≤ cnt) eq |x|+1+|y|≤cnt -toℕ-isMagmaHomomorphism-* : IsMagmaHomomorphism *-rawMagma ℕₚ.*-rawMagma toℕ +toℕ-isMagmaHomomorphism-* : IsMagmaHomomorphism *-rawMagma ℕᵇ.*-rawMagma toℕ toℕ-isMagmaHomomorphism-* = record { isRelHomomorphism = toℕ-isRelHomomorphism ; homo = toℕ-homo-* } -toℕ-isMonoidHomomorphism-* : IsMonoidHomomorphism *-1-rawMonoid ℕₚ.*-1-rawMonoid toℕ +toℕ-isMonoidHomomorphism-* : IsMonoidHomomorphism *-1-rawMonoid ℕᵇ.*-1-rawMonoid toℕ toℕ-isMonoidHomomorphism-* = record { isMagmaHomomorphism = toℕ-isMagmaHomomorphism-* ; ε-homo = refl } -toℕ-isMonoidMonomorphism-* : IsMonoidMonomorphism *-1-rawMonoid ℕₚ.*-1-rawMonoid toℕ +toℕ-isMonoidMonomorphism-* : IsMonoidMonomorphism *-1-rawMonoid ℕᵇ.*-1-rawMonoid toℕ toℕ-isMonoidMonomorphism-* = record { isMonoidHomomorphism = toℕ-isMonoidHomomorphism-* ; injective = toℕ-injective diff --git a/src/Data/Nat/Properties.agda b/src/Data/Nat/Properties.agda index 6839ee5579..ea83525e62 100644 --- a/src/Data/Nat/Properties.agda +++ b/src/Data/Nat/Properties.agda @@ -845,19 +845,6 @@ m+n≮m m n = subst (_≮ m) (+-comm n m) (m+n≮n n m) ------------------------------------------------------------------------ -- Bundles -*-rawMagma : RawMagma 0ℓ 0ℓ -*-rawMagma = record - { _≈_ = _≡_ - ; _∙_ = _*_ - } - -*-1-rawMonoid : RawMonoid 0ℓ 0ℓ -*-1-rawMonoid = record - { _≈_ = _≡_ - ; _∙_ = _*_ - ; ε = 1 - } - *-magma : Magma 0ℓ 0ℓ *-magma = record { isMagma = *-isMagma