Module

TopologicalAbelianization.lean

Nyll.ProCGroups.Abelian.TopologicalAbelianization
24 declarations indexed from sourceView source ↗

Topological abelianization

This module develops the canonical quotient by the closed commutator subgroup, its universal property for continuous maps to Hausdorff commutative groups, and the induced quotient topology.

Imports2
Imported by37

Declarations

ProCGroups.Abelian.TopologicalAbelianization.mkₜ

The natural continuous quotient map to the topological abelianization.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
def mkₜ
    (G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G] :
    G →ₜ* TopologicalAbelianization G
abbrev

mk

L33 ↗
ProCGroups.Abelian.TopologicalAbelianization.mk

The natural quotient homomorphism to the topological abelianization.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
abbrev mk
    (G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G] :
    G →* TopologicalAbelianization G
ProCGroups.Abelian.TopologicalAbelianization.ker_mk

The kernel of the topological abelianization map is the closed commutator subgroup.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem ker_mk
    (G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G] :
    (mk G).ker =
      Subgroup.closedCommutator G
ProCGroups.Abelian.TopologicalAbelianization.mk_eq_one_iff

A representative maps to \(1\) in the topological abelianization exactly when it lies in the closed commutator subgroup.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem mk_eq_one_iff
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {x : G} :
    mk G x = 1 ↔
      x ∈ Subgroup.closedCommutator G
ProCGroups.Abelian.TopologicalAbelianization.closedCommutator_eq_bot_of_commGroup_t1

In a commutative \(T_1\) topological group, the closed commutator subgroup is trivial.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem closedCommutator_eq_bot_of_commGroup_t1
    (G : Type u) [TopologicalSpace G] [CommGroup G] [IsTopologicalGroup G] [T1Space G] :
    Subgroup.closedCommutator G = ⊥
ProCGroups.Abelian.TopologicalAbelianization.surjective_mk

The canonical map to the topological abelianization is surjective.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem surjective_mk
    (G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G] :
    Function.Surjective (mk G)
ProCGroups.Abelian.TopologicalAbelianization.instT2SpaceTopologicalAbelianization

The topological abelianization is Hausdorff because it is a quotient by the closed commutator subgroup.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
instance instT2SpaceTopologicalAbelianization
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G] :
    T2Space (TopologicalAbelianization G)
ProCGroups.Abelian.TopologicalAbelianization.lift

A continuous homomorphism to a commutative \(T_1\) topological group factors through the topological abelianization.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
def lift
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {A : Type v} [TopologicalSpace A] [CommGroup A] [T1Space A]
    (f : G →ₜ* A) :
    TopologicalAbelianization G →ₜ* A
ProCGroups.Abelian.TopologicalAbelianization.lift_apply_mk

The lift from the topological abelianization evaluates on a quotient class by applying the original homomorphism.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem lift_apply_mk
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {A : Type v} [TopologicalSpace A] [CommGroup A] [T1Space A]
    (f : G →ₜ* A) (x : G) :
    lift f (mk G x) = f x
ProCGroups.Abelian.TopologicalAbelianization.hom_ext

Continuous homomorphisms out of the topological abelianization are equal when they agree after the quotient map.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem hom_ext
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {A : Type v} [TopologicalSpace A] [Group A]
    (φ ψ : TopologicalAbelianization G →ₜ* A)
    (h : ∀ x : G, φ (mk G x) = ψ (mk G x)) :
    φ = ψ
ProCGroups.Abelian.TopologicalAbelianization.lift_unique

The lift from the topological abelianization is uniquely determined by its composition with the quotient map.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem lift_unique
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {A : Type v} [TopologicalSpace A] [CommGroup A] [T1Space A]
    (f : G →ₜ* A)
    (φ : TopologicalAbelianization G →ₜ* A)
    (hφ : ∀ x : G, φ (mk G x) = f x) :
    φ = lift f
ProCGroups.Abelian.TopologicalAbelianization.homEquiv

