A gate of atoms (round six, `cost_gateH`)
ProvedIntMul.Kappa.R6.IL3H.cost_gateHcomplexity-theoryinteger-multiplicationkappa-improvement
A gate of atoms.
The following holds (Lean statement, in the scope of module Solutions.R6IL3Cost):
theorem IntMul.Kappa.R6.IL3H.cost_gateH {W A m n r Z H x : ℕ} (hW : 1 ≤ W) (hn : 1 ≤ n) (as : List KFG.Atom)
(hA : as.length ≤ A)
(hok : ∀ a ∈ as, a.Ok W ∧ a.h ≤ 1) (hx : x + (3 * as.length + 3 * W) ≤ H) :
400 * (cGateC W (n * r) Z as.length x + xGateH W as Z) ≤
MlocH W A m * ((W * n) * Yu r Z H)
Context. Round six, item language (I3): cost bounds of the steps of a node
KFWCost2 with the literal W_c, A0, mC replaced by variables: with
P = (W n) · Yu r Z H (n records per role, W roles, at most A atoms per gate, m slots):
cost_gateH,cost_permH,cost_phaseH,cost_fixGH,cost_rowH: every local step costs≤ MlocH W A m · P(plus the row body);cost_childH: the child wrapper adds≤ MlocH W A m · Pto the (constant) child cost, forgsSz c + 6 ≤ A.
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_Defs22 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open IntMul IntMul.Kappa IntMul.Kappa.R6 IntMul.Kappa.R6.IL3H open IntMul NLogN NLogN.KIL NLogN.KFD NLogN.KFB NLogN.KFG NLogN.KFH NLogN.KFN NLogN.KFW Complex P8Lift Butterfly IntMul.Kappa.R6.Cx
Formal statement
theorem IntMul.Kappa.R6.IL3H.cost_gateH {W A m n r Z H x : ℕ} (hW : 1 ≤ W) (hn : 1 ≤ n) (as : List KFG.Atom)
(hA : as.length ≤ A)
(hok : ∀ a ∈ as, a.Ok W ∧ a.h ≤ 1) (hx : x + (3 * as.length + 3 * W) ≤ H) :
400 * (cGateC W (n * r) Z as.length x + xGateH W as Z) ≤
MlocH W A m * ((W * n) * Yu r Z H) := 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.IL3H.cost_gateH`, Solutions/R6IL3Cost.lean (lines 45–95) of the round-six development.