The parameter block (round six, `parA`)
ProvedJ6A.PA.Rn.parAcomplexity-theoryinteger-multiplicationkappa-improvement
The parameter block.
The following holds (Lean statement, in the scope of module Solutions.J6AIL8):
theorem J6A.PA.Rn.parA {c : Cs} (hc13 : c cL = []) {k pre post s t p α d W : ℕ}
(hc : c J6A.PA.dA = 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.parA (fun _ => 0) c (J6A.PA.PV pre post s t p α W) c (cParA W p (sWidth p α))
Context. A lines, IL side 8: the parameter block parA
From the axis descriptor [k, pre, post, s, t, p, α, d] on dA = 31 the register file gets
1 = pre, 2 = post, 3 = s, 4 = t, 5 = p, 6 = α, 7 = m = sWidth p α,
8 = H = 2^⌊log₂ m⌋, 9 = W = H + m + 3, 10 = t / 16H, 11 = 8H, 12 = ⌊log₂ m⌋ + 3
(m by a counting loop for ⌊√p⌋, H and ⌊log₂ m⌋ by a doubling loop). Rn.parA.
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_Defs63 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.parA {c : Cs} (hc13 : c cL = []) {k pre post s t p α d W : ℕ}
(hc : c J6A.PA.dA = 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.parA (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.parA`, Solutions/J6AIL8.lean (lines 327–533) of the round-six development.