|
8 | 8 | {-# OPTIONS --cubical-compatible --safe #-} |
9 | 9 |
|
10 | 10 | open import Algebra.Bundles using (Monoid) |
11 | | -open import Function using (_∘_) |
12 | 11 |
|
13 | 12 | module Algebra.Properties.Monoid {o ℓ} (M : Monoid o ℓ) where |
14 | 13 |
|
| 14 | +open import Function using (_∘_) |
| 15 | + |
15 | 16 | open Monoid M |
16 | | - using (Carrier; _∙_; _≈_; setoid; isMagma; semigroup; ε; sym; identityˡ |
17 | | - ; identityʳ ; ∙-cong; refl; assoc; ∙-congˡ; ∙-congʳ; trans) |
| 17 | + using (Carrier; _∙_; ε; _≈_; refl; sym; trans; setoid |
| 18 | + ; ∙-cong; ∙-congˡ; ∙-congʳ; isMagma |
| 19 | + ; assoc; semigroup; identity; identityˡ; identityʳ) |
| 20 | + |
| 21 | +open import Algebra.Consequences.Setoid setoid using (identity⇒central) |
| 22 | +open import Algebra.Definitions _≈_ using (Central) |
18 | 23 | open import Relation.Binary.Reasoning.Setoid setoid |
19 | 24 |
|
| 25 | +private |
| 26 | + variable |
| 27 | + a b c d : Carrier |
| 28 | + |
| 29 | +------------------------------------------------------------------------ |
| 30 | +-- Re-export `Semigroup` properties |
| 31 | + |
20 | 32 | open import Algebra.Properties.Semigroup semigroup public |
21 | 33 |
|
22 | | -private |
23 | | - variable |
24 | | - a b c d : Carrier |
| 34 | +------------------------------------------------------------------------ |
| 35 | +-- Properties of identity |
25 | 36 |
|
26 | 37 | ε-unique : ∀ a → (∀ b → b ∙ a ≈ b) → a ≈ ε |
27 | 38 | ε-unique a b∙a≈b = trans (sym (identityˡ a)) (b∙a≈b ε) |
28 | 39 |
|
29 | | -ε-comm : ∀ a → a ∙ ε ≈ ε ∙ a |
30 | | -ε-comm a = trans (identityʳ a) (sym (identityˡ a)) |
| 40 | +ε-central : Central _∙_ ε |
| 41 | +ε-central = identity⇒central {_∙_ = _∙_} identity |
31 | 42 |
|
32 | 43 | module _ (a≈ε : a ≈ ε) where |
33 | 44 | elimʳ : ∀ b → b ∙ a ≈ b |
@@ -65,3 +76,17 @@ module _ (inv : a ∙ c ≈ ε) where |
65 | 76 | insertᶜ : ∀ b d → b ∙ d ≈ (b ∙ a) ∙ (c ∙ d) |
66 | 77 | insertᶜ = λ b d → sym (cancelᶜ b d) |
67 | 78 |
|
| 79 | + |
| 80 | +------------------------------------------------------------------------ |
| 81 | +-- DEPRECATED NAMES |
| 82 | +------------------------------------------------------------------------ |
| 83 | +-- Please use the new names as continuing support for the old names is |
| 84 | +-- not guaranteed. |
| 85 | + |
| 86 | +-- Version 2.4 |
| 87 | + |
| 88 | +ε-comm = ε-central |
| 89 | +{-# WARNING_ON_USAGE ε-comm |
| 90 | +"Warning: ε-comm was deprecated in v2.4. |
| 91 | +Please use ε-central instead." |
| 92 | +#-} |
0 commit comments