Commutative semigroups
Content created by Louis Wasserman.
Created on 2025-08-31.
Last modified on 2025-08-31.
module group-theory.commutative-semigroups where
Imports
open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.interchange-law open import foundation.propositions open import foundation.sets open import foundation.subtypes open import foundation.universe-levels open import group-theory.semigroups
Idea
A
commutative semigroup¶
is a semigroup G
in which xy = yx
for all
x y : G
.
Definition
module _ {l : Level} (G : Semigroup l) where is-commutative-prop-Semigroup : Prop l is-commutative-prop-Semigroup = Π-Prop ( type-Semigroup G) ( λ x → Π-Prop ( type-Semigroup G) ( λ y → Id-Prop ( set-Semigroup G) ( mul-Semigroup G x y) ( mul-Semigroup G y x))) is-commutative-Semigroup : UU l is-commutative-Semigroup = type-Prop is-commutative-prop-Semigroup Commutative-Semigroup : (l : Level) → UU (lsuc l) Commutative-Semigroup l = type-subtype (is-commutative-prop-Semigroup {l}) module _ {l : Level} (G : Commutative-Semigroup l) where semigroup-Commutative-Semigroup : Semigroup l semigroup-Commutative-Semigroup = pr1 G commutative-mul-Commutative-Semigroup : is-commutative-Semigroup semigroup-Commutative-Semigroup commutative-mul-Commutative-Semigroup = pr2 G type-Commutative-Semigroup : UU l type-Commutative-Semigroup = type-Semigroup semigroup-Commutative-Semigroup set-Commutative-Semigroup : Set l set-Commutative-Semigroup = set-Semigroup semigroup-Commutative-Semigroup mul-Commutative-Semigroup : type-Commutative-Semigroup → type-Commutative-Semigroup → type-Commutative-Semigroup mul-Commutative-Semigroup = mul-Semigroup semigroup-Commutative-Semigroup mul-Commutative-Semigroup' : type-Commutative-Semigroup → type-Commutative-Semigroup → type-Commutative-Semigroup mul-Commutative-Semigroup' y x = mul-Commutative-Semigroup x y ap-mul-Commutative-Semigroup : {x x' y y' : type-Commutative-Semigroup} → x = x' → y = y' → mul-Commutative-Semigroup x y = mul-Commutative-Semigroup x' y' ap-mul-Commutative-Semigroup = ap-mul-Semigroup semigroup-Commutative-Semigroup associative-mul-Commutative-Semigroup : (x y z : type-Commutative-Semigroup) → mul-Commutative-Semigroup (mul-Commutative-Semigroup x y) z = mul-Commutative-Semigroup x (mul-Commutative-Semigroup y z) associative-mul-Commutative-Semigroup = associative-mul-Semigroup semigroup-Commutative-Semigroup interchange-mul-mul-Commutative-Semigroup : (a b c d : type-Commutative-Semigroup) → mul-Commutative-Semigroup ( mul-Commutative-Semigroup a b) ( mul-Commutative-Semigroup c d) = mul-Commutative-Semigroup ( mul-Commutative-Semigroup a c) ( mul-Commutative-Semigroup b d) interchange-mul-mul-Commutative-Semigroup = interchange-law-commutative-and-associative mul-Commutative-Semigroup commutative-mul-Commutative-Semigroup associative-mul-Commutative-Semigroup right-swap-mul-Commutative-Semigroup : (x y z : type-Commutative-Semigroup) → mul-Commutative-Semigroup ( mul-Commutative-Semigroup x y) ( z) = mul-Commutative-Semigroup ( mul-Commutative-Semigroup x z) ( y) right-swap-mul-Commutative-Semigroup x y z = ( associative-mul-Commutative-Semigroup x y z) ∙ ( ap ( mul-Commutative-Semigroup x) ( commutative-mul-Commutative-Semigroup y z)) ∙ ( inv (associative-mul-Commutative-Semigroup x z y)) left-swap-mul-Commutative-Semigroup : (x y z : type-Commutative-Semigroup) → mul-Commutative-Semigroup ( x) ( mul-Commutative-Semigroup y z) = mul-Commutative-Semigroup ( y) ( mul-Commutative-Semigroup x z) left-swap-mul-Commutative-Semigroup x y z = inv (associative-mul-Commutative-Semigroup x y z) ∙ ap ( mul-Commutative-Semigroup' z) ( commutative-mul-Commutative-Semigroup x y) ∙ associative-mul-Commutative-Semigroup y x z
External links
- Commutative semigroup at Wikidata
Recent changes
- 2025-08-31. Louis Wasserman. Commutative semigroups (#1494).