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
- Abelianization.commGroup G = { toGroup := QuotientGroup.Quotient.group (commutator G), mul_comm := ⋯ }
@[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]
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.lift_unique
{G : Type u}
[Group G]
{A : Type v}
[CommGroup 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]