ProCGroups.FiniteGroups.StandardClasses

49 Theorem | 8 Definition | 1 Instance

This module studies standard classes for pro cgroups. If \(a \nmid b\), then some prime factor has a larger exponent in \(a\) than in \(b\). The p-adic exponent of a positive integer is at most the integer itself.

import
Imported by

Declarations

theorem exists_factorization_lt_of_not_dvd
    {a b : ℕ} (ha : a ≠ 0) (hb : b ≠ 0) (hndvd : ¬ a ∣ b) :
    ∃ p, b.factorization p < a.factorization p

If \(a \nmid b\), then some prime factor has a larger exponent in \(a\) than in \(b\).

Show proof
theorem nat_factorization_le_self_of_prime
    {A p : ℕ} (hp : Nat.Prime p) :
    A.factorization p ≤ A

The p-adic exponent of a positive integer is at most the integer itself.

Show proof
theorem gcd_mul_dvd_pow_depth
    {K d A : ℕ} (hK : 0 < K) (hd : 0 < d) (hA : 0 < A) :
    Nat.gcd (d * A) (K * (K * d) ^ (A + 1)) ∣ (K * d) ^ (A + 1)

The depth \((K*d)^(A+1)\) is large enough for the GCD-conditioned cyclic reduction.

Show proof
def cyclic : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ IsCyclic G
  finite_of_mem := fun hG => hG.1

The class of finite cyclic groups.

def abelian : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ ∀ a b : G, a * b = b * a
  finite_of_mem := fun hG => hG.1

The class of finite abelian groups.

def solvable : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ IsSolvable G
  finite_of_mem := fun hG => hG.1

The class of finite solvable groups.

def nilpotent : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ Group.IsNilpotent G
  finite_of_mem := fun hG => hG.1

The finite group class consisting of finite nilpotent groups.

def pGroup (p : ℕ) : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ IsPGroup p G
  finite_of_mem := fun hG => hG.1

The class of finite \(p\)-groups.

def IsSigmaNumber (sigma : Set ℕ) (n : ℕ) : Prop :=
  ∀ p, Nat.Prime p → p ∉ sigma → ¬ p ∣ n

A natural number whose prime divisors all lie in \(\Sigma\). This is the finite-level condition underlying finite \(\Sigma\)-groups and pro-\(\Sigma\) groups.

theorem of_dvd {sigma : Set ℕ} {m n : ℕ} (hn : IsSigmaNumber sigma n) (hmn : m ∣ n) :
    IsSigmaNumber sigma m

Every divisor of a \(\Sigma\)-number is again a \(\Sigma\)-number.

Show proof
theorem mul {sigma : Set ℕ} {m n : ℕ} (hm : IsSigmaNumber sigma m)
    (hn : IsSigmaNumber sigma n) :
    IsSigmaNumber sigma (m * n)

The product of two \(\Sigma\)-numbers is a \(\Sigma\)-number.

Show proof
theorem prod {sigma : Set ℕ} {ι : Type*} (s : Finset ι) (f : ι → ℕ)
    (hf : ∀ i ∈ s, IsSigmaNumber sigma (f i)) :
    IsSigmaNumber sigma (s.prod f)

A finite product of \(\Sigma\)-numbers is a \(\Sigma\)-number.

Show proof
theorem pow {sigma : Set ℕ} {n k : ℕ} (hn : IsSigmaNumber sigma n) :
    IsSigmaNumber sigma (n ^ k)

A natural-number power of a \(\Sigma\)-number is a \(\Sigma\)-number.

Show proof
theorem prime_pow_of_mem {sigma : Set ℕ} {p k : ℕ}
    (hpsigma : p ∈ sigma) (hp : Nat.Prime p) :
    IsSigmaNumber sigma (p ^ k)

A prime power whose prime lies in \(\Sigma\) is a \(\Sigma\)-number.

Show proof
def sigmaGroup (sigma : Set ℕ) : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ IsSigmaNumber sigma (Nat.card G)
  finite_of_mem := fun hG => hG.1

The class of finite \(\Sigma\)-groups: finite groups whose order has no prime divisors outside \(\Sigma\).

def abelianExponent (n : ℕ) : FiniteGroupClass.{u} where
  pred := fun G [_] =>
    Finite G ∧ (∀ a b : G, a * b = b * a) ∧ ∀ g : G, g ^ n = 1
  finite_of_mem := fun hG => hG.1

The class of finite abelian groups of exponent dividing \(n\).

