Module

TopologicalGroups.lean

Nyll.ProCGroups.TopologicalGroups
27 declarations indexed from sourceView source ↗

Pro C Groups / Topological Groups

This module formalizes basic topological-group constructions used by the pro-\(C\) library.

Declarations

structure

TopGrp

L25 ↗
ProCGroups.TopGrp

Bundled topological groups with continuous homomorphisms.

Source context 4 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
structure TopGrp where
  /-- The underlying type of the topological group. -/
  carrier : Type u
  /-- The group structure on the carrier. -/
  [group : Group carrier]
  /-- The topology on the carrier. -/
  [topologicalSpace : TopologicalSpace carrier]
  /-- Multiplication and inversion are continuous for the stored topology. -/
  [isTopologicalGroup : IsTopologicalGroup carrier]
ProCGroups.TopGrp.instCoeSort

The category object coerces to its underlying type.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
instance instCoeSort : CoeSort TopGrp (Type u) where
  coe G := G.carrier
abbrev

of

L44 ↗
ProCGroups.TopGrp.of

Bundle an unbundled topological group.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
abbrev of (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G] : TopGrp where
  carrier := G
structure

Hom

L49 ↗
ProCGroups.TopGrp.Hom

Morphisms of topological groups are continuous homomorphisms.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
structure Hom (G H : TopGrp.{u}) where
  /-- The continuous group homomorphism underlying the bundled morphism. -/
  hom' : G →ₜ* H
ProCGroups.TopGrp.instCategory

Topological groups form a category.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
instance instCategory : Category TopGrp where
  Hom G H := Hom G H
  id G := ⟨ContinuousMonoidHom.id G⟩
  comp f g := ⟨g.hom'.comp f.hom'⟩
ProCGroups.TopGrp.instConcreteCategory

The category of topological groups has the concrete category structure inherited from its underlying type.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
instance instConcreteCategory : ConcreteCategory TopGrp (fun G H => G →ₜ* H) where
  hom f := f.hom'
  ofHom f := ⟨f⟩
ProCGroups.TopGrp.Hom.hom

The underlying continuous homomorphism of a morphism.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
abbrev Hom.hom {G H : TopGrp.{u}} (f : G ⟶ H) : G →ₜ* H
ProCGroups.TopGrp.instCoeFunHom

A morphism coerces to its underlying continuous homomorphism.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
instance instCoeFunHom {G H : TopGrp.{u}} : CoeFun (G ⟶ H) (fun _ => G → H) where
  coe f := f.hom
ProCGroups.TopGrp.hom_id

The underlying homomorphism of the identity morphism is the identity continuous homomorphism.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
theorem hom_id {G : TopGrp.{u}} :
    (𝟙 G : G ⟶ G).hom = ContinuousMonoidHom.id G
ProCGroups.TopGrp.hom_comp

The underlying homomorphism of a composite is the composite of underlying homomorphisms.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
theorem hom_comp {G H K : TopGrp.{u}} (f : G ⟶ H) (g : H ⟶ K) :
    (f ≫ g).hom = g.hom.comp f.hom
ProCGroups.TopGrp.comp_apply

The composite map is computed pointwise by applying the constituent coordinate formulas in succession.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
theorem comp_apply {G H K : TopGrp.{u}} (f : G ⟶ H) (g : H ⟶ K) (x : G) :
    (f ≫ g) x = g (f x)
ProCGroups.TopGrp.hom_ext

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

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
theorem hom_ext {G H : TopGrp.{u}} {f g : G ⟶ H} (h : f.hom = g.hom) :
    f = g
ProCGroups.TopGrp.ofHom

