Definitions/Def_AutomorphicForm_ArithCuspRealization.lean
Arithmetically normalised cuspidal realizability of Hecke eigensystems
For a number field F the module first sets up a rescaling of the central (determinant) eigenvalues of a Hecke eigensystem. Here cNorm v is the absolute norm N(v)=\#(\mathcal O_F/v) of a height-one prime v of \mathcal O_F, viewed in \mathbb C; it is nonzero since v\neq 0. Given \Phi=(\text{level},a,b) with values in \mathbb C, toRawCentral keeps the level and the eigenvalues a_v and replaces b_v by N(v)^{-1}b_v, while ofRawCentral replaces b_v by N(v)\,b_v. The accompanying lemmas record the component formulas, that the two maps are mutually inverse (hence toRawCentral is injective), and that agreement of two eigensystems outside a finite set of primes is both preserved and reflected by toRawCentral (reflection uses invertibility of N(v) in \mathbb C).
On this the arithmetic cuspidality predicate is defined: for a bundle pins of carrier data (measurable structure and measure on \mathrm{GL}_2 of the adeles, a fundamental-domain set, a central subgroup, level subgroups U(N), local Hecke generators, and a measure on the adeles) one sets \texttt{IsArithCuspRealizable}\,F\,\texttt{pins}\,\Phi:=\texttt{IsSmoothCuspRealizable}\,F\,\texttt{pins}\,\Phi.\texttt{toRawCentral}, i.e. the nonemptiness of the project's structure SmoothCuspRealizationAt for the rescaled eigensystem: a nonzero function \varphi on \mathrm{GL}_2(\mathbb A_F) with a central character on pins.Z, which is cuspidal, L^2 on the chosen domain and smooth for the finite part, right invariant under pins.U Φ.level, and which outside some finite set of primes is a Hecke eigenfunction with eigenvalue a_v for a system of N(v)+1 cosets in the double coset of pins.gen v, with the centre acting through \det(\texttt{pins.gen}\,v) by N(v)^{-1}b_v. Thus realizability is a predicate on a chosen adelic model, not an intrinsic notion. The remaining declarations are formal consequences: the unfolding iff, the inverse reformulation via ofRawCentral, a version IsArithCuspRealizableVia for an eigensystem over any commutative ring together with a ring homomorphism to \mathbb C (apply the predicate to the pushed-forward eigensystem), the packaging arithCuspNotionOf of the predicate, uniform in F, as a CuspidalityNotion ℂ, and a congruence statement IsArithCuspRealizable.congr which takes as an explicit hypothesis a transport principle for IsSmoothCuspRealizable along equality of levels and agreement away from a finite set, and deduces the corresponding transport for the arithmetic predicate.
Relation to Mathlib
Mathlib has no notion of adelic Hecke eigensystems or of cuspidal automorphic realizations; these are the project's own. Only Ideal.absNorm is taken from Mathlib, coerced to \mathbb C as cNorm.
Where it is used
The predicate produced here is the cuspidality notion fed into the project's base-change and descent framework for Hecke eigensystems (\texttt{IsBaseChangeOf}, \texttt{satakePow}, \texttt{DescentPackage}), where the arithmetic normalisation of the central eigenvalues b_v is the one for which the Satake relations are stated. That framework supports the cyclic base change and descent steps used in the modularity argument.
References
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
- R. P. Langlands, Base Change for GL(2), Annals of Mathematics Studies 96, Princeton University Press, 1980
- S. Gelbart, Automorphic Forms on Adele Groups, Annals of Mathematics Studies 83, Princeton University Press, 1975
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 122 lines
- 23 declarations
- used in the statements of 33 theorems and imported by 65 proofs
- imports 1 definition modules
Source file: Definitions/Def_AutomorphicForm_ArithCuspRealization.lean
Declarations
- def
AutomorphicForm.HeckeEigensystem.cNorm - theorem
AutomorphicForm.HeckeEigensystem.cNorm_ne_zero - def
AutomorphicForm.HeckeEigensystem.toRawCentral - def
AutomorphicForm.HeckeEigensystem.ofRawCentral - theorem
AutomorphicForm.HeckeEigensystem.toRawCentral_level - theorem
AutomorphicForm.HeckeEigensystem.toRawCentral_a - theorem
AutomorphicForm.HeckeEigensystem.toRawCentral_b - theorem
AutomorphicForm.HeckeEigensystem.ofRawCentral_level - theorem
AutomorphicForm.HeckeEigensystem.ofRawCentral_a - theorem
AutomorphicForm.HeckeEigensystem.ofRawCentral_b - theorem
AutomorphicForm.HeckeEigensystem.ofRawCentral_toRawCentral - theorem
AutomorphicForm.HeckeEigensystem.toRawCentral_ofRawCentral - theorem
AutomorphicForm.HeckeEigensystem.toRawCentral_injective - theorem
AutomorphicForm.HeckeEigensystem.AgreesAwayFromFinite.toRawCentral - theorem
AutomorphicForm.HeckeEigensystem.AgreesAwayFromFinite.of_toRawCentral - def
AutomorphicForm.IsArithCuspRealizable - theorem
AutomorphicForm.isArithCuspRealizable_iff - theorem
AutomorphicForm.isSmoothCuspRealizable_iff_isArithCuspRealizable_ofRawCentral - def
AutomorphicForm.IsArithCuspRealizableVia - theorem
AutomorphicForm.isArithCuspRealizableVia_id - def
AutomorphicForm.arithCuspNotionOf - theorem
AutomorphicForm.arithCuspNotionOf_isCusp_iff - theorem
AutomorphicForm.IsArithCuspRealizable.congr
Source
import Definitions.Def_AutomorphicForm_SmoothCuspRealization set_option autoImplicit false open IsDedekindDomain NumberField noncomputable section namespace AutomorphicForm namespace HeckeEigensystem variable {F : Type*} [Field F] [NumberField F] def cNorm (v : HeightOneSpectrum (𝓞 F)) : ℂ := (Ideal.absNorm v.asIdeal : ℂ) theorem cNorm_ne_zero (v : HeightOneSpectrum (𝓞 F)) : cNorm v ≠ 0 := by have hN : Ideal.absNorm v.asIdeal ≠ 0 := Ideal.absNorm_eq_zero_iff.not.mpr v.ne_bot rw [cNorm, Ne, Nat.cast_eq_zero] exact hN def toRawCentral (Φ : HeckeEigensystem F ℂ) : HeckeEigensystem F ℂ where level := Φ.level level_ne_bot := Φ.level_ne_bot a := Φ.a b := fun v => (cNorm v)⁻¹ * Φ.b v def ofRawCentral (Ψ : HeckeEigensystem F ℂ) : HeckeEigensystem F ℂ where level := Ψ.level level_ne_bot := Ψ.level_ne_bot a := Ψ.a b := fun v => cNorm v * Ψ.b v @[simp] theorem toRawCentral_level (Φ : HeckeEigensystem F ℂ) : Φ.toRawCentral.level = Φ.level := rfl @[simp] theorem toRawCentral_a (Φ : HeckeEigensystem F ℂ) (v : HeightOneSpectrum (𝓞 F)) : Φ.toRawCentral.a v = Φ.a v := rfl @[simp] theorem toRawCentral_b (Φ : HeckeEigensystem F ℂ) (v : HeightOneSpectrum (𝓞 F)) : Φ.toRawCentral.b v = (cNorm v)⁻¹ * Φ.b v := rfl @[simp] theorem ofRawCentral_level (Ψ : HeckeEigensystem F ℂ) : Ψ.ofRawCentral.level = Ψ.level := rfl @[simp] theorem ofRawCentral_a (Ψ : HeckeEigensystem F ℂ) (v : HeightOneSpectrum (𝓞 F)) : Ψ.ofRawCentral.a v = Ψ.a v := rfl @[simp] theorem ofRawCentral_b (Ψ : HeckeEigensystem F ℂ) (v : HeightOneSpectrum (𝓞 F)) : Ψ.ofRawCentral.b v = cNorm v * Ψ.b v := rfl @[simp] theorem ofRawCentral_toRawCentral (Φ : HeckeEigensystem F ℂ) : Φ.toRawCentral.ofRawCentral = Φ := by cases Φ with | mk level hl a b => simp only [toRawCentral, ofRawCentral, mk.injEq, true_and] funext v rw [← mul_assoc, mul_inv_cancel₀ (cNorm_ne_zero v), one_mul] @[simp] theorem toRawCentral_ofRawCentral (Ψ : HeckeEigensystem F ℂ) : Ψ.ofRawCentral.toRawCentral = Ψ := by cases Ψ with | mk level hl a b => simp only [toRawCentral, ofRawCentral, mk.injEq, true_and] funext v rw [← mul_assoc, inv_mul_cancel₀ (cNorm_ne_zero v), one_mul] theorem toRawCentral_injective : Function.Injective (toRawCentral (F := F)) := fun Φ Φ' h => by rw [← ofRawCentral_toRawCentral Φ, h, ofRawCentral_toRawCentral] theorem AgreesAwayFromFinite.toRawCentral {Φ Φ' : HeckeEigensystem F ℂ} (h : AgreesAwayFromFinite Φ Φ') : AgreesAwayFromFinite Φ.toRawCentral Φ'.toRawCentral := by obtain ⟨S, hS⟩ := h exact ⟨S, fun v hv => ⟨(hS v hv).1, congrArg ((cNorm v)⁻¹ * ·) (hS v hv).2⟩⟩ theorem AgreesAwayFromFinite.of_toRawCentral {Φ Φ' : HeckeEigensystem F ℂ} (h : AgreesAwayFromFinite Φ.toRawCentral Φ'.toRawCentral) : AgreesAwayFromFinite Φ Φ' := by obtain ⟨S, hS⟩ := h exact ⟨S, fun v hv => ⟨(hS v hv).1, mul_left_cancel₀ (inv_ne_zero (cNorm_ne_zero v)) (hS v hv).2⟩⟩ end HeckeEigensystem variable (F : Type) [Field F] [NumberField F] def IsArithCuspRealizable (pins : CarrierPins F) (Φ : HeckeEigensystem F ℂ) : Prop := IsSmoothCuspRealizable F pins Φ.toRawCentral theorem isArithCuspRealizable_iff (pins : CarrierPins F) (Φ : HeckeEigensystem F ℂ) : IsArithCuspRealizable F pins Φ ↔ Nonempty (SmoothCuspRealizationAt F pins Φ.toRawCentral) := Iff.rfl theorem isSmoothCuspRealizable_iff_isArithCuspRealizable_ofRawCentral (pins : CarrierPins F) (Ψ : HeckeEigensystem F ℂ) : IsSmoothCuspRealizable F pins Ψ ↔ IsArithCuspRealizable F pins Ψ.ofRawCentral := by unfold IsArithCuspRealizable; rw [HeckeEigensystem.toRawCentral_ofRawCentral] def IsArithCuspRealizableVia (pins : CarrierPins F) {R : Type*} [CommRing R] (ι : R →+* ℂ) (Φ : HeckeEigensystem F R) : Prop := IsArithCuspRealizable F pins (Φ.map ι) theorem isArithCuspRealizableVia_id (pins : CarrierPins F) (Φ : HeckeEigensystem F ℂ) : IsArithCuspRealizableVia F pins (RingHom.id ℂ) Φ ↔ IsArithCuspRealizable F pins Φ := by unfold IsArithCuspRealizableVia; rw [HeckeEigensystem.map_id] def arithCuspNotionOf (pins : ∀ (F : Type) [Field F] [NumberField F], CarrierPins F) : CuspidalityNotion ℂ where IsCusp := fun F _i1 _i2 Φ => @IsArithCuspRealizable F _i1 _i2 (pins F) Φ theorem arithCuspNotionOf_isCusp_iff (pins : ∀ (F : Type) [Field F] [NumberField F], CarrierPins F) (Φ : HeckeEigensystem F ℂ) : (arithCuspNotionOf pins).IsCusp F Φ ↔ IsArithCuspRealizable F (pins F) Φ := Iff.rfl variable {F} theorem IsArithCuspRealizable.congr {pins : CarrierPins F} {Φ Φ' : HeckeEigensystem F ℂ} (transport : ∀ Ψ Ψ' : HeckeEigensystem F ℂ, Ψ'.level = Ψ.level → HeckeEigensystem.AgreesAwayFromFinite Ψ Ψ' → IsSmoothCuspRealizable F pins Ψ → IsSmoothCuspRealizable F pins Ψ') (hlev : Φ'.level = Φ.level) (hagree : HeckeEigensystem.AgreesAwayFromFinite Φ Φ') (h : IsArithCuspRealizable F pins Φ) : IsArithCuspRealizable F pins Φ' := transport Φ.toRawCentral Φ'.toRawCentral hlev hagree.toRawCentral h end AutomorphicForm end
Statements phrased using this module (33)
- Admissible twist matching base-changed central entries at unramified places
LanglandsTunnell.Converse.exists_isAdmissibleTwist_eq_formalBaseChange_b_of_isArithGenuineCuspRealizable12 below · depth 14 - Determinant eigenvalues come from a finite-order Hecke character
LanglandsTunnell.exists_isFiniteOrderHeckeChar_det_heckeGen_eq_b_of_isArithGenuineCuspRealizable2 below · depth 14 - Niceness of generic twisted base-change data over a cubic field
LanglandsTunnell.exists_isNicePinned_twistedDatum_formalBaseChange_superset_generic_of_norm_eq_one_of_summable2,507 below · depth 14 - Genericity of the formal base change outside finitely many primes
LanglandsTunnell.Converse.exists_formalBaseChange_generic_of_isArithGenuineCuspRealizable26 below · depth 15 - Square-integrability of translate sums on a Siegel window
LanglandsTunnell.Converse.CuspSynthesis.memLp_translateSum45 below · depth 16 - Unipotent-invariant Hecke eigenfunctions are zero or Eisenstein
LanglandsTunnell.Converse.eq_zero_or_exists_agreesAwayFromFinite_eisensteinTableOf_of_unipotent_invariant16 below · depth 16 - Euler product unfolding of an adelic GL₂ zeta integral
UnramifiedWhittaker.exists_hasProd_eulerFactors_and_integral_zetaIntegrand_eq1 below · depth 16 - A bad set for a smoothed cusp realisation, with coset data
AutomorphicForm.SmoothCuspRealizationAt.exists_finset_badSet_rightConv_section31 below · depth 17 - Polynomial bounds on Hecke eigenvalues from moderate growth
AutomorphicForm.SmoothCuspRealizationAt.exists_forall_norm_a_le_rpow_and_norm_b_le_rpow_of_moderateGrowth4 below · depth 17 - Transfer of unramified Whittaker data to a Schwartz–Bruhat average
AutomorphicForm.whittakerCoefficient_unipotentAverage_unramified_package84 below · depth 17 - Torus recursions for a unipotent-invariant Hecke eigenfunction
LanglandsTunnell.Converse.eq_zero_or_exists_continuous_torus_recursion_of_unipotent_invariant3 below · depth 17 - Growth of class sums of Hecke recursion values
AutomorphicForm.ClassSumGrowth.exists_forall_classBlock_le_and_classSum_le135 below · depth 18 - Linear lower bound for class-restricted mean-square Hecke sums
AutomorphicForm.ClassSumGrowth.exists_forall_le_classSum_of_classCarriesMass487 below · depth 18 - Twist-stability of arithmetic genuine cusp-realizability on a covering window
LanglandsTunnell.exists_isArithGenuineCuspRealizable_twist_of_coversModCentre_centreCut94 below · depth 18 - Adjointness relations for Hecke eigenvalues under a covariant pairing
AutomorphicForm.a_mul_conj_b_eq_and_norm_b_eq_of_sesqForm_covariant_of_ne_zero4 below · depth 19 - Agreement of Hecke eigensystems from an invariant pairing
AutomorphicForm.agreesAwayFromFinite_of_projInvariant_sesqForm_ne_zero1 below · depth 20 - Admissible twist on K matching a formal base change
LanglandsTunnell.Converse.exists_isAdmissibleTwist_eq_formalBaseChange_b_isArchCompAt_archOfParam18 below · depth 20 - A compact carrier for Satake boxes and their formal base change
AutomorphicForm.exists_isCompact_carrier_box_union_formalBaseChange0 below · depth 23 - Hecke word evaluation on adelic induced sections
AutomorphicForm.rightConv_eq_prod_pow_mul_pow_mul_rightConv_of_isInducedSection_of_isUnitFactorization4 below · depth 24 - Slot-family expansion of base-changed Hecke words over a finite set of places
AutomorphicForm.sum_slotFamilyCoeff_mul_prod_pow_mul_pow_eq_prod_eval_slotWord_div0 below · depth 24 - Galois-conjugate primes have equal absolute norm
AutomorphicForm.HeckeEigensystem.cNorm_eq_of_asIdeal_eq_smul0 below · depth 27 - Pushing a torus functional to the table space along Hecke words
AutomorphicForm.exists_clm_cylinder_noAtomicMass_and_apply_monomial_eq_sum_laurentCoeff_mul_of_box_noAtomicMass4 below · depth 27 - Derivative at s=1 of the twisted local unipotent zeta integral
TwistedUnipotentTerm.exists_forall_deriv_localZeta_twistedLocalFactor_one_eq_weighted_moments_unram25 below · depth 27 - Unramified twisted local factor: central binomial local zeta value
TwistedUnipotentTerm.exists_forall_localZeta_twistedLocalFactor_one_one_eq_mul_centralBinom_unram23 below · depth 27 - Vanishing twisted local factor for a non-trivial semi-local character
TwistedUnipotentTerm.twistedLocalFactor_eq_zero_of_exists_semiLocalCharacter_ne_one_unram0 below · depth 27 - Compact (t,t⁻¹)-torus and its table map into X
AutomorphicForm.isCompact_and_exists_torusEmb_and_exists_tableMap_apply_eq_of_sq_eq0 below · depth 28 - Slot-family assembly of the explicit unipotent moments
AutomorphicForm.sum_slotFamilyCoeff_mul_unipotentMoments_eq_mul_sum_laurentCoeff_add_sum_laurentCoeff_edge2 below · depth 28 - Holomorphy of the twisted local zeta integral on Re s>0
TwistedUnipotentTerm.differentiableOn_localZeta_twistedLocalFactor_one_unram18 below · depth 28 - Slot combination of unipotent edge moments at one place
AutomorphicForm.SatakeCombination.sum_slotCoeff_mul_unipotentEdgeMoment_eq_mul_sum_laurentCoeff_edge0 below · depth 29 - Slot combination of unipotent moments at one place
AutomorphicForm.SatakeCombination.sum_slotCoeff_mul_unipotentMoment_eq_mul_laurentCoeff_zero0 below · depth 29 - Fibrewise constancy of symmetric data of an unramified character pair
AutomorphicForm.apply_det_heckeGen_add_eq_and_mul_eq_and_cNorm_eq_of_under_eq_of_sigmaInvariant_or_sigmaReversed7 below · depth 30 - Hecke-word eigenvalue for adelic induced sections under right convolution
AutomorphicForm.rightConv_eq_prod_pow_mul_pow_mul_rightConv_of_isInducedSection_of_isSemiLocalFactorization4 below · depth 30 - Unramified characters identify conjugate uniformiser ideles
M4aHerbrand.IdeleGaloisDescent.apply_unitsAct_det_heckeGen_eq_apply_det_heckeGen_of_asIdeal_eq_smul_of_isUnramifiedCharAt6 below · depth 30