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}
.
upperCentralSeries G : ℕ → Subgroup G
: the upper central series of a groupG
. This is an increasing sequence of normal subgroupsH n
ofG
withH 0 = ⊥
andH (n + 1) / H n
is the centre ofG / H n
.lowerCentralSeries G : ℕ → Subgroup G
: the lower central series of a groupG
. This is a decreasing sequence of normal subgroupsH n
ofG
withH 0 = ⊤
andH (n + 1) = ⁅H n, G⁆
.IsNilpotent
: A group G is nilpotent if its upper central series reaches⊤
, or equivalently if its lower central series reaches⊥
.nilpotency_class
: the length of the upper central series of a nilpotent group.IsAscendingCentralSeries (H : ℕ → Subgroup G) : Prop
andIsDescendingCentralSeries (H : ℕ → Subgroup G) : Prop
: Note that in the literature a "central series" for a group is usually defined to be a finite sequence of normal subgroupsH 0
,H 1
, ..., starting at⊤
, finishing at⊥
, and with eachH n / H (n + 1)
central inG / H (n + 1)
. In this formalisation it is convenient to have two weaker predicates on an infinite sequence of subgroupsH n
ofG
: we say a sequence is a descending central series if it starts atG
and⁅H n, ⊤⁆ ⊆ H (n + 1)
for alln
. Note that this series may not terminate at⊥
, and theH i
need not be normal. Similarly a sequence is an ascending central series ifH 0 = ⊥
and⁅H (n + 1), ⊤⁆ ⊆ H n
for alln
, again with no requirement that the series reaches⊤
or that theH i
are normal.
Main theorems #
G
is defined to be nilpotent if the upper central series reaches ⊤
.
nilpotent_iff_finite_ascending_central_series
:G
is nilpotent iff some ascending central series reaches⊤
.nilpotent_iff_finite_descending_central_series
:G
is nilpotent iff some descending central series reaches⊥
.nilpotent_iff_lower
:G
is nilpotent iff the lower central series reaches⊥
.- The
nilpotency_class
can likewise be obtained from these equivalent definitions, seeleast_ascending_central_series_length_eq_nilpotencyClass
,least_descending_central_series_length_eq_nilpotencyClass
andlowerCentralSeries_length_eq_nilpotencyClass
. - If
G
is nilpotent, then so are its subgroups, images, quotients and preimages. Binary and finite products of nilpotent groups are nilpotent. Infinite products are nilpotent if their nilpotent class is bounded. Corresponding lemmas about thenilpotency_class
are provided. - The
nilpotency_class
ofG ⧸ center G
is given explicitly, and an induction principle is derived from that. IsNilpotent.to_isSolvable
: IfG
is nilpotent, it is solvable.
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
- One or more equations did not get rendered due to their size.
Instances For
The proof that upperCentralSeriesStep H
is the preimage of the centre of G/H
under
the canonical surjection.
Equations
- (_ : Subgroup.Normal (upperCentralSeriesStep H)) = (_ : Subgroup.Normal (upperCentralSeriesStep H))
An auxiliary type-theoretic definition defining both the upper central series of a group, and a proof that it is normal, all in one go.
Equations
- One or more equations did not get rendered due to their size.
- upperCentralSeriesAux G 0 = { fst := ⊥, snd := (_ : Subgroup.Normal ⊥) }
Instances For
upperCentralSeries G n
is the n
th term in the upper central series of G
.
Equations
- upperCentralSeries G n = (upperCentralSeriesAux G n).fst
Instances For
Equations
- (_ : Subgroup.Normal (upperCentralSeries G n)) = (_ : Subgroup.Normal (upperCentralSeriesAux G n).fst)
A group G
is nilpotent if its upper central series is eventually G
.
- nilpotent' : ∃ (n : ℕ), upperCentralSeries G n = ⊤
Instances
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 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
Any ascending central series for a group is bounded above by the upper central series.
The upper central series of a 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.
A 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
- lowerCentralSeries G 0 = ⊤
- lowerCentralSeries G (Nat.succ n) = ⁅lowerCentralSeries G n, ⊤⁆
Instances For
Equations
- (_ : Subgroup.Normal (lowerCentralSeries G n)) = (_ : Subgroup.Normal (lowerCentralSeries G n))
The lower central series of a group is a descending central series.
Any descending central series for a 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.
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
.
Equations
- Group.nilpotencyClass G = Nat.find (_ : ∃ (n : ℕ), upperCentralSeries G n = ⊤)
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 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.
A subgroup of a nilpotent group is nilpotent
Equations
- (_ : Group.IsNilpotent ↥H) = (_ : Group.IsNilpotent ↥H)
The nilpotency class of a subgroup is less or equal to the nilpotency class of the group
Equations
- (_ : Group.IsNilpotent G) = (_ : Group.IsNilpotent G)
The preimage of a nilpotent group is nilpotent if the kernel of the homomorphism is contained in the center
The range of a surjective homomorphism from a nilpotent group is nilpotent
The nilpotency class of the range of a surjective homomorphism from a nilpotent group is less or equal the nilpotency class of the domain
Nilpotency respects isomorphisms
A quotient of a nilpotent group is nilpotent
Equations
- (_ : Group.IsNilpotent (G ⧸ H)) = (_ : Group.IsNilpotent (G ⧸ H))
The nilpotency class of a quotient of G
is less or equal the nilpotency class of G
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
If the quotient by center G
is nilpotent, then so is 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.
Abelian groups are nilpotent
Equations
- (_ : Group.IsNilpotent G) = (_ : Group.IsNilpotent G)
Abelian groups have nilpotency class at most one
Groups with nilpotency class at most one are abelian
Equations
Instances For
Products of nilpotent groups are nilpotent
Equations
- (_ : Group.IsNilpotent (G₁ × G₂)) = (_ : Group.IsNilpotent (G₁ × G₂))
The nilpotency class of a product is the max of the nilpotency classes of the factors
products of nilpotent groups are nilpotent if their nilpotency class is bounded
n-ary products of nilpotent groups are nilpotent
Equations
- (_ : Group.IsNilpotent ((i : η) → Gs i)) = (_ : Group.IsNilpotent ((i : η) → Gs i))
The nilpotency class of an n-ary product is the sup of the nilpotency classes of the factors
A nilpotent subgroup is solvable
Equations
- (_ : IsSolvable G) = (_ : IsSolvable G)
If a finite group is the direct product of its Sylow groups, it is nilpotent
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.