Paper IX · Lean source
PolynomialMotionEstimate.lean
Selected results recorded Coverage and evidence
Compiler/replay evidence is reported for a subset or bounded block. No whole-work coverage is implied.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
polynomial_parameter_towers/formalization/PolynomialMotionEstimate.lean72 lines
Original source path
preserved/PRSC_IX_Consolidated_Manuscript/polynomial_parameter_towers/formalization/PolynomialMotionEstimate.leanSkip declarations and read code
1 module
2 public import PolynomialTaylorDisplacement
3 public import PolynomialWeightedInverse
4
5 @[expose] public section
6 noncomputable section
7 set_option autoImplicit false
8
9 namespace Komorebi.PolynomialMotionEstimate
10 open scoped BigOperators
11 open MvPolynomial PolynomialWeightedInverse
12 variable {d : ℕ}
13
14 /-- First-order displacement with the original Jacobian inverse certificate.
15 This estimate applies to any actual perturbed root having the weighted root bound. -/
16 theorem first_order_error_dvd (p s M : ℕ) [Fact p.Prime]
17 (F H : Fin d → MvPolynomial (Fin d) ℤ_[p]) (a b : Fin d → ℤ_[p])
18 (A : Matrix (Fin d) (Fin d) ℤ_[p]) (hM : 2 * s < M)
19 (hAJ : A * jacobian F a = (p : ℤ_[p]) ^ s •
20 (1 : Matrix (Fin d) (Fin d) ℤ_[p]))
21 (hFa : ∀ i, eval a (F i) = 0)
22 (hRoot : ∀ i, eval b (F i) + (p : ℤ_[p]) ^ M * eval b (H i) = 0)
23 (hDepth : ∀ i, (p : ℤ_[p]) ^ (M - s) ∣ b i - a i) :
24 ∀ i, (p : ℤ_[p]) ^ (2 * M - 3 * s) ∣
25 b i - a i + (p : ℤ_[p]) ^ (M - s) *
26 (A.mulVec (fun j => eval a (H j))) i := by
27 have hFa' (i : Fin d) : eval a (precondition A F i) = 0 := by
28 simp [precondition, hFa]
29 have hRoot' (i : Fin d) : eval b (precondition A F i) +
30 (p : ℤ_[p]) ^ M * eval b (precondition A H i) = 0 := by
31 simp only [precondition, map_sum, map_mul, eval_C]
32 rw [Finset.mul_sum, ← Finset.sum_add_distrib]
33 apply Finset.sum_eq_zero
34 intro j _
35 calc
36 A i j * eval b (F j) + (p : ℤ_[p]) ^ M * (A i j * eval b (H j)) =
37 A i j * (eval b (F j) + (p : ℤ_[p]) ^ M * eval b (H j)) := by ring
38 _ = 0 := by rw [hRoot j, mul_zero]
39 have hlin (i : Fin d) :
40 (∑ j, eval a (pderiv j (precondition A F i)) * (b j - a j)) =
41 (p : ℤ_[p]) ^ s * (b i - a i) := by
42 change (jacobian (precondition A F) a).mulVec (fun j => b j - a j) i = _
43 rw [jacobian_precondition, hAJ, Matrix.smul_mulVec, Matrix.one_mulVec]
44 rfl
45 have hp : (p : ℤ_[p]) ≠ 0 := Nat.cast_ne_zero.mpr (Fact.out : p.Prime).ne_zero
46 have hsM : s ≤ M := by omega
47 have hpowM : (p : ℤ_[p]) ^ M = (p : ℤ_[p]) ^ s * (p : ℤ_[p]) ^ (M - s) := by
48 rw [← pow_add, Nat.add_sub_of_le hsM]
49 have hexp : s + (2 * M - 3 * s) = (M - s) * 2 := by omega
50 have hpow : (p : ℤ_[p]) ^ s * (p : ℤ_[p]) ^ (2 * M - 3 * s) =
51 ((p : ℤ_[p]) ^ (M - s)) ^ 2 := by
52 rw [← pow_add, hexp, pow_mul]
53 intro i
54 have hTaylor := PolynomialTaylorDisplacement.taylor_remainder_dvd
55 (precondition A F i) a b ((p : ℤ_[p]) ^ (M - s)) hDepth
56 rw [hFa' i, sub_zero, hlin i] at hTaylor
57 have hVariation := PolynomialTaylorRing.eval_dvd_of_dvd
58 (precondition A H i) a b ((p : ℤ_[p]) ^ (M - s)) hDepth
59 have hVariationM : ((p : ℤ_[p]) ^ (M - s)) ^ 2 ∣
60 (p : ℤ_[p]) ^ M * (eval b (precondition A H i) - eval a (precondition A H i)) := by
61 rw [pow_two]
62 exact mul_dvd_mul (pow_dvd_pow (p : ℤ_[p]) (by omega)) hVariation
63 have hBig : ((p : ℤ_[p]) ^ (M - s)) ^ 2 ∣
64 (p : ℤ_[p]) ^ s * (b i - a i) + (p : ℤ_[p]) ^ M * eval a (precondition A H i) := by
65 convert dvd_neg.mpr (dvd_add hTaylor hVariationM) using 1
66 linear_combination hRoot' i
67 rw [congrFun (eval_precondition A H a) i] at hBig
68 apply (mul_dvd_mul_iff_left (pow_ne_zero s hp)).mp
69 rw [hpow, mul_add, ← mul_assoc, ← hpowM]
70 exact hBig
71
72 end Komorebi.PolynomialMotionEstimate
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: b805b3ce934dc0eeda54be631e7a1210c1919d4c231b9794cdf6eeb64e6e2f4b
Back to Paper IX: Arithmetic Packets, Dyadic Towers, and Local Polynomial Deformation