Core of a monoid
Content created by Fredrik Bakke
Created on 2023-09-15.
Last modified on 2023-09-15.
module group-theory.cores-monoids where
Imports
open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels open import group-theory.groups open import group-theory.homomorphisms-monoids open import group-theory.invertible-elements-monoids open import group-theory.monoids open import group-theory.semigroups open import group-theory.submonoids
Idea
The core of a monoid M
is the maximal
group contained in M
, and consists of all the
elements that are invertible.
Definition
module _ {l : Level} (M : Monoid l) where subtype-core-Monoid : type-Monoid M → Prop l subtype-core-Monoid = is-invertible-element-monoid-Prop M submonoid-core-Monoid : Submonoid l M pr1 submonoid-core-Monoid = subtype-core-Monoid pr1 (pr2 submonoid-core-Monoid) = is-invertible-element-unit-Monoid M pr2 (pr2 submonoid-core-Monoid) = is-invertible-element-mul-Monoid M monoid-core-Monoid : Monoid l monoid-core-Monoid = monoid-Submonoid M submonoid-core-Monoid semigroup-core-Monoid : Semigroup l semigroup-core-Monoid = semigroup-Submonoid M submonoid-core-Monoid type-core-Monoid : UU l type-core-Monoid = type-Submonoid M submonoid-core-Monoid core-Monoid : Group l pr1 core-Monoid = semigroup-core-Monoid pr1 (pr2 core-Monoid) = is-unital-semigroup-Monoid monoid-core-Monoid pr1 (pr1 (pr2 (pr2 core-Monoid)) x) = pr1 (pr2 x) pr2 (pr1 (pr2 (pr2 core-Monoid)) x) = is-invertible-element-inverse-Monoid M (pr1 x) (pr2 x) pr1 (pr2 (pr2 (pr2 core-Monoid))) x = eq-type-subtype subtype-core-Monoid (pr1 (pr2 (pr2 x))) pr2 (pr2 (pr2 (pr2 core-Monoid))) x = eq-type-subtype subtype-core-Monoid (pr2 (pr2 (pr2 x))) mul-core-Monoid : (x y : type-core-Monoid) → type-core-Monoid mul-core-Monoid = mul-Submonoid M submonoid-core-Monoid associative-mul-core-Monoid : (x y z : type-core-Monoid) → mul-core-Monoid (mul-core-Monoid x y) z = mul-core-Monoid x (mul-core-Monoid y z) associative-mul-core-Monoid = associative-mul-Submonoid M submonoid-core-Monoid inclusion-core-Monoid : type-core-Monoid → type-Monoid M inclusion-core-Monoid = inclusion-Submonoid M submonoid-core-Monoid preserves-mul-inclusion-core-Monoid : (x y : type-core-Monoid) → inclusion-core-Monoid (mul-core-Monoid x y) = mul-Monoid M ( inclusion-core-Monoid x) ( inclusion-core-Monoid y) preserves-mul-inclusion-core-Monoid = preserves-mul-inclusion-Submonoid M submonoid-core-Monoid hom-inclusion-core-Monoid : type-hom-Monoid monoid-core-Monoid M hom-inclusion-core-Monoid = hom-inclusion-Submonoid M submonoid-core-Monoid
Properties
The core of a monoid is a functorial construction
This remains to be formalized.
The core functor is left adjoint to the forgetful functor from groups to monoids
This remains to be formalized. This forgetful functor also admits a further right adjoint, corresponding to groupification of the monoid.
Recent changes
- 2023-09-15. Fredrik Bakke. Define representations of monoids (#765).