Norm base change to the Eisenstein field and quadratic L-function factorization
ProvedOAI.SevenEighths.HeckeDirichlet.exists_norm_base_change_factorizationLet and let be a complex Dirichlet character modulo , extended by zero on non-units. Let , let be its ring of integers, and let be the quadratic character modulo . Write for the product of and after both characters are extended to the common modulus .
There exists a finite-order Hecke character in the mission's theta-continued Hecke family whose element coefficients are induced by the ideal norm:
The same character satisfies, for every complex ,
This is the norm base-change factorization used to transfer a zero-free region from the Hecke family to Dirichlet L-functions. The statement applies to primitive and imprimitive Dirichlet characters and retains their zero-on-nonunit conventions.
Formalization Note The existential witness is the character constructed as HeckeDirichlet.character in the upstream source. The factor ShortDraftHeckeBridge.baseChangeChar is the existing published definition of . The exclusion of both and follows the upstream LFunction_eq_dirichlet_product theorem and avoids assigned values of the continuations at exceptional points. This full Euler-factor identity is the form proved in the Lean source; the paper's equation (11.2) presents the corresponding identity after deleting primes dividing .
import Definitions.Def_OAIHecke78B001
namespace OAI.SevenEighths.HeckeDirichlet
/-- Norm base change and quadratic factorization, as constructed in the upstream
`Hecke/Dirichlet.lean`: `character`, `elementCoeff_character`, and
`LFunction_eq_dirichlet_product`. The same Hecke character works for all `s`. -/
theorem exists_norm_base_change_factorization
{q : ℕ} [NeZero q] (χ : DirichletCharacter ℂ q) :
∃ η : HeckeFamily.Character,
(∀ z : HeckeFamily.O,
HeckeFamily.elementCoeff η z = χ (Ideal.absNorm (Ideal.span {z}))) ∧
∀ s : ℂ, s ≠ 0 → s ≠ 1 →
HeckeFamily.LFunction η s =
DirichletCharacter.LFunction χ s *
DirichletCharacter.LFunction (ShortDraftHeckeBridge.baseChangeChar χ) s := by
sorry
end OAI.SevenEighths.HeckeDirichlet