ReidemeisterSchreier.Profinite.OpenSubgroups.RankBound

5 Theorem | 1 Definition

This module develops the rewriting and basis constructions behind the subgroup calculations. It tracks words and relations through the chosen transversal to obtain the required presentation or basis statements.

import
Imported by

Declarations

noncomputable def schreierRankTransformCardinal (κ : Cardinal) (n : ℕ) : Cardinal :=
  if _ : κ < Cardinal.aleph0 then
    (_root_.ReidemeisterSchreier.Schreier.rankTransform κ.toNat n : Cardinal)
  else κ

Cardinal form of the Schreier rank transform for an open subgroup of finite index \(n\). For finite rank this is the usual Schreier transform \(1+n(d-1)\). For infinite cardinals the finite-index transform stabilizes at the original cardinal.

@[simp] theorem schreierRankTransformCardinal_natCast (d n : ℕ) :
    schreierRankTransformCardinal (d : Cardinal) n =
      (_root_.ReidemeisterSchreier.Schreier.rankTransform d n : Cardinal)

The Reidemeister--Schreier identity follows from the corresponding rewriting calculation.

Show proof
theorem schreierRankTransformCardinal_eq_self_of_aleph0_le
    {κ : Cardinal} (hκ : Cardinal.aleph0 ≤ κ) (n : ℕ) :
    schreierRankTransformCardinal κ n = κ

The Reidemeister--Schreier identity follows from the corresponding rewriting calculation.

Show proof
@[simp 900] theorem schreierRankTransformCardinal_mk_finite (X : Type u) [Finite X] (n : ℕ) :
    schreierRankTransformCardinal (Cardinal.mk X) n =
      (_root_.ReidemeisterSchreier.Schreier.rankTransform (Nat.card X) n : Cardinal)

For a finite input cardinal, the Schreier rank-transform cardinal is the corresponding finite Schreier value.

Show proof
@[simp 900] theorem schreierRankTransformCardinal_mk_infinite (X : Type u) [Infinite X] (n : ℕ) :
    schreierRankTransformCardinal (Cardinal.mk X) n = Cardinal.mk X

For an infinite input cardinal, the finite-index Schreier rank transform is the same infinite cardinal.

Show proof
theorem topologicalRank_openSubgroup_le_rankTransform_of_topologicalRank_eq_nat
    {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
    (hG : IsProfiniteGroup G) {d : ℕ} (hd : Generation.topologicalRank G = d)
    (U : OpenSubgroup G) :
    Generation.topologicalRank ↥(U : Subgroup G) ≤
      (_root_.ReidemeisterSchreier.Schreier.rankTransform d (Nat.card (G ⧸ (U : Subgroup G))) : Cardinal)

An open subgroup of a finitely generated profinite group satisfies the usual Schreier bound on the minimal number of topological generators.

Show proof