Q_P(⋯Q_P(Q_P(1·x₀)·x₁)⋯ x_{n-1}). -/ def prodF (P : ℕ) : (n : ℕ) → (Fin n → GI) → GI | 0, _ => oneP P | n…
ProvedNLogN.KFM.vP_twiddleQ_P(⋯Q_P(Q_P(1·x₀)·x₁)⋯ x_{n-1}). -/ def prodF (P : ℕ) : (n : ℕ) → (Fin n → GI) → GI | 0, _ => oneP P | n + 1, x => gmulT P (prodF P n (fun i => x i.castSucc)) (x (Fin.last n)) theorem prodF_err (P : ℕ) {e : ℝ} (he : 0 ≤ e) : ∀ (n : ℕ) (x : Fin n → GI) (X : Fin n → ℂ), (∀ i, ‖X i‖ ≤ 1) → (∀ i, ‖vP P (x i) - X i‖ ≤ e) → n * (2 * e + 2 * (2 : ℝ)⁻¹ ^ P) ≤ 1 → ‖vP P (prodF P n x) - ∏ i, X i‖ ≤ n * (2 * e + 2 * (2 : ℝ)⁻¹ ^ P) | 0, x, X, _, _, _ => by simp [prodF, vP_oneP] | n + 1, x, X, hX, hx, hs => by have hu : (0 : ℝ) ≤ (2 : ℝ)⁻¹ ^ P := by positivity have hs' : (n : ℝ) * (2 * e + 2 * (2 : ℝ)⁻¹ ^ P) ≤ 1 := by push_cast at hs; nlinarith have ih := prodF_err P he n (fun i => x i.castSucc) (fun i => X i.castSucc) (fun i => hX _) (fun i => hx _) hs' have hP : ‖∏ i : Fin n, X i.castSucc‖ ≤ 1 := by rw [norm_prod]; exact Finset.prod_le_one (fun i _ => norm_nonneg _) (fun i _ => hX ) have st := step_err P _ _ _ _ hP (hX (Fin.last n)) ih hs' (hx (Fin.last n)) rw [Fin.prod_univ_castSucc] simp only [prodF] refine st.trans (le_of_eq ?) push_cast; ring /-! ## Base roots from twiddle
The following holds (Lean statement, in the scope of module Solutions.KFMTabM):
theorem NLogN.KFM.vP_twiddle (n k j : ℕ) (hk : 0 < k) :
‖vP n (IntMul.HvdH.twiddle n k j) - exp (2 * Real.pi * I * j / k)‖ ≤ (2 : ℝ)⁻¹ ^ n
Context. The lemma belongs to the part KFM 9b: fixed-point root tables by FM product recurrences — denotations and error bounds: All values are Gaussian numerators at scale 2^P (toC z / 2^P); products are
gmulT P z w = Q_P(z · w) (the per-entry operation of KFMPw.gmulP).
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_Defs22.
-- OpenAI-preprint / κ-improvement development (integer-multiplication-kappa), generated by skeleton subtraction. import Definitions.Def_IntMul_Kappa_K_Defs22 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 Complex KFB
theorem NLogN.KFM.vP_twiddle (n k j : ℕ) (hk : 0 < k) :
‖vP n (IntMul.HvdH.twiddle n k j) - exp (2 * Real.pi * I * j / k)‖ ≤ (2 : ℝ)⁻¹ ^ n := by sorry