Updating a stack other than zDp, zQ, zMh, zMf keeps SrcRegs
ProvedNLogN.KFM.SrcRegs.updUpdating a stack other than zDp, zQ, zMh, zMf keeps SrcRegs.
The following holds (Lean statement, in the scope of module Solutions.KFMS7):
theorem NLogN.KFM.SrcRegs.upd {u : IState HS} {d' Q Mh Mf : ℕ} (h : SrcRegs u d' Q Mh Mf) (j : Fin HS)
(hj : j ≠ zDp ∧ j ≠ zQ ∧ j ≠ zMh ∧ j ≠ zMf) (L : List Item) :
SrcRegs (u.upd j L) d' Q Mh Mf
Context. The lemma belongs to the part KFM S7: the source and inverse lists in IL (run lemmas): Scratch stacks 1–5 (setup is a leaf procedure, UNIFORM amendment): mOc = 1 outer counter,
mS = 2 the source s_i, mP = 3 the running product, mM = 4 the sum, mIc = 5 the inner
counter. The parameters are read from zDp, zQ, zMh, zMf (KFMS3).
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.KFM open IntMul RS
theorem NLogN.KFM.SrcRegs.upd {u : IState HS} {d' Q Mh Mf : ℕ} (h : SrcRegs u d' Q Mh Mf) (j : Fin HS)
(hj : j ≠ zDp ∧ j ≠ zQ ∧ j ≠ zMh ∧ j ≠ zMf) (L : List Item) :
SrcRegs (u.upd j L) d' Q Mh Mf := by sorry