The node frames (round six, `sImplQ_nodeFr`)
ProvedIntMul.Kappa.R6.IL3H.sImplQ_nodeFrcomplexity-theoryinteger-multiplicationkappa-improvement
The node frames around a statement under the node assignment.
The following holds (Lean statement, in the scope of module Solutions.R6IL3Node2):
theorem IntMul.Kappa.R6.IL3H.sImplQ_nodeFr {ι : Type*} [Fintype ι] [DecidableEq ι] {lo hi : ℕ} {st : ι → ℕ} {n : ℕ}
{T : Matrix (ι → Fin 2) (ι → Fin 2) ℂ} {U : IStmt HS Pp} {e' dw : ℕ} {cost : ℕ → ℕ}
(hL : LevRH c σ K t S0 r H E e B) (hm : 1 ≤ c.m) (hW1 : 1 ≤ c.W)
(hA : 1 ≤ c.Aw) (hp : 1 ≤ c.p) (hS : 1 ≤ S0) (hr : 1 ≤ r) (hB1 : 1 ≤ B)
(hBn : 1 ≤ B / c.W)
(hδ : cLH c + ((chWs c).map fun s => c.G (s * (E / c.m))).sum + E % c.m ≤ c.G E)
(hcw : ∀ s ∈ chWs c, s < c.m) (M Bz : ℕ)
(hM : c.Aw * (E + 1) ^ c.p + (E + 1) ^ c.p + E + 2 * c.m + cLH c + B + c.W + S0 + r + K +
S0 * r + K * E + 1 ≤ M)
(hMB : zsz (M : ℤ) ≤ Bz)
(hzA : zsz ((2 * (c.Wr * (nN (B / c.W) t S0 * r)) + 16 * (B * 2 ^ t * S0 * r) : ℕ) : ℤ) ≤ Bz)
(H : SImplQ I iprog (fun s => Agree (σNodeH σ c K t S0 r E B) s) lo hi r st n T U e' dw cost) :
SImplQ I iprog (fun s => Agree σ s) lo hi r st n T
(withPushI (fr (nodeFr1 c)) (withPushI (nodeFr2 c) U)) e' dw
(fun w => cFrame 6 5 Bz + (cNF2 c Bz (δv c E) + cost w +
(6 * (2 * (Bz + δv c E + 1) + 2) + 1)) + (6 * (2 * Bz + 2) + 1))
Context. Round six, item language (I3): the node frames
sumGsNE_val/regs/OK,δNE_val/regs/OK: the pad-scale expression;nodeVL1,nodeVL2,σNodeH: the node registers over a level frame;frOK_nodeFr1,pushSeq_nodeFr2(the2^δpush at linear cost);nodeRH_of: the node frame over a level frame onE ≥ 2mbits is aNodeRH;sImplQ_nodeFr: the two node frames around a statement underAgree σNodeH.
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
variable {Pp : ℕ} {I : List Sym} {iprog : Fin Pp → IStmt HS Pp}
variable {c : IntMul.Kappa.R6.IL3H.Cfg} {σ : Fin HS → Option ℤ} {K t S0 r H E e B : ℕ}
Formal statement
theorem IntMul.Kappa.R6.IL3H.sImplQ_nodeFr {ι : Type*} [Fintype ι] [DecidableEq ι] {lo hi : ℕ} {st : ι → ℕ} {n : ℕ}
{T : Matrix (ι → Fin 2) (ι → Fin 2) ℂ} {U : IStmt HS Pp} {e' dw : ℕ} {cost : ℕ → ℕ}
(hL : LevRH c σ K t S0 r H E e B) (hm : 1 ≤ c.m) (hW1 : 1 ≤ c.W)
(hA : 1 ≤ c.Aw) (hp : 1 ≤ c.p) (hS : 1 ≤ S0) (hr : 1 ≤ r) (hB1 : 1 ≤ B)
(hBn : 1 ≤ B / c.W)
(hδ : cLH c + ((chWs c).map fun s => c.G (s * (E / c.m))).sum + E % c.m ≤ c.G E)
(hcw : ∀ s ∈ chWs c, s < c.m) (M Bz : ℕ)
(hM : c.Aw * (E + 1) ^ c.p + (E + 1) ^ c.p + E + 2 * c.m + cLH c + B + c.W + S0 + r + K +
S0 * r + K * E + 1 ≤ M)
(hMB : zsz (M : ℤ) ≤ Bz)
(hzA : zsz ((2 * (c.Wr * (nN (B / c.W) t S0 * r)) + 16 * (B * 2 ^ t * S0 * r) : ℕ) : ℤ) ≤ Bz)
(H : SImplQ I iprog (fun s => Agree (σNodeH σ c K t S0 r E B) s) lo hi r st n T U e' dw cost) :
SImplQ I iprog (fun s => Agree σ s) lo hi r st n T
(withPushI (fr (nodeFr1 c)) (withPushI (nodeFr2 c) U)) e' dw
(fun w => cFrame 6 5 Bz + (cNF2 c Bz (δv c E) + cost w +
(6 * (2 * (Bz + δv c E + 1) + 2) + 1)) + (6 * (2 * Bz + 2) + 1)) := 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.sImplQ_nodeFr`, Solutions/R6IL3Node2.lean (lines 385–445) of the round-six development.