Kernel range checks of the readout data (`chkRd`)
ProvedIntMul.Kappa.R6.Cx.NetData.chkRdcomplexity-theoryinteger-multiplicationkappa-improvement
Kernel range checks of the readout data.
The following holds (Lean statement, in the scope of module Solutions.R6CxNetChkMR):
theorem IntMul.Kappa.R6.Cx.NetData.chkRd : (allR (fun j => Nat.blt (dat.rs j) NR) (List.range 24) && Nat.beq dat.pieces.length NV &&
allR (fun ps => allR (fun p => Nat.blt p.1 NR) ps) dat.pieces) = true
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_Defs24 import Definitions.Def_IntMul_Kappa_R6_Data_CxNetData_1 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open IntMul IntMul.Kappa IntMul.Kappa.R6 IntMul.Kappa.R6.Cx IntMul.Kappa.R6.Cx.NetData open IntMul.Kappa.R6.Cx.NetBT IntMul.Kappa.R6.Cx.NetSpec IntMul.Kappa.R6.Cx.NetFast IntMul.Kappa.R6.Cx.NetMask
Formal statement
theorem IntMul.Kappa.R6.Cx.NetData.chkRd : (allR (fun j => Nat.blt (dat.rs j) NR) (List.range 24) && Nat.beq dat.pieces.length NV &&
allR (fun ps => allR (fun p => Nat.blt p.1 NR) ps) dat.pieces) = true := 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 `IntMul.Kappa.R6.Cx.NetData.chkRd`, Solutions/R6CxNetChkMR.lean (lines 22–26) of the round-six development.