theorem isPGroup_pi {ι : Type u} [Finite ι] {G : ι → Type v}
    [∀ i, Group (G i)] (hG : ∀ i, IsPGroup p (G i)) :
    IsPGroup p ((i : ι) → G i)

Finite products of abstract \(p\)-groups are \(p\)-groups.

Show proof
theorem pGroup_formation (p : ℕ) :
    FiniteGroupClass.Formation (FiniteGroupClass.pGroup p)

The class of finite \(p\)-groups is a formation.

Show proof
instance pGroup_containsTrivialQuotients (p : ℕ) :
    ContainsTrivialQuotients (pGroup p : FiniteGroupClass.{u}) :=
  (pGroup_formation p).containsTrivialQuotients

Finite \(p\)-groups contain the trivial quotients.

theorem pGroup_subgroupClosed (p : ℕ) : SubgroupClosed (pGroup p)

Subgroups of finite \(p\)-groups are finite \(p\)-groups.

Show proof
theorem finite_of_finite_normalSubgroup_and_quotient
    {E : Type u} [Group E] (N : Subgroup E) [N.Normal]
    [Finite N] [Finite (E ⧸ N)] :
    Finite E

A group is finite when a normal subgroup and the corresponding quotient are finite.

Show proof
theorem pGroup_extensionClosed (p : ℕ) :
    ExtensionClosed (pGroup p)

Extensions of finite \(p\)-groups are finite \(p\)-groups.

Show proof
theorem pGroup_hereditary (p : ℕ) : Hereditary (pGroup p)

The class of finite \(p\)-groups is hereditary under subgroups.

Show proof
theorem sigmaGroup_isomClosed (sigma : Set ℕ) : IsomClosed (sigmaGroup sigma)

The class of finite \(\Sigma\)-groups is closed under isomorphism.

Show proof
theorem sigmaGroup_subgroupClosed (sigma : Set ℕ) : SubgroupClosed (sigmaGroup sigma)

Subgroups of finite \(\Sigma\)-groups are finite \(\Sigma\)-groups.

Show proof
theorem sigmaGroup_quotientClosed (sigma : Set ℕ) : QuotientClosed (sigmaGroup sigma)

Quotients of finite \(\Sigma\)-groups are finite \(\Sigma\)-groups.

Show proof
theorem sigmaGroup_finiteProductClosed (sigma : Set ℕ) : FiniteProductClosed (sigmaGroup sigma)

Finite products of finite \(\Sigma\)-groups are finite \(\Sigma\)-groups.

Show proof
theorem sigmaGroup_variety (sigma : Set ℕ) : Variety (sigmaGroup sigma)

sigmaGroup is a finite-group variety.

Show proof
theorem sigmaGroup_formation (sigma : Set ℕ) : Formation (sigmaGroup sigma)

SigmaGroup is a formation of finite groups.

Show proof
theorem sigmaGroup_extensionClosed (sigma : Set ℕ) :
    ExtensionClosed (sigmaGroup sigma)

Extensions of finite \(\Sigma\)-groups are finite \(\Sigma\)-groups.

Show proof
theorem sigmaGroup_melnikovFormation (sigma : Set ℕ) :
    MelnikovFormation (sigmaGroup sigma) where
  formation

Finite \(\Sigma\)-groups form a Melnikov formation.

Show proof
theorem sigmaGroup_fullFormation (sigma : Set ℕ) :
    FullFormation (sigmaGroup sigma) where
  melnikovFormation

Finite \(\Sigma\)-groups form a full formation.

Show proof
theorem sigmaGroup_cyclicZMod
    {sigma : Set ℕ} {n : ℕ} (hn : 0 < n)
    (hsigma : IsSigmaNumber sigma n) :
    sigmaGroup sigma (ULift.{u} (Multiplicative (ZMod n)))

A positive \(\Sigma\)-number gives an allowed finite cyclic \(\Sigma\)-group.

Show proof
theorem sigmaGroup_nontrivialCyclic
    {sigma : Set ℕ} (hsigma : ∃ p, p ∈ sigma ∧ Nat.Prime p) :
    ∃ (A : Type u) (_ : Group A) (_ : Finite A),
      sigmaGroup sigma A ∧ IsCyclic A ∧ Nontrivial A

A nonempty set of primes supplies a nontrivial finite cyclic \(\Sigma\)-group.

