Documentation

Mathlib.GroupTheory.IsPerfect

Perfect groups #

A group G is perfect if it equals its commutator subgroup, that is ⁅G, G⁆ = G.

Among the basic results, we show that

Main Definition #

Main Theorems #

class AddGroup.IsPerfect (G : Type u_1) [AddGroup G] :

An additive group G is perfect if G equals its commutator subgroup ⁅G, G⁆.

  • addCommutator_eq_top : addCommutator G = ⊤

    The commutator of the group G with itself is the whole group G.

Instances
    class Group.IsPerfect (G : Type u_1) [Group G] :

    A group G is perfect if G equals its commutator subgroup ⁅G, G⁆.

    • commutator_eq_top : commutator G = ⊤

      The commutator of the group G with itself is the whole group G.

    Instances
      theorem Subgroup.isPerfect_iff {G : Type u_1} [Group G] {H : Subgroup G} :
      theorem Subgroup.commutator_eq_self {G : Type u_1} [Group G] {H : Subgroup G} [hH : Group.IsPerfect ↥H] :
      ⁅H, H⁆ = H
      theorem Group.IsPerfect.mem_commutator {G : Type u_1} [Group G] [hP : IsPerfect G] {g : G} :

      The trivial group is perfect.

      The trivial group is perfect.

      theorem Group.IsPerfect.map {G : Type u_1} {G' : Type u_2} [Group G] [Group G'] {H : Subgroup G} (f : G →* G') [IsPerfect ↥H] :
      theorem AddGroup.IsPerfect.map {G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] {H : AddSubgroup G} (f : G →+ G') [IsPerfect ↥H] :
      theorem Group.IsPerfect.range {G : Type u_1} {G' : Type u_2} [Group G] [Group G'] (f : G →* G') [IsPerfect G] :
      theorem AddGroup.IsPerfect.range {G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] (f : G →+ G') [IsPerfect G] :
      theorem Group.IsPerfect.ofSurjective {G : Type u_1} {G' : Type u_2} [Group G] [Group G'] {f : G →* G'} [IsPerfect G] (hf : Function.Surjective ⇑f) :
      theorem AddGroup.IsPerfect.ofSurjective {G : Type u_1} {G' : Type u_2} [AddGroup G] [AddGroup G'] {f : G →+ G'} [IsPerfect G] (hf : Function.Surjective ⇑f) :
      @[simp]