Module

StandardClasses.lean

Nyll.ProCGroups.FiniteGroups.StandardClasses
58 declarations indexed from sourceView source ↗

Standard classes of finite groups

This module constructs the cyclic, abelian, solvable, nilpotent, finite \(p\)-group, \(\sigma\)-group, and bounded-exponent abelian classes. It proves the subgroup, quotient, product, extension, formation, and full-formation properties needed later, together with the finite-order arithmetic and cyclic witnesses supporting those proofs.

Imports3
Imported by40

Declarations

ProCGroups.FiniteGroupClass.exists_factorization_lt_of_not_dvd

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
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
ProCGroups.FiniteGroupClass.nat_factorization_le_self_of_prime

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem nat_factorization_le_self_of_prime
    {A p : ℕ} (hp : Nat.Prime p) :
    A.factorization p ≤ A
ProCGroups.FiniteGroupClass.gcd_mul_dvd_pow_depth

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
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)
ProCGroups.FiniteGroupClass.cyclic

The class of finite cyclic groups.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
def cyclic : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ IsCyclic G
  finite_of_mem := fun hG => hG.1
  mem_of_mulEquiv := by
    intro G H _ _ e hG
    let : Finite G := hG.1
    exact ⟨Finite.of_equiv G e.toEquiv, e.isCyclic.mp hG.2⟩
ProCGroups.FiniteGroupClass.abelian

The class of finite abelian groups.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
def abelian : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ ∀ a b : G, a * b = b * a
  finite_of_mem := fun hG => hG.1
  mem_of_mulEquiv := by
    intro G H _ _ e hG
    let : Finite G := hG.1
    refine ⟨Finite.of_equiv G e.toEquiv, ?_⟩
    intro a b
    apply e.symm.injective
    simpa using hG.2 (e.symm a) (e.symm b)
ProCGroups.FiniteGroupClass.solvable

The class of finite solvable groups.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
def solvable : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ Group.IsSolvable G
  finite_of_mem := fun hG => hG.1
  mem_of_mulEquiv := by
    intro G H _ _ e hG
    let : Finite G := hG.1
    let : Group.IsSolvable G := hG.2
    exact ⟨Finite.of_equiv G e.toEquiv,
      Group.isSolvable_of_surjective (f := e.toMonoidHom) e.surjective⟩
ProCGroups.FiniteGroupClass.nilpotent

The finite group class consisting of finite nilpotent groups.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
def nilpotent : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ Group.IsNilpotent G
  finite_of_mem := fun hG => hG.1
  mem_of_mulEquiv := by
    intro G H _ _ e hG
    let : Finite G := hG.1
    exact ⟨Finite.of_equiv G e.toEquiv,
      (Group.isNilpotent_congr e).mp hG.2⟩
ProCGroups.FiniteGroupClass.pGroup

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
def pGroup (p : ℕ) [Fact (Nat.Prime p)] : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ IsPGroup p G
  finite_of_mem := fun hG => hG.1
  mem_of_mulEquiv := by
    intro G H _ _ e hG
    let : Finite G := hG.1
    exact ⟨Finite.of_equiv G e.toEquiv,
      hG.2.of_surjective e.toMonoidHom e.surjective⟩
ProCGroups.FiniteGroupClass.IsSigmaNumber

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
def IsSigmaNumber (sigma : Set ℕ) (n : ℕ) : Prop
ProCGroups.FiniteGroupClass.IsSigmaNumber.of_dvd

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

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
namespace IsSigmaNumber
theorem of_dvd {sigma : Set ℕ} {m n : ℕ} (hn : IsSigmaNumber sigma n) (hmn : m ∣ n) :
    IsSigmaNumber sigma m
ProCGroups.FiniteGroupClass.IsSigmaNumber.mul

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

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
namespace IsSigmaNumber
theorem mul {sigma : Set ℕ} {m n : ℕ} (hm : IsSigmaNumber sigma m)
    (hn : IsSigmaNumber sigma n) :
    IsSigmaNumber sigma (m * n)
