The leaf: one bit, the kernel C at any power-of-two stride (scale +1, width +2)
ProvedNLogN.KFN.sImpl_leafThe leaf: one bit, the kernel C at any power-of-two stride (scale +1, width +2).
The following holds (Lean statement, in the scope of module Solutions.KFNLay):
theorem NLogN.KFN.sImpl_leaf (pos : Fin 1 → ℕ) (t S0 B : ℕ) (hpos : pos 0 < t) (hS : 1 ≤ S0) (hB : 1 ≤ B)
{r : ℕ} (hr : 1 ≤ r) (Z : ℕ) (hZ : zsz ((12 * (B * 2 ^ t * S0 * r)) : ℕ) ≤ Z) :
SImpl r (fun i => 2 ^ pos i * S0) (B * 2 ^ t * S0) (Butterfly.tens Cm : Butterfly.Op (Fin 1))
(kerP t 1 S0 (pos 0) B r 0 MC) 1 2 (ck (B * 2 ^ t * S0 * r) Z)
Context. The lemma belongs to the part KFN: power-of-two stride layouts, transport, the leaf, cost sums.
Formalization Note. This lemma belongs to the item-language (IL) layer of the integer-multiplication-kappa campaign: tape-level programs (register programs over 64 item stacks of the NLogN multitape framework, definition bundles IntMul_HvdH_M_Defs1–IntMul_HvdH_M_Defs8) that implement the data-movement primitives of the OpenAI preprint Integer multiplication below (field moves, row split/merge, shifts, the uniform Proposition 11 interchange, Lemma 12 with fine -per-element costs, Gaussian record primitives, Proposition 14 pieces) with exact list denotations from the array-model bundles IntMul_Kappa_K_Defs* and explicit cost bounds. All names refer to the definition bundles up to IntMul_Kappa_K_Defs20.
-- OpenAI-preprint / κ-improvement development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_K_Defs20
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
set_option linter.unusedSimpArgs false
set_option linter.unusedVariables false
set_option linter.unusedSectionVars false
open NLogN
open NLogN.KFN
open IntMul RS AModel KIL KFD KFB KFG KFH Complex P8Lift Butterfly
variable {P K D S ρ : ℕ}
theorem NLogN.KFN.sImpl_leaf (pos : Fin 1 → ℕ) (t S0 B : ℕ) (hpos : pos 0 < t) (hS : 1 ≤ S0) (hB : 1 ≤ B)
{r : ℕ} (hr : 1 ≤ r) (Z : ℕ) (hZ : zsz ((12 * (B * 2 ^ t * S0 * r)) : ℕ) ≤ Z) :
SImpl r (fun i => 2 ^ pos i * S0) (B * 2 ^ t * S0) (Butterfly.tens Cm : Butterfly.Op (Fin 1))
(kerP t 1 S0 (pos 0) B r 0 MC) 1 2 (ck (B * 2 ^ t * S0 * r) Z) := by sorry