tabU_sp (KFUU §7d: the uniform table set-up of one shift)
ProvedNLogN.KFUU.tabU_spThe following holds (Lean statement, in the scope of module Solutions.KFUURot4):
theorem NLogN.KFUU.tabU_sp (neg : Bool) (sF : ℕ → ℕ) (μ Q i Bv : ℕ)
(hs : ∀ j < i, 1 ≤ sF j) (hQ1 : 1 ≤ Q) (hμ : μ < Q) (B Bb : ℕ)
(hB : zsz ((Q * Pv sF i : ℕ) : ℤ) ≤ B) (hiB : zsz (i : ℤ) ≤ B) (hBvB : zsz (Bv : ℤ) ≤ B)
(hBb : zsz ((2 * (Q * Pv sF i)) : ℕ) ≤ Bb)
(s : IState HS) {LQ LM LP LI LB : List Item}
(hQ : s.G oQ = .int Q :: LQ) (hMu : s.G oMu = .int μ :: LM)
(hPi : s.G oPi = .int (Pv sF i) :: LP) (hI : s.G oI = .int i :: LI)
(hBv : s.G oBv = .int Bv :: LB) :
Sp (NLogN.KFUU.tabU neg)
(NLogN.KIL.encK s (Function.update (fun _ => []) oSP ((List.range i).map fun j => (sF j : ℤ)).reverse))
(NLogN.KIL.encK s (tabEnd neg sF μ Q i (Pv sF i) Bv)) (NLogN.KFUU.cTab i (Pv sF i) B Bb)
Context. The lemma belongs to the part KFUU §7d: the uniform table set-up of one shift: tabU neg (register code): from the registers oI = i, oQ = Q = s_i, oMu = μ,
oPi = P_i, oBv = B and the sizes s_{i-1}, …, s_0 on oSP, it pushes the offset table
tbl Q (acL neg sF μ Q i) on stack 14, P_i, Q, B on stacks 1, 2, 4 (the parameters of
KFC rotF) and -Q on sNQ; oSP is restored. tabU_sp, cost cTab.
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 AModel set_option maxHeartbeats 8000000
theorem NLogN.KFUU.tabU_sp (neg : Bool) (sF : ℕ → ℕ) (μ Q i Bv : ℕ)
(hs : ∀ j < i, 1 ≤ sF j) (hQ1 : 1 ≤ Q) (hμ : μ < Q) (B Bb : ℕ)
(hB : zsz ((Q * Pv sF i : ℕ) : ℤ) ≤ B) (hiB : zsz (i : ℤ) ≤ B) (hBvB : zsz (Bv : ℤ) ≤ B)
(hBb : zsz ((2 * (Q * Pv sF i)) : ℕ) ≤ Bb)
(s : IState HS) {LQ LM LP LI LB : List Item}
(hQ : s.G oQ = .int Q :: LQ) (hMu : s.G oMu = .int μ :: LM)
(hPi : s.G oPi = .int (Pv sF i) :: LP) (hI : s.G oI = .int i :: LI)
(hBv : s.G oBv = .int Bv :: LB) :
Sp (NLogN.KFUU.tabU neg)
(NLogN.KIL.encK s (Function.update (fun _ => []) oSP ((List.range i).map fun j => (sF j : ℤ)).reverse))
(NLogN.KIL.encK s (tabEnd neg sF μ Q i (Pv sF i) Bv)) (NLogN.KFUU.cTab i (Pv sF i) B Bb) := by sorry