Round-six lemma `tabK2_bnd`
ProvedJ6Seg.KR.tabK2_bndcomplexity-theoryinteger-multiplicationkappa-improvement
An auxiliary lemma of the round-six development, published as a separate node because its proof is long or shared.
The following holds (Lean statement, in the scope of module Solutions.J6SegAxBud3):
theorem J6Seg.KR.tabK2_bnd (hl : 1 ≤ lam) (hlQ : lam < 2 ^ Q) (hb : 1 ≤ b)
(hT : ∀ u < lam, |(TT Q R s t α).di u| ≤ 2 ^ (Q + R + 2) ∧
|(TT Q R s t α).gi u| ≤ 2 ^ (Q + R + 2) ∧ |(TT Q R s t α).gam u| ≤ 2 ^ (Q + R + 2) ∧
|(TT Q R s t α).dd u| ≤ 2 ^ (Q + R + 2) ∧
∀ c, |(TT Q R s t α).am c u| ≤ 2 ^ (Q + R + 2) ∧ |(TT Q R s t α).ap c u| ≤ 2 ^ (Q + R + 2))
(hBH : Q + R + b + pk + 4 ≤ BH) (q : ℕ) :
∀ v ∈ tabK2 Q pk b lam (diL Q R s t lam α) (giL Q R s t lam α) (gamL Q R s t lam α)
(ddL Q R s t lam α) (descsOf s t lam (TT Q R s t α) q), zsz v ≤ BH
Context. B-line axis budget 3: the size facts of the chunk tables (generic)
hdr2_bnd: the block headersblkHdr2 m b(1 ≤ m ≤ λ < 2^Q) have entries of size≤ Q + b + 1;tabK2_bnd: every entry of the chunk table has size≤ BHonceQ + R + b + pk + 4 ≤ BHand the tablesTare bounded by2^(Q+R+2);tabK2_len: the chunk table has length≤ 8 + 10 λ;tabsT_len:|tabsT tab nc| ≤ nc (L + 1);kerC_leN:kerCas a polynomial.
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_Defs66
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open J6Seg J6Seg.KR
open IntMul NLogN NLogN.KIL NLogN.KFD NLogN.KFB NLogN.KFV
variable {Q R s t lam α pk b BH : ℕ}
Formal statement
theorem J6Seg.KR.tabK2_bnd (hl : 1 ≤ lam) (hlQ : lam < 2 ^ Q) (hb : 1 ≤ b)
(hT : ∀ u < lam, |(TT Q R s t α).di u| ≤ 2 ^ (Q + R + 2) ∧
|(TT Q R s t α).gi u| ≤ 2 ^ (Q + R + 2) ∧ |(TT Q R s t α).gam u| ≤ 2 ^ (Q + R + 2) ∧
|(TT Q R s t α).dd u| ≤ 2 ^ (Q + R + 2) ∧
∀ c, |(TT Q R s t α).am c u| ≤ 2 ^ (Q + R + 2) ∧ |(TT Q R s t α).ap c u| ≤ 2 ^ (Q + R + 2))
(hBH : Q + R + b + pk + 4 ≤ BH) (q : ℕ) :
∀ v ∈ tabK2 Q pk b lam (diL Q R s t lam α) (giL Q R s t lam α) (gamL Q R s t lam α)
(ddL Q R s t lam α) (descsOf s t lam (TT Q R s t α) q), zsz v ≤ BH := 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.KR.tabK2_bnd`, Solutions/J6SegAxBud3.lean (lines 65–119) of the round-six development.