FoxDifferential/Completed/FiniteStage/RelationIdealPrimitive.lean

1import FoxDifferential.Completed.FiniteStage.SourceDerivativeVector
3/-
4PUBLIC_PAGE_SNAPSHOT
5generated_at: 2026-05-27T09:47:29+09:00
6lean_source: lean4/FoxDifferential/Completed/FiniteStage/RelationIdealPrimitive.lean
7translation_root: data/translation
8purpose: identifies the local data snapshot used to build pages/
9placement: after imports, never before imports
10-/
11/-!
12# Primitives for the finite-stage relation augmentation ideal
14A source relation augmentation element should be read as an actual source Fox boundary. This file
15packages the primitive statement: an element `x` of the source group algebra is primitive if
16`x = ∂_src p` for a source-coordinate vector `p` whose target projection is already in the
17relation-boundary submodule. The basic generators `q - 1` have such primitives by the source
18Fox fundamental formula.
19-/
21namespace FoxDifferential
23noncomputable section
25open ProCGroups.InverseSystems
26open ProCGroups.ProC
28universe u
30variable {X : Type u} [DecidableEq X]
31variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
33/-- An element of the source finite group algebra has a relation-compatible source Fox primitive
34if it is the source boundary of a vector whose target projection lies in the finite
35relation-boundary submodule. -/
37 (x : finiteFoxStageSourceGroupAlgebra (X := X) N n) : Prop :=
39 finiteFoxStageSourceFoxBoundary (X := X) N n p = x ∧
43/-- The zero source-boundary primitive. -/
46 refine ⟨0, ?_, ?_⟩
47 · simp only [finiteFoxStageSourceFoxBoundary_apply, Pi.zero_apply, QuotientGroup.mk'_apply,
48 MonoidAlgebra.of_apply, zero_mul, Finset.sum_const_zero]
49 · exact (finiteFoxStageRelationBoundarySubmodule (X := X) N n).zero_mem
51/-- Source-boundary primitives are closed under addition. -/
56 finiteFoxStageSourceBoundaryPrimitive (X := X) N n (x + y) := by
57 rcases hx with ⟨px, hpx, hpxrel⟩
58 rcases hy with ⟨py, hpy, hpyrel⟩
59 refine ⟨px + py, ?_, ?_⟩
60 · rw [map_add, hpx, hpy]
61 · rw [map_add]
62 exact (finiteFoxStageRelationBoundarySubmodule (X := X) N n).add_mem hpxrel hpyrel
64/-- Source-boundary primitives are closed under negation. -/
69 rcases hx with ⟨p, hp, hprel⟩
70 refine ⟨-p, ?_, ?_⟩
71 · rw [map_neg, hp]
72 · rw [map_neg]
73 exact (finiteFoxStageRelationBoundarySubmodule (X := X) N n).neg_mem hprel
75/-- Source-boundary primitives are closed under subtraction. -/
80 finiteFoxStageSourceBoundaryPrimitive (X := X) N n (x - y) := by
81 simpa [sub_eq_add_neg] using
85/-- Source-boundary primitives are closed under left multiplication by source coefficients. -/
90 finiteFoxStageSourceBoundaryPrimitive (X := X) N n (a • x) := by
91 rcases hx with ⟨p, hp, hprel⟩
92 refine ⟨a • p, ?_, ?_⟩
93 · rw [map_smul, hp]
95 exact (finiteFoxStageRelationBoundarySubmodule (X := X) N n).smul_mem
96 (finiteFoxCommutatorPowerGroupAlgebraMap (F := FreeGroup X) N n a) hprel
98/-- Source-boundary primitives form a left submodule of the source group algebra. -/
100 Submodule (finiteFoxStageSourceGroupAlgebra (X := X) N n)
102 carrier := {x | finiteFoxStageSourceBoundaryPrimitive (X := X) N n x}
104 add_mem' := by
105 intro x y hx hy
107 smul_mem' := by
108 intro a x hx
111@[simp]
114 Submodule (finiteFoxStageSourceGroupAlgebra (X := X) N n)
118 rfl
120/-- The source primitive attached to a finite relation `q`. -/
122 (q : finiteFoxStageRelationGroup (X := X) N n) :
126/-- The source boundary of the primitive vector for `q` is the augmentation generator `q - 1`. -/
128 [Fintype X]
129 (q : finiteFoxStageRelationGroup (X := X) N n) :
137/-- The target projection of the primitive vector for `q` is the finite relation boundary of `q`. -/
139 (q : finiteFoxStageRelationGroup (X := X) N n) :
142 finiteFoxStageRelationBoundaryAddMonoidHom (X := X) N n (Additive.ofMul q) := by
147/-- Relation augmentation generators have relation-compatible source Fox primitives. -/
149 [Fintype X]
150 (q : finiteFoxStageRelationGroup (X := X) N n) :
153 refine ⟨finiteFoxStageRelationAugmentationPrimitiveVector (X := X) N n q, ?_, ?_⟩
155 (X := X) N n q
158 (X := X) N n
160 ⟨Additive.ofMul q, rfl⟩)
163/-- Left multiplication of a relation augmentation generator by a source quotient basis element has
164an explicit relation-compatible source primitive. -/
166 [Fintype X]
167 (s : FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n)
168 (q : finiteFoxStageRelationGroup (X := X) N n) :
170 (MonoidAlgebra.of (ModNCompletedCoeff n)
171 (FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) s *
173 simpa [Algebra.smul_def] using
175 (MonoidAlgebra.of (ModNCompletedCoeff n)
176 (FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) s)
179/-- Source primitive for the right basis multiple `(q - 1)s`. The primitive is
180`D_src(qs) - D_src(s)`. -/
182 (q : finiteFoxStageRelationGroup (X := X) N n)
183 (s : FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) :
185 finiteFoxStageSourceDerivativeVector (X := X) N n (q.1 * s) -
188/-- The source boundary of `D_src(qs) - D_src(s)` is `(q - 1)s`. -/
190 [Fintype X]
191 (q : finiteFoxStageRelationGroup (X := X) N n)
192 (s : FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) :
196 MonoidAlgebra.of (ModNCompletedCoeff n)
197 (FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) s := by
202 simp only [MonoidAlgebra.of, MonoidHom.coe_mk, OneHom.coe_mk, sub_eq_add_neg, neg_add_rev, neg_neg, add_comm,
203 add_left_comm, add_assoc, add_neg_cancel, add_zero, add_mul, MonoidAlgebra.single_mul_single, mul_one, neg_mul,
204 one_mul]
206/-- The target projection of `D_src(qs) - D_src(s)` is the relation boundary of `q`. -/
208 (q : finiteFoxStageRelationGroup (X := X) N n)
209 (s : FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) :
212 finiteFoxStageRelationBoundaryAddMonoidHom (X := X) N n (Additive.ofMul q) := by
219 simp only [one_smul, add_sub_cancel_right]
221/-- Right multiplication of a relation augmentation generator by a source quotient basis element
222has an explicit relation-compatible source primitive. -/
224 [Fintype X]
225 (q : finiteFoxStageRelationGroup (X := X) N n)
226 (s : FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) :
229 MonoidAlgebra.of (ModNCompletedCoeff n)
230 (FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) s) := by
233 (X := X) N n q s
236 (X := X) N n
238 ⟨Additive.ofMul q, rfl⟩)
240/-- The left source-submodule generated by the relation augmentation generators. -/
242 Submodule (finiteFoxStageSourceGroupAlgebra (X := X) N n)
244 Submodule.span (finiteFoxStageSourceGroupAlgebra (X := X) N n)
247/-- The left relation-augmentation submodule is contained in the primitive submodule. -/
249 [Fintype X] :
252 refine Submodule.span_le.2 ?_
253 rintro x ⟨q, rfl
255 (X := X) N n q
257/-- Membership in the left relation-augmentation submodule gives a relation-compatible source
258primitive. -/
260 [Fintype X]
266end
268end FoxDifferential