The parameter block (round six, `parAX`)
ProvedJ6A.PA.Rn.parAXcomplexity-theoryinteger-multiplicationkappa-improvement
The parameter block.
The following holds (Lean statement, in the scope of module Solutions.J6AIL12):
theorem J6A.PA.Rn.parAX {X : Fin HS} (hXr : X ∉ rg) (hX5 : X.val < 56) (hXT : X ≠ sTmp)
(hXC : X ≠ cRdC) {c : Cs} (hc13 : c cL = []) {k pre post s t p α d W : ℕ}
(hc : c X = J6A.PA.dL k pre post s t p α d) (hL : ∀ x ∈ J6A.PA.dL k pre post s t p α d, |x| < 2 ^ W)
(hp : 1 ≤ p) (hα : 1 ≤ α) (hmW : sWidth p α + 4 ≤ W) :
Rn (J6A.PA.parAX X) (fun _ => 0) c (J6A.PA.PV pre post s t p α W) c (cParA W p (sWidth p α))
Context. A lines, IL side 12: the parameter block on any descriptor stack
parAX X is parA reading the descriptor from the stack X (parA = parAX 31), and
Rn.parAX is Rn.parA for every X ∉ rg, X < 56, X ≠ 15, 47.
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_Defs64 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open J6A J6A.PA open IntMul NLogN NLogN.KIL NLogN.RS J6Seg.PJ IntMul.HvdH
Formal statement
theorem J6A.PA.Rn.parAX {X : Fin HS} (hXr : X ∉ rg) (hX5 : X.val < 56) (hXT : X ≠ sTmp)
(hXC : X ≠ cRdC) {c : Cs} (hc13 : c cL = []) {k pre post s t p α d W : ℕ}
(hc : c X = J6A.PA.dL k pre post s t p α d) (hL : ∀ x ∈ J6A.PA.dL k pre post s t p α d, |x| < 2 ^ W)
(hp : 1 ≤ p) (hα : 1 ≤ α) (hmW : sWidth p α + 4 ≤ W) :
Rn (J6A.PA.parAX X) (fun _ => 0) c (J6A.PA.PV pre post s t p α W) c (cParA W p (sWidth p α)) := 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 `J6A.PA.Rn.parAX`, Solutions/J6AIL12.lean (lines 29–236) of the round-six development.