rotsFK (KFUU §9a: the passes on managed states)
ProvedNLogN.KFUU.rotsFKThe following holds (Lean statement, in the scope of module Solutions.KFUUGlue):
theorem NLogN.KFUU.rotsFK (d : ℕ) (sF μ : ℕ → ℕ) (hs : ∀ j < d, 1 ≤ sF j) (hμ : ∀ j < d, μ j < sF j)
(B Bb w : ℕ) (hVB : zsz ((vol (KFU.shR d (KFU.sP d sF)) : ℕ) : ℤ) ≤ B) (hdB : zsz (d : ℤ) ≤ B)
(hVb : zsz ((vol (KFU.shR d (KFU.sP d sF)) : ℕ) : ℤ) ≤ Bb)
(xs : List ℤ) (hlen : xs.length = vol (KFU.shR d (KFU.sP d sF))) (hb : Bnd w xs)
(s : IState HS) (F : Fin HS → List ℤ) (l lI lP lB rSP rML lD : List ℤ)
(h0 : F 0 = xs ++ l) (hI : F oI = (d : ℤ) :: lI) (hPi : F oPi = (Pv sF d : ℤ) :: lP)
(hBv : F oBv = 2 :: lB) (hSP : F oSP = (sZ sF d).reverse ++ rSP)
(hML : F oML = (μZ μ d).reverse ++ rML) (hD : F oD = (d : ℤ) :: lD) :
IRuns I iprog rotsFU (NLogN.KIL.encK s F)
(NLogN.KIL.encK s (Function.update (Function.update (Function.update (Function.update
(Function.update (Function.update F 0 (pull (KFU.shR d (KFU.sP d sF))
(KFU.shR d (KFU.sP d sF)) (KFU.Gf sF (KFU.csF sF μ) d) 0 xs ++ l)) oI (0 :: lI))
oPi (1 :: lP)) oBv ((vol (KFU.shR d (KFU.sP d sF)) : ℤ) :: lB)) oSP rSP) oML rML))
((d + 1) * (cStepU d (vol ((List.range (d - 1)).map sF)) (vol (KFU.shR d (KFU.sP d sF))) w B Bb
+ 3000))
Context. The lemma belongs to the part KFUU §9a: the passes on managed states: The pass lemmas (padAllU_runs, unpadAllU_runs, revU_runs, rotsFU_runs, rotsBU_runs)
restated on managed states encK s F (data xs ++ l on stack 0).
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
set_option linter.unnecessarySeqFocus false
open NLogN
open NLogN.KFUU
open IntMul KIL KFB KFC KFT KFU AModel AModelL12
variable {P : ℕ} {I : List Sym} {iprog : Fin P → IStmt HS P}
theorem NLogN.KFUU.rotsFK (d : ℕ) (sF μ : ℕ → ℕ) (hs : ∀ j < d, 1 ≤ sF j) (hμ : ∀ j < d, μ j < sF j)
(B Bb w : ℕ) (hVB : zsz ((vol (KFU.shR d (KFU.sP d sF)) : ℕ) : ℤ) ≤ B) (hdB : zsz (d : ℤ) ≤ B)
(hVb : zsz ((vol (KFU.shR d (KFU.sP d sF)) : ℕ) : ℤ) ≤ Bb)
(xs : List ℤ) (hlen : xs.length = vol (KFU.shR d (KFU.sP d sF))) (hb : Bnd w xs)
(s : IState HS) (F : Fin HS → List ℤ) (l lI lP lB rSP rML lD : List ℤ)
(h0 : F 0 = xs ++ l) (hI : F oI = (d : ℤ) :: lI) (hPi : F oPi = (Pv sF d : ℤ) :: lP)
(hBv : F oBv = 2 :: lB) (hSP : F oSP = (sZ sF d).reverse ++ rSP)
(hML : F oML = (μZ μ d).reverse ++ rML) (hD : F oD = (d : ℤ) :: lD) :
IRuns I iprog rotsFU (NLogN.KIL.encK s F)
(NLogN.KIL.encK s (Function.update (Function.update (Function.update (Function.update
(Function.update (Function.update F 0 (pull (KFU.shR d (KFU.sP d sF))
(KFU.shR d (KFU.sP d sF)) (KFU.Gf sF (KFU.csF sF μ) d) 0 xs ++ l)) oI (0 :: lI))
oPi (1 :: lP)) oBv ((vol (KFU.shR d (KFU.sP d sF)) : ℤ) :: lB)) oSP rSP) oML rML))
((d + 1) * (cStepU d (vol ((List.range (d - 1)).map sF)) (vol (KFU.shR d (KFU.sP d sF))) w B Bb
+ 3000)) := by sorry