Documentation

Mathlib.GroupTheory.Nilpotent

Nilpotent groups #

An API for nilpotent groups, that is, groups for which the upper central series reaches .

Main definitions #

Recall that if H K : Subgroup G then ⁅H, K⁆ : Subgroup G is the subgroup of G generated by the commutators hkh⁻¹k⁻¹. Recall also Lean's conventions that denotes the subgroup G of G, and denotes the trivial subgroup {1}.

Main theorems #

G is defined to be nilpotent if the upper central series reaches .

Warning #

A "central series" is usually defined to be a finite sequence of normal subgroups going from to with the property that each subquotient is contained within the centre of the associated quotient of G. This means that if G is not nilpotent, then none of what we have called upperCentralSeries G, lowerCentralSeries G or the sequences satisfying IsAscendingCentralSeries or IsDescendingCentralSeries are actually central series. Note that the fact that the upper and lower central series are not central series if G is not nilpotent is a standard abuse of notation.

If H is a normal subgroup of G, then the set {x : G | ∀ y : G, x*y*x⁻¹*y⁻¹ ∈ H} is a subgroup of G (because it is the preimage in G of the centre of the quotient group G/H.)

Equations
Instances For

    If H is a normal additive subgroup of G, then the set {x : G | ∀ y : G, x + y -x - y ∈ H} is an additive subgroup of G (because it is the preimage in G of the centre of the additive quotient group G/H.)

    Equations
    Instances For
      theorem Subgroup.mem_upperCentralSeriesStep {G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] (x : G) :
      x H.upperCentralSeriesStep ∀ (y : G), x, y H
      theorem AddSubgroup.mem_upperCentralSeriesStep {G : Type u_1} [AddGroup G] (H : AddSubgroup G) [H.Normal] (x : G) :
      x H.upperCentralSeriesStep ∀ (y : G), x, y H

      The proof that upperCentralSeriesStep H is the preimage of the centre of G/H under the canonical surjection.

      The proof that upperCentralSeriesStep H is the preimage of the centre of G/H
      under the canonical surjection.

      An auxiliary type-theoretic definition defining both the upper central series of a group, and a proof that it is characteristic, all in one go.

      Equations
      Instances For

        An auxiliary type-theoretic definition defining both the upper central series of an additive group, and a proof that it is characteristic, all in one go.

        Equations
        Instances For

          upperCentralSeries G n is the nth term in the upper central series of G.

          This is the increasing chain of subgroups of G that starts with the trivial subgroup of G and then continues defining upperCentralSeries G (n + 1) to be all the elements of G that, modulo upperCentralSeries G n, belong to the center of the quotient G ⧸ upperCentralSeries G n.

          In particular, the identities

          hold.

          Equations
          Instances For

            upperCentralSeries G n is the nth term in the upper central series of G.

            This is the increasing chain of additive subgroups of G that starts with the trivial additive subgroup of G and then continues defining upperCentralSeries G (n + 1) to be all the elements of G that, modulo upperCentralSeries G n, belong to the center of the additive quotient G ⧸ upperCentralSeries G n.

            In particular, the identities

            hold.

            Equations
            Instances For
              theorem Subgroup.mem_upperCentralSeries_succ_iff {G : Type u_1} [Group G] {n : } {x : G} :
              x upperCentralSeries G (n + 1) ∀ (y : G), x, y upperCentralSeries G n

              The n+1st term of the upper central series H i has underlying set equal to the x such that ⁅x,G⁆ ⊆ H n.

              theorem AddSubgroup.mem_upperCentralSeries_succ_iff {G : Type u_1} [AddGroup G] {n : } {x : G} :
              x upperCentralSeries G (n + 1) ∀ (y : G), x, y upperCentralSeries G n

              The n+1st term of the upper central series H i has underlying set equal to the x such that ⁅x,G⁆ ⊆ H n.

              @[simp]
              theorem Subgroup.comap_upperCentralSeries {G : Type u_1} [Group G] {H : Type u_2} [Group H] (e : H ≃* G) (n : ) :
              @[simp]
              theorem AddSubgroup.comap_upperCentralSeries {G : Type u_1} [AddGroup G] {H : Type u_2} [AddGroup H] (e : H ≃+ G) (n : ) :
              class Group.IsNilpotent (G : Type u_2) [Group G] :

              A group G is nilpotent if its upper central series is eventually G.

              Instances
                class AddGroup.IsNilpotent (G : Type u_2) [AddGroup G] :

                An additive group G is nilpotent if its upper central series is eventually G.

                Instances
                  theorem Group.isNilpotent_congr {G : Type u_1} [Group G] {H : Type u_2} [Group H] (e : G ≃* H) :
                  theorem AddGroup.isNilpotent_congr {G : Type u_1} [AddGroup G] {H : Type u_2} [AddGroup H] (e : G ≃+ H) :

                  A group G is virtually nilpotent if it has a nilpotent cofinite subgroup N.

                  Equations
                  Instances For

                    An additive group G is virtually nilpotent if it has a nilpotent cofinite additive subgroup N.

                    Equations
                    Instances For

                      A sequence of subgroups of G is an ascending central series if H 0 is trivial and ⁅H (n + 1), G⁆ ⊆ H n for all n. Note that we do not require that H n = G for some n.

                      Equations
                      Instances For

                        A sequence of additive subgroups of G is an ascending central series if H 0 is trivial and ⁅H (n + 1), G⁆ ⊆ H n for all n. We do not require that H n = G for some n.

                        Equations
                        Instances For

                          A sequence of subgroups of G is a descending central series if H 0 is G and ⁅H n, G⁆ ⊆ H (n + 1) for all n. Note that we do not require that H n = {1} for some n.

                          Equations
                          Instances For

                            A sequence of additive subgroups of G is a descending central series if H 0 is G and ⁅H n, G⁆ ⊆ H (n + 1) for all n. We do not require that H n = {1} for some n.

                            Equations
                            Instances For

                              Any ascending central series for a group is bounded above by the upper central series.

                              Any ascending central series for an additive group is bounded above by the upper central series.

                              The upper central series of a group is an ascending central series.

                              The upper central series of an additive group is an ascending central series.

                              A group G is nilpotent iff there exists an ascending central series which reaches G in finitely many steps.

                              An additive group G is nilpotent iff there exists an ascending central series which reaches G in finitely many steps.

                              theorem Subgroup.is_descending_rev_series_of_is_ascending (G : Type u_1) [Group G] {H : Subgroup G} {n : } (hn : H n = ) (hasc : IsAscendingCentralSeries H) :
                              IsDescendingCentralSeries fun (m : ) => H (n - m)
                              theorem Subgroup.is_ascending_rev_series_of_is_descending (G : Type u_1) [Group G] {H : Subgroup G} {n : } (hn : H n = ) (hdesc : IsDescendingCentralSeries H) :
                              IsAscendingCentralSeries fun (m : ) => H (n - m)
                              theorem AddSubgroup.is_ascending_rev_series_of_is_descending (G : Type u_1) [AddGroup G] {H : AddSubgroup G} {n : } (hn : H n = ) (hdesc : IsDescendingCentralSeries H) :
                              IsAscendingCentralSeries fun (m : ) => H (n - m)

                              A group G is nilpotent iff there exists a descending central series which reaches the trivial group in a finite time.

                              An additive group G is nilpotent iff there exists a descending central series which reaches the trivial group in a finite time.

                              The lower central series of a group G is a sequence H n of subgroups of G, defined by H 0 is all of G and for n≥1, H (n + 1) = ⁅H n, G⁆

                              Equations
                              Instances For

                                The lower central series of an additive group G is a sequence H n of additive subgroups of G, defined by H 0 is all of G and for n≥1, H (n + 1) = ⁅H n, G⁆

                                Equations
                                Instances For
                                  theorem Subgroup.mem_lowerCentralSeries_succ_iff {G : Type u_1} [Group G] (n : ) (q : G) :
                                  q lowerCentralSeries G (n + 1) q closure {x : G | plowerCentralSeries G n, q, p, q = x}
                                  theorem AddSubgroup.mem_lowerCentralSeries_succ_iff {G : Type u_1} [AddGroup G] (n : ) (q : G) :
                                  q lowerCentralSeries G (n + 1) q closure {x : G | plowerCentralSeries G n, q, p, q = x}
                                  theorem Subgroup.lowerCentralSeries_succ {G : Type u_1} [Group G] (n : ) :
                                  lowerCentralSeries G (n + 1) = closure {x : G | plowerCentralSeries G n, q, p, q = x}
                                  theorem AddSubgroup.lowerCentralSeries_succ {G : Type u_1} [AddGroup G] (n : ) :
                                  lowerCentralSeries G (n + 1) = closure {x : G | plowerCentralSeries G n, q, p, q = x}

                                  The lower central series of a group is a descending central series.

                                  The lower central series of an additive group is a descending central series.

                                  Any descending central series for a group is bounded below by the lower central series.

                                  Any descending central series for an additive group is bounded below by the lower central series.

                                  A group is nilpotent if and only if its lower central series eventually reaches the trivial subgroup.

                                  An additive group is nilpotent if and only if its lower central series eventually reaches the trivial additive subgroup.

                                  noncomputable def Group.nilpotencyClass (G : Type u_1) [Group G] :

                                  The nilpotency class of a nilpotent group is the smallest natural n such that the n-th term of the upper central series is G. If G is not nilpotent then the nilpotency class takes the junk value 0.

                                  Equations
                                  Instances For
                                    noncomputable def AddGroup.nilpotencyClass (G : Type u_1) [AddGroup G] :

                                    The nilpotency class of a nilpotent additive group is the smallest natural n such that the n-th term of the upper central series is G. If G is not nilpotent then the nilpotency class takes the junk value 0.

                                    Equations
                                    Instances For

                                      The nilpotency class of a nilpotent G is equal to the smallest n for which an ascending central series reaches G in its n-th term.

                                      The nilpotency class of a nilpotent G is equal to the smallest n for which an ascending central series reaches G in its n-th term.

                                      The nilpotency class of a nilpotent G is equal to the smallest n for which the descending central series reaches in its n-th term.

                                      The nilpotency class of a nilpotent G is equal to the smallest n for which the descending central series reaches in its n-th term.

                                      The nilpotency class of a nilpotent G is equal to the length of the lower central series.

                                      The nilpotency class of a nilpotent G is equal to the length of the lower central series.

                                      instance Subgroup.isNilpotent {G : Type u_1} [Group G] (H : Subgroup G) [hG : Group.IsNilpotent G] :

                                      A subgroup of a nilpotent group is nilpotent.

                                      An additive subgroup of a nilpotent group is nilpotent.

                                      The nilpotency class of a subgroup is less or equal to the nilpotency class of the group.

                                      The nilpotency class of an additive subgroup is less or equal to the nilpotency class of the additive group.

                                      @[instance 100]
                                      theorem Subgroup.isNilpotent_of_ker_le_center {G : Type u_1} [Group G] {H : Type u_2} [Group H] (f : G →* H) (hf1 : f.ker center G) [Group.IsNilpotent H] :

                                      The preimage of a nilpotent group is nilpotent if the kernel of the homomorphism is contained in the center.

                                      The preimage of a nilpotent additive group is nilpotent if the kernel of the homomorphism is contained in the center.

                                      theorem Group.nilpotent_of_surjective {G : Type u_1} [Group G] {G' : Type u_2} [Group G'] [h : IsNilpotent G] (f : G →* G') (hf : Function.Surjective f) :

                                      The range of a surjective homomorphism from a nilpotent group is nilpotent.

                                      theorem AddGroup.nilpotent_of_surjective {G : Type u_1} [AddGroup G] {G' : Type u_2} [AddGroup G'] [h : IsNilpotent G] (f : G →+ G') (hf : Function.Surjective f) :

                                      The range of a surjective homomorphism from a nilpotent additive group is nilpotent.

                                      theorem Group.nilpotencyClass_le_of_surjective {G : Type u_1} [Group G] {G' : Type u_2} [Group G'] (f : G →* G') (hf : Function.Surjective f) [h : IsNilpotent G] :

                                      The nilpotency class of the range of a surjective homomorphism from a nilpotent group is less or equal the nilpotency class of the domain.

                                      The nilpotency class of the range of a surjective homomorphism from a nilpotent additive group is less or equal the nilpotency class of the domain.

                                      theorem Group.nilpotent_of_mulEquiv {G : Type u_1} [Group G] {G' : Type u_2} [Group G'] [_h : IsNilpotent G] (f : G ≃* G') :

                                      Nilpotency respects isomorphisms.

                                      theorem AddGroup.nilpotent_of_addEquiv {G : Type u_1} [AddGroup G] {G' : Type u_2} [AddGroup G'] [_h : IsNilpotent G] (f : G ≃+ G') :

                                      Nilpotency respects isomorphisms.

                                      instance Group.nilpotent_quotient_of_nilpotent {G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] [_h : IsNilpotent G] :

                                      A quotient of a nilpotent group is nilpotent.

                                      A quotient of a nilpotent group is nilpotent.

                                      The nilpotency class of a quotient of G is less or equal the nilpotency class of G.

                                      The nilpotency class of a quotient of G is less or equal the nilpotency class of G.

                                      If the quotient by center G is nilpotent, then so is G.

                                      If the quotient by center G is nilpotent, then so is G.

                                      Quotienting the center G reduces the nilpotency class by 1.

                                      Quotienting the center G reduces the nilpotency class by 1.

                                      The nilpotency class of a non-trivial group is one more than its quotient by the center

                                      The nilpotency class of a non-trivial additive group is one more than its quotient by the center

                                      theorem Group.nilpotent_center_quotient_ind {P : (G : Type u_2) → [inst : Group G] → [IsNilpotent G] → Prop} (G : Type u_2) [Group G] [IsNilpotent G] (hbase : ∀ (G : Type u_2) [inst : Group G] [inst_1 : Subsingleton G], P G) (hstep : ∀ (G : Type u_2) [inst : Group G] [inst_1 : IsNilpotent G], P (G Subgroup.center G)P G) :
                                      P G

                                      A custom induction principle for nilpotent groups. The base case is a trivial group (subsingleton G), and in the induction step, one can assume the hypothesis for the group quotiented by its center.

                                      theorem AddGroup.nilpotent_center_quotient_ind {P : (G : Type u_2) → [inst : AddGroup G] → [IsNilpotent G] → Prop} (G : Type u_2) [AddGroup G] [IsNilpotent G] (hbase : ∀ (G : Type u_2) [inst : AddGroup G] [inst_1 : Subsingleton G], P G) (hstep : ∀ (G : Type u_2) [inst : AddGroup G] [inst_1 : IsNilpotent G], P (G AddSubgroup.center G)P G) :
                                      P G

                                      A custom induction principle for nilpotent additive groups. The base case is a trivial group (subsingleton G), and in the induction step, one can assume the hypothesis for the additive group quotiented by its center.

                                      @[instance 100]

                                      Abelian groups are nilpotent.

                                      @[instance 100]

                                      Abelian groups are nilpotent.

                                      Abelian groups have nilpotency class at most one.

                                      Abelian groups have nilpotency class at most one.

                                      @[implicit_reducible]

                                      Groups with nilpotency class at most one are abelian.

                                      Equations
                                      Instances For

                                        Additive groups with nilpotency class at most one are abelian.

                                        Equations
                                        Instances For
                                          theorem Subgroup.upperCentralSeries.eq_ge_of_eq_gt {G : Type u_1} [Group G] {a b c : } (ab : a < b) (ac : a c) (hn : upperCentralSeries G a = upperCentralSeries G b) :

                                          If two different elements of the upperCentralSeries of a group G are equal, then they are all equal, starting from the smaller index.

                                          If two different elements of the upperCentralSeries of an additive group G are equal, then they are all equal, starting from the smaller index.

                                          theorem Subgroup.lowerCentralSeries_prod {G₁ : Type u_2} {G₂ : Type u_3} [Group G₁] [Group G₂] (n : ) :
                                          theorem AddSubgroup.lowerCentralSeries_sum {G₁ : Type u_2} {G₂ : Type u_3} [AddGroup G₁] [AddGroup G₂] (n : ) :
                                          instance Group.isNilpotent_prod {G₁ : Type u_2} {G₂ : Type u_3} [Group G₁] [Group G₂] [IsNilpotent G₁] [IsNilpotent G₂] :
                                          IsNilpotent (G₁ × G₂)

                                          Products of nilpotent groups are nilpotent.

                                          instance AddGroup.isNilpotent_sum {G₁ : Type u_2} {G₂ : Type u_3} [AddGroup G₁] [AddGroup G₂] [IsNilpotent G₁] [IsNilpotent G₂] :
                                          IsNilpotent (G₁ × G₂)

                                          Products of nilpotent groups are nilpotent.

                                          theorem Group.nilpotencyClass_prod {G₁ : Type u_2} {G₂ : Type u_3} [Group G₁] [Group G₂] [IsNilpotent G₁] [IsNilpotent G₂] :

                                          The nilpotency class of a product is the max of the nilpotency classes of the factors.

                                          theorem AddGroup.nilpotencyClass_sum {G₁ : Type u_2} {G₂ : Type u_3} [AddGroup G₁] [AddGroup G₂] [IsNilpotent G₁] [IsNilpotent G₂] :

                                          The nilpotency class of a product is the max of the nilpotency classes of the factors.

                                          theorem Subgroup.lowerCentralSeries_pi_le {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] (n : ) :
                                          lowerCentralSeries ((i : η) → Gs i) n pi Set.univ fun (i : η) => lowerCentralSeries (Gs i) n
                                          theorem AddSubgroup.lowerCentralSeries_pi_le {η : Type u_2} {Gs : ηType u_3} [(i : η) → AddGroup (Gs i)] (n : ) :
                                          lowerCentralSeries ((i : η) → Gs i) n pi Set.univ fun (i : η) => lowerCentralSeries (Gs i) n
                                          theorem Group.isNilpotent_pi_of_bounded_class {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] [∀ (i : η), IsNilpotent (Gs i)] (n : ) (h : ∀ (i : η), nilpotencyClass (Gs i) n) :
                                          IsNilpotent ((i : η) → Gs i)

                                          Products of nilpotent groups are nilpotent if their nilpotency class is bounded.

                                          theorem AddGroup.isNilpotent_pi_of_bounded_class {η : Type u_2} {Gs : ηType u_3} [(i : η) → AddGroup (Gs i)] [∀ (i : η), IsNilpotent (Gs i)] (n : ) (h : ∀ (i : η), nilpotencyClass (Gs i) n) :
                                          IsNilpotent ((i : η) → Gs i)

                                          Products of nilpotent additive groups are nilpotent if their nilpotency class is bounded.

                                          theorem Subgroup.lowerCentralSeries_pi_of_finite {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] [Finite η] (n : ) :
                                          lowerCentralSeries ((i : η) → Gs i) n = pi Set.univ fun (i : η) => lowerCentralSeries (Gs i) n
                                          theorem AddSubgroup.lowerCentralSeries_pi_of_finite {η : Type u_2} {Gs : ηType u_3} [(i : η) → AddGroup (Gs i)] [Finite η] (n : ) :
                                          lowerCentralSeries ((i : η) → Gs i) n = pi Set.univ fun (i : η) => lowerCentralSeries (Gs i) n
                                          instance Group.isNilpotent_pi {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] [Finite η] [∀ (i : η), IsNilpotent (Gs i)] :
                                          IsNilpotent ((i : η) → Gs i)

                                          n-ary products of nilpotent groups are nilpotent.

                                          instance AddGroup.isNilpotent_pi {η : Type u_2} {Gs : ηType u_3} [(i : η) → AddGroup (Gs i)] [Finite η] [∀ (i : η), IsNilpotent (Gs i)] :
                                          IsNilpotent ((i : η) → Gs i)

                                          n-ary products of nilpotent groups are nilpotent.

                                          theorem Group.nilpotencyClass_pi {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] [Fintype η] [∀ (i : η), IsNilpotent (Gs i)] :
                                          nilpotencyClass ((i : η) → Gs i) = Finset.univ.sup fun (i : η) => nilpotencyClass (Gs i)

                                          The nilpotency class of an n-ary product is the sup of the nilpotency classes of the factors.

                                          theorem AddGroup.nilpotencyClass_pi {η : Type u_2} {Gs : ηType u_3} [(i : η) → AddGroup (Gs i)] [Fintype η] [∀ (i : η), IsNilpotent (Gs i)] :
                                          nilpotencyClass ((i : η) → Gs i) = Finset.univ.sup fun (i : η) => nilpotencyClass (Gs i)

                                          The nilpotency class of an n-ary product is the sup of the nilpotency classes of the factors.

                                          @[instance 100]

                                          A nilpotent subgroup is solvable

                                          @[implicit_reducible]
                                          Equations
                                          theorem IsPGroup.isNilpotent {G : Type u_1} [hG : Group G] [Finite G] {p : } [hp : Fact (Nat.Prime p)] (h : IsPGroup p G) :

                                          A p-group is nilpotent

                                          theorem Group.isNilpotent_of_product_of_sylow_group {G : Type u_1} [hG : Group G] [Finite G] (e : ((p : (Nat.card G).primeFactors) → (P : Sylow (↑p) G) → P) ≃* G) :

                                          If a finite group is the direct product of its Sylow groups, it is nilpotent

                                          theorem Group.isNilpotent_of_finite_tfae {G : Type u_1} [hG : Group G] [Finite G] :
                                          [IsNilpotent G, NormalizerCondition G, ∀ (H : Subgroup G), IsCoatom HH.Normal, ∀ (p : ), Fact (Nat.Prime p)∀ (P : Sylow p G), (↑P).Normal, Nonempty (((p : (Nat.card G).primeFactors) → (P : Sylow (↑p) G) → P) ≃* G)].TFAE

                                          A finite group is nilpotent iff the normalizer condition holds, and iff all maximal groups are normal and iff all Sylow groups are normal and iff the group is the direct product of its Sylow groups.

                                          @[deprecated Subgroup.upperCentralSeriesStep (since := "2026-03-25")]
                                          def upperCentralSeriesStep {G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] :

                                          Alias of Subgroup.upperCentralSeriesStep.


                                          If H is a normal subgroup of G, then the set {x : G | ∀ y : G, x*y*x⁻¹*y⁻¹ ∈ H} is a subgroup of G (because it is the preimage in G of the centre of the quotient group G/H.)

                                          Equations
                                          Instances For
                                            @[deprecated Subgroup.mem_upperCentralSeriesStep (since := "2026-03-25")]
                                            theorem mem_upperCentralSeriesStep {G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] (x : G) :
                                            x H.upperCentralSeriesStep ∀ (y : G), x, y H

                                            Alias of Subgroup.mem_upperCentralSeriesStep.

                                            @[deprecated Subgroup.upperCentralSeriesStep_eq_comap_center (since := "2026-03-25")]

                                            Alias of Subgroup.upperCentralSeriesStep_eq_comap_center.


                                            The proof that upperCentralSeriesStep H is the preimage of the centre of G/H under the canonical surjection.

                                            @[deprecated Subgroup.upperCentralSeriesAux (since := "2026-03-25")]
                                            def upperCentralSeriesAux (G : Type u_1) [Group G] :
                                            (H : Subgroup G) ×' H.Characteristic

                                            Alias of Subgroup.upperCentralSeriesAux.


                                            An auxiliary type-theoretic definition defining both the upper central series of a group, and a proof that it is characteristic, all in one go.

                                            Equations
                                            Instances For
                                              @[deprecated Subgroup.upperCentralSeries (since := "2026-03-25")]
                                              def upperCentralSeries (G : Type u_1) [Group G] (n : ) :

                                              Alias of Subgroup.upperCentralSeries.


                                              upperCentralSeries G n is the nth term in the upper central series of G.

                                              This is the increasing chain of subgroups of G that starts with the trivial subgroup of G and then continues defining upperCentralSeries G (n + 1) to be all the elements of G that, modulo upperCentralSeries G n, belong to the center of the quotient G ⧸ upperCentralSeries G n.

                                              In particular, the identities

                                              hold.

                                              Equations
                                              Instances For
                                                @[deprecated Subgroup.upperCentralSeries_zero (since := "2026-03-25")]

                                                Alias of Subgroup.upperCentralSeries_zero.

                                                @[deprecated Subgroup.upperCentralSeries_one (since := "2026-03-25")]

                                                Alias of Subgroup.upperCentralSeries_one.

                                                @[deprecated Subgroup.mem_upperCentralSeries_succ_iff (since := "2026-03-25")]
                                                theorem mem_upperCentralSeries_succ_iff {G : Type u_1} [Group G] {n : } {x : G} :

                                                Alias of Subgroup.mem_upperCentralSeries_succ_iff.


                                                The n+1st term of the upper central series H i has underlying set equal to the x such that ⁅x,G⁆ ⊆ H n.

                                                @[deprecated Subgroup.comap_upperCentralSeries (since := "2026-03-25")]
                                                theorem comap_upperCentralSeries {G : Type u_1} [Group G] {H : Type u_2} [Group H] (e : H ≃* G) (n : ) :

                                                Alias of Subgroup.comap_upperCentralSeries.

                                                @[deprecated Subgroup.IsAscendingCentralSeries (since := "2026-03-25")]
                                                def IsAscendingCentralSeries {G : Type u_1} [Group G] (H : Subgroup G) :

                                                Alias of Subgroup.IsAscendingCentralSeries.


                                                A sequence of subgroups of G is an ascending central series if H 0 is trivial and ⁅H (n + 1), G⁆ ⊆ H n for all n. Note that we do not require that H n = G for some n.

                                                Equations
                                                Instances For
                                                  @[deprecated Subgroup.IsDescendingCentralSeries (since := "2026-03-25")]
                                                  def IsDescendingCentralSeries {G : Type u_1} [Group G] (H : Subgroup G) :

                                                  Alias of Subgroup.IsDescendingCentralSeries.


                                                  A sequence of subgroups of G is a descending central series if H 0 is G and ⁅H n, G⁆ ⊆ H (n + 1) for all n. Note that we do not require that H n = {1} for some n.

                                                  Equations
                                                  Instances For
                                                    @[deprecated Subgroup.ascending_central_series_le_upper (since := "2026-03-25")]

                                                    Alias of Subgroup.ascending_central_series_le_upper.


                                                    Any ascending central series for a group is bounded above by the upper central series.

                                                    @[deprecated Subgroup.upperCentralSeries_isAscendingCentralSeries (since := "2026-03-25")]

                                                    Alias of Subgroup.upperCentralSeries_isAscendingCentralSeries.


                                                    The upper central series of a group is an ascending central series.

                                                    @[deprecated Subgroup.upperCentralSeries_mono (since := "2026-03-25")]

                                                    Alias of Subgroup.upperCentralSeries_mono.

                                                    @[deprecated Subgroup.nilpotent_iff_finite_ascending_central_series (since := "2026-03-25")]

                                                    Alias of Subgroup.nilpotent_iff_finite_ascending_central_series.


                                                    A group G is nilpotent iff there exists an ascending central series which reaches G in finitely many steps.

                                                    @[deprecated Subgroup.is_descending_rev_series_of_is_ascending (since := "2026-03-25")]
                                                    theorem is_descending_rev_series_of_is_ascending (G : Type u_1) [Group G] {H : Subgroup G} {n : } (hn : H n = ) (hasc : Subgroup.IsAscendingCentralSeries H) :

                                                    Alias of Subgroup.is_descending_rev_series_of_is_ascending.

                                                    @[deprecated Subgroup.is_ascending_rev_series_of_is_descending (since := "2026-03-25")]
                                                    theorem is_ascending_rev_series_of_is_descending (G : Type u_1) [Group G] {H : Subgroup G} {n : } (hn : H n = ) (hdesc : Subgroup.IsDescendingCentralSeries H) :

                                                    Alias of Subgroup.is_ascending_rev_series_of_is_descending.

                                                    @[deprecated Subgroup.nilpotent_iff_finite_descending_central_series (since := "2026-03-25")]

                                                    Alias of Subgroup.nilpotent_iff_finite_descending_central_series.


                                                    A group G is nilpotent iff there exists a descending central series which reaches the trivial group in a finite time.

                                                    @[deprecated Subgroup.lowerCentralSeries (since := "2026-03-25")]
                                                    def lowerCentralSeries (G : Type u_2) [Group G] :

                                                    Alias of Subgroup.lowerCentralSeries.


                                                    The lower central series of a group G is a sequence H n of subgroups of G, defined by H 0 is all of G and for n≥1, H (n + 1) = ⁅H n, G⁆

                                                    Equations
                                                    Instances For
                                                      @[deprecated Subgroup.lowerCentralSeries_zero (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_zero.

                                                      @[deprecated Subgroup.lowerCentralSeries_one (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_one.

                                                      @[deprecated Subgroup.mem_lowerCentralSeries_succ_iff (since := "2026-03-25")]
                                                      theorem mem_lowerCentralSeries_succ_iff {G : Type u_1} [Group G] (n : ) (q : G) :

                                                      Alias of Subgroup.mem_lowerCentralSeries_succ_iff.

                                                      @[deprecated Subgroup.lowerCentralSeries_succ (since := "2026-03-25")]
                                                      theorem lowerCentralSeries_succ {G : Type u_1} [Group G] (n : ) :

                                                      Alias of Subgroup.lowerCentralSeries_succ.

                                                      @[deprecated Subgroup.lowerCentralSeries_antitone (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_antitone.

                                                      @[deprecated Subgroup.lowerCentralSeries_isDescendingCentralSeries (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_isDescendingCentralSeries.


                                                      The lower central series of a group is a descending central series.

                                                      @[deprecated Subgroup.descending_central_series_ge_lower (since := "2026-03-25")]

                                                      Alias of Subgroup.descending_central_series_ge_lower.


                                                      Any descending central series for a group is bounded below by the lower central series.

                                                      @[deprecated Subgroup.nilpotent_iff_lowerCentralSeries (since := "2026-03-25")]

                                                      Alias of Subgroup.nilpotent_iff_lowerCentralSeries.


                                                      A group is nilpotent if and only if its lower central series eventually reaches the trivial subgroup.

                                                      @[deprecated Subgroup.upperCentralSeries_nilpotencyClass (since := "2026-03-25")]

                                                      Alias of Subgroup.upperCentralSeries_nilpotencyClass.

                                                      @[deprecated Subgroup.upperCentralSeries_eq_top_iff_nilpotencyClass_le (since := "2026-03-25")]

                                                      Alias of Subgroup.upperCentralSeries_eq_top_iff_nilpotencyClass_le.

                                                      @[deprecated Subgroup.least_ascending_central_series_length_eq_nilpotencyClass (since := "2026-03-25")]

                                                      Alias of Subgroup.least_ascending_central_series_length_eq_nilpotencyClass.


                                                      The nilpotency class of a nilpotent G is equal to the smallest n for which an ascending central series reaches G in its n-th term.

                                                      @[deprecated Subgroup.least_descending_central_series_length_eq_nilpotencyClass (since := "2026-03-25")]

                                                      Alias of Subgroup.least_descending_central_series_length_eq_nilpotencyClass.


                                                      The nilpotency class of a nilpotent G is equal to the smallest n for which the descending central series reaches in its n-th term.

                                                      @[deprecated Subgroup.lowerCentralSeries_length_eq_nilpotencyClass (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_length_eq_nilpotencyClass.


                                                      The nilpotency class of a nilpotent G is equal to the length of the lower central series.

                                                      @[deprecated Subgroup.lowerCentralSeries_nilpotencyClass (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_nilpotencyClass.

                                                      @[deprecated Subgroup.lowerCentralSeries_eq_bot_iff_nilpotencyClass_le (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_eq_bot_iff_nilpotencyClass_le.

                                                      @[deprecated Subgroup.lowerCentralSeries_map_subtype_le (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_map_subtype_le.

                                                      @[deprecated Subgroup.upperCentralSeries.map (since := "2026-03-25")]

                                                      Alias of Subgroup.upperCentralSeries.map.

                                                      @[deprecated Subgroup.lowerCentralSeries.map (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries.map.

                                                      @[deprecated Subgroup.lowerCentralSeries_succ_eq_bot (since := "2026-03-25")]

                                                      Alias of Subgroup.lowerCentralSeries_succ_eq_bot.

                                                      @[deprecated Subgroup.isNilpotent_of_ker_le_center (since := "2026-03-25")]
                                                      theorem isNilpotent_of_ker_le_center {G : Type u_1} [Group G] {H : Type u_2} [Group H] (f : G →* H) (hf1 : f.ker Subgroup.center G) [Group.IsNilpotent H] :

                                                      Alias of Subgroup.isNilpotent_of_ker_le_center.


                                                      The preimage of a nilpotent group is nilpotent if the kernel of the homomorphism is contained in the center.

                                                      @[deprecated Group.nilpotencyClass_le_of_ker_le_center (since := "2026-03-25")]

                                                      Alias of Group.nilpotencyClass_le_of_ker_le_center.

                                                      @[deprecated Group.nilpotent_of_surjective (since := "2026-03-25")]
                                                      theorem nilpotent_of_surjective {G : Type u_1} [Group G] {G' : Type u_2} [Group G'] [h : Group.IsNilpotent G] (f : G →* G') (hf : Function.Surjective f) :

                                                      Alias of Group.nilpotent_of_surjective.


                                                      The range of a surjective homomorphism from a nilpotent group is nilpotent.

                                                      @[deprecated Group.nilpotencyClass_le_of_surjective (since := "2026-03-25")]

                                                      Alias of Group.nilpotencyClass_le_of_surjective.


                                                      The nilpotency class of the range of a surjective homomorphism from a nilpotent group is less or equal the nilpotency class of the domain.

                                                      @[deprecated Group.nilpotent_of_mulEquiv (since := "2026-03-25")]
                                                      theorem nilpotent_of_mulEquiv {G : Type u_1} [Group G] {G' : Type u_2} [Group G'] [_h : Group.IsNilpotent G] (f : G ≃* G') :

                                                      Alias of Group.nilpotent_of_mulEquiv.


                                                      Nilpotency respects isomorphisms.

                                                      @[deprecated Group.nilpotent_quotient_of_nilpotent (since := "2026-03-25")]

                                                      Alias of Group.nilpotent_quotient_of_nilpotent.


                                                      A quotient of a nilpotent group is nilpotent.

                                                      @[deprecated Group.nilpotencyClass_quotient_le (since := "2026-03-25")]

                                                      Alias of Group.nilpotencyClass_quotient_le.


                                                      The nilpotency class of a quotient of G is less or equal the nilpotency class of G.

                                                      @[deprecated Subgroup.comap_upperCentralSeries_quotient_center (since := "2026-03-25")]

                                                      Alias of Subgroup.comap_upperCentralSeries_quotient_center.

                                                      @[deprecated Group.nilpotencyClass_zero_iff_subsingleton (since := "2026-03-25")]

                                                      Alias of Group.nilpotencyClass_zero_iff_subsingleton.

                                                      @[deprecated Group.of_quotient_center_nilpotent (since := "2026-03-25")]

                                                      Alias of Group.of_quotient_center_nilpotent.


                                                      If the quotient by center G is nilpotent, then so is G.

                                                      @[deprecated Group.nilpotencyClass_quotient_center (since := "2026-03-25")]

                                                      Alias of Group.nilpotencyClass_quotient_center.


                                                      Quotienting the center G reduces the nilpotency class by 1.

                                                      @[deprecated Group.nilpotencyClass_eq_quotient_center_plus_one (since := "2026-03-25")]

                                                      Alias of Group.nilpotencyClass_eq_quotient_center_plus_one.


                                                      The nilpotency class of a non-trivial group is one more than its quotient by the center

                                                      @[deprecated Group.nilpotent_center_quotient_ind (since := "2026-03-25")]
                                                      theorem nilpotent_center_quotient_ind {P : (G : Type u_2) → [inst : Group G] → [Group.IsNilpotent G] → Prop} (G : Type u_2) [Group G] [Group.IsNilpotent G] (hbase : ∀ (G : Type u_2) [inst : Group G] [inst_1 : Subsingleton G], P G) (hstep : ∀ (G : Type u_2) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G Subgroup.center G)P G) :
                                                      P G

                                                      Alias of Group.nilpotent_center_quotient_ind.


                                                      A custom induction principle for nilpotent groups. The base case is a trivial group (subsingleton G), and in the induction step, one can assume the hypothesis for the group quotiented by its center.

                                                      @[deprecated Subgroup.derived_le_lower_central (since := "2026-03-25")]

                                                      Alias of Subgroup.derived_le_lower_central.

                                                      @[deprecated Subgroup.upperCentralSeries.eq_ge_of_eq_succ (since := "2026-03-25")]

                                                      Alias of Subgroup.upperCentralSeries.eq_ge_of_eq_succ.

                                                      @[deprecated Subgroup.upperCentralSeries.eq_ge_of_eq_gt (since := "2026-03-25")]

                                                      Alias of Subgroup.upperCentralSeries.eq_ge_of_eq_gt.


                                                      If two different elements of the upperCentralSeries of a group G are equal, then they are all equal, starting from the smaller index.

                                                      @[deprecated Subgroup.upperCentralSeries.eq_top (since := "2026-03-25")]

                                                      Alias of Subgroup.upperCentralSeries.eq_top.

                                                      @[deprecated Subgroup.nilpotencyClass_le_of_upperCentralSeries_eq (since := "2026-03-25")]

                                                      Alias of Subgroup.nilpotencyClass_le_of_upperCentralSeries_eq.

                                                      @[deprecated Subgroup.upperCentralSeries.StrictMonoOn (since := "2026-03-25")]

                                                      Alias of Subgroup.upperCentralSeries.StrictMonoOn.

                                                      @[deprecated Subgroup.upperCentralSeries.card_image_eq_of_le_nilpotencyClass (since := "2026-03-25")]

                                                      Alias of Subgroup.upperCentralSeries.card_image_eq_of_le_nilpotencyClass.

                                                      @[deprecated Subgroup.lowerCentralSeries_prod (since := "2026-03-25")]
                                                      theorem lowerCentralSeries_prod {G₁ : Type u_2} {G₂ : Type u_3} [Group G₁] [Group G₂] (n : ) :

                                                      Alias of Subgroup.lowerCentralSeries_prod.

                                                      @[deprecated Group.isNilpotent_prod (since := "2026-03-25")]
                                                      theorem isNilpotent_prod {G₁ : Type u_2} {G₂ : Type u_3} [Group G₁] [Group G₂] [Group.IsNilpotent G₁] [Group.IsNilpotent G₂] :
                                                      Group.IsNilpotent (G₁ × G₂)

                                                      Alias of Group.isNilpotent_prod.


                                                      Products of nilpotent groups are nilpotent.

                                                      @[deprecated Group.nilpotencyClass_prod (since := "2026-03-25")]
                                                      theorem nilpotencyClass_prod {G₁ : Type u_2} {G₂ : Type u_3} [Group G₁] [Group G₂] [Group.IsNilpotent G₁] [Group.IsNilpotent G₂] :

                                                      Alias of Group.nilpotencyClass_prod.


                                                      The nilpotency class of a product is the max of the nilpotency classes of the factors.

                                                      @[deprecated Subgroup.lowerCentralSeries_pi_le (since := "2026-03-25")]
                                                      theorem lowerCentralSeries_pi_le {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] (n : ) :
                                                      Subgroup.lowerCentralSeries ((i : η) → Gs i) n Subgroup.pi Set.univ fun (i : η) => Subgroup.lowerCentralSeries (Gs i) n

                                                      Alias of Subgroup.lowerCentralSeries_pi_le.

                                                      @[deprecated Group.isNilpotent_pi_of_bounded_class (since := "2026-03-25")]
                                                      theorem isNilpotent_pi_of_bounded_class {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] [∀ (i : η), Group.IsNilpotent (Gs i)] (n : ) (h : ∀ (i : η), Group.nilpotencyClass (Gs i) n) :
                                                      Group.IsNilpotent ((i : η) → Gs i)

                                                      Alias of Group.isNilpotent_pi_of_bounded_class.


                                                      Products of nilpotent groups are nilpotent if their nilpotency class is bounded.

                                                      @[deprecated Subgroup.lowerCentralSeries_pi_of_finite (since := "2026-03-25")]
                                                      theorem lowerCentralSeries_pi_of_finite {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] [Finite η] (n : ) :
                                                      Subgroup.lowerCentralSeries ((i : η) → Gs i) n = Subgroup.pi Set.univ fun (i : η) => Subgroup.lowerCentralSeries (Gs i) n

                                                      Alias of Subgroup.lowerCentralSeries_pi_of_finite.

                                                      @[deprecated Group.isNilpotent_pi (since := "2026-03-25")]
                                                      theorem isNilpotent_pi {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] [Finite η] [∀ (i : η), Group.IsNilpotent (Gs i)] :
                                                      Group.IsNilpotent ((i : η) → Gs i)

                                                      Alias of Group.isNilpotent_pi.


                                                      n-ary products of nilpotent groups are nilpotent.

                                                      @[deprecated Group.nilpotencyClass_pi (since := "2026-03-25")]
                                                      theorem nilpotencyClass_pi {η : Type u_2} {Gs : ηType u_3} [(i : η) → Group (Gs i)] [Fintype η] [∀ (i : η), Group.IsNilpotent (Gs i)] :
                                                      Group.nilpotencyClass ((i : η) → Gs i) = Finset.univ.sup fun (i : η) => Group.nilpotencyClass (Gs i)

                                                      Alias of Group.nilpotencyClass_pi.


                                                      The nilpotency class of an n-ary product is the sup of the nilpotency classes of the factors.

                                                      @[deprecated Group.nilpotencyClass_le_one_of_isSimple_of_isNilpotent (since := "2026-03-25")]

                                                      Alias of Group.nilpotencyClass_le_one_of_isSimple_of_isNilpotent.

                                                      @[deprecated Group.normalizerCondition_of_isNilpotent (since := "2026-03-25")]

                                                      Alias of Group.normalizerCondition_of_isNilpotent.

                                                      @[deprecated Group.isNilpotent_of_product_of_sylow_group (since := "2026-03-25")]
                                                      theorem isNilpotent_of_product_of_sylow_group {G : Type u_1} [hG : Group G] [Finite G] (e : ((p : (Nat.card G).primeFactors) → (P : Sylow (↑p) G) → P) ≃* G) :

                                                      Alias of Group.isNilpotent_of_product_of_sylow_group.


                                                      If a finite group is the direct product of its Sylow groups, it is nilpotent

                                                      @[deprecated Group.isNilpotent_of_finite_tfae (since := "2026-03-25")]
                                                      theorem isNilpotent_of_finite_tfae {G : Type u_1} [hG : Group G] [Finite G] :
                                                      [Group.IsNilpotent G, NormalizerCondition G, ∀ (H : Subgroup G), IsCoatom HH.Normal, ∀ (p : ), Fact (Nat.Prime p)∀ (P : Sylow p G), (↑P).Normal, Nonempty (((p : (Nat.card G).primeFactors) → (P : Sylow (↑p) G) → P) ≃* G)].TFAE

                                                      Alias of Group.isNilpotent_of_finite_tfae.


                                                      A finite group is nilpotent iff the normalizer condition holds, and iff all maximal groups are normal and iff all Sylow groups are normal and iff the group is the direct product of its Sylow groups.