The generic `A` pass (round six, `passGen`)
ProvedJ6A.passGenThe generic A pass.
The following holds (Lean statement, in the scope of module Solutions.J6AMath4):
theorem J6A.passGen (Aa : ℕ → (ℕ → ℤ × ℤ) → (ℕ → ℤ × ℤ)) (hst : ∀ i, s i ≤ t i)
(hloc : ∀ i : Fin d, ∀ U U' : ℕ → ℤ × ℤ, (∀ j < s i, U j = U' j) → Aa i U = Aa i U')
(L : (i : Fin d) → (ZMod (s i) → ℂ) →L[ℂ] (ZMod (t i) → ℂ)) (hLn : ∀ i, ‖L i‖ ≤ 1)
(ε : ℝ) (hε : 0 ≤ ε) (hA : ∀ i : Fin d, FPApprox p (Aa i) (liftL (L i)) ε)
(zs : List GI) (u : ((i : Fin d) → ZMod (s i)) → ℂ)
(hrep : RepPad p s t zs u) (hu : ‖u‖ ≤ 1 / 2) :
RepFull p t (tensorGo (mapsGen t Aa) (List.ofFn t) zs)
(wOf p t (tensorGo (mapsGen t Aa) (List.ofFn t) zs)) ∧
DiscL p (tensorGo (mapsGen t Aa) (List.ofFn t) zs) ∧
‖wOf p t (tensorGo (mapsGen t Aa) (List.ofFn t) zs) - tensCLM (kerA L) u‖ ≤
d * ε * hp p
Context. A lines (PR #5 block chirp), part 4: the generic A pass
passGen is KFY1Pad.passA with the per-axis fixed-point maps Aa i arbitrary: they must read
only the first s_i entries of a line (hloc) and be FPApproxes of liftL (L i) within ε
for line maps ‖L i‖ ≤ 1. The list pipeline is tensorGo (mapsGen …).
Formalization Note. Part of the Lean formalization of the round-six κ-improvement (integer-multiplication-kappa campaign, target IntMul.Kappa.jain_round6_framework). The statement is copied verbatim from the Lean development; the platform node carries the same declaration name. Definitions it mentions live in the IntMul_Kappa_R6_Defs* bundles (on top of the published κ bundles IntMul_Kappa_K_Defs*).
-- Round-six κ development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_R6_Defs61
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open J6A
open IntMul IntMul.HvdH IntMul.HvdH.Ref IntMul.HvdH.RefPf NLogN.KFM NLogN.KFY IntMul.OpenAI.RT
open Complex
open NLogN.KFB (GI gflat)
variable {d : ℕ} (p : ℕ) (s t : Fin d → ℕ) [∀ i, NeZero (s i)] [∀ i, NeZero (t i)]
theorem J6A.passGen (Aa : ℕ → (ℕ → ℤ × ℤ) → (ℕ → ℤ × ℤ)) (hst : ∀ i, s i ≤ t i)
(hloc : ∀ i : Fin d, ∀ U U' : ℕ → ℤ × ℤ, (∀ j < s i, U j = U' j) → Aa i U = Aa i U')
(L : (i : Fin d) → (ZMod (s i) → ℂ) →L[ℂ] (ZMod (t i) → ℂ)) (hLn : ∀ i, ‖L i‖ ≤ 1)
(ε : ℝ) (hε : 0 ≤ ε) (hA : ∀ i : Fin d, FPApprox p (Aa i) (liftL (L i)) ε)
(zs : List GI) (u : ((i : Fin d) → ZMod (s i)) → ℂ)
(hrep : RepPad p s t zs u) (hu : ‖u‖ ≤ 1 / 2) :
RepFull p t (tensorGo (mapsGen t Aa) (List.ofFn t) zs)
(wOf p t (tensorGo (mapsGen t Aa) (List.ofFn t) zs)) ∧
DiscL p (tensorGo (mapsGen t Aa) (List.ofFn t) zs) ∧
‖wOf p t (tensorGo (mapsGen t Aa) (List.ofFn t) zs) - tensCLM (kerA L) u‖ ≤
d * ε * hp p := by sorry