The forward values (round six, `bt_bound`)
ProvedJ6Seg.bt_boundcomplexity-theoryinteger-multiplicationkappa-improvement
The forward values.
The following holds (Lean statement, in the scope of module Solutions.J6SegJPre5):
theorem J6Seg.bt_bound (h : ElimOK P S L A η) (b : ℕ → ℤ) {Zm : ℝ}
(hz : ∀ k, |(geSolveS P S L A b k : ℝ)| ≤ Zm) {r : ℕ} (hr : r < L.length) :
|(btV P S L A b r : ℝ)| ≤ 2 * Zm + 3 / 4 + L.length / 2
Context. J kernel precondition (JPre), part 5: value bounds
fmul_abs_le,dotF_abs_le:|fmul x y| ≤ |x||y|/2^P + 1/2, and the dot product bound;z_bound: underElimOK,η ≤ 1/4,(|L|+1)²/2^P ≤ 1/8and|b| ≤ M, every value of the sparse solve satisfies|z| ≤ 4M + 2^P(fromgeSolve_boundandgeSolveS_eq);bt_bound: the forward values satisfy|bt_r| ≤ 2 Z + 3/4 + |L|/2when|z| ≤ Z(from the closed back substitution andfdiv_err);cpl_abs_le,ccOf_abs_le: the coupling entries are≤ 2^P + 1, the window coefficients≤ (2w+1)(2^P+1).
Formalization Note. Part of the Lean formalization of the round-six κ-improvement (integer-multiplication-kappa campaign, target IntMul.Kappa.jain_round6_framework). The statement is copied verbatim from the Lean development; the platform node carries the same declaration name. Definitions it mentions live in the IntMul_Kappa_R6_Defs* bundles (on top of the published κ bundles IntMul_Kappa_K_Defs*).
Preamble
-- Round-six κ development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_R6_Defs67
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open J6Seg
open Finset Real
open IntMul.HvdH IntMul.HvdH.JPf J6QLU
variable {P : ℕ} {S : ℕ → ℕ → Prop} [DecidableRel S] {L : List ℕ} {A : ℕ → ℕ → ℤ} {η : ℝ}
Formal statement
theorem J6Seg.bt_bound (h : ElimOK P S L A η) (b : ℕ → ℤ) {Zm : ℝ}
(hz : ∀ k, |(geSolveS P S L A b k : ℝ)| ≤ Zm) {r : ℕ} (hr : r < L.length) :
|(btV P S L A b r : ℝ)| ≤ 2 * Zm + 3 / 4 + L.length / 2 := by sorrySource
S. Jain, round-six networks for the integer-multiplication κ-improvement campaign (https://github.com/Swapnil-jain/integer-mult-kappa, commit 5868dc7) and D. Colkitt, integer-mult-bounds (https://github.com/CrocSwap/integer-mult-bounds); target `IntMul.Kappa.jain_round6_framework`. Lean declaration `J6Seg.bt_bound`, Solutions/J6SegJPre5.lean (lines 81–147) of the round-six development.