The abelianization of a group #
This file defines the commutator and the abelianization of a group. It furthermore prepares for the
result that the abelianization is left adjoint to the forgetful functor from abelian groups to
groups, which can be found in Mathlib/Algebra/Category/Grp/Adjunctions.lean.
Main definitions #
Abelianization: defines the abelianization of a groupGas the quotient of a group by its commutator subgroup.Abelianization.map: lifts a group homomorphism to a homomorphism between the abelianizationsMulEquiv.abelianizationCongr: Equivalent groups have equivalent abelianizations
The abelianization of G is the quotient of G by its commutator subgroup.
Equations
- Abelianization G = (G ⧸ commutator G)
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
Equations
- Abelianization.instInhabited G = { default := 1 }
of is the canonical projection from G to its abelianization.
Equations
- Abelianization.of = { toFun := QuotientGroup.mk, map_one' := ⋯, map_mul' := ⋯ }
Instances For
@[simp]
theorem Abelianization.commutator_subset_ker {G : Type u} [Group G] {A : Type v} [Group A] [IsMulCommutative A] (f : G →* A) :
If f : G → A is a group homomorphism to an abelian group, then lift f is the unique map
from the abelianization of a G to A that factors through f.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem Abelianization.coe_lift_symm {G : Type u} [Group G] {A : Type v} [Group A] [IsMulCommutative A] :
@[simp]
theorem Abelianization.lift_symm_apply {G : Type u} [Group G] {A : Type v} [Group A] [IsMulCommutative A] (f : Abelianization G →* A) :
theorem Abelianization.lift_unique {G : Type u} [Group G] {A : Type v} [Group A] [IsMulCommutative A] (f : G →* A) (φ : Abelianization G →* A) (hφ : ∀ (x : G), φ (of x) = f x) {x : Abelianization G} :
@[simp]
The map operation of the Abelianization functor
Equations
Instances For
@[simp]
Equivalent groups have equivalent abelianizations
Equations
- e.abelianizationCongr = { toFun := ⇑(Abelianization.map e.toMonoidHom), invFun := ⇑(Abelianization.map e.symm.toMonoidHom), left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯ }
Instances For
@[simp]
An Abelian group is equivalent to its own abelianization.
Equations
- Abelianization.equivOfComm = { toFun := ⇑Abelianization.of, invFun := ⇑(Abelianization.lift (MonoidHom.id H)), left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯ }
Instances For
@[simp]
@[simp]
@[instance_reducible]