ProCGroups.CompletedGroupAlgebra.Basic.InClass.Stage
This module defines the \(C\)-indexed finite group-algebra stages, their transition and coefficient-change ring homomorphisms, and the compatibility identities used by the inverse system.
abbrev CompletedGroupAlgebraStageInClass (C : ProCGroups.FiniteGroupClass.{v})
(R : Type u) (G : Type v) [CommRing R] [Group G] [TopologicalSpace G]
[IsTopologicalGroup G] (U : CompletedGroupAlgebraIndexInClass G C) :
Type (max u v) :=
MonoidAlgebra R (CompletedGroupAlgebraQuotientInClass G C U)A \(C\)-indexed quotient \(G/U\) determines the finite-stage group algebra \(R[G/U]\).
def completedGroupAlgebraStageCoeffMapInClass
(C : ProCGroups.FiniteGroupClass.{v}) (S : Type w) [CommRing S]
(f : R →+* S) (U : CompletedGroupAlgebraIndexInClass G C) :
CompletedGroupAlgebraStageInClass C R G U →+*
CompletedGroupAlgebraStageInClass C S G U :=
MonoidAlgebra.mapRingHom (CompletedGroupAlgebraQuotientInClass G C U) fThe coefficient-change map on one \(C\)-indexed completed-group-algebra stage is defined by changing coefficients.
@[simp]
theorem completedGroupAlgebraStageCoeffMapInClass_single
(C : ProCGroups.FiniteGroupClass.{v}) (S : Type w) [CommRing S]
(f : R →+* S) (U : CompletedGroupAlgebraIndexInClass G C)
(q : CompletedGroupAlgebraQuotientInClass G C U) (r : R) :
completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f U
(MonoidAlgebra.single q r) =
MonoidAlgebra.single q (f r)At a \(C\)-indexed stage, coefficient change sends the singleton at \(q\) with coefficient \(r\) to the singleton at \(q\) with coefficient \(f(r)\).
Show Lean proof
by
exact MonoidAlgebra.mapRingHom_single f q r
@[simp]
theorem completedGroupAlgebraStageCoeffMapInClass_comp
(C : ProCGroups.FiniteGroupClass.{v}) (S : Type w) (T : Type*) [CommRing S]
[CommRing T] (f : R →+* S) (g : S →+* T)
(U : CompletedGroupAlgebraIndexInClass G C) :
(completedGroupAlgebraStageCoeffMapInClass (R := S) (G := G) C T g U).comp
(completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f U) =
completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C T (g.comp f) UAt a \(C\)-indexed 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 := CompletedGroupAlgebraQuotientInClass G C U) g f).symm
theorem finite_completedGroupAlgebraStageInClass
(C : ProCGroups.FiniteGroupClass.{v})
[Finite R] (U : CompletedGroupAlgebraIndexInClass G C) :
Finite (CompletedGroupAlgebraStageInClass C R G U)A finite coefficient ring gives finite \(C\)-indexed completed-group-algebra stages.
Show Lean proof
by
classical
letI : Finite (CompletedGroupAlgebraQuotientInClass G C U) :=
finite_completedGroupAlgebraQuotientInClass G C U
letI : Fintype (CompletedGroupAlgebraQuotientInClass G C U) := Fintype.ofFinite _
letI : Fintype R := Fintype.ofFinite R
letI : DecidableEq (CompletedGroupAlgebraQuotientInClass G C U) := Classical.decEq _
letI : Finite (CompletedGroupAlgebraQuotientInClass G C U → R) := by
letI : Fintype (CompletedGroupAlgebraQuotientInClass G C U → R) := inferInstance
exact Finite.of_fintype _
let f :
CompletedGroupAlgebraStageInClass C R G U →
CompletedGroupAlgebraQuotientInClass G C U → R := fun x q => x.coeff q
refine Finite.of_injective f ?_
intro x y hxy
ext q
exact congrFun hxy q
def completedGroupAlgebraTransitionInClass
(C : ProCGroups.FiniteGroupClass.{v}) (R : Type u) (G : Type v) [CommRing R]
[Group G] [TopologicalSpace G] [IsTopologicalGroup G]
{U V : CompletedGroupAlgebraIndexInClass G C} (hUV : U ≤ V) :
CompletedGroupAlgebraStageInClass C R G V →+*
CompletedGroupAlgebraStageInClass C R G U :=
MonoidAlgebra.mapDomainRingHom R
(OpenNormalSubgroupInClass.map
(C := C) (G := G) (U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)The transition map \(R[G/V] \to R[G/U]\) in the \(C\)-indexed completed-group-algebra tower.
@[simp]
theorem completedGroupAlgebraTransitionInClass_of
(C : ProCGroups.FiniteGroupClass.{v})
{U V : CompletedGroupAlgebraIndexInClass G C} (hUV : U ≤ V)
(g : CompletedGroupAlgebraQuotientInClass G C V) :
completedGroupAlgebraTransitionInClass C R G hUV (MonoidAlgebra.of R _ g) =
MonoidAlgebra.single ((OpenNormalSubgroupInClass.map
(C := C) (G := G) (U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV) g) 1The transition map sends group-like basis elements by quotient projection.
Show Lean proof
by
classical
change
MonoidAlgebra.mapDomain
(OpenNormalSubgroupInClass.map
(C := C) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
(MonoidAlgebra.single g 1) =
MonoidAlgebra.single
((OpenNormalSubgroupInClass.map
(C := C) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV) g) 1
exact MonoidAlgebra.mapDomain_single
@[simp]
theorem completedGroupAlgebraTransitionInClass_single
(C : ProCGroups.FiniteGroupClass.{v})
{U V : CompletedGroupAlgebraIndexInClass G C} (hUV : U ≤ V)
(q : CompletedGroupAlgebraQuotientInClass G C V) (r : R) :
completedGroupAlgebraTransitionInClass C R G hUV (MonoidAlgebra.single q r) =
MonoidAlgebra.single
((OpenNormalSubgroupInClass.map
(C := C) (G := G) (U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV) q) rThe \(C\)-indexed transition map between finite stages sends a singleton supported at a class of the finer quotient to the singleton supported at its image in the coarser quotient, preserving the coefficient.
Show Lean proof
by
classical
change
MonoidAlgebra.mapDomain
(OpenNormalSubgroupInClass.map
(C := C) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
(MonoidAlgebra.single q r) =
MonoidAlgebra.single
((OpenNormalSubgroupInClass.map
(C := C) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV) q) r
exact MonoidAlgebra.mapDomain_single
@[simp]
theorem completedGroupAlgebraTransitionInClass_id
(C : ProCGroups.FiniteGroupClass.{v}) (U : CompletedGroupAlgebraIndexInClass G C) :
completedGroupAlgebraTransitionInClass C R G (le_rfl : U ≤ U) = RingHom.id _The identity transition map in the \(C\)-indexed tower is the identity ring homomorphism.
Show Lean proof
by
rw [completedGroupAlgebraTransitionInClass, OpenNormalSubgroupInClass.map_id]
exact MonoidAlgebra.mapDomainRingHom_id
(R := R) (M := CompletedGroupAlgebraQuotientInClass G C U)
@[simp]
theorem completedGroupAlgebraTransitionInClass_comp
(C : ProCGroups.FiniteGroupClass.{v})
{U V W : CompletedGroupAlgebraIndexInClass G C} (hUV : U ≤ V) (hVW : V ≤ W) :
(completedGroupAlgebraTransitionInClass C R G hUV).comp
(completedGroupAlgebraTransitionInClass C R G hVW) =
completedGroupAlgebraTransitionInClass C R G (hUV.trans hVW)Transition maps in the \(C\)-indexed tower compose as expected.
Show Lean proof
by
rw [completedGroupAlgebraTransitionInClass, completedGroupAlgebraTransitionInClass,
completedGroupAlgebraTransitionInClass, ← MonoidAlgebra.mapDomainRingHom_comp]
congr 1
exact OpenNormalSubgroupInClass.map_comp
(C := C) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) (W := OrderDual.ofDual W)
hUV hVW
@[simp]
theorem completedGroupAlgebraStageCoeffMapInClass_compatible
(C : ProCGroups.FiniteGroupClass.{v}) (S : Type w) [CommRing S] (f : R →+* S)
{U V : CompletedGroupAlgebraIndexInClass G C} (hUV : U ≤ V) :
(completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f U).comp
(completedGroupAlgebraTransitionInClass C R G hUV) =
(completedGroupAlgebraTransitionInClass C S G hUV).comp
(completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f V)\(C\)-indexed stage transitions commute with coefficient change.
Show Lean proof
by
exact MonoidAlgebra.mapRingHom_comp_mapDomainRingHom
(f := f)
(g := OpenNormalSubgroupInClass.map
(C := C) (G := G) (U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
@[simp 900]
theorem completedGroupAlgebraStageCoeffMapInClass_transition_comp
(C : ProCGroups.FiniteGroupClass.{v}) (S : Type w) (T : Type*) [CommRing S]
[CommRing T] (f : R →+* S) (g : S →+* T)
{U V W : CompletedGroupAlgebraIndexInClass G C} (hUV : U ≤ V) (hVW : V ≤ W) :
((completedGroupAlgebraStageCoeffMapInClass (R := S) (G := G) C T g U).comp
(completedGroupAlgebraTransitionInClass C S G hUV)).comp
((completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f V).comp
(completedGroupAlgebraTransitionInClass C R G hVW)) =
(completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C T (g.comp f) U).comp
(completedGroupAlgebraTransitionInClass C R G (hUV.trans hVW))Two coefficient changes and two \(C\)-indexed group-quotient transitions compose as the combined change and combined transition.
Show Lean proof
by
calc
((completedGroupAlgebraStageCoeffMapInClass (R := S) (G := G) C T g U).comp
(completedGroupAlgebraTransitionInClass C S G hUV)).comp
((completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f V).comp
(completedGroupAlgebraTransitionInClass C R G hVW))
=
(completedGroupAlgebraStageCoeffMapInClass (R := S) (G := G) C T g U).comp
(((completedGroupAlgebraTransitionInClass C S G hUV).comp
(completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f V)).comp
(completedGroupAlgebraTransitionInClass C R G hVW)) := by
apply RingHom.ext
intro x
rfl
_ =
(completedGroupAlgebraStageCoeffMapInClass (R := S) (G := G) C T g U).comp
(((completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f U).comp
(completedGroupAlgebraTransitionInClass C R G hUV)).comp
(completedGroupAlgebraTransitionInClass C R G hVW)) := by
rw [← completedGroupAlgebraStageCoeffMapInClass_compatible
(R := R) (G := G) C S f hUV]
_ =
((completedGroupAlgebraStageCoeffMapInClass (R := S) (G := G) C T g U).comp
(completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C S f U)).comp
((completedGroupAlgebraTransitionInClass C R G hUV).comp
(completedGroupAlgebraTransitionInClass C R G hVW)) := by
apply RingHom.ext
intro x
rfl
_ =
(completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C T (g.comp f) U).comp
((completedGroupAlgebraTransitionInClass C R G hUV).comp
(completedGroupAlgebraTransitionInClass C R G hVW)) := by
rw [completedGroupAlgebraStageCoeffMapInClass_comp]
_ =
(completedGroupAlgebraStageCoeffMapInClass (R := R) (G := G) C T (g.comp f) U).comp
(completedGroupAlgebraTransitionInClass C R G (hUV.trans hVW)) := by
rw [completedGroupAlgebraTransitionInClass_comp]
theorem completedGroupAlgebraTransitionInClass_smul
(C : ProCGroups.FiniteGroupClass.{v})
{U V : CompletedGroupAlgebraIndexInClass G C} (hUV : U ≤ V)
(r : R) (x : CompletedGroupAlgebraStageInClass C R G V) :
completedGroupAlgebraTransitionInClass C R G hUV (r • x) =
r • completedGroupAlgebraTransitionInClass C R G hUV xTransition maps commute with scalar multiplication by coefficients.
Show Lean proof
by
rw [Algebra.smul_def, Algebra.smul_def, map_mul]
congr 1
change
MonoidAlgebra.mapDomain
(OpenNormalSubgroupInClass.map
(C := C) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
(MonoidAlgebra.single 1 r) =
MonoidAlgebra.single 1 r
rw [MonoidAlgebra.mapDomain_single, map_one]
theorem completedGroupAlgebraTransitionInClass_algebraMap
(C : ProCGroups.FiniteGroupClass.{v})
{U V : CompletedGroupAlgebraIndexInClass G C} (hUV : U ≤ V) (r : R) :
completedGroupAlgebraTransitionInClass C R G hUV
(algebraMap R (CompletedGroupAlgebraStageInClass C R G V) r) =
algebraMap R (CompletedGroupAlgebraStageInClass C R G U) rTransition maps commute with the coefficient algebra maps.
Show Lean proof
by
change
MonoidAlgebra.mapDomain
(OpenNormalSubgroupInClass.map
(C := C) (G := G)
(U := OrderDual.ofDual U) (V := OrderDual.ofDual V) hUV)
(MonoidAlgebra.single 1 r) =
MonoidAlgebra.single 1 r
rw [MonoidAlgebra.mapDomain_single, map_one]