KFN.cLayer with the honest top-kernel term: 10^6 (log_m D · L2 + 2) instead of 10^6 (D + 2) (the top…
ProvedNLogN.KFM.cLayerTKFN.cLayer with the honest top-kernel term: 10^6 (log_m D · L2 + 2) instead of 10^6 (D + 2) (the top kernels are only q₀ = ⌊log_m D⌋ · L2 passes). Same program.
The following holds (Lean statement, in the scope of module Solutions.KFMCL):
theorem NLogN.KFM.cLayerT {P K D S ρ : ℕ} (hGc : GClass J A) (hrow : RowHyp Isym iprog K m r Z Ψ CR τ)
(hCR : 0 ≤ CR) (hτ : 0 ≤ τ)
(hW : 1 ≤ W) (hsW : W ≤ s) (hm : 2 ≤ m) (hr : 1 ≤ r) (hΨm : Monotone Ψ)
(hZΨ : ∀ v, Z + 2 ≤ Ψ v) (L2 : ℕ) (hL2 : W ≤ 2 ^ L2) (hρ : ρ < K)
(hS : 1 ≤ S) (hP : 1 ≤ P) (hD : 1 ≤ D)
(hZ : zsz ((32 * (vol (Butterfly.layerShape P K D S) * r) : ℕ) : ℤ) ≤ Z) :
∃ (code : ℕ → IStmt HS Pp) (E dC : ℕ) (cost : ℕ → ℕ),
SImplI Isym iprog r (fun i : Fin D => KFH.stT K D S ρ i) (vol (Butterfly.layerShape P K D S))
(Butterfly.tens Cm : Butterfly.Op (Fin D)) code E dC cost ∧
E ≤ D + (Nat.log m D + 1) * m * Eb J.net.length s (Nat.log m D) ∧
dC ≤ 2 * D + (Nat.log m D + 1) * m * DWb J.net.length s W A (Nat.log m D) ∧
∀ w, (cost w : ℝ) ≤ (2 * ((((Nat.log m D + 1) * m : ℕ) : ℝ) *
cb J.net.length s W A m CR τ (Nat.log m D) + 1) + 1000000 * (((Nat.log m D * L2 : ℕ) : ℝ) + 2)) *
((vol (Butterfly.layerShape P K D S) : ℕ) : ℝ) *
(Xf r Ψ (w + 2 * D + (Nat.log m D + 1) * m * DWb J.net.length s W A (Nat.log m D) +
Whb J.net.length s W A (Nat.log m D) + 2) : ℝ)
Context. The lemma belongs to the part KFM 3: the recursive C-layer with an honest top-kernel cost: KFN.cLayer bounds the cost of its q₀ = ⌊log_m D⌋ · L2 top kernel passes (and, in the branch
D ≤ q₀, of its D kernel passes) by 10^6 (D + 2) · vol · Xf. Summed over the ≈ ℓ chunk
rounds of Lemma 16 this is ℓ d V, a full log T factor (MACHINE-PLAN.md, item 4, issue (B)).
The program is fine; only the stated bound is loose. cLayerT is the same construction
(proof copied from KFN.cLayer) with the bound 10^6 (⌊log_m D⌋ · L2 + 2).
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.KFM
open IntMul RS AModel KIL KFD KFB KFG KFH KFN Complex P8Lift Butterfly
variable {Pp : ℕ} {Isym : List Sym} {iprog : Fin Pp → IStmt HS Pp}
variable {W m s : ℕ} (J : Prop8IfaceR W m s) {A r Z : ℕ} {Ψ : ℕ → ℕ} {CR τ : ℝ}
theorem NLogN.KFM.cLayerT {P K D S ρ : ℕ} (hGc : GClass J A) (hrow : RowHyp Isym iprog K m r Z Ψ CR τ)
(hCR : 0 ≤ CR) (hτ : 0 ≤ τ)
(hW : 1 ≤ W) (hsW : W ≤ s) (hm : 2 ≤ m) (hr : 1 ≤ r) (hΨm : Monotone Ψ)
(hZΨ : ∀ v, Z + 2 ≤ Ψ v) (L2 : ℕ) (hL2 : W ≤ 2 ^ L2) (hρ : ρ < K)
(hS : 1 ≤ S) (hP : 1 ≤ P) (hD : 1 ≤ D)
(hZ : zsz ((32 * (vol (Butterfly.layerShape P K D S) * r) : ℕ) : ℤ) ≤ Z) :
∃ (code : ℕ → IStmt HS Pp) (E dC : ℕ) (cost : ℕ → ℕ),
SImplI Isym iprog r (fun i : Fin D => KFH.stT K D S ρ i) (vol (Butterfly.layerShape P K D S))
(Butterfly.tens Cm : Butterfly.Op (Fin D)) code E dC cost ∧
E ≤ D + (Nat.log m D + 1) * m * Eb J.net.length s (Nat.log m D) ∧
dC ≤ 2 * D + (Nat.log m D + 1) * m * DWb J.net.length s W A (Nat.log m D) ∧
∀ w, (cost w : ℝ) ≤ (2 * ((((Nat.log m D + 1) * m : ℕ) : ℝ) *
cb J.net.length s W A m CR τ (Nat.log m D) + 1) + 1000000 * (((Nat.log m D * L2 : ℕ) : ℝ) + 2)) *
((vol (Butterfly.layerShape P K D S) : ℕ) : ℝ) *
(Xf r Ψ (w + 2 * D + (Nat.log m D + 1) * m * DWb J.net.length s W A (Nat.log m D) +
Whb J.net.length s W A (Nat.log m D) + 2) : ℝ) := by sorry