Module

Basic.lean

Nyll.ProCGroups.ProC.Category.Basic
7 declarations indexed from sourceView source ↗

The category of pro-\(C\) groups

ProCGrp C is the full subcategory of Mathlib's ProfiniteGrp cut out by HasOpenNormalBasisInClass C. Thus the ambient object supplies the group, topological-group, compact, Hausdorff, and totally disconnected structures; the class-restricted open-normal basis is the only additional property.

Declarations

ProCGroups.proCObjectProperty

The canonical object property underlying the category of pro-C groups.

Source context 2 commands

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

open CategoryTheory Topology
universe u
def ProCGroups.proCObjectProperty (C : ProCGroups.FiniteGroupClass.{u}) :
    ObjectProperty ProfiniteGrp.{u}

Pro-\(C\) groups: profinite groups with an open-normal quotient basis in \(C\).

Source context 2 commands

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

open CategoryTheory Topology
universe u
abbrev ProCGrp (C : ProCGroups.FiniteGroupClass.{u})

A canonical pro-C object has exactly the carrier of its ambient ProfiniteGrp object.

This is the only carrier coercion installed here. All algebraic and topological instances then come definitionally from G.obj; redeclaring them on ProCGrp would create competing instance paths with the ambient full-subcategory concrete structure.

Source context 4 commands

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

open CategoryTheory Topology
universe u
namespace ProCGrp
variable {C : ProCGroups.FiniteGroupClass.{u}}
instance : CoeSort (ProCGrp C) (Type u) where
  coe G := G.obj
ProCGrp.of

Construct a bundled pro-\(C\) group from a ProfiniteGrp and its open-normal basis property.

Source context 4 commands

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

open CategoryTheory Topology
universe u
namespace ProCGrp
variable {C : ProCGroups.FiniteGroupClass.{u}}
def of (C : ProCGroups.FiniteGroupClass.{u})
    (G : ProfiniteGrp.{u})
    (hBasis : ProCGroups.ProC.HasOpenNormalBasisInClass C G) : ProCGrp C
ProCGrp.continuousHom

The continuous homomorphism carried by a full-subcategory morphism.

Source context 4 commands

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

open CategoryTheory Topology
universe u
namespace ProCGrp
variable {C : ProCGroups.FiniteGroupClass.{u}}
abbrev continuousHom {A B : ProCGrp C} (f : A ⟶ B) : A →ₜ* B
ProCGrp.hom_ext

Morphisms in ProCGrp are equal when their underlying continuous homomorphisms are equal.

Source context 4 commands

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

open CategoryTheory Topology
universe u
namespace ProCGrp
variable {C : ProCGroups.FiniteGroupClass.{u}}
theorem hom_ext {A B : ProCGrp C} {f g : A ⟶ B}
    (hf : continuousHom f = continuousHom g) :
    f = g
ProCGrp.allFinite_property

On profinite groups the all-finite object property imposes no additional condition.

Source context 4 commands

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

open CategoryTheory Topology
universe u
namespace ProCGrp
variable {C : ProCGroups.FiniteGroupClass.{u}}
theorem allFinite_property (G : ProfiniteGrp.{u}) :
    ProCGroups.proCObjectProperty ProCGroups.FiniteGroupClass.allFinite G