Definitions/Def_AutomorphicForm_HeckeEigensystem.lean
Hecke eigensystem carriers, base change and descent packages
This module sets up a lightweight carrier for systems of Hecke eigenvalues and the predicates used to state solvable base change and descent on it. A HeckeEigensystem F R, for a number field F and a commutative ring R, consists of four data: an ideal level of \mathcal{O}_F, a proof that it is nonzero, and two functions a, b from the height-one spectrum of \mathcal{O}_F to R. Nothing further is imposed: there is no automorphy, holomorphy or growth condition, and no compatibility between a, b and level; the intended reading is that at a prime v the values a_v and b_v are the sum and the product of the two Satake parameters. twist Φ χ keeps the level and replaces a_v, b_v by \chi(v) a_v and \chi(v)^2 b_v for an arbitrary function \chi on primes (not required multiplicative); twist_a, twist_b record this by rfl. AgreesAwayFromFinite Φ Φ' says that a and b agree outside some finite set of primes. For an integral extension \mathcal{O}_E \to \mathcal{O}_L, IsConstantOnFibers Φ E says that outside a finite set of primes of \mathcal{O}_L, any two primes with the same contraction to \mathcal{O}_E and the same inertia degree (inertiaDeg') have equal a- and b-values.
satakePow n s e is the Lucas-type recursion with V_0 = 2, V_1 = s, V_{n+2} = sV_{n+1} - eV_n, computing \alpha^n + \beta^n from s = \alpha+\beta, e = \alpha\beta; the three lemmas give the base cases and the recursion, all by rfl. IsBaseChangeAt π Φ 𝔓 asserts, with f the inertia degree of \mathfrak{P} over \mathfrak{p} = \mathfrak{P} \cap \mathcal{O}_E, that \Phi.a_{\mathfrak{P}} = V_f(\pi.a_{\mathfrak{p}}, \pi.b_{\mathfrak{p}}) and \Phi.b_{\mathfrak{P}} = (\pi.b_{\mathfrak{p}})^f; IsBaseChangeOf requires this outside a finite set of primes, and IsDescentOf is the same relation with arguments swapped. Finally, CuspidalityNotion R is an opaque structure carrying just a predicate IsCusp on eigensystems over every number field, and DescentPackage R E L Φ₀ bundles such a notion together with theorems as fields: the seed \Phi_0 is cuspidal and constant on fibres over E; every cuspidal eigensystem over L that is constant on fibres is a base change of some cuspidal eigensystem over E; and a multiplicity-one clause, saying that two cuspidal eigensystems over E agreeing away from a finite set have equal a-values at every prime not dividing either level.
Relation to Mathlib
Mathlib has no notion of Hecke eigensystem or of automorphic base change; all the objects here are the project's own, built on Mathlib's IsDedekindDomain.HeightOneSpectrum, prime contraction (under) and inertiaDeg'.
Where it is used
These carriers are the form in which the Langlands–Tunnell theorem and the solvable base-change and descent steps are stated and cited in the project: statements about automorphic representations are phrased as statements about their systems of Hecke eigenvalues, with cuspidality and cyclic descent supplied as hypotheses packaged in CuspidalityNotion and DescentPackage.
References
- R. P. Langlands, Base Change for GL(2), Annals of Mathematics Studies 96, Princeton University Press, 1980
- J. Tunnell, Artin's conjecture for representations of octahedral type, Bulletin of the American Mathematical Society (N.S.) 5 (1981), 173–175
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 113 lines
- 26 declarations
- used in the statements of 19 theorems and imported by 31 proofs
- imports 0 definition modules
Source file: Definitions/Def_AutomorphicForm_HeckeEigensystem.lean
Imports
- only Mathlib
Imported by
Def_AutomorphicForm_CyclicBaseChangeLiftingDef_AutomorphicForm_FormalBaseChangeDef_AutomorphicForm_HeckeEigenfunctionDef_AutomorphicForm_HeckeEigensystemMapDef_AutomorphicForm_LocalLFactorDef_AutomorphicForm_ProductionNotionGateEigensystemsDef_AutomorphicForm_SatakeCombinationCoeffDef_LanglandsTunnell_IsAttachedDef_LanglandsTunnell_LiftTraceSeedDef_LanglandsTunnell_OctahedralDatumDef_LanglandsTunnell_P52InterfaceDef_LanglandsTunnell_RealizationDictionary
Declarations
- structure
AutomorphicForm.HeckeEigensystem - field
AutomorphicForm.HeckeEigensystem.R - field
AutomorphicForm.HeckeEigensystem.level - field
AutomorphicForm.HeckeEigensystem.level_ne_bot - field
AutomorphicForm.HeckeEigensystem.a - field
AutomorphicForm.HeckeEigensystem.b - def
AutomorphicForm.HeckeEigensystem.twist - theorem
AutomorphicForm.HeckeEigensystem.twist_a - theorem
AutomorphicForm.HeckeEigensystem.twist_b - def
AutomorphicForm.HeckeEigensystem.AgreesAwayFromFinite - def
AutomorphicForm.HeckeEigensystem.IsConstantOnFibers - def
AutomorphicForm.satakePow - theorem
AutomorphicForm.satakePow_zero - theorem
AutomorphicForm.satakePow_one - theorem
AutomorphicForm.satakePow_add_two - def
AutomorphicForm.IsBaseChangeAt - def
AutomorphicForm.IsBaseChangeOf - def
AutomorphicForm.IsDescentOf - structure
AutomorphicForm.CuspidalityNotion - field
AutomorphicForm.CuspidalityNotion.IsCusp - structure
AutomorphicForm.DescentPackage - field
AutomorphicForm.DescentPackage.notion - field
AutomorphicForm.DescentPackage.seed_isCusp - field
AutomorphicForm.DescentPackage.seed_constantOnFibers - field
AutomorphicForm.DescentPackage.descent - field
AutomorphicForm.DescentPackage.multOne
Source
import Mathlib open IsDedekindDomain NumberField noncomputable section namespace AutomorphicForm structure HeckeEigensystem (F : Type*) [Field F] [NumberField F] (R : Type*) [CommRing R] where level : Ideal (𝓞 F) level_ne_bot : level ≠ ⊥ a : HeightOneSpectrum (𝓞 F) → R b : HeightOneSpectrum (𝓞 F) → R namespace HeckeEigensystem variable {F : Type*} [Field F] [NumberField F] {R : Type*} [CommRing R] def twist (Φ : HeckeEigensystem F R) (χ : HeightOneSpectrum (𝓞 F) → R) : HeckeEigensystem F R where level := Φ.level level_ne_bot := Φ.level_ne_bot a := fun v => χ v * Φ.a v b := fun v => χ v ^ 2 * Φ.b v @[simp] theorem twist_a (Φ : HeckeEigensystem F R) (χ : HeightOneSpectrum (𝓞 F) → R) (v : HeightOneSpectrum (𝓞 F)) : (Φ.twist χ).a v = χ v * Φ.a v := rfl @[simp] theorem twist_b (Φ : HeckeEigensystem F R) (χ : HeightOneSpectrum (𝓞 F) → R) (v : HeightOneSpectrum (𝓞 F)) : (Φ.twist χ).b v = χ v ^ 2 * Φ.b v := rfl def AgreesAwayFromFinite (Φ Φ' : HeckeEigensystem F R) : Prop := ∃ S : Finset (HeightOneSpectrum (𝓞 F)), ∀ v ∉ S, Φ.a v = Φ'.a v ∧ Φ.b v = Φ'.b v def IsConstantOnFibers {L : Type*} [Field L] [NumberField L] {R : Type*} [CommRing R] (Φ : HeckeEigensystem L R) (E : Type*) [Field E] [NumberField E] [Algebra (𝓞 E) (𝓞 L)] [Algebra.IsIntegral (𝓞 E) (𝓞 L)] : Prop := ∃ S : Finset (HeightOneSpectrum (𝓞 L)), ∀ 𝔓₁ ∉ S, ∀ 𝔓₂ ∉ S, 𝔓₁.under (𝓞 E) = 𝔓₂.under (𝓞 E) → (𝔓₁.under (𝓞 E)).asIdeal.inertiaDeg' 𝔓₁.asIdeal = (𝔓₂.under (𝓞 E)).asIdeal.inertiaDeg' 𝔓₂.asIdeal → Φ.a 𝔓₁ = Φ.a 𝔓₂ ∧ Φ.b 𝔓₁ = Φ.b 𝔓₂ end HeckeEigensystem def satakePow {R : Type*} [CommRing R] (n : ℕ) (s e : R) : R := match n with | 0 => 2 | 1 => s | (n + 2) => s * satakePow (n + 1) s e - e * satakePow n s e @[simp] theorem satakePow_zero {R : Type*} [CommRing R] (s e : R) : satakePow 0 s e = 2 := rfl @[simp] theorem satakePow_one {R : Type*} [CommRing R] (s e : R) : satakePow 1 s e = s := rfl theorem satakePow_add_two {R : Type*} [CommRing R] (n : ℕ) (s e : R) : satakePow (n + 2) s e = s * satakePow (n + 1) s e - e * satakePow n s e := rfl section Transfer variable {E L : Type*} [Field E] [NumberField E] [Field L] [NumberField L] [Algebra (𝓞 E) (𝓞 L)] [Algebra.IsIntegral (𝓞 E) (𝓞 L)] {R : Type*} [CommRing R] def IsBaseChangeAt (π : HeckeEigensystem E R) (Φ : HeckeEigensystem L R) (𝔓 : HeightOneSpectrum (𝓞 L)) : Prop := Φ.a 𝔓 = satakePow ((𝔓.under (𝓞 E)).asIdeal.inertiaDeg' 𝔓.asIdeal) (π.a (𝔓.under (𝓞 E))) (π.b (𝔓.under (𝓞 E))) ∧ Φ.b 𝔓 = (π.b (𝔓.under (𝓞 E))) ^ ((𝔓.under (𝓞 E)).asIdeal.inertiaDeg' 𝔓.asIdeal) def IsBaseChangeOf (π : HeckeEigensystem E R) (Φ : HeckeEigensystem L R) : Prop := ∃ S : Finset (HeightOneSpectrum (𝓞 L)), ∀ 𝔓 ∉ S, IsBaseChangeAt π Φ 𝔓 def IsDescentOf (Φ : HeckeEigensystem L R) (π : HeckeEigensystem E R) : Prop := IsBaseChangeOf π Φ end Transfer structure CuspidalityNotion (R : Type*) [CommRing R] where IsCusp : ∀ (F : Type) [Field F] [NumberField F], HeckeEigensystem F R → Prop structure DescentPackage (R : Type*) [CommRing R] (E L : Type) [Field E] [NumberField E] [Field L] [NumberField L] [Algebra (𝓞 E) (𝓞 L)] [Algebra.IsIntegral (𝓞 E) (𝓞 L)] (Φ₀ : HeckeEigensystem L R) where notion : CuspidalityNotion R seed_isCusp : notion.IsCusp L Φ₀ seed_constantOnFibers : Φ₀.IsConstantOnFibers E descent : ∀ Φ : HeckeEigensystem L R, notion.IsCusp L Φ → Φ.IsConstantOnFibers E → ∃ π : HeckeEigensystem E R, notion.IsCusp E π ∧ IsBaseChangeOf π Φ multOne : ∀ π π' : HeckeEigensystem E R, notion.IsCusp E π → notion.IsCusp E π' → HeckeEigensystem.AgreesAwayFromFinite π π' → ∀ v : HeightOneSpectrum (𝓞 E), ¬ v.asIdeal ∣ π.level → ¬ v.asIdeal ∣ π'.level → π.a v = π'.a v end AutomorphicForm end
Statements phrased using this module (19)
- Lift-valued Hecke system and its χ₋₃-twist are both cuspidal
LanglandsTunnell.exists_liftValued_isCusp_pair_of_detDictionaryRow6,801 below · depth 10 - Lift-valued cuspidal Hecke system for octahedral GL₂(𝔽₃)-extensions
LanglandsTunnell.exists_liftValued_isCusp_pair_of_detDictionaryRow_of_coversModCentre6,800 below · depth 11 - Octahedral Langlands–Tunnell over ℚ at cubic-resolvent grain
LanglandsTunnell.exists_agreesLiftTraceSeed_isCusp_pair_of_detDictionaryRow_of_coversModCentre5,218 below · depth 12 - Lucas recursion computes power sums αⁿ+βⁿ
AutomorphicForm.satakePow_add_pow0 below · depth 14 - Automorphic induction of a ray class symbol to weight one
LanglandsTunnell.exists_isGenuineCusp_archWeightOne_a_eq_of_raySymbol_eq_prod_of_finrank_eq_two353 below · depth 14 - Automorphic induction of a quadratic Hecke character, weight one
LanglandsTunnell.exists_isGenuineCusp_archWeightOne_a_eq_of_isFiniteOrderHeckeChar_of_finrank_eq_two352 below · depth 15 - Holomorphy at real places of half-determinant twisted translate sums
LanglandsTunnell.Converse.CuspSynthesis.isArchHolomorphicAt_translateSum_halfDet27 below · depth 16 - Genericity of degree-f Satake power sums under a local bound
LanglandsTunnell.Converse.satakePow_sq_ne_of_sq_eq_real_mul_of_norm_sq_lt1 below · depth 16 - Entire twisted L-functions of an induced Hecke eigensystem
LanglandsTunnell.exists_differentiable_hasProd_eulerProduct_induced_twist_of_isFiniteOrderHeckeChar_of_finrank_eq_two70 below · depth 16 - Induced datum from a finite-order Hecke character is nicely pinned
LanglandsTunnell.exists_isNicePinned_twistedDatum_induced_of_isFiniteOrderHeckeChar_of_finrank_eq_two128 below · depth 16 - Estimates for the Whittaker series of a nice JL datum
LanglandsTunnell.Converse.CuspSynthesis.exists_growth_exponent_and_local_majorant_and_bounded_on_siegel_of_isJLNice23 below · depth 17 - Inductivity of conductor and root number for a quadratic extension
LanglandsTunnell.exists_heckeRootNumber_eq_mul_pinnedRootNumber_and_heckeConductor_eq_induced_of_finrank_eq_two49 below · depth 17 - Artin induction of L- and Γ-factors in a quadratic extension
LanglandsTunnell.wellFormed_converges_twistedDatum_and_archFactor_lFun_heckeDatum_eq_induced_of_finrank_eq_two12 below · depth 17 - Transporting a continuous cusp realization to the standard Siegel window
AutomorphicForm.exists_smoothCuspRealizationAt_productionPinsGeneral_toFun_eq_of_coversModCentre21 below · depth 20 - Formal base change satisfies the base-change relation
AutomorphicForm.isBaseChangeOf_formalBaseChange0 below · depth 21 - Vanishing of the isotypic cusp space when v∣ N
AutomorphicForm.isotypicCuspSubmodule_productionPinsOf_principal_eq_bot_of_dvd1 below · depth 21 - Vanishing of level-one isotypic cusp spaces at primes dividing the level
AutomorphicForm.isotypicCuspSubmodule_productionPinsOf_levelOne_eq_bot_of_dvd1 below · depth 22 - Finiteness of fibres of (a,b)↦(p_f(a,b),b^f)
AutomorphicForm.finite_preimage_satakePow_pow0 below · depth 24 - Cuspidal realization transfers to the standard Siegel window
AutomorphicForm.exists_smoothCuspRealizationAt_productionPinsGeneral_toFun_eq_of_lt_of_coversModCentre24 below · depth 26