Module

CanonicalData.lean

Nyll.ProCGroups.FreeProC.CanonicalData
4 declarations indexed from sourceView source ↗

Pro C Groups / Free pro-C / Canonical Data

This module supplies canonical basis maps and proves the rank-one free pro-\(p\) description of the pro-\(p\) integers.

Declarations

ProCGroups.FreeProC.familyConvergesToOneAlongOpenSubgroups_rankOneBasisMap

The rank-one basis map converges to the identity in the one-point compactification basis space.

Source context 4 commands

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

open Set
open scoped Topology
namespace ProCGroups.FreeProC
universe u
theorem familyConvergesToOneAlongOpenSubgroups_rankOneBasisMap
    {G : Type u} [Group G] [TopologicalSpace G] (g : G) :
    FamilyConvergesToOneAlongOpenSubgroups (G := G) (Function.const PUnit g)
ProCGroups.FreeProC.topologicallyGenerates_rankOneBasisMap

The rank-one basis map topologically generates the target cyclic pro-\(C\) group.

Source context 4 commands

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

open Set
open scoped Topology
namespace ProCGroups.FreeProC
universe u
theorem topologicallyGenerates_rankOneBasisMap
    {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G] {g : G}
    (hg : Generation.TopologicallyGenerates (G := G) ({g} : Set G)) :
    Generation.TopologicallyGenerates (G := G) (Set.range (Function.const PUnit g))
ProCGroups.FreeProC.profiniteInteger_rankOneGeneratingData

The ordinary profinite integers, with their canonical generator, give the expected rank-one profinite generating datum.

Source context 4 commands

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

open Set
open scoped Topology
namespace ProCGroups.FreeProC
universe u
theorem profiniteInteger_rankOneGeneratingData :
    ∃ ι : PUnit →
        Multiplicative
          (Completion.ProCIntegerLimitCarrier
            (ProCGroups.FiniteGroupClass.allFinite : ProCGroups.FiniteGroupClass.{0})),
      ProCGroups.ProC.HasOpenNormalBasisInClass
        (ProCGroups.FiniteGroupClass.allFinite : ProCGroups.FiniteGroupClass.{0})
        (Multiplicative
          (Completion.ProCIntegerLimitCarrier
            (ProCGroups.FiniteGroupClass.allFinite : ProCGroups.FiniteGroupClass.{0}))) ∧
        FamilyConvergesToOneAlongOpenSubgroups (G :=
          Multiplicative
            (Completion.ProCIntegerLimitCarrier
              (ProCGroups.FiniteGroupClass.allFinite : ProCGroups.FiniteGroupClass.{0}))) ι ∧
        Generation.TopologicallyGenerates (G :=
          Multiplicative
            (Completion.ProCIntegerLimitCarrier
              (ProCGroups.FiniteGroupClass.allFinite : ProCGroups.FiniteGroupClass.{0})))
          (Set.range ι)
ProCGroups.FreeProC.proPInteger_rankOneGeneratingData

The pro-\(p\) integers, with their canonical generator, give the expected rank-one pro-\(p\) generating datum.

Source context 4 commands

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

open Set
open scoped Topology
namespace ProCGroups.FreeProC
universe u
theorem proPInteger_rankOneGeneratingData (p : ℕ) [Fact (Nat.Prime p)] :
    ∃ ι : PUnit →
        Multiplicative
          (Completion.ProCIntegerLimitCarrier
            (ProCGroups.FiniteGroupClass.pGroup p : ProCGroups.FiniteGroupClass.{0})),
      ProCGroups.ProC.HasPGroupOpenNormalBasis p
        (Multiplicative
          (Completion.ProCIntegerLimitCarrier
            (ProCGroups.FiniteGroupClass.pGroup p : ProCGroups.FiniteGroupClass.{0}))) ∧
        FamilyConvergesToOneAlongOpenSubgroups (G :=
          Multiplicative
            (Completion.ProCIntegerLimitCarrier
              (ProCGroups.FiniteGroupClass.pGroup p : ProCGroups.FiniteGroupClass.{0}))) ι ∧
        Generation.TopologicallyGenerates (G :=
          Multiplicative
            (Completion.ProCIntegerLimitCarrier
              (ProCGroups.FiniteGroupClass.pGroup p : ProCGroups.FiniteGroupClass.{0})))
          (Set.range ι)