Show proof
theorem sigmaGroup_prod_multiplicativeZMod
    {sigma : Set ℕ} {Q : Type u} [Group Q]
    (hQ : sigmaGroup sigma Q)
    {N : ℕ} (hNpos : 0 < N)
    (hNsigma : IsSigmaNumber sigma N) :
    sigmaGroup sigma (Q × Multiplicative (ZMod N))

The product of a finite \(\Sigma\)-group with the concrete cyclic group \(\mathbb{Z}/N\mathbb{Z}\).

Show proof
theorem exists_prime_power_orderOf_gt_padicValNat_of_zpow_ne_one
    {sigma : Set ℕ} {G : Type u} [Group G] [Finite G]
    (hG : sigmaGroup sigma G) {g : G} {n : ℤ} (hgn : g ^ n ≠ 1) :
    ∃ ℓ σ : ℕ,
      Nat.Prime ℓ ∧ 0 < σ ∧ ℓ ∈ sigma ∧
        padicValNat ℓ n.natAbs < σ ∧ ℓ ^ σ ∣ orderOf g

A nontrivial finite \(\Sigma\)-group power supplies a coefficient prime and depth.

Show proof
theorem abelian_subgroupClosed : SubgroupClosed abelian

Finite abelian groups are closed under subgroups.

Show proof
theorem abelian_quotientClosed : QuotientClosed abelian

Finite abelian groups are closed under quotients.

Show proof
theorem abelian_finiteProductClosed : FiniteProductClosed abelian

Finite abelian groups are closed under finite direct products.

Show proof
theorem abelian_variety : Variety abelian

Finite abelian groups form a variety.

Show proof
theorem abelian_isomClosed : IsomClosed abelian

Finite abelian groups are closed under isomorphism.

Show proof
theorem abelian_formation : Formation abelian

Finite abelian groups form a formation.

Show proof
theorem abelianExponent_subgroupClosed (n : ℕ) : SubgroupClosed (abelianExponent n)

Subgroups of finite abelian groups of bounded exponent again have bounded exponent.

Show proof
theorem abelianExponent_quotientClosed (n : ℕ) : QuotientClosed (abelianExponent n)

Quotients of finite abelian groups of bounded exponent again have bounded exponent.

Show proof
theorem abelianExponent_finiteProductClosed (n : ℕ) :
    FiniteProductClosed (abelianExponent n)

Finite products of finite abelian groups of bounded exponent again have bounded exponent.

Show proof
theorem abelianExponent_variety (n : ℕ) : Variety (abelianExponent n)

abelianExponent is a finite-group variety.

Show proof
theorem abelianExponent_isomClosed (n : ℕ) : IsomClosed (abelianExponent n)

Finite abelian groups of exponent dividing \(n\) are closed under isomorphism.

Show proof
theorem abelianExponent_formation (n : ℕ) : Formation (abelianExponent n)

Finite abelian groups of exponent dividing \(n\) form a formation.

Show proof
theorem cyclic_isomClosed : IsomClosed cyclic

Finite cyclic groups are closed under isomorphism.

Show proof
theorem cyclic_quotientClosed : QuotientClosed cyclic

Finite cyclic groups are closed under quotients.

Show proof
theorem solvable_isomClosed : IsomClosed solvable

Finite solvable groups are closed under isomorphism.

Show proof
theorem solvable_quotientClosed : QuotientClosed solvable

Finite solvable groups are closed under quotients.

Show proof
theorem nilpotent_isomClosed : IsomClosed nilpotent

Finite nilpotent groups are closed under isomorphism.

Show proof
theorem nilpotent_quotientClosed : QuotientClosed nilpotent

Finite nilpotent groups are closed under quotients.

Show proof
theorem cyclic_to_nilpotent {G : Type u} [Group G] :
    cyclic G → nilpotent G

Every finite cyclic group is finite nilpotent.

Show proof
theorem cyclic_to_solvable {G : Type u} [Group G] :
    cyclic G → solvable G

Every finite cyclic group belongs to the finite solvable class.

Show proof
theorem pGroup_to_nilpotent {p : ℕ} [Fact (Nat.Prime p)] {G : Type u} [Group G] :
    pGroup p G → nilpotent G

Every finite \(p\)-group belongs to the finite nilpotent class.

Show proof
theorem pGroup_to_solvable {p : ℕ} [Fact (Nat.Prime p)] {G : Type u} [Group G] :
    pGroup p G → solvable G

Every finite \(p\)-group belongs to the finite solvable class.

Show proof