§9.4: θ⁻ · mrX(θ f, θ g) = (f ∗ g)/T for ζ^{t_D} = -1
ProvedNLogN.KFM.mc_exact§9.4: θ⁻ · mrX(θ f, θ g) = (f ∗ g)/T for ζ^{t_D} = -1.
The following holds (Lean statement, in the scope of module Solutions.KFMErr3):
theorem NLogN.KFM.mc_exact (t : Fin (D + 1) → ℕ) [∀ i, NeZero (t i)] (ζ : ℂ)
(hζ : ζ ^ t (Fin.last D) = -1) (f g : ((i : Fin (D + 1)) → ZMod (t i)) → ℂ) :
(fun j => (twX t ζ j)⁻¹) * mrX t (twX t ζ * f) (twX t ζ * g) =
fun j => (∏ i, (t i : ℂ))⁻¹ * cconv t f g j
Context. The lemma belongs to the part KFM 14: the exact side of the error chain: The exact maps of §9.4–9.7 as LinC / BilC instances, and the identities chain_close needs.
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_Defs20.
-- OpenAI-preprint / κ-improvement development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_K_Defs20
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open NLogN
open NLogN.KFM
open Complex IntMul.OpenAI.RT IntMul.OpenAI.RC
variable {d : ℕ}
variable {D : ℕ}
theorem NLogN.KFM.mc_exact (t : Fin (D + 1) → ℕ) [∀ i, NeZero (t i)] (ζ : ℂ)
(hζ : ζ ^ t (Fin.last D) = -1) (f g : ((i : Fin (D + 1)) → ZMod (t i)) → ℂ) :
(fun j => (twX t ζ j)⁻¹) * mrX t (twX t ζ * f) (twX t ζ * g) =
fun j => (∏ i, (t i : ℂ))⁻¹ * cconv t f g j := by sorry