Module

AbstractProfiniteCompletionComparison.lean

Nyll.ClassFieldTheory.LocalClassFieldTheory.Infinite.AbstractProfiniteCompletionComparison
26 declarations indexed from sourceView source ↗

Comparison with the abstract profinite completion

The abstract profinite completion of a group is the completion formed from all finite-index normal subgroups, without reference to a topology. We realize it by applying the open-quotient construction to a discrete copy of the group.

When every finite-index normal subgroup is open in the given topology, the open-quotient completion and the abstract completion are canonically isomorphic as topological groups.

Declarations

LocalClassFieldTheory.AbstractProfiniteSource

A copy of a group equipped with the discrete topology.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
structure AbstractProfiniteSource (G : Type u) where
  /-- The underlying group element. -/
  val : G
LocalClassFieldTheory.AbstractProfiniteSource.equiv

The tautological equivalence between the discrete copy and the underlying type.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
namespace AbstractProfiniteSource
variable (G : Type u)
def equiv : AbstractProfiniteSource G ≃ G where
  toFun := val
  invFun := mk
  left_inv _ := rfl
  right_inv _ := rfl

The discrete source copy inherits the group structure of G.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
namespace AbstractProfiniteSource
variable (G : Type u)
instance [Group G] : Group (AbstractProfiniteSource G)

The abstract profinite source carries the discrete topology.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
namespace AbstractProfiniteSource
variable (G : Type u)
instance : TopologicalSpace (AbstractProfiniteSource G)

The topology on the abstract profinite source is discrete.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
namespace AbstractProfiniteSource
variable (G : Type u)
instance : DiscreteTopology (AbstractProfiniteSource G)

The discrete source copy of a group is a topological group.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
namespace AbstractProfiniteSource
variable (G : Type u)
instance [Group G] : IsTopologicalGroup (AbstractProfiniteSource G)
LocalClassFieldTheory.AbstractProfiniteSource.mulEquiv

The tautological multiplicative equivalence from the discrete copy.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
namespace AbstractProfiniteSource
variable (G : Type u)
def mulEquiv [Group G] : AbstractProfiniteSource G ≃* G where
  toEquiv := equiv G
  map_mul' _ _ := rfl
LocalClassFieldTheory.AbstractProfiniteCompletion

The abstract profinite completion formed from all finite-index normal subgroups. This is a stable, non-abbrev public object; its inverse-limit realization is available through abstractProfiniteCompletionEquivModel.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
def AbstractProfiniteCompletion
    (G : Type u) [Group G] : ProfiniteGrp
LocalClassFieldTheory.abstractProfiniteCompletionEquivModel

Canonical comparison with the concrete open-finite-quotient model used to construct the abstract profinite completion.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
def abstractProfiniteCompletionEquivModel
    (G : Type u) [Group G] :
    AbstractProfiniteCompletion G ≃ₜ*
      TopologicalProfiniteCompletion (AbstractProfiniteSource G)
LocalClassFieldTheory.abstractProfiniteCompletionClass

The canonical dense class map from the discrete source into the stable abstract completion.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
def abstractProfiniteCompletionClass
    (G : Type u) [Group G] :
    AbstractProfiniteSource G →ₜ* AbstractProfiniteCompletion G
LocalClassFieldTheory.abstractProfiniteCompletionEquivModel_class

The model equivalence sends an abstract completion class to the canonical topological class.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
theorem abstractProfiniteCompletionEquivModel_class
    (G : Type u) [Group G] (g : AbstractProfiniteSource G) :
    abstractProfiniteCompletionEquivModel G
        (abstractProfiniteCompletionClass G g) =
      topologicalProfiniteCompletionMap (AbstractProfiniteSource G) g
LocalClassFieldTheory.abstractProfiniteCompletionClass_denseRange

The canonical class map has dense range. Clients can use this theorem without knowing which inverse-limit model realizes the abstract completion.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
theorem abstractProfiniteCompletionClass_denseRange
    (G : Type u) [Group G] :
    DenseRange (abstractProfiniteCompletionClass G)
LocalClassFieldTheory.abstractProfiniteCompletionLift

Extend a continuous homomorphism from the discrete source across the stable abstract profinite completion. This is the representation-independent universal-property entry point for AbstractProfiniteCompletion.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
def abstractProfiniteCompletionLift
    (G : Type u) [Group G]
    (P : ProfiniteGrp.{v})
    (f : AbstractProfiniteSource G →ₜ* P) :
    AbstractProfiniteCompletion G →ₜ* P
LocalClassFieldTheory.abstractProfiniteCompletionLift_class

The universal lift agrees with the original map on abstract completion classes.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
theorem abstractProfiniteCompletionLift_class
    (G : Type u) [Group G]
    (P : ProfiniteGrp.{v})
    (f : AbstractProfiniteSource G →ₜ* P)
    (g : AbstractProfiniteSource G) :
    abstractProfiniteCompletionLift G P f
        (abstractProfiniteCompletionClass G g) = f g
LocalClassFieldTheory.abstractProfiniteCompletionLift_comp_class

