Finite Commutative monoids
Content created by Fredrik Bakke.
Created on 2024-02-07.
Last modified on 2024-02-07.
module finite-group-theory.finite-commutative-monoids where
Imports
open import finite-group-theory.finite-monoids open import foundation.identity-types open import foundation.sets open import foundation.unital-binary-operations open import foundation.universe-levels open import group-theory.commutative-monoids open import group-theory.monoids open import group-theory.semigroups open import univalent-combinatorics.dependent-function-types open import univalent-combinatorics.dependent-pair-types open import univalent-combinatorics.equality-finite-types open import univalent-combinatorics.finite-types
Idea
A finite commutative monoid is a finite monoid M
in which xy = yx
holds for
all x y : M
.
Definition
Finite commutative monoids
is-commutative-Monoid-𝔽 : {l : Level} (M : Monoid-𝔽 l) → UU l is-commutative-Monoid-𝔽 M = is-commutative-Monoid (monoid-Monoid-𝔽 M) Commutative-Monoid-𝔽 : (l : Level) → UU (lsuc l) Commutative-Monoid-𝔽 l = Σ (Monoid-𝔽 l) is-commutative-Monoid-𝔽 module _ {l : Level} (M : Commutative-Monoid-𝔽 l) where finite-monoid-Commutative-Monoid-𝔽 : Monoid-𝔽 l finite-monoid-Commutative-Monoid-𝔽 = pr1 M monoid-Commutative-Monoid-𝔽 : Monoid l monoid-Commutative-Monoid-𝔽 = monoid-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 finite-type-Commutative-Monoid-𝔽 : 𝔽 l finite-type-Commutative-Monoid-𝔽 = finite-type-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 type-Commutative-Monoid-𝔽 : UU l type-Commutative-Monoid-𝔽 = type-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 is-finite-type-Commutative-Monoid-𝔽 : is-finite type-Commutative-Monoid-𝔽 is-finite-type-Commutative-Monoid-𝔽 = is-finite-type-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 semigroup-Commutative-Monoid-𝔽 : Semigroup l semigroup-Commutative-Monoid-𝔽 = semigroup-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 set-Commutative-Monoid-𝔽 : Set l set-Commutative-Monoid-𝔽 = set-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 is-set-type-Commutative-Monoid-𝔽 : is-set type-Commutative-Monoid-𝔽 is-set-type-Commutative-Monoid-𝔽 = is-set-type-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽
The multiplicative operation of a commutative monoid
has-associative-mul-Commutative-Monoid-𝔽 : has-associative-mul-Set set-Commutative-Monoid-𝔽 has-associative-mul-Commutative-Monoid-𝔽 = has-associative-mul-Semigroup semigroup-Commutative-Monoid-𝔽 mul-Commutative-Monoid-𝔽 : (x y : type-Commutative-Monoid-𝔽) → type-Commutative-Monoid-𝔽 mul-Commutative-Monoid-𝔽 = mul-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 mul-Commutative-Monoid-𝔽' : (x y : type-Commutative-Monoid-𝔽) → type-Commutative-Monoid-𝔽 mul-Commutative-Monoid-𝔽' = mul-Monoid-𝔽' finite-monoid-Commutative-Monoid-𝔽 ap-mul-Commutative-Monoid-𝔽 : {x x' y y' : type-Commutative-Monoid-𝔽} → x = x' → y = y' → mul-Commutative-Monoid-𝔽 x y = mul-Commutative-Monoid-𝔽 x' y' ap-mul-Commutative-Monoid-𝔽 = ap-mul-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 associative-mul-Commutative-Monoid-𝔽 : (x y z : type-Commutative-Monoid-𝔽) → ( mul-Commutative-Monoid-𝔽 (mul-Commutative-Monoid-𝔽 x y) z) = ( mul-Commutative-Monoid-𝔽 x (mul-Commutative-Monoid-𝔽 y z)) associative-mul-Commutative-Monoid-𝔽 = associative-mul-Monoid-𝔽 finite-monoid-Commutative-Monoid-𝔽 commutative-mul-Commutative-Monoid-𝔽 : (x y : type-Commutative-Monoid-𝔽) → mul-Commutative-Monoid-𝔽 x y = mul-Commutative-Monoid-𝔽 y x commutative-mul-Commutative-Monoid-𝔽 = pr2 M commutative-monoid-Commutative-Monoid-𝔽 : Commutative-Monoid l pr1 commutative-monoid-Commutative-Monoid-𝔽 = monoid-Commutative-Monoid-𝔽 pr2 commutative-monoid-Commutative-Monoid-𝔽 = commutative-mul-Commutative-Monoid-𝔽 interchange-mul-mul-Commutative-Monoid-𝔽 : (x y x' y' : type-Commutative-Monoid-𝔽) → ( mul-Commutative-Monoid-𝔽 ( mul-Commutative-Monoid-𝔽 x y) ( mul-Commutative-Monoid-𝔽 x' y')) = ( mul-Commutative-Monoid-𝔽 ( mul-Commutative-Monoid-𝔽 x x') ( mul-Commutative-Monoid-𝔽 y y')) interchange-mul-mul-Commutative-Monoid-𝔽 = interchange-mul-mul-Commutative-Monoid commutative-monoid-Commutative-Monoid-𝔽 right-swap-mul-Commutative-Monoid-𝔽 : (x y z : type-Commutative-Monoid-𝔽) → mul-Commutative-Monoid-𝔽 (mul-Commutative-Monoid-𝔽 x y) z = mul-Commutative-Monoid-𝔽 (mul-Commutative-Monoid-𝔽 x z) y right-swap-mul-Commutative-Monoid-𝔽 = right-swap-mul-Commutative-Monoid commutative-monoid-Commutative-Monoid-𝔽 left-swap-mul-Commutative-Monoid-𝔽 : (x y z : type-Commutative-Monoid-𝔽) → mul-Commutative-Monoid-𝔽 x (mul-Commutative-Monoid-𝔽 y z) = mul-Commutative-Monoid-𝔽 y (mul-Commutative-Monoid-𝔽 x z) left-swap-mul-Commutative-Monoid-𝔽 = left-swap-mul-Commutative-Monoid commutative-monoid-Commutative-Monoid-𝔽
The unit element of a commutative monoid
module _ {l : Level} (M : Commutative-Monoid-𝔽 l) where has-unit-Commutative-Monoid-𝔽 : is-unital (mul-Commutative-Monoid-𝔽 M) has-unit-Commutative-Monoid-𝔽 = has-unit-Monoid (monoid-Commutative-Monoid-𝔽 M) unit-Commutative-Monoid-𝔽 : type-Commutative-Monoid-𝔽 M unit-Commutative-Monoid-𝔽 = unit-Monoid (monoid-Commutative-Monoid-𝔽 M) left-unit-law-mul-Commutative-Monoid-𝔽 : (x : type-Commutative-Monoid-𝔽 M) → mul-Commutative-Monoid-𝔽 M unit-Commutative-Monoid-𝔽 x = x left-unit-law-mul-Commutative-Monoid-𝔽 = left-unit-law-mul-Monoid (monoid-Commutative-Monoid-𝔽 M) right-unit-law-mul-Commutative-Monoid-𝔽 : (x : type-Commutative-Monoid-𝔽 M) → mul-Commutative-Monoid-𝔽 M x unit-Commutative-Monoid-𝔽 = x right-unit-law-mul-Commutative-Monoid-𝔽 = right-unit-law-mul-Monoid (monoid-Commutative-Monoid-𝔽 M)
Properties
There is a finite number of ways to equip a finite type with the structure of a finite commutative monoid
module _ {l : Level} (X : 𝔽 l) where structure-commutative-monoid-𝔽 : UU l structure-commutative-monoid-𝔽 = Σ ( structure-monoid-𝔽 X) ( λ m → is-commutative-Monoid-𝔽 (finite-monoid-structure-monoid-𝔽 X m)) finite-commutative-monoid-structure-commutative-monoid-𝔽 : structure-commutative-monoid-𝔽 → Commutative-Monoid-𝔽 l pr1 (finite-commutative-monoid-structure-commutative-monoid-𝔽 (m , c)) = finite-monoid-structure-monoid-𝔽 X m pr2 (finite-commutative-monoid-structure-commutative-monoid-𝔽 (m , c)) = c is-finite-structure-commutative-monoid-𝔽 : is-finite structure-commutative-monoid-𝔽 is-finite-structure-commutative-monoid-𝔽 = is-finite-Σ ( is-finite-structure-monoid-𝔽 X) ( λ m → is-finite-Π ( is-finite-type-𝔽 X) ( λ x → is-finite-Π ( is-finite-type-𝔽 X) ( λ y → is-finite-eq-𝔽 X)))
Recent changes
- 2024-02-07. Fredrik Bakke. Deduplicate definitions (#1022).