Documentation

Mathlib.GroupTheory.Abelianization.Defs

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 #

def Group.Abelianization (G : Type u) [Group G] :

The abelianization of the group G is the quotient of G by its commutator subgroup.

Equations
Instances For

    The abelianization of the additive group G is the quotient of G by its commutator subgroup.

    Equations
    Instances For
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations

      of is the canonical projection from the group G to its abelianization.

      Equations
      Instances For

        of is the canonical projection from the additive group G to its abelianization.

        Equations
        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 G to A that factors through f.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            If f : G → A is an additive group homomorphism to an abelian group, then lift f is the unique map from the abelianization of G to A that factors through f.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem Group.Abelianization.lift_apply_of {G : Type u} [Group G] {A : Type v} [Group A] [IsMulCommutative A] (f : G →* A) (x : G) :
              (lift f) (of x) = f x
              @[simp]
              theorem AddGroup.Abelianization.lift_apply_of {G : Type u} [AddGroup G] {A : Type v} [AddGroup A] [IsAddCommutative A] (f : G →+ A) (x : G) :
              (lift f) (of x) = f x
              theorem Group.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} :
              φ x = (lift f) x
              theorem AddGroup.Abelianization.lift_unique {G : Type u} [AddGroup G] {A : Type v} [AddGroup A] [IsAddCommutative A] (f : G →+ A) (φ : Abelianization G →+ A) (hφ : ∀ (x : G), φ (of x) = f x) {x : Abelianization G} :
              φ x = (lift f) x
              theorem Group.Abelianization.hom_ext {G : Type u} [Group G] {A : Type v} [Monoid A] (φ ψ : Abelianization G →* A) (h : φ.comp of = ψ.comp of) :
              φ = ψ
              theorem AddGroup.Abelianization.hom_ext {G : Type u} [AddGroup G] {A : Type v} [AddMonoid A] (φ ψ : Abelianization G →+ A) (h : φ.comp of = ψ.comp of) :
              φ = ψ
              theorem Group.Abelianization.hom_ext_iff {G : Type u} [Group G] {A : Type v} [Monoid A] {φ ψ : Abelianization G →* A} :
              φ = ψ ↔ φ.comp of = ψ.comp of
              theorem AddGroup.Abelianization.hom_ext_iff {G : Type u} [AddGroup G] {A : Type v} [AddMonoid A] {φ ψ : Abelianization G →+ A} :
              φ = ψ ↔ φ.comp of = ψ.comp of

              The map operation of the Abelianization functor.

              Equations
              Instances For
                @[simp]
                theorem Group.Abelianization.lift_of_comp {G : Type u} [Group G] {H : Type v} [Group H] (f : G →* H) :
                lift (of.comp f) = map f

                Use map as the preferred simp normal form.

                @[simp]
                theorem AddGroup.Abelianization.lift_of_comp {G : Type u} [AddGroup G] {H : Type v} [AddGroup H] (f : G →+ H) :
                lift (of.comp f) = map f

                Use map as the preferred simp normal form.

                @[simp]
                theorem Group.Abelianization.map_of {G : Type u} [Group G] {H : Type v} [Group H] (f : G →* H) (x : G) :
                (map f) (of x) = of (f x)
                @[simp]
                theorem AddGroup.Abelianization.map_of {G : Type u} [AddGroup G] {H : Type v} [AddGroup H] (f : G →+ H) (x : G) :
                (map f) (of x) = of (f x)
                @[simp]
                theorem Group.Abelianization.map_comp {G : Type u} [Group G] {H : Type v} [Group H] (f : G →* H) {I : Type w} [Group I] (g : H →* I) :
                (map g).comp (map f) = map (g.comp f)
                @[simp]
                theorem AddGroup.Abelianization.map_comp {G : Type u} [AddGroup G] {H : Type v} [AddGroup H] (f : G →+ H) {I : Type w} [AddGroup I] (g : H →+ I) :
                (map g).comp (map f) = map (g.comp f)
                @[simp]
                theorem Group.Abelianization.map_map_apply {G : Type u} [Group G] {H : Type v} [Group H] (f : G →* H) {I : Type w} [Group I] {g : H →* I} {x : Abelianization G} :
                (map g) ((map f) x) = (map (g.comp f)) x
                @[simp]
                theorem AddGroup.Abelianization.map_map_apply {G : Type u} [AddGroup G] {H : Type v} [AddGroup H] (f : G →+ H) {I : Type w} [AddGroup I] {g : H →+ I} {x : Abelianization G} :
                (map g) ((map f) x) = (map (g.comp f)) x

                Isomorphic groups have isomorphic abelianizations.

                Equations
                Instances For

                  Isomorphic additive groups have isomorphic abelianizations.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem Group.abelianizationCongr_of {G : Type u} [Group G] {H : Type v} [Group H] (e : G ≃* H) (x : G) :
                    @[simp]
                    theorem Group.abelianizationCongr_trans {G : Type u} [Group G] {H : Type v} [Group H] {I : Type v} [Group I] (e : G ≃* H) (e₂ : H ≃* I) :
                    @[simp]
                    theorem AddGroup.abelianizationCongr_trans {G : Type u} [AddGroup G] {H : Type v} [AddGroup H] {I : Type v} [AddGroup I] (e : G ≃+ H) (e₂ : H ≃+ I) :

                    An Abelian group is equivalent to its own abelianization.

                    Equations
                    Instances For

                      An additive Abelian group is equivalent to its own abelianization.

                      Equations
                      Instances For
                        @[deprecated Group.Abelianization (since := "2026-11-03")]
                        def Abelianization (G : Type u) [Group G] :

                        Alias of Group.Abelianization.


                        The abelianization of the group G is the quotient of G by its commutator subgroup.

                        Equations
                        Instances For
                          @[deprecated Group.Abelianization.instInhabited (since := "2026-11-03")]

                          Alias of Group.Abelianization.instInhabited.

                          Equations
                          Instances For
                            @[deprecated Group.Abelianization.of (since := "2026-11-03")]

                            Alias of Group.Abelianization.of.


                            of is the canonical projection from the group G to its abelianization.

                            Equations
                            Instances For
                              @[deprecated Group.Abelianization.mk_eq_of (since := "2026-11-03")]

                              Alias of Group.Abelianization.mk_eq_of.

                              @[deprecated Group.Abelianization.ker_of (since := "2026-11-03")]

                              Alias of Group.Abelianization.ker_of.

                              @[deprecated Group.Abelianization.commutator_le_ker (since := "2026-11-03")]
                              theorem Abelianization.commutator_le_ker {G : Type u} [Group G] {A : Type v} [Group A] [IsMulCommutative A] (f : G →* A) :

                              Alias of Group.Abelianization.commutator_le_ker.

                              @[deprecated AddGroup.Abelianization.addCommutator_le_ker (since := "2026-11-03")]

                              Alias of AddGroup.Abelianization.addCommutator_le_ker.

                              @[deprecated Group.Abelianization.commutator_le_ker (since := "2026-10-17")]
                              theorem Abelianization.commutator_subset_ker {G : Type u} [Group G] {A : Type v} [Group A] [IsMulCommutative A] (f : G →* A) :

                              Alias of Group.Abelianization.commutator_le_ker.

                              @[deprecated Group.Abelianization.lift (since := "2026-11-03")]

                              Alias of Group.Abelianization.lift.


                              If f : G → A is a group homomorphism to an abelian group, then lift f is the unique map from the abelianization of G to A that factors through f.

                              Equations
                              Instances For
                                @[deprecated Group.Abelianization.lift_apply_of (since := "2026-11-03")]

                                Alias of Group.Abelianization.lift_apply_of.

                                @[deprecated Group.Abelianization.coe_lift_symm (since := "2026-11-03")]

                                Alias of Group.Abelianization.coe_lift_symm.

                                @[deprecated Group.Abelianization.lift_symm_apply (since := "2026-11-03")]

                                Alias of Group.Abelianization.lift_symm_apply.

                                @[deprecated Group.Abelianization.lift_unique (since := "2026-11-03")]
                                theorem Abelianization.lift_unique {G : Type u} [Group G] {A : Type v} [Group A] [IsMulCommutative A] (f : G →* A) (φ : Group.Abelianization G →* A) (hφ : ∀ (x : G), φ (Group.Abelianization.of x) = f x) {x : Group.Abelianization G} :

                                Alias of Group.Abelianization.lift_unique.

                                @[deprecated Group.Abelianization.lift_of (since := "2026-11-03")]

                                Alias of Group.Abelianization.lift_of.

                                @[deprecated Group.Abelianization.hom_ext (since := "2026-11-03")]

                                Alias of Group.Abelianization.hom_ext.

                                @[deprecated Group.Abelianization.hom_ext_iff (since := "2026-11-03")]

                                Alias of Group.Abelianization.hom_ext_iff.

                                @[deprecated Group.Abelianization.map (since := "2026-11-03")]

                                Alias of Group.Abelianization.map.


                                The map operation of the Abelianization functor.

                                Equations
                                Instances For
                                  @[deprecated Group.Abelianization.lift_of_comp (since := "2026-11-03")]

                                  Alias of Group.Abelianization.lift_of_comp.


                                  Use map as the preferred simp normal form.

                                  @[deprecated Group.Abelianization.map_of (since := "2026-11-03")]

                                  Alias of Group.Abelianization.map_of.

                                  @[deprecated Group.Abelianization.map_id (since := "2026-11-03")]

                                  Alias of Group.Abelianization.map_id.

                                  @[deprecated Group.Abelianization.map_comp (since := "2026-11-03")]
                                  theorem Abelianization.map_comp {G : Type u} [Group G] {H : Type v} [Group H] (f : G →* H) {I : Type w} [Group I] (g : H →* I) :

                                  Alias of Group.Abelianization.map_comp.

                                  @[deprecated Group.Abelianization.map_map_apply (since := "2026-11-03")]
                                  theorem Abelianization.map_map_apply {G : Type u} [Group G] {H : Type v} [Group H] (f : G →* H) {I : Type w} [Group I] {g : H →* I} {x : Group.Abelianization G} :

                                  Alias of Group.Abelianization.map_map_apply.

                                  @[deprecated Group.abelianizationCongr_of (since := "2026-11-03")]

                                  Alias of Group.abelianizationCongr_of.

                                  @[deprecated Group.abelianizationCongr_refl (since := "2026-11-03")]

                                  Alias of Group.abelianizationCongr_refl.

                                  @[deprecated Group.abelianizationCongr_symm (since := "2026-11-03")]

                                  Alias of Group.abelianizationCongr_symm.

                                  @[deprecated Group.abelianizationCongr_trans (since := "2026-11-03")]
                                  theorem abelianizationCongr_trans {G : Type u} [Group G] {H : Type v} [Group H] {I : Type v} [Group I] (e : G ≃* H) (e₂ : H ≃* I) :

                                  Alias of Group.abelianizationCongr_trans.

                                  @[deprecated Group.Abelianization.equivOfComm (since := "2026-11-03")]

                                  Alias of Group.Abelianization.equivOfComm.


                                  An Abelian group is equivalent to its own abelianization.

                                  Equations
                                  Instances For
                                    @[deprecated Group.Abelianization.equivOfComm_apply (since := "2026-11-03")]

                                    Alias of Group.Abelianization.equivOfComm_apply.

                                    @[deprecated Group.Abelianization.equivOfComm_symm_apply (since := "2026-11-03")]

                                    Alias of Group.Abelianization.equivOfComm_symm_apply.