Composing the universal lift with the class map recovers the source homomorphism.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
theorem abstractProfiniteCompletionLift_comp_class
    (G : Type u) [Group G]
    (P : ProfiniteGrp.{v})
    (f : AbstractProfiniteSource G →ₜ* P) :
    (abstractProfiniteCompletionLift G P f).comp
        (abstractProfiniteCompletionClass G) = f
LocalClassFieldTheory.abstractProfiniteCompletionLift_unique

A continuous homomorphism out of the stable abstract completion is determined by its values on the canonical dense class map.

Source context 4 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
theorem abstractProfiniteCompletionLift_unique
    (G : Type u) [Group G]
    (P : ProfiniteGrp.{v})
    (f : AbstractProfiniteSource G →ₜ* P)
    (h : AbstractProfiniteCompletion G →ₜ* P)
    (hh : h.comp (abstractProfiniteCompletionClass G) = f) :
    h = abstractProfiniteCompletionLift G P f
LocalClassFieldTheory.abstractProfiniteCompletionModelMapMonoidHom

The model-valued completion map used internally to establish continuity.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
def abstractProfiniteCompletionModelMapMonoidHom :
    G →* TopologicalProfiniteCompletion (AbstractProfiniteSource G)
LocalClassFieldTheory.abstractProfiniteCompletionMapMonoidHom

The abstract completion map, viewed as a homomorphism from the original group.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
def abstractProfiniteCompletionMapMonoidHom : G →* AbstractProfiniteCompletion G
LocalClassFieldTheory.abstractProfiniteCompletionMapMonoidHom_apply

The completion map sends g to the class of its discrete source copy.

Source context 7 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
omit [TopologicalSpace G] [IsTopologicalGroup G] in
theorem abstractProfiniteCompletionMapMonoidHom_apply (g : G) :
    abstractProfiniteCompletionMapMonoidHom G g =
      abstractProfiniteCompletionClass G
        ((AbstractProfiniteSource.mulEquiv G).symm g)
LocalClassFieldTheory.abstractProfiniteCompletionModelMapMonoidHom_continuous

If every finite-index normal subgroup is open, the abstract completion map is continuous for the original topology.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
theorem abstractProfiniteCompletionModelMapMonoidHom_continuous
    (hOpen : ∀ H : Subgroup G, H.Normal → H.FiniteIndex → IsOpen (H : Set G)) :
    Continuous (abstractProfiniteCompletionModelMapMonoidHom G)
LocalClassFieldTheory.abstractProfiniteCompletionMapMonoidHom_continuous

If every finite-index normal subgroup is open, the abstract completion map is continuous for the original topology.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
theorem abstractProfiniteCompletionMapMonoidHom_continuous
    (hOpen : ∀ H : Subgroup G, H.Normal → H.FiniteIndex → IsOpen (H : Set G)) :
    Continuous (abstractProfiniteCompletionMapMonoidHom G)
LocalClassFieldTheory.topologicalProfiniteCompletionToAbstract

The canonical continuous map from the topological completion to the abstract completion.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
def topologicalProfiniteCompletionToAbstract
    (hOpen : ∀ H : Subgroup G, H.Normal → H.FiniteIndex → IsOpen (H : Set G)) :
    TopologicalProfiniteCompletion G →ₜ* AbstractProfiniteCompletion G
LocalClassFieldTheory.topologicalProfiniteCompletionToAbstract_map

The comparison map agrees with the abstract completion map on the source group.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
theorem topologicalProfiniteCompletionToAbstract_map
    (hOpen : ∀ H : Subgroup G, H.Normal → H.FiniteIndex → IsOpen (H : Set G))
    (g : G) :
    topologicalProfiniteCompletionToAbstract G hOpen
        (topologicalProfiniteCompletionMap G g) =
      abstractProfiniteCompletionClass G
        ((AbstractProfiniteSource.mulEquiv G).symm g)
LocalClassFieldTheory.abstractProfiniteCompletionToTopological

The canonical continuous map from the abstract completion to the topological completion.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
def abstractProfiniteCompletionToTopological :
    AbstractProfiniteCompletion G →ₜ* TopologicalProfiniteCompletion G
LocalClassFieldTheory.abstractProfiniteCompletionToTopological_map

The reverse comparison map agrees with the topological completion map on the discrete source.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
theorem abstractProfiniteCompletionToTopological_map
    (g : AbstractProfiniteSource G) :
    abstractProfiniteCompletionToTopological G
        (abstractProfiniteCompletionClass G g) =
      topologicalProfiniteCompletionMap G (AbstractProfiniteSource.mulEquiv G g)
LocalClassFieldTheory.topologicalProfiniteCompletion_compare_abstract

Under the condition that all finite-index normal subgroups are open, the open-quotient completion is canonically the abstract profinite completion.

Source context 6 commands

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

noncomputable section
open scoped Pointwise
namespace LocalClassFieldTheory
universe u v
section Comparison
variable (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
def topologicalProfiniteCompletion_compare_abstract
    (hOpen : ∀ H : Subgroup G, H.Normal → H.FiniteIndex → IsOpen (H : Set G)) :
    TopologicalProfiniteCompletion G ≃ₜ* AbstractProfiniteCompletion G