Round-six lemma `axP1_sp`
ProvedJ6Seg.axP1_spcomplexity-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.J6SegILSweep6):
theorem J6Seg.axP1_sp (P : Prm) (n : ℕ) (src : ℕ → ℕ) (D B k : ℕ) (hk : k ≤ D)
(hb : SwB P n src D B) (s : IState HS) (F : Fin HS → List ℤ) (z c17 : List ℤ) :
Sp (axP1 σ dS) (encK s (SS σ dS F z ((svW src D).drop k) (update (vK P n src D k) 17 c17)))
(encK s (SS σ dS F z ((svW src D).drop (k + 1)) (wK P n src D k c17))) (cP1 B)
Context. B-line IL, B6 §6: axP1 and axP2 on the sweep state
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_Defs67
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open J6Seg
open IntMul NLogN NLogN.KIL NLogN.KFB IntMul.Kappa.R6 Function
variable {σ : Fin 19 → Fin HS} {dS dA : Fin HS} (hW : SwOK σ dS dA)
include hW
Formal statement
theorem J6Seg.axP1_sp (P : Prm) (n : ℕ) (src : ℕ → ℕ) (D B k : ℕ) (hk : k ≤ D)
(hb : SwB P n src D B) (s : IState HS) (F : Fin HS → List ℤ) (z c17 : List ℤ) :
Sp (axP1 σ dS) (encK s (SS σ dS F z ((svW src D).drop k) (update (vK P n src D k) 17 c17)))
(encK s (SS σ dS F z ((svW src D).drop (k + 1)) (wK P n src D k c17))) (cP1 B) := 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.axP1_sp`, Solutions/J6SegILSweep6.lean (lines 48–150) of the round-six development.