The parameter phase (round six, `parP`)
ProvedJ6Seg.PJ.Rn.parPcomplexity-theoryinteger-multiplicationkappa-improvement
The parameter phase: from the descriptor on Z (registers 0), the registers ParV.
The following holds (Lean statement, in the scope of module Solutions.J6SegILPreJ9):
theorem J6Seg.PJ.Rn.parP {Z : Fin HS} (hZ : Z ∉ rg) (hZ5 : Z.val < 56) (hZT : Z ≠ sTmp) (hZC : Z ≠ cRdC)
{kA kC wA wC k pre post s t p α d W : ℕ}
{c : Cs} (hcZ : c Z = dsc k pre post s t p α d) (hcL : c cLC = [])
(hW : parBig kA kC wA wC k pre post s t p α d < 2 ^ W) :
Rn (J6Seg.PJ.parP kA kC wA wC Z) (fun _ => 0) c
(fun v => ParV kA kC wA wC pre post s t p α d v ∧ BV W v) c
(J6Seg.PJ.cPar kA kC wA wC W d (NF d s) (segPF p d s) (kA * segPF p d s + kC))
Context. B-line IL, J pre-table (B5-J), part 9: the parameter phase (Rn.parP)
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.parP {Z : Fin HS} (hZ : Z ∉ rg) (hZ5 : Z.val < 56) (hZT : Z ≠ sTmp) (hZC : Z ≠ cRdC)
{kA kC wA wC k pre post s t p α d W : ℕ}
{c : Cs} (hcZ : c Z = dsc k pre post s t p α d) (hcL : c cLC = [])
(hW : parBig kA kC wA wC k pre post s t p α d < 2 ^ W) :
Rn (J6Seg.PJ.parP kA kC wA wC Z) (fun _ => 0) c
(fun v => ParV kA kC wA wC pre post s t p α d v ∧ BV W v) c
(J6Seg.PJ.cPar kA kC wA wC W d (NF d s) (segPF p d s) (kA * segPF p d s + kC)) := 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.parP`, Solutions/J6SegILPreJ9.lean (lines 15–72) of the round-six development.