theorem isAbelian (hG : IsProabelianGroup G) : ∀ a b : G, a * b = b * aEvery pro-abelian group is abelian.
Show proof
by
letI : CompactSpace G := IsProCGroup.compactSpace hG
letI : T2Space G := IsProCGroup.t2Space hG
letI : TotallyDisconnectedSpace G := IsProCGroup.totallyDisconnectedSpace hG
intro a b
have hcomm_mem : ∀ U : OpenNormalSubgroup G, a * b * a⁻¹ * b⁻¹ ∈ (U : Subgroup G) := by
intro U
have hab :
QuotientGroup.mk' (U : Subgroup G) a * QuotientGroup.mk' (U : Subgroup G) b =
QuotientGroup.mk' (U : Subgroup G) b * QuotientGroup.mk' (U : Subgroup G) a :=
(hG.quotient_mem FiniteGroupClass.abelian_formation U).2 _ _
refine (QuotientGroup.eq_one_iff (N := (U : Subgroup G)) _).1 ?_
have h :=
congrArg (fun z : G ⧸ (U : Subgroup G) =>
z * ((QuotientGroup.mk' (U : Subgroup G) a)⁻¹ *
(QuotientGroup.mk' (U : Subgroup G) b)⁻¹)) hab
simpa [map_mul, mul_assoc] using h
have hcomm_one : a * b * a⁻¹ * b⁻¹ = 1 := by
apply IsProfiniteGroup.eq_one_of_mem_all_openNormalSubgroups (G := G)
intro U
exact hcomm_mem U
have h1 : a * b * a⁻¹ = b := by
have h := congrArg (fun x : G => x * b) hcomm_one
simpa [mul_assoc] using h
have h2 : a * b = b * a := by
have h := congrArg (fun x : G => x * a) h1
simpa [mul_assoc] using h
exact h2Proof. Work with open normal subgroups and finite quotients of the profinite or pro-\(C\) group. Finite quotients separate points, and continuous homomorphisms are determined by their compatible quotient-level maps. For pro-\(C\) claims, the resulting finite quotients lie in \(C\) by the closure property used in the construction: closure under quotients, subgroups, finite products, or extensions. Compatibility under refinement then assembles the finite-quotient data and proves the required profinite or pro-\(C\) statement. The quotient-level assertions are stable under passing to smaller open normal subgroups, so they define compatible data in the inverse system of finite quotients. For pro-\(C\) permanence, the construction uses only operations for which the chosen finite group class is closed. Hence the finite verification assembles to the desired profinite map, subgroup, or quotient statement. For categorical constructions such as products, pullbacks, and inverse limits, the universal property is checked by composing with the coordinate projections. The uniqueness part follows because any two candidate maps with the same finite quotient composites have the same value on every separating finite quotient. Existence is obtained by assembling the compatible coordinate maps supplied by the finite quotient construction. For quotient and subgroup claims, representatives are chosen in the ambient group and the induced map is checked to send the class of an element to the class of its image. Normality, openness, and membership in the finite quotient class are preserved by the subgroup, quotient, intersection, or inverse-image closure property being invoked. Functoriality and naturality are proved by comparing the two composites after projection to an arbitrary target stage. The source stage is the pullback or refined quotient required by the construction, and both composites are induced by the same quotient homomorphism together with the same coefficient map; hence the coordinate maps agree and so do the completed maps.
□