The correction step (KFL_WIP.corrI_spec with the linear term V: every record is moved once, M · B = V item…
ProvedNLogN.KFL.corrI_specThe correction step (KFL_WIP.corrI_spec with the linear term V: every record is moved once, M · B = V item moves).
The following holds (Lean statement, in the scope of module Solutions.KFLCorr4):
theorem NLogN.KFL.corrI_spec :
∃ Kc : ℝ, 0 < Kc ∧
∀ (K ρ f : ℕ), 6 ≤ K → ρ < K → 1 ≤ f →
∀ (g : Geo), g.Pos → g.Q = 2 ^ (f * K) →
∀ (I : List Sym) (iprog : Fin 1 → IStmt HS 1) (t : IState HS) (zs : List ℤ) (R : List Item),
Bits zs → t.G 0 = ints zs ++ R → zs.length = g.V →
∃ c : ℕ, IRuns I iprog (corrI K ρ f g) t
(t.upd 0 (ints (rixT g (corrc K ρ f) zs) ++ R)) c ∧
(c : ℝ) ≤ Kc * (((g.V / g.B : ℕ) : ℝ) * ((zsz (g.V : ℤ) : ℝ) + 1) ^ 3 + (g.V : ℝ) +
min 1 (80 * ((f : ℝ) - 1) * 2⁻¹ ^ K) * ((g.V / g.B : ℕ) : ℝ) *
((zsz (g.V : ℤ) : ℝ) + 1) * ((g.B : ℝ) + (zsz (g.V : ℤ) : ℝ) + 1))
Context. The lemma belongs to the part KFL §15: the number of moved records and the IL correction step: card_moved: the records moved by the correction (keyR m ≠ m) are bad, and the bad records
number at most 80 (f-1) 2^{-K} of all (two guards per index, twenty bad values of 2^{K-1}
each, by count_digit / count_bad_one).
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_Defs18.
-- OpenAI-preprint / κ-improvement development (integer-multiplication-kappa), generated by skeleton subtraction. import Definitions.Def_IntMul_Kappa_K_Defs18 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.KFL open IntMul RS KIL KFD Butterfly Finset
theorem NLogN.KFL.corrI_spec :
∃ Kc : ℝ, 0 < Kc ∧
∀ (K ρ f : ℕ), 6 ≤ K → ρ < K → 1 ≤ f →
∀ (g : Geo), g.Pos → g.Q = 2 ^ (f * K) →
∀ (I : List Sym) (iprog : Fin 1 → IStmt HS 1) (t : IState HS) (zs : List ℤ) (R : List Item),
Bits zs → t.G 0 = ints zs ++ R → zs.length = g.V →
∃ c : ℕ, IRuns I iprog (corrI K ρ f g) t
(t.upd 0 (ints (rixT g (corrc K ρ f) zs) ++ R)) c ∧
(c : ℝ) ≤ Kc * (((g.V / g.B : ℕ) : ℝ) * ((zsz (g.V : ℤ) : ℝ) + 1) ^ 3 + (g.V : ℝ) +
min 1 (80 * ((f : ℝ) - 1) * 2⁻¹ ^ K) * ((g.V / g.B : ℕ) : ℝ) *
((zsz (g.V : ℤ) : ℝ) + 1) * ((g.B : ℝ) + (zsz (g.V : ℤ) : ℝ) + 1)) := by sorry