The number facts of the window on an axis (`win_num`)
ProvedJ6Seg.Side.win_numcomplexity-theoryinteger-multiplicationkappa-improvement
The number facts of the window on an axis.
The following holds (Lean statement, in the scope of module Solutions.J6SegJCost3):
theorem J6Seg.Side.win_num {d s t : ℕ} (hd1 : 1 ≤ d) (hs : 0 < s) (hst : s ≤ t) (h8 : 8 * d ^ 2 ≤ t)
(hts : 8 * d ^ 2 * (t - s) ≤ 2 * t) (x : ℕ) :
((LJ s t (lamP d) (wF d)).toFinset.filter
(fun j => x ≤ j ∧ j ≤ x + (lamP d + wF d))).card ≤ 182 * wF d
Context. J cost 3: the axis facts of the J pass, and the window bound on an axis
AxJ P n src D k:AxNumplus0 < s ≤ t,8d² ≤ t,8d²(t-s) ≤ 2t, theSegRegof the line,t ≤ 2^ℓ,ℓ d ≤ 2p,w ≤ |LJ|;axJ_ev: eventually on every axis.win_ax,bd_ax: on an axis, every window[x, x + λ + w]ofLJ(index form), and the border[c, s), hold at most182 wpositions.
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_Defs61 import Definitions.Def_IntMul_KappaFramework import Definitions.Def_IntMul_KappaJainData set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open J6Seg open Finset open IntMul NLogN IntMul.Kappa.R6 J6Seg
Formal statement
theorem J6Seg.Side.win_num {d s t : ℕ} (hd1 : 1 ≤ d) (hs : 0 < s) (hst : s ≤ t) (h8 : 8 * d ^ 2 ≤ t)
(hts : 8 * d ^ 2 * (t - s) ≤ 2 * t) (x : ℕ) :
((LJ s t (lamP d) (wF d)).toFinset.filter
(fun j => x ≤ j ∧ j ≤ x + (lamP d + wF d))).card ≤ 182 * wF d := 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.Side.win_num`, Solutions/J6SegJCost3.lean (lines 83–126) of the round-six development.