Round-six lemma `recs_gates`
ProvedR6Chk.Bit.Loc.recs_gatescomplexity-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.R6BitNBSGk4):
theorem R6Chk.Bit.Loc.recs_gates : Nat.blt (recs.foldl (fun a r => Nat.add a (recEl r).length) 0) 16777216 = true
Context. Round-six bit invocation: kernel checks on the producer records (node range, gate count).
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_Defs51 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open R6Chk R6Chk.Bit R6Chk.Bit.Loc
Formal statement
theorem R6Chk.Bit.Loc.recs_gates : Nat.blt (recs.foldl (fun a r => Nat.add a (recEl r).length) 0) 16777216 = 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 `R6Chk.Bit.Loc.recs_gates`, Solutions/R6BitNBSGk4.lean (lines 13–14) of the round-six development.