fsetZ_rowAddr (KFR: the packed layout of three rows and the row addition as an address map)
ProvedNLogN.KFR.fsetZ_rowAddrThe following holds (Lean statement, in the scope of module Solutions.KFRLay):
theorem NLogN.KFR.fsetZ_rowAddr (st : Fin m × Fin f → ℕ) (q : ℕ) (i j : Fin m) (hij : i ≠ j) :
fsetZ st q (rowAddr i j (fbit st q)) =
(q : ℤ) + ∑ u ∈ Finset.range f, rowTerm st q i j (f - 1 - u)
Context. The lemma belongs to the part KFR: the packed layout of three rows and the row addition as an address map: For a stride-K row family (pos (r, c) + K (c + f r) = e, f = m^k, AffK2), the rows
a < b < c (σ : Fin 3 → Fin m strictly monotone) are the three chunk slots of the rectangle
rect N0 N1 N2 N3 (fK) (rectN), with offset ρ' = e mod K: row r occupies the address bits
[sR r, sR r + fK) of the record index divided by S₀, its bit f-1-u at sR r + ρ' + uK
(pos_eq_sR).
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_Defs22.
-- OpenAI-preprint / κ-improvement development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_K_Defs22
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.KFR
open IntMul RS AModel KIL KFD KFB KFG KFH Complex P8Lift Butterfly KFN
variable {m f : ℕ}
theorem NLogN.KFR.fsetZ_rowAddr (st : Fin m × Fin f → ℕ) (q : ℕ) (i j : Fin m) (hij : i ≠ j) :
fsetZ st q (rowAddr i j (fbit st q)) =
(q : ℤ) + ∑ u ∈ Finset.range f, rowTerm st q i j (f - 1 - u) := by sorry