Paper II · Lean source
ReleaseFiltered.lean
Declared contract recorded Coverage and evidence
The cited release explicitly reports completion of its registered formal contract, under its exact hypotheses.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
Local imports (1)
KomorebiVerification/PaperII/ReleaseFiltered.lean365 lines
Original source path
formal/current/KomorebiVerification/PaperII/ReleaseFiltered.leanSkip declarations and read code
1 import KomorebiVerification.PaperII.WeightedTransfer
2
3 /-!
4 # Complete filtered inversion at inverse-limit scope
5
6 The quotient at depth `n` is the additive quotient by the relation
7 `x - y ∈ Fⁿ`. Its transition maps are induced by the identity. Thus the
8 `Complete` hypothesis below is exactly bijectivity of the canonical map to
9 compatible residue families, rather than an assumed Neumann-series result.
10 No norm, metrizability hypothesis or finite-dimensional hypothesis is used.
11 -/
12
13 set_option autoImplicit false
14
15 namespace Komorebi.PaperII.ReleaseFiltered
16
17 open scoped BigOperators
18 open Komorebi.PaperII.WeightedTransfer
19
20 universe u v
21
22 /-- An exhaustive multiplicative ideal filtration. The two ideal actions follow
23 from multiplicativity and `all_mem`. -/
24 structure IdealFiltration (R : Type u) [Ring R] extends MultiplicativeFiltration R where
25 all_mem : ∀ x : R, Mem 0 x
26
27 namespace IdealFiltration
28
29 variable {R : Type u} [Ring R] (F : IdealFiltration R)
30
31 theorem sub_mem {n : ℕ} {x y : R} (hx : F.Mem n x) (hy : F.Mem n y) :
32 F.Mem n (x - y) := by
33 simpa only [sub_eq_add_neg] using F.add_mem hx (F.neg_mem hy)
34
35 theorem left_mem (x : R) {n : ℕ} {y : R} (hy : F.Mem n y) :
36 F.Mem n (x * y) := by
37 simpa only [Nat.zero_add] using F.mul_mem (F.all_mem x) hy
38
39 theorem right_mem {n : ℕ} {x : R} (hx : F.Mem n x) (y : R) :
40 F.Mem n (x * y) := by
41 simpa only [Nat.add_zero] using F.mul_mem hx (F.all_mem y)
42
43 /-- The usual residue equivalence modulo the filtration ideal. -/
44 def residueSetoid (n : ℕ) : Setoid R where
45 r x y := F.Mem n (x - y)
46 iseqv := ⟨by intro x; simpa using F.zero_mem n,
47 by intro x y h; simpa only [neg_sub] using F.neg_mem h,
48 by
49 intro x y z hxy hyz
50 have h := F.add_mem hxy hyz
51 simpa only [sub_add_sub_cancel] using h⟩
52
53 /-- The residue set underlying the quotient ring `R/Fⁿ`. -/
54 def Residue (n : ℕ) := Quotient (F.residueSetoid n)
55
56 def residue (n : ℕ) (x : R) : F.Residue n := Quotient.mk _ x
57
58 theorem residue_eq_iff (n : ℕ) (x y : R) :
59 F.residue n x = F.residue n y ↔ F.Mem n (x - y) :=
60 by
61 constructor
62 · intro h
63 exact @Quotient.exact R (F.residueSetoid n) x y h
64 · intro h
65 exact @Quotient.sound R (F.residueSetoid n) x y h
66
67 /-- Transition from a finer quotient to a coarser quotient. -/
68 def reduce {m n : ℕ} (h : m ≤ n) : F.Residue n → F.Residue m :=
69 Quotient.map id (by intro x y hxy; exact F.antitone h hxy)
70
71 /-- Compatible residue families: the underlying set of the inverse limit. -/
72 def ResidueLimit :=
73 {x : ∀ n : ℕ, F.Residue n // ∀ m n (h : m ≤ n), F.reduce h (x n) = x m}
74
75 /-- The canonical map from the ring to its inverse limit of residues. -/
76 def toResidueLimit (x : R) : F.ResidueLimit :=
77 ⟨fun n ↦ F.residue n x, by intro m n h; rfl⟩
78
79 /-- Exact inverse-limit completeness and separation. -/
80 def Complete : Prop := Function.Bijective F.toResidueLimit
81
82 /-- Injectivity of the canonical inverse-limit map is separation. -/
83 theorem separated (hF : F.Complete) {x : R} (hx : ∀ n, F.Mem n x) : x = 0 := by
84 apply hF.1
85 apply Subtype.ext
86 funext n
87 apply (F.residue_eq_iff n x 0).2
88 simpa only [sub_zero] using hx n
89
90 /-- Every coherent sequence of representatives lifts to an element at all depths. -/
91 theorem lift_coherent (hF : F.Complete) (s : ℕ → R)
92 (hs : ∀ m n, m ≤ n → F.Mem m (s n - s m)) :
93 ∃ x : R, ∀ n, F.Mem n (x - s n) := by
94 let z : F.ResidueLimit := ⟨fun n ↦ F.residue n (s n), by
95 intro m n h
96 apply Quotient.sound
97 exact hs m n h⟩
98 obtain ⟨x, hx⟩ := hF.2 z
99 refine ⟨x, ?_⟩
100 intro n
101 apply (F.residue_eq_iff n x (s n)).1
102 exact congrFun (congrArg Subtype.val hx) n
103
104 /-- Powers of a filtration-one element gain one degree at each multiplication. -/
105 theorem pow_mem {a : R} (ha : F.Mem 1 a) (n : ℕ) : F.Mem n (a ^ n) := by
106 induction n with
107 | zero => simpa only [pow_zero] using F.one_mem
108 | succ n ih =>
109 simpa only [pow_succ, Nat.succ_eq_add_one] using F.mul_mem ih ha
110
111 /-- The finite geometric candidates form a coherent family of approximations. -/
112 theorem geometric_coherent {a : R} (ha : F.Mem 1 a) :
113 ∀ m n, m ≤ n →
114 F.Mem m (finiteGeometricInverse a n - finiteGeometricInverse a m) := by
115 intro m n hmn
116 obtain ⟨k, rfl⟩ := Nat.exists_eq_add_of_le hmn
117 clear hmn
118 induction k with
119 | zero => simpa using F.zero_mem m
120 | succ k ih =>
121 have hp : F.Mem m ((-a) ^ (m + k)) :=
122 F.antitone (Nat.le_add_right m k) (F.pow_mem (F.neg_mem ha) (m + k))
123 have hs := F.add_mem ih hp
124 simpa only [finiteGeometricInverse, Nat.add_succ, Finset.sum_range_succ,
125 add_sub_right_comm] using hs
126
127 /-- The two finite geometric residual identities, with no commutativity assumption. -/
128 theorem geometric_residual (a : R) (n : ℕ) :
129 finiteGeometricInverse a n * (1 + a) = 1 - (-a) ^ n ∧
130 (1 + a) * finiteGeometricInverse a n = 1 - (-a) ^ n := by
131 constructor
132 · simpa only [finiteGeometricInverse, sub_neg_eq_add] using geom_sum_mul_neg (-a) n
133 · simpa only [finiteGeometricInverse, sub_neg_eq_add] using mul_neg_geom_sum (-a) n
134
135 /-- A filtration-convergent Neumann inverse in the full inverse-limit-complete ring.
136 The congruences are the definition of convergence for the filtration topology. -/
137 theorem exists_geometric_inverse (hF : F.Complete) {a : R} (ha : F.Mem 1 a) :
138 ∃ S : R, TwoSidedInverse (1 + a) S ∧
139 ∀ n, F.Mem n (S - finiteGeometricInverse a n) := by
140 obtain ⟨S, hS⟩ := F.lift_coherent hF (finiteGeometricInverse a) (F.geometric_coherent ha)
141 refine ⟨S, ⟨?_, ?_⟩, hS⟩
142 · apply sub_eq_zero.mp
143 apply F.separated hF
144 intro n
145 have hh := F.sub_mem (F.right_mem (hS n) (1 + a)) (F.pow_mem (F.neg_mem ha) n)
146 have he := (geometric_residual a n).1
147 have hid : (S - finiteGeometricInverse a n) * (1 + a) - (-a) ^ n =
148 S * (1 + a) - 1 := by
149 rw [sub_mul, he]
150 abel
151 simpa only [hid] using hh
152 · apply sub_eq_zero.mp
153 apply F.separated hF
154 intro n
155 have hh := F.sub_mem (F.left_mem (1 + a) (hS n)) (F.pow_mem (F.neg_mem ha) n)
156 have he := (geometric_residual a n).2
157 have hid : (1 + a) * (S - finiteGeometricInverse a n) - (-a) ^ n =
158 (1 + a) * S - 1 := by
159 rw [mul_sub, he]
160 abel
161 simpa only [hid] using hh
162
163
164 /-- Finite sums preserve a fixed filtration level. -/
165 theorem sum_mem {ι : Type v} (s : Finset ι) (f : ι → R) (n : ℕ)
166 (h : ∀ i ∈ s, F.Mem n (f i)) : F.Mem n (∑ i ∈ s, f i) := by
167 classical
168 induction s using Finset.induction_on with
169 | empty => simpa using F.zero_mem n
170 | @insert i s hi ih =>
171 rw [Finset.sum_insert hi]
172 exact F.add_mem (h i (Finset.mem_insert_self _ _))
173 (ih (by intro j hj; exact h j (Finset.mem_insert_of_mem hj)))
174
175 /-- Termwise congruent finite sums are congruent. -/
176 theorem sum_sub_mem {ι : Type v} (s : Finset ι) (f g : ι → R) (n : ℕ)
177 (h : ∀ i ∈ s, F.Mem n (f i - g i)) :
178 F.Mem n ((∑ i ∈ s, f i) - ∑ i ∈ s, g i) := by
179 rw [← Finset.sum_sub_distrib]
180 exact F.sum_mem s (fun i ↦ f i - g i) n h
181
182 /-- The raw length-`n` word sum differs from its weight-pruned sum only in
183 filtration depth `L`; this is a statement in the original ring. -/
184 theorem pow_sub_retained_mem {E : Type v} [Fintype E]
185 (weight : E → ℕ) (edge : E → R)
186 (hedge : ∀ e, F.Mem (weight e) (edge e)) (L n : ℕ) :
187 F.Mem L ((∑ e : E, edge e) ^ n - retainedFixedWordSum weight edge L n) := by
188 classical
189 rw [← sum_fixedWordProduct_eq_pow edge n]
190 simp only [retainedFixedWordSum, Finset.sum_filter]
191 apply F.sum_sub_mem
192 intro word _
193 by_cases hlow : wordWeight weight (List.ofFn word) < L
194 · simp only [hlow, ↓reduceIte, sub_self]
195 exact F.zero_mem L
196 · simp only [hlow, ↓reduceIte, sub_zero]
197 exact F.antitone (Nat.le_of_not_gt hlow)
198 (F.toMultiplicativeFiltration.wordProduct_mem weight edge hedge _)
199
200 /-- Geometric truncation and weighted truncation are congruent in the ring. -/
201 theorem geometric_sub_pruned_mem {E : Type v} [Fintype E]
202 (weight : E → ℕ) (edge : E → R)
203 (hedge : ∀ e, F.Mem (weight e) (edge e)) (L N : ℕ) :
204 F.Mem L (finiteGeometricInverse (∑ e : E, edge e) N -
205 prunedWordInverse weight edge L N) := by
206 unfold finiteGeometricInverse prunedWordInverse
207 apply F.sum_sub_mem
208 intro n _
209 rw [neg_pow, ← mul_sub]
210 exact F.left_mem ((-1 : R) ^ n) (F.pow_sub_retained_mem weight edge hedge L n)
211
212
213 /-- Sequential convergence in the filtration topology. The ideals form a
214 countable neighborhood basis at zero. -/
215 def Converges (s : ℕ → R) (x : R) : Prop :=
216 ∀ L, ∃ N, ∀ n, N ≤ n → F.Mem L (x - s n)
217
218 /-- Depth-indexed approximation congruences imply filtration convergence. -/
219 theorem converges_of_depth_congruences (s : ℕ → R) (x : R)
220 (h : ∀ n, F.Mem n (x - s n)) : F.Converges s x := by
221 intro L
222 refine ⟨L, ?_⟩
223 intro n hn
224 exact F.antitone hn (h n)
225
226 /-- Filtration ideals are closed: a limit of elements in `Fᴸ` stays in `Fᴸ`. -/
227 theorem mem_of_converges (s : ℕ → R) (x : R) (hx : F.Converges s x)
228 (L : ℕ) (hs : ∀ n, F.Mem L (s n)) : F.Mem L x := by
229 obtain ⟨N, hN⟩ := hx L
230 have h := F.add_mem (hN N le_rfl) (hs N)
231 simpa only [sub_add_cancel] using h
232
233 /-- Positive edge weights ensure that no retained word is omitted by the
234 standard length cutoff. Thus the finite candidate sums all words below depth. -/
235 theorem retained_length_lt {E : Type v} (weight : E → ℕ)
236 (hpositive : ∀ e, 1 ≤ weight e) (word : List E) (L : ℕ)
237 (hweight : wordWeight weight word < L) : word.length < L :=
238 lt_of_le_of_lt (length_le_wordWeight weight hpositive word) hweight
239
240 /-- Inverse stability at every filtration depth, including depth zero. -/
241 theorem inverse_stability (T U Tinv Uinv : R)
242 (hT : TwoSidedInverse T Tinv) (hU : TwoSidedInverse U Uinv)
243 (L : ℕ) (h : F.Mem L (T - U)) : F.Mem L (Tinv - Uinv) := by
244 have he : Tinv - Uinv = Tinv * (U - T) * Uinv := by
245 rw [mul_sub, sub_mul]
246 simp only [mul_assoc, hU.right_inv, mul_one]
247 rw [← mul_assoc, hT.left_inv, one_mul]
248 rw [he]
249 exact F.right_mem (F.left_mem Tinv (by simpa only [neg_sub] using F.neg_mem h)) Uinv
250
251
252 /-- Every signed diagonal word has the declared filtration lower bound. -/
253 theorem signed_diagonal_word_mem {E : Type v} (weight : E → ℕ) (edge : E → R)
254 (hedge : ∀ e, F.Mem (weight e) (edge e)) (Dinv : R) (word : List E) :
255 F.Mem (wordWeight weight word)
256 (((-1 : R) ^ word.length * wordProduct edge word) * Dinv) := by
257 exact F.right_mem (F.left_mem _
258 (F.toMultiplicativeFiltration.wordProduct_mem weight edge hedge word)) Dinv
259
260 /-- Reversing a word changes chronological versus written order but not weight. -/
261 theorem wordWeight_reverse {E : Type v} (weight : E → ℕ) (word : List E) :
262 wordWeight weight word.reverse = wordWeight weight word := by
263 simp only [wordWeight, List.map_reverse, List.sum_reverse]
264
265 /-- A complete weighted normalized transfer has a two-sided inverse whose
266 error from the explicit finite word expression lies in the requested ideal. -/
267 theorem exists_weighted_inverse (hF : F.Complete)
268 {E : Type v} [Fintype E] (weight : E → ℕ) (edge : E → R)
269 (hpositive : ∀ e, 1 ≤ weight e)
270 (hedge : ∀ e, F.Mem (weight e) (edge e)) :
271 ∃ S : R, TwoSidedInverse (1 + ∑ e : E, edge e) S ∧
272 ∀ L, F.Mem L (S - prunedWordInverse weight edge L L) := by
273 have ha : F.Mem 1 (∑ e : E, edge e) := by
274 apply F.sum_mem
275 intro e _
276 exact F.antitone (hpositive e) (hedge e)
277 obtain ⟨S, hS, hcong⟩ := F.exists_geometric_inverse hF ha
278 refine ⟨S, hS, ?_⟩
279 intro L
280 have h := F.add_mem (hcong L) (F.geometric_sub_pruned_mem weight edge hedge L L)
281 simpa only [sub_add_sub_cancel] using h
282
283 /-- Multiplying the normalized inverse by the supplied diagonal factor gives
284 both inverse equations without commutativity. -/
285 theorem diagonal_inverse (D Dinv H S : R) (hD : TwoSidedInverse D Dinv)
286 (hS : TwoSidedInverse (1 + Dinv * H) S) :
287 TwoSidedInverse (D + H) (S * Dinv) := by
288 constructor
289 · calc
290 (S * Dinv) * (D + H) = S * (Dinv * D + Dinv * H) := by
291 simp only [mul_add, mul_assoc]
292 _ = S * (1 + Dinv * H) := by rw [hD.left_inv]
293 _ = 1 := hS.left_inv
294 · have hfactor : D + H = D * (1 + Dinv * H) := by
295 rw [mul_add, mul_one, ← mul_assoc, hD.right_inv, one_mul]
296 rw [hfactor]
297 calc
298 (D * (1 + Dinv * H)) * (S * Dinv) =
299 D * (((1 + Dinv * H) * S) * Dinv) := by simp only [mul_assoc]
300 _ = 1 := by rw [hS.right_inv, one_mul, hD.right_inv]
301
302 /-- Full weighted diagonal-plus-transfer inverse at manuscript scope. The
303 finite precision candidates have both residuals in `Fᴸ` in the original ring. -/
304 theorem exists_diagonal_weighted_inverse (hF : F.Complete)
305 (D Dinv H : R) (hD : TwoSidedInverse D Dinv)
306 {E : Type v} [Fintype E] (weight : E → ℕ) (edge : E → R)
307 (htransfer : Dinv * H = ∑ e : E, edge e)
308 (hpositive : ∀ e, 1 ≤ weight e)
309 (hedge : ∀ e, F.Mem (weight e) (edge e)) :
310 ∃ Tinv : R, TwoSidedInverse (D + H) Tinv ∧
311 ∀ L, let R_L := prunedDiagonalTransferInverse weight edge Dinv L L
312 F.Mem L (Tinv - R_L) ∧
313 F.Mem L ((D + H) * R_L - 1) ∧ F.Mem L (R_L * (D + H) - 1) := by
314 obtain ⟨S, hS, hcong⟩ := F.exists_weighted_inverse hF weight edge hpositive hedge
315 have hSn : TwoSidedInverse (1 + Dinv * H) S := by simpa only [htransfer] using hS
316 have hT := diagonal_inverse D Dinv H S hD hSn
317 refine ⟨S * Dinv, hT, ?_⟩
318 intro L
319 dsimp only
320 have hc : F.Mem L (S * Dinv - prunedDiagonalTransferInverse weight edge Dinv L L) := by
321 simpa only [prunedDiagonalTransferInverse, sub_mul] using F.right_mem (hcong L) Dinv
322 refine ⟨hc, ?_, ?_⟩
323 · have hh := F.neg_mem (F.left_mem (D + H) hc)
324 simpa only [mul_sub, hT.right_inv, neg_sub] using hh
325 · have hh := F.neg_mem (F.right_mem hc (D + H))
326 simpa only [sub_mul, hT.left_inv, neg_sub] using hh
327
328
329 /-- The depth-indexed word expansion converges to the full diagonal inverse. -/
330 theorem exists_diagonal_weighted_inverse_converges (hF : F.Complete)
331 (D Dinv H : R) (hD : TwoSidedInverse D Dinv)
332 {E : Type v} [Fintype E] (weight : E → ℕ) (edge : E → R)
333 (htransfer : Dinv * H = ∑ e : E, edge e)
334 (hpositive : ∀ e, 1 ≤ weight e)
335 (hedge : ∀ e, F.Mem (weight e) (edge e)) :
336 ∃ Tinv : R, TwoSidedInverse (D + H) Tinv ∧
337 F.Converges (fun L ↦ prunedDiagonalTransferInverse weight edge Dinv L L) Tinv := by
338 obtain ⟨Tinv, hT, hcong⟩ :=
339 F.exists_diagonal_weighted_inverse hF D Dinv H hD weight edge htransfer hpositive hedge
340 exact ⟨Tinv, hT, F.converges_of_depth_congruences _ _ (fun L ↦ (hcong L).1)⟩
341
342
343 /-- Direct manuscript wrapper: the raw transfers `N_e` are normalized by the
344 supplied inverse of `D`, and their filtration bounds are derived automatically. -/
345 theorem weighted_inverse_from_raw_edges (hF : F.Complete)
346 (D Dinv : R) (hD : TwoSidedInverse D Dinv)
347 {E : Type v} [Fintype E] (weight : E → ℕ) (transfer : E → R)
348 (hpositive : ∀ e, 1 ≤ weight e)
349 (htransfer : ∀ e, F.Mem (weight e) (transfer e)) :
350 ∃ Tinv : R, TwoSidedInverse (D + ∑ e : E, transfer e) Tinv ∧
351 (∀ L, let R_L :=
352 prunedDiagonalTransferInverse weight (fun e ↦ Dinv * transfer e) Dinv L L
353 F.Mem L (Tinv - R_L) ∧
354 F.Mem L ((D + ∑ e : E, transfer e) * R_L - 1) ∧
355 F.Mem L (R_L * (D + ∑ e : E, transfer e) - 1)) ∧
356 F.Converges (fun L ↦
357 prunedDiagonalTransferInverse weight (fun e ↦ Dinv * transfer e) Dinv L L) Tinv := by
358 obtain ⟨Tinv, hT, hcong⟩ := F.exists_diagonal_weighted_inverse hF D Dinv
359 (∑ e : E, transfer e) hD weight (fun e ↦ Dinv * transfer e)
360 (Finset.mul_sum _ _ _) hpositive (fun e ↦ F.left_mem Dinv (htransfer e))
361 exact ⟨Tinv, hT, hcong,
362 F.converges_of_depth_congruences _ _ (fun L ↦ (hcong L).1)⟩
363
364 end IdealFiltration
365 end Komorebi.PaperII.ReleaseFiltered
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: d39a21c296726e0f1056743cd8c401fb8a1eba1739ae899f5e764ebe5e3bdafa
Back to Paper II: Refinement Towers, Weighted Transfer, and Integral Separation of Operator Packets