shPad_bsN (KFY 10: `tensorGo` as an iteration over rotated shapes)
ProvedNLogN.KFY.shPad_bsNThe following holds (Lean statement, in the scope of module Solutions.KFY10Iter):
theorem NLogN.KFY.shPad_bsN {n : ℕ} (hn : IntMul.OpenAI.Glue.n0 ≤ n) (k : ℕ) :
shPad (ℓP n - 1) (NLogN.KFM.bsN n k) = (List.ofFn (NLogN.KFM.tB n)).rotate k
Context. The lemma belongs to the part KFY 10: tensorGo as an iteration over rotated shapes: stepL R f L: transpose the head axis of the shape R to the end (transposeL), apply f to
the consecutive lines. iterL dims fs k applies the steps for the rotations dims.rotate j,
j < k. tensorGo_iterL: tensorGo of the list (dims_i, fs i)_i is iterL dims fs d.
Formalization Note. This lemma belongs to layer 5 of the Lean formalization (integer-multiplication-kappa campaign) of the OpenAI preprint Integer multiplication below : the uniform item-language machine (register programs over the NLogN multitape framework) assembling the Proposition 14 / Lemma 13 / Proposition 18 pieces, the resampling and chirp stages and the cost recurrences into one fixed machine, culminating in NLogN.KFTop.kappa_bound : IntMul.KappaBound (1 / 2 ^ 182) (the bound of Def_IntMul_MultitapeModel). All names refer to the definition bundles up to IntMul_Kappa_K_Defs33.
-- OpenAI-preprint / κ-improvement development (integer-multiplication-kappa), generated by skeleton subtraction. import Definitions.Def_IntMul_Kappa_K_Defs33 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 set_option linter.unusedSimpArgs false set_option linter.unusedVariables false open NLogN open NLogN.KFY open IntMul IntMul.HvdH IntMul.HvdH.Ref NLogN.KFM IntMul.OpenAI.Glue IntMul.OpenAI.RP open KFB (GI gflat)
theorem NLogN.KFY.shPad_bsN {n : ℕ} (hn : IntMul.OpenAI.Glue.n0 ≤ n) (k : ℕ) :
shPad (ℓP n - 1) (NLogN.KFM.bsN n k) = (List.ofFn (NLogN.KFM.tB n)).rotate k := by sorry