ProCGroups.CompletedGroupAlgebra.Basic.AllFinite.Stage
This module defines the finite group-algebra stages \(R[G/U]\), coefficient-change maps, quotient-transition ring homomorphisms, their compatibility laws, and the topological inverse system used by the all-finite completion.
abbrev CompletedGroupAlgebraStage (R : Type u) (G : Type v) [CommRing R] [Group G]
[TopologicalSpace G] [IsTopologicalGroup G] (U : CompletedGroupAlgebraIndex G) :
Type (max u v) :=
MonoidAlgebra R (CompletedGroupAlgebraQuotient G U)The finite-stage group algebra \(R[G/U]\) from Ribes--Zalesskii, Section 5.3.
def completedGroupAlgebraStageCoeffMap
(S : Type w) [CommRing S] (f : R →+* S) (U : CompletedGroupAlgebraIndex G) :
CompletedGroupAlgebraStage R G U →+* CompletedGroupAlgebraStage S G U :=
MonoidAlgebra.mapRingHom (CompletedGroupAlgebraQuotient G U) fFor a homomorphism \(f:R\to S\), coefficient change at a fixed finite stage sends \(R[G/U]\) to \(S[G/U]\) by applying \(f\) to each coefficient and leaving the quotient support unchanged.
@[simp]
theorem completedGroupAlgebraStageCoeffMap_single
(S : Type w) [CommRing S] (f : R →+* S) (U : CompletedGroupAlgebraIndex G)
(q : CompletedGroupAlgebraQuotient G U) (r : R) :
completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f U
(MonoidAlgebra.single q r) =
MonoidAlgebra.single q (f r)The coefficient-change map on a finite stage sends the singleton basis function supported at \(q\) with coefficient \(r\) to the singleton supported at the same \(q\) with coefficient \(f(r)\).
Show Lean proof
by
exact MonoidAlgebra.mapRingHom_single f q r
@[simp]
theorem completedGroupAlgebraStageCoeffMap_comp
(S : Type w) (T : Type*) [CommRing S] [CommRing T]
(f : R →+* S) (g : S →+* T) (U : CompletedGroupAlgebraIndex G) :
(completedGroupAlgebraStageCoeffMap (R := S) (G := G) T g U).comp
(completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f U) =
completedGroupAlgebraStageCoeffMap (R := R) (G := G) T (g.comp f) UAt an all-finite stage \(U\), changing coefficients first along \(f\) and then along \(g\) equals changing coefficients along \(g\circ f\).
Show Lean proof
by
exact (MonoidAlgebra.mapRingHom_comp
(M := CompletedGroupAlgebraQuotient G U) g f).symm
theorem finite_completedGroupAlgebraStage [Finite R] (U : CompletedGroupAlgebraIndex G) :
Finite (CompletedGroupAlgebraStage R G U)A finite coefficient ring gives finite all-finite completed-group-algebra stages.
Show Lean proof
by
classical
letI : Fintype (CompletedGroupAlgebraQuotient G U) := Fintype.ofFinite _
letI : Fintype R := Fintype.ofFinite R
letI : DecidableEq (CompletedGroupAlgebraQuotient G U) := Classical.decEq _
letI : Finite (CompletedGroupAlgebraQuotient G U → R) := by
letI : Fintype (CompletedGroupAlgebraQuotient G U → R) := inferInstance
exact Finite.of_fintype _
let f : CompletedGroupAlgebraStage R G U → CompletedGroupAlgebraQuotient G U → R :=
fun x q => x.coeff q
refine Finite.of_injective f ?_
intro x y hxy
ext q
exact congrFun hxy q
def completedGroupAlgebraTransition (R : Type u) (G : Type v) [CommRing R] [Group G]
[TopologicalSpace G] [IsTopologicalGroup G] {U V : CompletedGroupAlgebraIndex G}
(hUV : U ≤ V) :
CompletedGroupAlgebraStage R G V →+* CompletedGroupAlgebraStage R G U :=
MonoidAlgebra.mapDomainRingHom R
(OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)The transition map \(R[G/V] \to R[G/U]\) is induced by the quotient map \(G/V \to G/U\).
@[simp]
theorem completedGroupAlgebraTransition_of
{U V : CompletedGroupAlgebraIndex G} (hUV : U ≤ V)
(g : CompletedGroupAlgebraQuotient G V) :
completedGroupAlgebraTransition R G hUV (MonoidAlgebra.of R _ g) =
MonoidAlgebra.single ((OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV) g) 1The transition map sends a basis element to the induced basis element.
Show Lean proof
by
classical
change
MonoidAlgebra.mapDomain
(OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
(MonoidAlgebra.single g 1) =
MonoidAlgebra.single
((OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV) g) 1
exact MonoidAlgebra.mapDomain_single
@[simp]
theorem completedGroupAlgebraTransition_single
{U V : CompletedGroupAlgebraIndex G} (hUV : U ≤ V)
(q : CompletedGroupAlgebraQuotient G V) (r : R) :
completedGroupAlgebraTransition R G hUV (MonoidAlgebra.single q r) =
MonoidAlgebra.single
((OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV) q) rThe transition map \(R[G/V] \to R[G/U]\) sends a singleton supported at a class of \(G/V\) to the singleton supported at its image in \(G/U\), with the same coefficient.
Show Lean proof
by
classical
change
MonoidAlgebra.mapDomain
(OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
(MonoidAlgebra.single q r) =
MonoidAlgebra.single
((OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV) q) r
exact MonoidAlgebra.mapDomain_single
@[simp]
theorem completedGroupAlgebraTransition_id (U : CompletedGroupAlgebraIndex G) :
completedGroupAlgebraTransition R G (le_rfl : U ≤ U) = RingHom.id _The transition map for the reflexive relation is the identity.
Show Lean proof
by
rw [completedGroupAlgebraTransition, OpenNormalSubgroupInClass.map_id]
exact MonoidAlgebra.mapDomainRingHom_id
(R := R) (M := CompletedGroupAlgebraQuotient G U)
@[simp]
theorem completedGroupAlgebraTransition_comp
{U V W : CompletedGroupAlgebraIndex G} (hUV : U ≤ V) (hVW : V ≤ W) :
(completedGroupAlgebraTransition R G hUV).comp
(completedGroupAlgebraTransition R G hVW) =
completedGroupAlgebraTransition R G (hUV.trans hVW)Transition maps compose along refinements of finite quotients.
Show Lean proof
by
rw [completedGroupAlgebraTransition, completedGroupAlgebraTransition,
completedGroupAlgebraTransition, ← MonoidAlgebra.mapDomainRingHom_comp]
congr 1
exact OpenNormalSubgroupInClass.map_comp
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) (W := OrderDual.ofDual W)
hUV hVW
@[simp]
theorem completedGroupAlgebraStageCoeffMap_compatible
(S : Type w) [CommRing S] (f : R →+* S)
{U V : CompletedGroupAlgebraIndex G} (hUV : U ≤ V) :
(completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f U).comp
(completedGroupAlgebraTransition R G hUV) =
(completedGroupAlgebraTransition S G hUV).comp
(completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f V)Coefficient change is performed stagewise: supports are unchanged and coefficients are transported by the given ring homomorphism.
Show Lean proof
by
exact MonoidAlgebra.mapRingHom_comp_mapDomainRingHom
(f := f)
(g := OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
@[simp 900]
theorem completedGroupAlgebraStageCoeffMap_transition_comp
(S : Type w) (T : Type*) [CommRing S] [CommRing T]
(f : R →+* S) (g : S →+* T)
{U V W : CompletedGroupAlgebraIndex G} (hUV : U ≤ V) (hVW : V ≤ W) :
((completedGroupAlgebraStageCoeffMap (R := S) (G := G) T g U).comp
(completedGroupAlgebraTransition S G hUV)).comp
((completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f V).comp
(completedGroupAlgebraTransition R G hVW)) =
(completedGroupAlgebraStageCoeffMap (R := R) (G := G) T (g.comp f) U).comp
(completedGroupAlgebraTransition R G (hUV.trans hVW))Two coefficient changes and two group-quotient transitions compose as the combined change and combined transition.
Show Lean proof
by
calc
((completedGroupAlgebraStageCoeffMap (R := S) (G := G) T g U).comp
(completedGroupAlgebraTransition S G hUV)).comp
((completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f V).comp
(completedGroupAlgebraTransition R G hVW))
=
(completedGroupAlgebraStageCoeffMap (R := S) (G := G) T g U).comp
(((completedGroupAlgebraTransition S G hUV).comp
(completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f V)).comp
(completedGroupAlgebraTransition R G hVW)) := by
apply RingHom.ext
intro x
rfl
_ =
(completedGroupAlgebraStageCoeffMap (R := S) (G := G) T g U).comp
(((completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f U).comp
(completedGroupAlgebraTransition R G hUV)).comp
(completedGroupAlgebraTransition R G hVW)) := by
rw [← completedGroupAlgebraStageCoeffMap_compatible
(R := R) (G := G) S f hUV]
_ =
((completedGroupAlgebraStageCoeffMap (R := S) (G := G) T g U).comp
(completedGroupAlgebraStageCoeffMap (R := R) (G := G) S f U)).comp
((completedGroupAlgebraTransition R G hUV).comp
(completedGroupAlgebraTransition R G hVW)) := by
apply RingHom.ext
intro x
rfl
_ =
(completedGroupAlgebraStageCoeffMap (R := R) (G := G) T (g.comp f) U).comp
((completedGroupAlgebraTransition R G hUV).comp
(completedGroupAlgebraTransition R G hVW)) := by
rw [completedGroupAlgebraStageCoeffMap_comp]
_ =
(completedGroupAlgebraStageCoeffMap (R := R) (G := G) T (g.comp f) U).comp
(completedGroupAlgebraTransition R G (hUV.trans hVW)) := by
rw [completedGroupAlgebraTransition_comp]
def completedGroupAlgebraSystem (R : Type u) (G : Type v) [CommRing R] [TopologicalSpace R]
[IsTopologicalRing R] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] :
ProCGroups.InverseSystems.InverseSystem (I := CompletedGroupAlgebraIndex G) where
X := CompletedGroupAlgebraStage R G
topologicalSpace := fun U => finiteGroupAlgebraTopology R (CompletedGroupAlgebraQuotient G U)
map := fun {U V} hUV => completedGroupAlgebraTransition R G hUV
continuous_map := by
intro U V hUV
exact finiteGroupAlgebra_mapDomainRingHom_continuous R
(CompletedGroupAlgebraQuotient G V) (CompletedGroupAlgebraQuotient G U)
(OpenNormalSubgroupInClass.map
(C := ProCGroups.FiniteGroupClass.allFinite) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
map_id := by
intro U
funext x
exact congrFun
(congrArg DFunLike.coe (completedGroupAlgebraTransition_id (R := R) (G := G) U)) x
map_comp := by
intro U V W hUV hVW
funext x
exact congrFun
(congrArg DFunLike.coe
(completedGroupAlgebraTransition_comp (R := R) (G := G) hUV hVW)) xThe inverse system \(U\mapsto R[G/U]\) with the finite product topology on each stage.