Sylow theorems #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
The Sylow theorems are the following results for every finite group G
and every prime number p
.
- There exists a Sylow
p
-subgroup ofG
. - All Sylow
p
-subgroups ofG
are conjugate to each other. - Let
nₚ
be the number of Sylowp
-subgroups ofG
, thennₚ
divides the index of the Sylowp
-subgroup,nₚ ≡ 1 [MOD p]
, andnₚ
is equal to the index of the normalizer of the Sylowp
-subgroup inG
.
Main definitions #
sylow p G
: The type of Sylowp
-subgroups ofG
.
Main statements #
exists_subgroup_card_pow_prime
: A generalization of Sylow's first theorem: For every prime powerpⁿ
dividing the cardinality ofG
, there exists a subgroup ofG
of orderpⁿ
.is_p_group.exists_le_sylow
: A generalization of Sylow's first theorem: Everyp
-subgroup is contained in a Sylowp
-subgroup.sylow.card_eq_multiplicity
: The cardinality of a Sylow subgroup isp ^ n
wheren
is the multiplicity ofp
in the group order.sylow_conjugate
: A generalization of Sylow's second theorem: If the number of Sylowp
-subgroups is finite, then all Sylowp
-subgroups are conjugate.card_sylow_modeq_one
: A generalization of Sylow's third theorem: If the number of Sylowp
-subgroups is finite, then it is congruent to1
modulop
.
- to_subgroup : subgroup G
- is_p_group' : is_p_group p ↥(self.to_subgroup)
- is_maximal' : ∀ {Q : subgroup G}, is_p_group p ↥Q → self.to_subgroup ≤ Q → Q = self.to_subgroup
A Sylow p
-subgroup is a maximal p
-subgroup.
Instances for sylow
Equations
- sylow.subgroup.has_coe = {coe := sylow.to_subgroup _inst_1}
Equations
- sylow.set_like = {coe := coe coe_to_lift, coe_injective' := _}
The action by a Sylow subgroup is the action by the underlying group.
Equations
The preimage of a Sylow subgroup under a p-group-kernel homomorphism is a Sylow subgroup.
Equations
- P.comap_of_ker_is_p_group ϕ hϕ h = {to_subgroup := {carrier := (subgroup.comap ϕ P.to_subgroup).carrier, mul_mem' := _, one_mem' := _, inv_mem' := _}, is_p_group' := _, is_maximal' := _}
The preimage of a Sylow subgroup under an injective homomorphism is a Sylow subgroup.
Equations
- P.comap_of_injective ϕ hϕ h = P.comap_of_ker_is_p_group ϕ _ h
If the kernel of f : H →* G
is a p
-group,
then fintype (sylow p G)
implies fintype (sylow p H)
.
Equations
- sylow.fintype_of_ker_is_p_group hf = let h_exists : ∀ (P : sylow p H), ∃ (Q : sylow p G), subgroup.comap f ↑Q = ↑P := _, g : sylow p H → sylow p G := λ (P : sylow p H), classical.some _, hg : ∀ (P : sylow p H), subgroup.comap f (g P).to_subgroup = ↑P := _ in fintype.of_injective g _
subgroup.pointwise_mul_action
preserves Sylow subgroups.
Equations
- sylow.pointwise_mul_action = {to_has_smul := {smul := λ (g : α) (P : sylow p G), {to_subgroup := g • ↑P, is_p_group' := _, is_maximal' := _}}, one_smul := _, mul_smul := _}
Equations
A generalization of Sylow's second theorem.
If the number of Sylow p
-subgroups is finite, then all Sylow p
-subgroups are conjugate.
Sylow subgroups are isomorphic
Equations
- P.equiv_smul g = subgroup.equiv_smul (⇑mul_aut.conj g) ↑P
Sylow p
-subgroups are in bijection with cosets of the normalizer of a Sylow p
-subgroup
Equations
- P.equiv_quotient_normalizer = (((equiv.set.univ (sylow p G)).symm.trans (_.mpr (equiv.refl ↥⊤))).trans (mul_action.orbit_equiv_quotient_stabilizer G P)).trans (_.mpr (equiv.refl (G ⧸ ↑P.normalizer)))
Frattini's Argument: If N
is a normal subgroup of G
, and if P
is a Sylow p
-subgroup
of N
, then N_G(P) ⊔ N = G
.
Frattini's Argument: If N
is a normal subgroup of G
, and if P
is a Sylow p
-subgroup
of N
, then N_G(P) ⊔ N = G
.
The fixed points of the action of H
on its cosets correspond to normalizer H / H
.
If H
is a p
-subgroup of G
, then the index of H
inside its normalizer is congruent
mod p
to the index of H
.
If H
is a subgroup of G
of cardinality p ^ n
, then the cardinality of the
normalizer of H
is congruent mod p ^ (n + 1)
to the cardinality of G
.
If H
is a p
-subgroup but not a Sylow p
-subgroup, then p
divides the
index of H
inside its normalizer.
If H
is a p
-subgroup but not a Sylow p
-subgroup of cardinality p ^ n
,
then p ^ (n + 1)
divides the cardinality of the normalizer of H
.
If H
is a subgroup of G
of cardinality p ^ n
,
then H
is contained in a subgroup of cardinality p ^ (n + 1)
if p ^ (n + 1)
divides the cardinality of G
If H
is a subgroup of G
of cardinality p ^ n
,
then H
is contained in a subgroup of cardinality p ^ m
if n ≤ m
and p ^ m
divides the cardinality of G
The cardinality of a Sylow subgroup is p ^ n
where n
is the multiplicity of p
in the group order.
A subgroup with cardinality p ^ n
is a Sylow subgroup
where n
is the multiplicity of p
in the group order.
Equations
- sylow.of_card H card_eq = {to_subgroup := H, is_p_group' := _, is_maximal' := _}
If all its Sylow subgroups are normal, then a finite group is isomorphic to the direct product of these Sylow subgroups.
Equations
- sylow.direct_product_of_normal hn = let ps : finset ℕ := (fintype.card G).factorization.support in id (let P : Π (p : ℕ), sylow p G := inhabited.default in (id (mul_equiv.Pi_congr_right (λ (j : ↥ps), subtype.cases_on j (λ (p : ℕ) (hp : p ∈ ps), id (mul_equiv.Pi_subsingleton (λ (P : sylow p G), ↥P) (P p)))))).trans (id (mul_equiv.of_bijective (subgroup.noncomm_pi_coprod _) _)))