Bundle a continuous homomorphism as a topological-group morphism.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
namespace TopGrp
abbrev ofHom {G H : Type u}
    [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
    [Group H] [TopologicalSpace H] [IsTopologicalGroup H]
    (f : G →ₜ* H) : of G ⟶ of H
ProCGroups.CommTopGrp

Bundled commutative topological groups with continuous homomorphisms.

Source context 5 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
structure CommTopGrp where
  /-- The underlying type of the commutative topological group. -/
  carrier : Type u
  /-- The commutative group structure on the carrier. -/
  [commGroup : CommGroup carrier]
  /-- The topology on the carrier. -/
  [topologicalSpace : TopologicalSpace carrier]
  /-- Multiplication and inversion are continuous for the stored topology. -/
  [isTopologicalGroup : IsTopologicalGroup carrier]
ProCGroups.CommTopGrp.instCoeSort

The category object coerces to its underlying type.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
instance instCoeSort : CoeSort CommTopGrp (Type u) where
  coe G := G.carrier
ProCGroups.CommTopGrp.of

Bundle an unbundled commutative topological group.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
abbrev of (G : Type u) [CommGroup G] [TopologicalSpace G] [IsTopologicalGroup G] :
    CommTopGrp where
  carrier := G
structure

Hom

L135 ↗
ProCGroups.CommTopGrp.Hom

Morphisms of commutative topological groups are continuous homomorphisms.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
structure Hom (G H : CommTopGrp.{u}) where
  /-- The continuous homomorphism underlying the bundled morphism. -/
  hom' : G →ₜ* H
ProCGroups.CommTopGrp.instCategory

Commutative topological groups form a category.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
instance instCategory : Category CommTopGrp where
  Hom G H := Hom G H
  id G := ⟨ContinuousMonoidHom.id G⟩
  comp f g := ⟨g.hom'.comp f.hom'⟩
ProCGroups.CommTopGrp.instConcreteCategory

The category of commutative topological groups has the concrete category structure inherited from its underlying type.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
instance instConcreteCategory : ConcreteCategory CommTopGrp (fun G H => G →ₜ* H) where
  hom f := f.hom'
  ofHom f := ⟨f⟩
ProCGroups.CommTopGrp.Hom.hom

The underlying continuous homomorphism of a morphism.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
abbrev Hom.hom {G H : CommTopGrp.{u}} (f : G ⟶ H) : G →ₜ* H
ProCGroups.CommTopGrp.instCoeFunHom

A morphism coerces to its underlying continuous homomorphism.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
instance instCoeFunHom {G H : CommTopGrp.{u}} : CoeFun (G ⟶ H) (fun _ => G → H) where
  coe f := f.hom
ProCGroups.CommTopGrp.hom_id

The underlying homomorphism of the identity morphism is the identity continuous homomorphism.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
theorem hom_id {G : CommTopGrp.{u}} :
    (𝟙 G : G ⟶ G).hom = ContinuousMonoidHom.id G
ProCGroups.CommTopGrp.hom_comp

The underlying homomorphism of a composite is the composite of underlying homomorphisms.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
theorem hom_comp {G H K : CommTopGrp.{u}} (f : G ⟶ H) (g : H ⟶ K) :
    (f ≫ g).hom = g.hom.comp f.hom
ProCGroups.CommTopGrp.comp_apply

The composite map is computed pointwise by applying the constituent coordinate formulas in succession.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
theorem comp_apply {G H K : CommTopGrp.{u}} (f : G ⟶ H) (g : H ⟶ K) (x : G) :
    (f ≫ g) x = g (f x)
ProCGroups.CommTopGrp.hom_ext

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

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
theorem hom_ext {G H : CommTopGrp.{u}} {f g : G ⟶ H} (h : f.hom = g.hom) :
    f = g
ProCGroups.CommTopGrp.ofHom

Bundle a continuous homomorphism as a commutative topological-group morphism.

Source context 7 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
namespace CommTopGrp
abbrev ofHom {G H : Type u}
    [CommGroup G] [TopologicalSpace G] [IsTopologicalGroup G]
    [CommGroup H] [TopologicalSpace H] [IsTopologicalGroup H]
    (f : G →ₜ* H) : of G ⟶ of H
ProCGroups.commTopGrpForgetToTopGrp

Forget the commutativity of a bundled commutative topological group.

Source context 6 commands

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

open CategoryTheory
open scoped Topology
universe u
namespace ProCGroups
attribute [instance] TopGrp.group TopGrp.topologicalSpace TopGrp.isTopologicalGroup
attribute [instance] CommTopGrp.commGroup CommTopGrp.topologicalSpace
  CommTopGrp.isTopologicalGroup
def commTopGrpForgetToTopGrp : CommTopGrp.{u} ⥤ TopGrp.{u} where
  obj G := TopGrp.of G
  map f := TopGrp.ofHom f.hom
  map_id G := by
    apply TopGrp.hom_ext
    rfl
  map_comp f g := by
    apply TopGrp.hom_ext
    rfl