ProCGroups.FiniteGroupClass.IsSigmaNumber.prod

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

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
namespace IsSigmaNumber
theorem prod {sigma : Set ℕ} {ι : Type*} (s : Finset ι) (f : ι → ℕ)
    (hf : ∀ i ∈ s, IsSigmaNumber sigma (f i)) :
    IsSigmaNumber sigma (s.prod f)
ProCGroups.FiniteGroupClass.IsSigmaNumber.pow

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

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
namespace IsSigmaNumber
theorem pow {sigma : Set ℕ} {n k : ℕ} (hn : IsSigmaNumber sigma n) :
    IsSigmaNumber sigma (n ^ k)
ProCGroups.FiniteGroupClass.IsSigmaNumber.prime_pow_of_mem

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

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
namespace IsSigmaNumber
theorem prime_pow_of_mem {sigma : Set ℕ} {p k : ℕ}
    (hpsigma : p ∈ sigma) (hp : Nat.Prime p) :
    IsSigmaNumber sigma (p ^ k)
ProCGroups.FiniteGroupClass.sigmaGroup

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
def sigmaGroup (sigma : Set ℕ) : FiniteGroupClass.{u} where
  pred := fun G [_] => Finite G ∧ IsSigmaNumber sigma (Nat.card G)
  finite_of_mem := fun hG => hG.1
  mem_of_mulEquiv := by
    intro G H _ _ e hG
    let : Finite G := hG.1
    refine ⟨Finite.of_equiv G e.toEquiv, ?_⟩
    simpa [Nat.card_congr e.toEquiv] using hG.2
ProCGroups.FiniteGroupClass.abelianExponent

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
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
  mem_of_mulEquiv := by
    intro G H _ _ e hG
    let : Finite G := hG.1
    refine ⟨Finite.of_equiv G e.toEquiv, ?_, ?_⟩
    · intro a b
      apply e.symm.injective
      simpa using hG.2.1 (e.symm a) (e.symm b)
    · intro g
      apply e.symm.injective
      simpa using hG.2.2 (e.symm g)
ProCGroups.FiniteGroupClass.isPGroup_pi

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

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {p : ℕ}
theorem isPGroup_pi {ι : Type u} [Finite ι] {G : ι → Type v}
    [∀ i, Group (G i)] (hG : ∀ i, IsPGroup p (G i)) :
    IsPGroup p ((i : ι) → G i)
ProCGroups.FiniteGroupClass.pGroup_formation

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

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {p : ℕ}
theorem pGroup_formation (p : ℕ) [Fact (Nat.Prime p)] :
    FiniteGroupClass.Formation (FiniteGroupClass.pGroup p)
ProCGroups.FiniteGroupClass.pGroup_containsTrivialQuotients

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

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {p : ℕ}
instance pGroup_containsTrivialQuotients (p : ℕ) [Fact (Nat.Prime p)] :
    ContainsTrivialQuotients (pGroup p : FiniteGroupClass.{u})
ProCGroups.FiniteGroupClass.pGroup_subgroupClosed

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

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {p : ℕ}
theorem pGroup_subgroupClosed (p : ℕ) [Fact (Nat.Prime p)] : SubgroupClosed (pGroup p)
ProCGroups.FiniteGroupClass.finite_of_finite_normalSubgroup_and_quotient

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

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {p : ℕ}
theorem finite_of_finite_normalSubgroup_and_quotient
    {E : Type u} [Group E] (N : Subgroup E) [N.Normal]
    [Finite N] [Finite (E ⧸ N)] :
    Finite E
ProCGroups.FiniteGroupClass.pGroup_extensionClosed

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

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {p : ℕ}
theorem pGroup_extensionClosed (p : ℕ) [Fact (Nat.Prime p)] :
    ExtensionClosed (pGroup p)
