ModuleGeneratorRank.lean
Nyll.ProCGroups.ProP.GeneratorRank
10 declarations indexed from sourceView source ↗ Module documentation
Generator rank of a finitely generated pro-p group
This file packages the natural-valued topological generator rank and proves that, for a topologically finitely generated pro-p group, it equals the ZMod p dimension of the power--commutator quotient.
The quotient structures are canonical but deliberately section-local. This keeps them out of global instance search while avoiding repeated letI blocks in theorem statements and proofs.
Declarations
ClassFieldTower.ProP.topologicalGeneratorRank
DocumentationThe natural-valued topological generator rank. Its intended API is for groups whose cardinal-valued topological rank is finite.
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
local instance : (closedPowerCommutator p G).Normal :=
closedPowerCommutator_normal p G
Source context 10 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
local instance : (closedPowerCommutator p G).Normal :=
closedPowerCommutator_normal p G
local instance : IsClosed (closedPowerCommutator p G : Set G) :=
isClosed_closedPowerCommutator p G
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
local instance : (closedPowerCommutator p G).Normal :=
closedPowerCommutator_normal p G
local instance : IsClosed (closedPowerCommutator p G : Set G) :=
isClosed_closedPowerCommutator p G
local instance : IsMulCommutative (powerCommutatorQuotient p G) :=
powerCommutatorQuotient_isMulCommutative p G
ClassFieldTower.ProP.powerCommutatorQuotientRank
DocumentationThe canonical ZMod p dimension of the power--commutator quotient.
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
local instance : (closedPowerCommutator p G).Normal :=
closedPowerCommutator_normal p G
local instance : IsClosed (closedPowerCommutator p G : Set G) :=
isClosed_closedPowerCommutator p G
local instance : IsMulCommutative (powerCommutatorQuotient p G) :=
powerCommutatorQuotient_isMulCommutative p G
local instance : Module (ZMod p) (Additive (powerCommutatorQuotient p G)) :=
AddCommGroup.zmodModule (fun x => by
change (Additive.toMul x) ^ p = 1
exact powerCommutatorQuotient_pow_eq_one p G (Additive.toMul x))
ClassFieldTower.ProP.powerCommutatorQuotient_finite_of_topologicallyFinitelyGenerated
DocumentationA topologically finitely generated power--commutator quotient is finite.
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
local instance : (closedPowerCommutator p G).Normal :=
closedPowerCommutator_normal p G
local instance : IsClosed (closedPowerCommutator p G : Set G) :=
isClosed_closedPowerCommutator p G
local instance : IsMulCommutative (powerCommutatorQuotient p G) :=
powerCommutatorQuotient_isMulCommutative p G
local instance : Module (ZMod p) (Additive (powerCommutatorQuotient p G)) :=
AddCommGroup.zmodModule (fun x => by
change (Additive.toMul x) ^ p = 1
exact powerCommutatorQuotient_pow_eq_one p G (Additive.toMul x))
omit [CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] in
ClassFieldTower.ProP.topologicallyGeneratedByAtMost_iff_powerCommutatorQuotientRank_le
DocumentationBounded generation of a finitely generated pro-p group is equivalent to the dimension bound on its power--commutator quotient.
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
local instance : (closedPowerCommutator p G).Normal :=
closedPowerCommutator_normal p G
local instance : IsClosed (closedPowerCommutator p G : Set G) :=
isClosed_closedPowerCommutator p G
local instance : IsMulCommutative (powerCommutatorQuotient p G) :=
powerCommutatorQuotient_isMulCommutative p G
local instance : Module (ZMod p) (Additive (powerCommutatorQuotient p G)) :=
AddCommGroup.zmodModule (fun x => by
change (Additive.toMul x) ^ p = 1
exact powerCommutatorQuotient_pow_eq_one p G (Additive.toMul x))
ClassFieldTower.ProP.topologicalGeneratorRank_eq_powerCommutatorQuotientRank
DocumentationFor a finitely generated pro-p group, generator rank is the canonical dimension of the power--commutator quotient.
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
local instance : (closedPowerCommutator p G).Normal :=
closedPowerCommutator_normal p G
local instance : IsClosed (closedPowerCommutator p G : Set G) :=
isClosed_closedPowerCommutator p G
local instance : IsMulCommutative (powerCommutatorQuotient p G) :=
powerCommutatorQuotient_isMulCommutative p G
local instance : Module (ZMod p) (Additive (powerCommutatorQuotient p G)) :=
AddCommGroup.zmodModule (fun x => by
change (Additive.toMul x) ^ p = 1
exact powerCommutatorQuotient_pow_eq_one p G (Additive.toMul x))
ClassFieldTower.ProP.topologicalGeneratorRank_eq_powerCommutatorQuotient_finrank
DocumentationThe generator-rank formula written directly as a ZMod p finrank equality.
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open Set
open scoped IsMulCommutative
namespace ClassFieldTower.ProP
universe u
open ProCGroups.Generation
open ProCGroups.FiniteGeneration
section PowerCommutatorRank
variable {p : ℕ} {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [T2Space G] [TotallyDisconnectedSpace G] [Fact (Nat.Prime p)]
local instance : (closedPowerCommutator p G).Normal :=
closedPowerCommutator_normal p G
local instance : IsClosed (closedPowerCommutator p G : Set G) :=
isClosed_closedPowerCommutator p G
local instance : IsMulCommutative (powerCommutatorQuotient p G) :=
powerCommutatorQuotient_isMulCommutative p G
local instance : Module (ZMod p) (Additive (powerCommutatorQuotient p G)) :=
AddCommGroup.zmodModule (fun x => by
change (Additive.toMul x) ^ p = 1
exact powerCommutatorQuotient_pow_eq_one p G (Additive.toMul x))