ProCGroups.FoxDifferential.Completed.FiniteStage.Basic
The principal declarations in this module are:
foxCommutatorPowerRelatorSetRelators defining the finite Fox source quotient: commutators in \(N\) and \(n\)-th powers in \(N\). -foxCommutatorPowerSubgroupNormal subgroup generated by commutators in \(N\) and \(n\)-th powers in \(N\). -modNCompletedGroupAlgebraStageMap_algebraMapThe finite-stage completed group-algebra projection preserves coefficient algebra maps. -foxCommutatorPowerRelatorSet_subsetThe finite Fox commutator-power relator set is contained in N.
import
omit [Fact (0 < n)] in
@[simp]
theorem modNCompletedGroupAlgebraStageMap_algebraMap
(U : _root_.CompletedGroupAlgebra.CompletedGroupAlgebraIndex G) (c : ModNCompletedCoeff n) :
modNCompletedGroupAlgebraStageMap n G U
(algebraMap (ModNCompletedCoeff n) (ModNCompletedGroupRing n G) c) =
algebraMap (ModNCompletedCoeff n) (ModNCompletedGroupAlgebraStage n G U) cThe finite-stage completed group-algebra projection preserves coefficient algebra maps.
Show Lean proof
by
rcases ZMod.intCast_surjective c with ⟨t, rfl⟩
simp only [modNCompletedGroupAlgebraStageMap, map_intCast]
def foxCommutatorPowerRelatorSet (N : Subgroup F) (n : ℕ) : Set F :=
{g | (∃ a ∈ N, ∃ b ∈ N, ⁅a, b⁆ = g) ∨ ∃ a ∈ N, a ^ n = g}Relators defining the finite Fox source quotient: commutators in \(N\) and \(n\)-th powers in \(N\).
def foxCommutatorPowerSubgroup (N : Subgroup F) (n : ℕ) : Subgroup F :=
Subgroup.normalClosure (foxCommutatorPowerRelatorSet (F := F) N n)Normal subgroup generated by commutators in \(N\) and \(n\)-th powers in \(N\).
instance foxCommutatorPowerSubgroup_normal
(N : Subgroup F) (n : ℕ) :
(foxCommutatorPowerSubgroup (F := F) N n).Normal := by
dsimp [foxCommutatorPowerSubgroup]
infer_instanceThe finite Fox commutator-power subgroup is normal by construction.
theorem foxCommutatorPowerRelatorSet_subset
(N : Subgroup F) (n : ℕ) :
foxCommutatorPowerRelatorSet (F := F) N n ⊆ NThe finite Fox commutator-power relator set is contained in N.
Show Lean proof
by
intro g hg
rcases hg with ⟨a, ha, b, hb, rfl⟩ | ⟨a, ha, rfl⟩
· rw [commutatorElement_def]
exact N.mul_mem (N.mul_mem (N.mul_mem ha hb) (N.inv_mem ha)) (N.inv_mem hb)
· exact N.pow_mem ha n
theorem foxCommutatorPowerSubgroup_le_normal
(N : Subgroup F) [N.Normal] (n : ℕ) :
foxCommutatorPowerSubgroup (F := F) N n ≤ NThe finite Fox commutator-power subgroup is contained in \(N\) when \(N\) is normal.
Show Lean proof
by
exact Subgroup.normalClosure_le_normal
(foxCommutatorPowerRelatorSet_subset (F := F) N n)
def foxCommutatorPowerQuotientMapToNormalQuotient
(N : Subgroup F) [N.Normal] (n : ℕ) :
F ⧸ foxCommutatorPowerSubgroup (F := F) N n →* F ⧸ N :=
QuotientGroup.map _ _ (MonoidHom.id F)
(foxCommutatorPowerSubgroup_le_normal (F := F) N n)Natural quotient map \(F/[N,N]N^n \to F/N\).
@[simp]
theorem foxCommutatorPowerQuotientMapToNormalQuotient_mk
(N : Subgroup F) [N.Normal] (n : ℕ) (g : F) :
foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n
(QuotientGroup.mk'
(foxCommutatorPowerSubgroup (F := F) N n) g) =
QuotientGroup.mk' N gEvaluation of the natural quotient map \(F/[N,N]N^n \to F/N\) on a representative.
Show Lean proof
by
rfl
theorem foxCommutatorPowerQuotientMapToNormalQuotient_surjective
(N : Subgroup F) [N.Normal] (n : ℕ) :
Function.Surjective
(foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n)The natural quotient map \(F/[N,N]N^n \to F/N\) is surjective.
Show Lean proof
by
intro y
rcases QuotientGroup.mk'_surjective N y with ⟨g, rfl⟩
exact ⟨QuotientGroup.mk'
(foxCommutatorPowerSubgroup (F := F) N n) g, rfl⟩
def foxCommutatorPowerGroupAlgebraMap
(N : Subgroup F) [N.Normal] (n : ℕ) :
MonoidAlgebra (ModNCompletedCoeff n)
(F ⧸ foxCommutatorPowerSubgroup (F := F) N n) →+*
MonoidAlgebra (ModNCompletedCoeff n) (F ⧸ N) :=
MonoidAlgebra.mapDomainRingHom (ModNCompletedCoeff n)
(foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n)Group-algebra map induced by the natural quotient \(F/[N,N]N^n \to F/N\).
def foxCommutatorPowerGroupAlgebraAlgHom
(N : Subgroup F) [N.Normal] (n : ℕ) :
MonoidAlgebra (ModNCompletedCoeff n)
(F ⧸ foxCommutatorPowerSubgroup (F := F) N n) →ₐ[
ModNCompletedCoeff n]
MonoidAlgebra (ModNCompletedCoeff n) (F ⧸ N) :=
MonoidAlgebra.mapDomainAlgHom (ModNCompletedCoeff n) (ModNCompletedCoeff n)
(foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n)Algebra-hom version of the group-algebra map induced by \(F/[N,N]N^n \to F/N\).
@[simp]
theorem foxCommutatorPowerGroupAlgebraAlgHom_apply
(N : Subgroup F) [N.Normal] (n : ℕ)
(x : MonoidAlgebra (ModNCompletedCoeff n)
(F ⧸ foxCommutatorPowerSubgroup (F := F) N n)) :
foxCommutatorPowerGroupAlgebraAlgHom (F := F) N n x =
foxCommutatorPowerGroupAlgebraMap (F := F) N n xThe algebra-hom and ring-hom versions of the finite Fox quotient map agree on values.
Show Lean proof
rfl
def foxCommutatorPowerSourceGroupAlgebraAugmentation
(N : Subgroup F) (n : ℕ) :
MonoidAlgebra (ModNCompletedCoeff n)
(F ⧸ foxCommutatorPowerSubgroup (F := F) N n) →ₐ[
ModNCompletedCoeff n] ModNCompletedCoeff n :=
MonoidAlgebra.lift (ModNCompletedCoeff n) (ModNCompletedCoeff n)
(F ⧸ foxCommutatorPowerSubgroup (F := F) N n)
(1 : (F ⧸ foxCommutatorPowerSubgroup (F := F) N n) →*
ModNCompletedCoeff n)Augmentation map on the finite Fox source group algebra.
@[simp]
theorem foxCommutatorPowerSourceGroupAlgebraAugmentation_of_quotient
(N : Subgroup F) (n : ℕ)
(q : F ⧸ foxCommutatorPowerSubgroup (F := F) N n) :
foxCommutatorPowerSourceGroupAlgebraAugmentation (F := F) N n
(MonoidAlgebra.of (ModNCompletedCoeff n)
(F ⧸ foxCommutatorPowerSubgroup (F := F) N n) q) =
1The source augmentation sends every quotient group basis element to \(1\).
Show Lean proof
by
simp only [foxCommutatorPowerSourceGroupAlgebraAugmentation, MonoidAlgebra.of_apply,
MonoidAlgebra.lift_single, MonoidHom.one_apply, smul_eq_mul, mul_one]
@[simp]
theorem foxCommutatorPowerGroupAlgebraMap_of
(N : Subgroup F) [N.Normal] (n : ℕ) (g : F) :
foxCommutatorPowerGroupAlgebraMap (F := F) N n
(MonoidAlgebra.of (ModNCompletedCoeff n)
(F ⧸ foxCommutatorPowerSubgroup (F := F) N n)
(QuotientGroup.mk'
(foxCommutatorPowerSubgroup (F := F) N n) g)) =
MonoidAlgebra.of (ModNCompletedCoeff n) (F ⧸ N) (QuotientGroup.mk' N g)The finite Fox source-to-target group-algebra map evaluated on a represented word.
Show Lean proof
by
change MonoidAlgebra.mapDomain
(foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n)
(MonoidAlgebra.single
(QuotientGroup.mk'
(foxCommutatorPowerSubgroup (F := F) N n) g) 1) =
MonoidAlgebra.single (QuotientGroup.mk' N g) 1
rw [MonoidAlgebra.mapDomain_single,
foxCommutatorPowerQuotientMapToNormalQuotient_mk]
@[simp]
theorem foxCommutatorPowerGroupAlgebraMap_of_quotient
(N : Subgroup F) [N.Normal] (n : ℕ)
(q : F ⧸ foxCommutatorPowerSubgroup (F := F) N n) :
foxCommutatorPowerGroupAlgebraMap (F := F) N n
(MonoidAlgebra.of (ModNCompletedCoeff n)
(F ⧸ foxCommutatorPowerSubgroup (F := F) N n) q) =
MonoidAlgebra.of (ModNCompletedCoeff n) (F ⧸ N)
(foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n q)The finite Fox source-to-target group-algebra map evaluated on a quotient basis element.
Show Lean proof
by
rcases QuotientGroup.mk'_surjective
(foxCommutatorPowerSubgroup (F := F) N n) q with ⟨g, rfl⟩
rw [foxCommutatorPowerGroupAlgebraMap_of,
foxCommutatorPowerQuotientMapToNormalQuotient_mk]
omit [Fact (0 < ℓ)] in
@[simp]
theorem foxCommutatorPowerGroupAlgebraMap_single_apply
(N : Subgroup F) [N.Normal] (n : ℕ)
(q : F ⧸ foxCommutatorPowerSubgroup (F := F) N n)
(a : ModNCompletedCoeff n) :
foxCommutatorPowerGroupAlgebraMap (F := F) N n
(MonoidAlgebra.single q a) =
MonoidAlgebra.single
(foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n q) aThe finite Fox source-to-target group-algebra map evaluated on a single coefficient basis term.
Show Lean proof
by
change MonoidAlgebra.mapDomain
(foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n)
(MonoidAlgebra.single q a) =
MonoidAlgebra.single
(foxCommutatorPowerQuotientMapToNormalQuotient (F := F) N n q) a
exact MonoidAlgebra.mapDomain_single