ProCGroups.FiniteGroupClass.pGroup_hereditary

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

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {p : ℕ}
theorem pGroup_hereditary (p : ℕ) [Fact (Nat.Prime p)] : Hereditary (pGroup p)
ProCGroups.FiniteGroupClass.sigmaGroup_isomClosed

sigmaGroup is closed under group isomorphism.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_isomClosed (sigma : Set ℕ) : IsomClosed (sigmaGroup sigma)
ProCGroups.FiniteGroupClass.sigmaGroup_subgroupClosed

sigmaGroup is closed under subgroups.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_subgroupClosed (sigma : Set ℕ) : SubgroupClosed (sigmaGroup sigma)
ProCGroups.FiniteGroupClass.sigmaGroup_quotientClosed

sigmaGroup is closed under quotients.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_quotientClosed (sigma : Set ℕ) : QuotientClosed (sigmaGroup sigma)
ProCGroups.FiniteGroupClass.sigmaGroup_finiteProductClosed

sigmaGroup is closed under finite products.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_finiteProductClosed (sigma : Set ℕ) : FiniteProductClosed (sigmaGroup sigma)
ProCGroups.FiniteGroupClass.sigmaGroup_variety

sigmaGroup is a finite-group variety.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_variety (sigma : Set ℕ) : Variety (sigmaGroup sigma)
ProCGroups.FiniteGroupClass.sigmaGroup_formation

sigmaGroup is a formation of finite groups.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_formation (sigma : Set ℕ) : Formation (sigmaGroup sigma)
ProCGroups.FiniteGroupClass.sigmaGroup_extensionClosed

Finite Σ-groups are closed under extensions.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_extensionClosed (sigma : Set ℕ) :
    ExtensionClosed (sigmaGroup sigma)
ProCGroups.FiniteGroupClass.sigmaGroup_melnikovFormation

Finite Σ-groups form a Melnikov formation.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_melnikovFormation (sigma : Set ℕ) :
    MelnikovFormation (sigmaGroup sigma) where
  formation := sigmaGroup_formation sigma
  normalSubgroupClosed := fun N _ hG => sigmaGroup_subgroupClosed sigma N hG
  extensionClosed := sigmaGroup_extensionClosed sigma
ProCGroups.FiniteGroupClass.sigmaGroup_fullFormation

Finite Σ-groups form a full formation.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_fullFormation (sigma : Set ℕ) :
    FullFormation (sigmaGroup sigma) where
  melnikovFormation := sigmaGroup_melnikovFormation sigma
  subgroupClosed := sigmaGroup_subgroupClosed sigma
ProCGroups.FiniteGroupClass.sigmaGroup_cyclicZMod

A positive Σ-number gives an allowed finite cyclic Σ-group.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
theorem sigmaGroup_cyclicZMod
    {sigma : Set ℕ} {n : ℕ} (hn : 0 < n)
    (hsigma : IsSigmaNumber sigma n) :
    sigmaGroup sigma (ULift.{u} (Multiplicative (ZMod n)))
ProCGroups.FiniteGroupClass.sigmaGroup_nontrivialCyclic

A nonempty set of primes supplies a nontrivial finite cyclic Σ-group.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
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
ProCGroups.FiniteGroupClass.sigmaGroup_prod_multiplicativeZMod

Product of a finite Σ-group with the concrete cyclic group ZMod N.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
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))
ProCGroups.FiniteGroupClass.exists_prime_power_orderOf_gt_padicValNat_of_zpow_ne_one

A nontrivial finite Σ-group power supplies a coefficient prime and depth.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
section
variable {sigma : Set ℕ}
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
ProCGroups.FiniteGroupClass.abelian_subgroupClosed

Finite abelian groups are closed under subgroups.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelian_subgroupClosed : SubgroupClosed abelian
ProCGroups.FiniteGroupClass.abelian_quotientClosed

