ProCGroups.TopologicalGroups
This module formalizes basic topological-group constructions used by the pro-\(C\) library.
import
- Mathlib.CategoryTheory.ConcreteCategory.Basic
- Mathlib.Topology.Algebra.ContinuousMonoidHom
structure TopGrp where
carrier : Type uBundled topological groups with continuous homomorphisms.
instance instCoeSort : CoeSort TopGrp (Type u) where
coe G := G.carrierThe category object coerces to its underlying type.
abbrev of (G : Type u) [Group G] [TopologicalSpace G] [IsTopologicalGroup G] : TopGrp where
carrier := GBundle an unbundled topological group.
structure Hom (G H : TopGrp.{u}) where
hom' : G →ₜ* HMorphisms of topological groups are continuous homomorphisms.
instance instCategory : Category TopGrp where
Hom G H := Hom G H
id G := ⟨ContinuousMonoidHom.id G⟩
comp f g := ⟨g.hom'.comp f.hom'⟩Topological groups form a category.
instance instConcreteCategory : ConcreteCategory TopGrp (fun G H => G →ₜ* H) where
hom f := f.hom'
ofHom f := ⟨f⟩The category of topological groups has the concrete category structure inherited from its underlying type.
abbrev Hom.hom {G H : TopGrp.{u}} (f : G ⟶ H) : G →ₜ* H :=
ConcreteCategory.hom (C := TopGrp) fThe underlying continuous homomorphism of a morphism.
instance instCoeFunHom {G H : TopGrp.{u}} : CoeFun (G ⟶ H) (fun _ => G → H) where
coe f := f.homA morphism coerces to its underlying continuous homomorphism.
@[simp] theorem hom_id {G : TopGrp.{u}} :
(𝟙 G : G ⟶ G).hom = ContinuousMonoidHom.id GThe underlying homomorphism of the identity morphism is the identity continuous homomorphism.
Show proof
rflProof. Unfold the bundled topological-group or commutative topological-group structure. The underlying map is the declared continuous homomorphism, identities and composition are inherited from ordinary homomorphisms, and continuity is preserved by identity maps and composition. Extensionality reduces equality of bundled morphisms to equality of their underlying functions or continuous homomorphisms.
□@[simp] theorem hom_comp {G H K : TopGrp.{u}} (f : G ⟶ H) (g : H ⟶ K) :
(f ≫ g).hom = g.hom.comp f.homThe underlying homomorphism of a composite is the composite of underlying homomorphisms.
Show proof
rflProof. Unfold the bundled topological-group or commutative topological-group structure. The underlying map is the declared continuous homomorphism, identities and composition are inherited from ordinary homomorphisms, and continuity is preserved by identity maps and composition. Extensionality reduces equality of bundled morphisms to equality of their underlying functions or continuous homomorphisms.
□@[simp] theorem comp_apply {G H K : TopGrp.{u}} (f : G ⟶ H) (g : H ⟶ K) (x : G) :
(f ≫ g) x = g (f x)The composite map is computed pointwise by applying the constituent coordinate formulas in succession.
Show proof
rflProof. Unfold the bundled topological-group or commutative topological-group structure. The underlying map is the declared continuous homomorphism, identities and composition are inherited from ordinary homomorphisms, and continuity is preserved by identity maps and composition. Extensionality reduces equality of bundled morphisms to equality of their underlying functions or continuous homomorphisms.
□@[ext] theorem hom_ext {G H : TopGrp.{u}} {f g : G ⟶ H} (h : f.hom = g.hom) :
f = gMorphisms in TopGrp are equal when their underlying continuous homomorphisms are equal.
Show proof
Hom.ext hProof. Unfold the bundled topological-group or commutative topological-group structure. The underlying map is the declared continuous homomorphism, identities and composition are inherited from ordinary homomorphisms, and continuity is preserved by identity maps and composition. Extensionality reduces equality of bundled morphisms to equality of their underlying functions or continuous homomorphisms.
□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 :=
ConcreteCategory.ofHom fBundle a continuous homomorphism as a topological-group morphism.
structure CommTopGrp where
carrier : Type uBundled commutative topological groups with continuous homomorphisms.
instance instCoeSort : CoeSort CommTopGrp (Type u) where
coe G := G.carrierThe category object coerces to its underlying type.
abbrev of (G : Type u) [CommGroup G] [TopologicalSpace G] [IsTopologicalGroup G] :
CommTopGrp where
carrier := GBundle an unbundled commutative topological group.
structure Hom (G H : CommTopGrp.{u}) where
hom' : G →ₜ* HMorphisms of commutative topological groups are continuous homomorphisms.
instance instCategory : Category CommTopGrp where
Hom G H := Hom G H
id G := ⟨ContinuousMonoidHom.id G⟩
comp f g := ⟨g.hom'.comp f.hom'⟩Commutative topological groups form a category.
instance instConcreteCategory : ConcreteCategory CommTopGrp (fun G H => G →ₜ* H) where
hom f := f.hom'
ofHom f := ⟨f⟩The category of commutative topological groups has the concrete category structure inherited from its underlying type.
abbrev Hom.hom {G H : CommTopGrp.{u}} (f : G ⟶ H) : G →ₜ* H :=
ConcreteCategory.hom (C := CommTopGrp) fThe underlying continuous homomorphism of a morphism.
instance instCoeFunHom {G H : CommTopGrp.{u}} : CoeFun (G ⟶ H) (fun _ => G → H) where
coe f := f.homA morphism coerces to its underlying continuous homomorphism.
@[simp] theorem hom_id {G : CommTopGrp.{u}} :
(𝟙 G : G ⟶ G).hom = ContinuousMonoidHom.id GThe underlying homomorphism of the identity morphism is the identity continuous homomorphism.
Show proof
rflProof. Unfold the bundled topological-group or commutative topological-group structure. The underlying map is the declared continuous homomorphism, identities and composition are inherited from ordinary homomorphisms, and continuity is preserved by identity maps and composition. Extensionality reduces equality of bundled morphisms to equality of their underlying functions or continuous homomorphisms.
□@[simp] theorem hom_comp {G H K : CommTopGrp.{u}} (f : G ⟶ H) (g : H ⟶ K) :
(f ≫ g).hom = g.hom.comp f.homThe underlying homomorphism of a composite is the composite of underlying homomorphisms.
Show proof
rflProof. Unfold the bundled topological-group or commutative topological-group structure. The underlying map is the declared continuous homomorphism, identities and composition are inherited from ordinary homomorphisms, and continuity is preserved by identity maps and composition. Extensionality reduces equality of bundled morphisms to equality of their underlying functions or continuous homomorphisms.
□@[simp] theorem comp_apply {G H K : CommTopGrp.{u}} (f : G ⟶ H) (g : H ⟶ K) (x : G) :
(f ≫ g) x = g (f x)The composite map is computed pointwise by applying the constituent coordinate formulas in succession.
Show proof
rflProof. Unfold the bundled topological-group or commutative topological-group structure. The underlying map is the declared continuous homomorphism, identities and composition are inherited from ordinary homomorphisms, and continuity is preserved by identity maps and composition. Extensionality reduces equality of bundled morphisms to equality of their underlying functions or continuous homomorphisms.
□@[ext] theorem hom_ext {G H : CommTopGrp.{u}} {f g : G ⟶ H} (h : f.hom = g.hom) :
f = gMorphisms in CommTopGrp are equal when their underlying continuous homomorphisms are equal.
Show proof
Hom.ext hProof. Unfold the bundled topological-group or commutative topological-group structure. The underlying map is the declared continuous homomorphism, identities and composition are inherited from ordinary homomorphisms, and continuity is preserved by identity maps and composition. Extensionality reduces equality of bundled morphisms to equality of their underlying functions or continuous homomorphisms.
□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 :=
ConcreteCategory.ofHom fBundle a continuous homomorphism as a commutative topological-group morphism.
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
rflForget the commutativity of a bundled commutative topological group.