ProCGroups.Duality.profiniteBidualEquiv
Published library source ↗Same source in NYLL ↗
def profiniteBidualEquiv : G ≃ₜ* PontryaginDual (PontryaginDual G)In-scope Lean context
noncomputable section
open ProCGroups.ProC
namespace ProCGroups.Duality
universe u
variable {G : Type u} [CommGroup G] [TopologicalSpace G]
[IsTopologicalGroup G] [CompactSpace G] [TotallyDisconnectedSpace G]Full declaration and proof
/-- A profinite abelian group is canonically isomorphic, with its actual topology,
to its Pontryagin double dual. This retains all torsion. -/
def profiniteBidualEquiv : G ≃ₜ* PontryaginDual (PontryaginDual G) := by
let e : G ≃* PontryaginDual (PontryaginDual G) :=
MulEquiv.ofBijective (bidualEvaluation G).toMonoidHom
⟨profinite_bidualEvaluation_injective, profinite_bidualEvaluation_surjective⟩
exact
{ toMulEquiv := e
continuous_toFun := (bidualEvaluation G).continuous
continuous_invFun := (Continuous.homeoOfEquivCompactToT2 (f := e.toEquiv)
(bidualEvaluation G).continuous).continuous_invFun }Source credits and license
Copyright (c) 2026 Naganori Yamaguchi (https://github.com/n-yamaguchi-0729). All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Naganori Yamaguchi (assisted by OpenAI Codex)