Finite abelian groups are closed under quotients.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelian_quotientClosed : QuotientClosed abelian
ProCGroups.FiniteGroupClass.abelian_finiteProductClosed

Finite abelian groups are closed under finite direct products.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelian_finiteProductClosed : FiniteProductClosed abelian
ProCGroups.FiniteGroupClass.abelian_variety

Finite abelian groups form a variety.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelian_variety : Variety abelian
ProCGroups.FiniteGroupClass.abelian_isomClosed

Finite abelian groups are closed under isomorphism.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelian_isomClosed : IsomClosed abelian
ProCGroups.FiniteGroupClass.abelian_formation

Finite abelian groups form a formation.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelian_formation : Formation abelian
ProCGroups.FiniteGroupClass.abelianExponent_subgroupClosed

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelianExponent_subgroupClosed (n : ℕ) : SubgroupClosed (abelianExponent n)
ProCGroups.FiniteGroupClass.abelianExponent_quotientClosed

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelianExponent_quotientClosed (n : ℕ) : QuotientClosed (abelianExponent n)
ProCGroups.FiniteGroupClass.abelianExponent_finiteProductClosed

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelianExponent_finiteProductClosed (n : ℕ) :
    FiniteProductClosed (abelianExponent n)
ProCGroups.FiniteGroupClass.abelianExponent_variety

abelianExponent is a finite-group variety.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelianExponent_variety (n : ℕ) : Variety (abelianExponent n)
ProCGroups.FiniteGroupClass.abelianExponent_isomClosed

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelianExponent_isomClosed (n : ℕ) : IsomClosed (abelianExponent n)
ProCGroups.FiniteGroupClass.abelianExponent_formation

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem abelianExponent_formation (n : ℕ) : Formation (abelianExponent n)
ProCGroups.FiniteGroupClass.cyclic_isomClosed

Finite cyclic groups are closed under isomorphism.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem cyclic_isomClosed : IsomClosed cyclic
ProCGroups.FiniteGroupClass.cyclic_quotientClosed

Finite cyclic groups are closed under quotients.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem cyclic_quotientClosed : QuotientClosed cyclic
ProCGroups.FiniteGroupClass.solvable_isomClosed

Finite solvable groups are closed under isomorphism.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem solvable_isomClosed : IsomClosed solvable
ProCGroups.FiniteGroupClass.solvable_quotientClosed

Finite solvable groups are closed under quotients.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem solvable_quotientClosed : QuotientClosed solvable
ProCGroups.FiniteGroupClass.nilpotent_isomClosed

Finite nilpotent groups are closed under isomorphism.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem nilpotent_isomClosed : IsomClosed nilpotent
ProCGroups.FiniteGroupClass.nilpotent_quotientClosed

Finite nilpotent groups are closed under quotients.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem nilpotent_quotientClosed : QuotientClosed nilpotent
ProCGroups.FiniteGroupClass.cyclic_to_nilpotent

Every finite cyclic group is finite nilpotent.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem cyclic_to_nilpotent {G : Type u} [Group G] :
    cyclic G → nilpotent G
ProCGroups.FiniteGroupClass.cyclic_to_solvable

Every finite cyclic group belongs to the finite solvable class.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem cyclic_to_solvable {G : Type u} [Group G] :
    cyclic G → solvable G
ProCGroups.FiniteGroupClass.pGroup_to_nilpotent

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem pGroup_to_nilpotent {p : ℕ} [Fact (Nat.Prime p)] {G : Type u} [Group G] :
    pGroup p G → nilpotent G
ProCGroups.FiniteGroupClass.pGroup_to_solvable

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

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ProCGroups
universe u v
namespace FiniteGroupClass
theorem pGroup_to_solvable {p : ℕ} [Fact (Nat.Prime p)] {G : Type u} [Group G] :
    pGroup p G → solvable G