The universal property of topological abelianization as a Hom equivalence for commutative \(T_1\) targets.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
def homEquiv
    (G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    (A : Type v) [TopologicalSpace A] [CommGroup A] [T1Space A] :
    (TopologicalAbelianization G →ₜ* A) ≃ (G →ₜ* A) where
  toFun φ := φ.comp (mkₜ G)
  invFun f := lift f
  left_inv φ := by
    apply hom_ext
    intro x
    rfl
  right_inv f := by
    ext x
    rfl
ProCGroups.Abelian.TopologicalAbelianization.homEquiv_apply

The Hom-equivalence is evaluated by composing a map out of the topological abelianization with the quotient map from the original group.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem homEquiv_apply
    (G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    (A : Type v) [TopologicalSpace A] [CommGroup A] [T1Space A]
    (φ : TopologicalAbelianization G →ₜ* A) :
    homEquiv G A φ = φ.comp (mkₜ G)
ProCGroups.Abelian.TopologicalAbelianization.homEquiv_symm_apply_mk

The inverse Hom equivalence evaluates on the abelianization class of \(x\) as the original continuous homomorphism evaluated at \(x\).

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem homEquiv_symm_apply_mk
    (G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    (A : Type v) [TopologicalSpace A] [CommGroup A] [T1Space A]
    (f : G →ₜ* A) (x : G) :
    (homEquiv G A).symm f (mk G x) = f x
ProCGroups.Abelian.TopologicalAbelianization.map

A continuous homomorphism induces a continuous homomorphism on topological abelianizations.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
def map
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {H : Type v} [TopologicalSpace H] [Group H] [IsTopologicalGroup H]
    (f : G →ₜ* H) :
    TopologicalAbelianization G →ₜ* TopologicalAbelianization H
ProCGroups.Abelian.TopologicalAbelianization.map_apply_mk

The induced map on topological abelianizations is evaluated on quotient representatives.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem map_apply_mk
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {H : Type v} [TopologicalSpace H] [Group H] [IsTopologicalGroup H]
    (f : G →ₜ* H) (x : G) :
    map f (mk G x) =
      mk H (f x)
ProCGroups.Abelian.TopologicalAbelianization.map_comp_mk

Composing the abelianization map with the quotient map recovers the quotient map after applying the original homomorphism.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem map_comp_mk
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {H : Type v} [TopologicalSpace H] [Group H] [IsTopologicalGroup H]
    (f : G →ₜ* H) :
    (map f).toMonoidHom.comp (mk G) =
      (mk H).comp f.toMonoidHom
ProCGroups.Abelian.TopologicalAbelianization.map_id

The map induced by the identity homomorphism is the identity on the topological abelianization.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem map_id
    (G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G] :
    map
        (ContinuousMonoidHom.id G) =
      ContinuousMonoidHom.id (TopologicalAbelianization G)
ProCGroups.Abelian.TopologicalAbelianization.map_comp

Induced maps on topological abelianizations compose functorially.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem map_comp
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {H : Type v} [TopologicalSpace H] [Group H] [IsTopologicalGroup H]
    {K : Type _} [TopologicalSpace K] [Group K] [IsTopologicalGroup K]
    (g : H →ₜ* K) (f : G →ₜ* H) :
    map (g.comp f) =
      (map g).comp (map f)
ProCGroups.Abelian.TopologicalAbelianization.congr

A topological group isomorphism induces an isomorphism on topological abelianizations.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
def congr
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {H : Type v} [TopologicalSpace H] [Group H] [IsTopologicalGroup H]
    (e : G ≃ₜ* H) :
    TopologicalAbelianization G ≃ₜ* TopologicalAbelianization H
ProCGroups.Abelian.TopologicalAbelianization.congr_apply_mk

The abelianization congruence induced by a continuous equivalence sends representatives to representatives.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem congr_apply_mk
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {H : Type v} [TopologicalSpace H] [Group H] [IsTopologicalGroup H]
    (e : G ≃ₜ* H) (x : G) :
    congr e (mk G x) =
      mk H (e x)
ProCGroups.Abelian.TopologicalAbelianization.surjective_map_of_surjective

Surjective homomorphisms induce surjective maps on topological abelianizations.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem surjective_map_of_surjective
    {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
    {H : Type v} [TopologicalSpace H] [Group H] [IsTopologicalGroup H]
    (f : G →ₜ* H) (hf : Function.Surjective f) :
    Function.Surjective (map f)
ProCGroups.Abelian.TopologicalAbelianization.injective_mk_of_commGroup

In a commutative \(T_1\) topological group, the natural map to the topological abelianization is injective.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
theorem injective_mk_of_commGroup
    {G : Type u} [TopologicalSpace G] [CommGroup G] [IsTopologicalGroup G] [T1Space G] :
    Function.Injective (mk G)
ProCGroups.Abelian.TopologicalAbelianization.continuousMulEquivOfCommGroup

The canonical continuous equivalence for commutative \(T_1\) groups.

Source context 4 commands

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

open scoped Topology commutatorElement
namespace ProCGroups.Abelian
universe u v
namespace TopologicalAbelianization
def continuousMulEquivOfCommGroup
    (G : Type u) [TopologicalSpace G] [CommGroup G] [IsTopologicalGroup G] [T1Space G] :
    _root_.TopologicalAbelianization G ≃ₜ* G