Round-six lemma `ph3a`
ProvedJ6Seg.PJ.Rn.ph3acomplexity-theoryinteger-multiplicationkappa-improvement
NF, Q, 2^Q.
The following holds (Lean statement, in the scope of module Solutions.J6SegILPreJ8):
theorem J6Seg.PJ.Rn.ph3a {s p d W : ℕ} {c : Cs} (hcL : c cLC = []) {vb : Vr} (hb : BV W vb)
(h1 : vb 1 = p) (h6 : vb 6 = lamF d) (h26 : vb 26 = wF d) (h22 : vb 22 = s)
(h21 : vb 21 = ((p / 7 : ℕ) : ℤ))
(bNF : NF d s + 1 < 2 ^ W) (bQ : 2 ^ (segPF p d s + 2) < 2 ^ W) (b1500 : 1500 + 8 < 2 ^ W) :
Rn J6Seg.PJ.ph3a vb c (fun v => v 9 = ((2 ^ segPF p d s : ℕ) : ℤ) ∧ v 20 = segPF p d s ∧
(∀ j : Fin HS, j ≠ 7 → j ≠ 8 → j ≠ 9 → j ≠ 11 → j ≠ 20 → v j = vb j) ∧
BV W v) c (cPh3a W (NF d s) (segPF p d s))
Context. B-line IL, J pre-table (B5-J), part 8: the parameter phase, NF … wd (Rn.ph3a, Rn.ph3b)
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_Defs65 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open J6Seg J6Seg.PJ open IntMul NLogN NLogN.KIL NLogN.RS J6Seg.PJ.E Function
Formal statement
theorem J6Seg.PJ.Rn.ph3a {s p d W : ℕ} {c : Cs} (hcL : c cLC = []) {vb : Vr} (hb : BV W vb)
(h1 : vb 1 = p) (h6 : vb 6 = lamF d) (h26 : vb 26 = wF d) (h22 : vb 22 = s)
(h21 : vb 21 = ((p / 7 : ℕ) : ℤ))
(bNF : NF d s + 1 < 2 ^ W) (bQ : 2 ^ (segPF p d s + 2) < 2 ^ W) (b1500 : 1500 + 8 < 2 ^ W) :
Rn J6Seg.PJ.ph3a vb c (fun v => v 9 = ((2 ^ segPF p d s : ℕ) : ℤ) ∧ v 20 = segPF p d s ∧
(∀ j : Fin HS, j ≠ 7 → j ≠ 8 → j ≠ 9 → j ≠ 11 → j ≠ 20 → v j = vb j) ∧
BV W v) c (cPh3a W (NF d s) (segPF p d s)) := 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.PJ.Rn.ph3a`, Solutions/J6SegILPreJ8.lean (lines 23–78) of the round-six development.