Round-six lemma `chkTV`
ProvedIntMul.Kappa.R6.Cx.NetData.chkTVcomplexity-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.R6CxNetChkI):
theorem IntMul.Kappa.R6.Cx.NetData.chkTV : allN (fun t => Nat.beq (pcR (dat.tv t)) 3 && lineOK t) NV = true
Context. Kernel checks of the boundary states and of the triple data
chkW: the snapshot trees are well formed;chkI1/chkI2: the initial snapshots holdinit1/init2;chkF1/chkF2: the final codes of thex,y,awires;chkTV: every triple mask has three bits and its line code ispsp a b {c}with{a,b,c}the triple;chkG: every gate has an input.
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_Defs25 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.NetLoc IntMul.Kappa.R6.Cx.NetSpec IntMul.Kappa.R6.Cx.NetFast IntMul.Kappa.R6.Cx.NetRaw IntMul.Kappa.R6.Cx.NetMask
Formal statement
theorem IntMul.Kappa.R6.Cx.NetData.chkTV : allN (fun t => Nat.beq (pcR (dat.tv t)) 3 && lineOK t) NV = true := by sorry
Source
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.chkTV`, Solutions/R6CxNetChkI.lean (lines 73–75) of the round-six development.