Definitions/Def_NumberField_AdelicTraceFin.lean
Finite-adelic trace and the standard additive character
Let F be a number field. The module constructs an additive map \mathbb{A}_F^{\mathrm{fin}} \to \mathbb{A}_{\mathbb{Q}}^{\mathrm{fin}} on finite adele rings, and uses it to inhabit the trace datum from which the standard global additive character is built. Helper declarations set up the structure map \prod_v \mathcal{O}_{F,v} \to \mathbb{A}_F^{\mathrm{fin}} of the restricted product (recorded to be additive, continuous, to land in integralFiniteAdeles, and to carry the diagonal of \mathcal{O}_F to the image of F), its inverse pre on integral finite adeles, and the fact that an element of F whose diagonal image is integral at every finite place lies in \mathcal{O}_F.
The map itself is defined by choosing, for x \in \mathbb{A}_F^{\mathrm{fin}}, some k \in F with \iota(k) + x integral at all finite places (such k exists by exists_algebraMap_add_mem_integralFiniteAdeles), and setting \operatorname{Tr}_f(x) = \widehat{\operatorname{Tr}}(\iota(k)+x) - \iota(\operatorname{Tr}_{F/\mathbb{Q}}(k)), where \widehat{\operatorname{Tr}} = traceInt F is the continuous extension of a \mapsto \operatorname{Tr}_{\mathcal{O}_F/\mathbb{Z}}(a) from \prod_v \mathcal{O}_{F,v} to \prod_w \mathcal{O}_{\mathbb{Q},w}. Independence of the choice of k (traceFinAux_eq) follows since two choices differ by an element of \mathcal{O}_F; additivity gives traceFinHom as an additive monoid homomorphism. Three properties are proved: traceFinHom_algebraMap, that \operatorname{Tr}_f \circ \iota = \iota \circ \operatorname{Tr}_{F/\mathbb{Q}} on F; traceFinHom_structureMap, that on integral finite adeles presented via the structure map \operatorname{Tr}_f is \widehat{\operatorname{Tr}}; and continuous_traceFinHom, continuity, obtained from continuity at 0 together with the description of the neighbourhood filter of 0 as the pushforward along the structure map. Finally adelicTraceData F is the AdelicTraceData F structure (a record whose fields are the finite and infinite trace homomorphisms together with the theorems that they are compatible with \operatorname{Tr}_{F/\mathbb{Q}} on F, are continuous, and that the infinite one is surjective), assembled from traceFinHom and the archimedean half supplied by archTraceDataOf; and stdAddChar F abbreviates its associated character \psi_F = \psi_{\mathbb{Q}} \circ \operatorname{Tr}_{\mathbb{A}} on \mathbb{A}_F with values in \mathbb{C}.
Relation to Mathlib
Mathlib supplies the finite and infinite adele rings, restricted products and their structure maps, and the algebraic trace form \operatorname{Tr}_{F/\mathbb{Q}}; the adelic trace on finite adeles, the trace datum structure and the resulting global additive character are the project's own.
Where it is used
The standard additive character \psi_F of \mathbb{A}_F/F is the normalisation underlying adelic Fourier analysis and Whittaker expansions for automorphic forms on \mathrm{GL}_2 over F; this module makes such a character available for every number field rather than only for \mathbb{Q}, so that statements formulated for an arbitrary trace datum apply to a concrete one.
References
- J. Tate, Fourier analysis in number fields and Hecke's zeta-functions, thesis, Princeton 1950; in: Algebraic Number Theory (eds. J. W. S. Cassels and A. Fröhlich), Academic Press, 1967
- A. Weil, Basic Number Theory, Grundlehren der mathematischen Wissenschaften 144, Springer, 1974
- 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.
- 205 lines
- 24 declarations
- used in the statements of 86 theorems and imported by 105 proofs
- imports 3 definition modules
Source file: Definitions/Def_NumberField_AdelicTraceFin.lean
Imports
Declarations
- def
NumberField.StandardAddChar.sm - theorem
NumberField.StandardAddChar.sm_apply - theorem
NumberField.StandardAddChar.sm_add - theorem
NumberField.StandardAddChar.sm_zero - def
NumberField.StandardAddChar.smHom - theorem
NumberField.StandardAddChar.continuous_sm - theorem
NumberField.StandardAddChar.sm_mem - theorem
NumberField.StandardAddChar.sm_diag - def
NumberField.StandardAddChar.pre - theorem
NumberField.StandardAddChar.sm_pre - theorem
NumberField.StandardAddChar.pre_sm - theorem
NumberField.StandardAddChar.pre_add - theorem
NumberField.StandardAddChar.exists_eq_of_algebraMap_mem - def
NumberField.StandardAddChar.traceFinAux - theorem
NumberField.StandardAddChar.sm_traceInt_diag - theorem
NumberField.StandardAddChar.traceFinAux_eq - def
NumberField.StandardAddChar.traceFinHom - theorem
NumberField.StandardAddChar.traceFinHom_eq - theorem
NumberField.StandardAddChar.traceFinHom_algebraMap - theorem
NumberField.StandardAddChar.traceFinHom_sm - theorem
NumberField.StandardAddChar.traceFinHom_structureMap - theorem
NumberField.StandardAddChar.continuous_traceFinHom - def
NumberField.StandardAddChar.adelicTraceData - abbrev
NumberField.StandardAddChar.stdAddChar
Source
import Definitions.Def_NumberField_AdelicTraceProducer import Definitions.Def_NumberField_IntegralAdelicTrace import Definitions.Def_NumberField_AdelicBox import Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace ↗ set_option synthInstance.maxHeartbeats 100000 namespace NumberField.StandardAddChar noncomputable section open IsDedekindDomain NumberField NumberField.AdelicBox NumberField.AdelicTrace Topology Filter section FiniteTrace variable (K : Type) [Field K] [NumberField K] private def sm (z : Π v : HeightOneSpectrum (𝓞 K), v.adicCompletionIntegers K) : FiniteAdeleRing (𝓞 K) K := RestrictedProduct.structureMap (fun v : HeightOneSpectrum (𝓞 K) => v.adicCompletion K) (fun v => (v.adicCompletionIntegers K : Set (v.adicCompletion K))) Filter.cofinite z private theorem sm_apply (z : Π v : HeightOneSpectrum (𝓞 K), v.adicCompletionIntegers K) (v : HeightOneSpectrum (𝓞 K)) : sm K z v = (z v : v.adicCompletion K) := rfl private theorem sm_add (x y : Π v : HeightOneSpectrum (𝓞 K), v.adicCompletionIntegers K) : sm K (x + y) = sm K x + sm K y := RestrictedProduct.ext _ _ fun v => rfl private theorem sm_zero : sm K 0 = 0 := RestrictedProduct.ext _ _ fun v => rfl private def smHom : (Π v : HeightOneSpectrum (𝓞 K), v.adicCompletionIntegers K) →+ FiniteAdeleRing (𝓞 K) K where toFun := sm K map_zero' := sm_zero K map_add' := sm_add K private theorem continuous_sm : Continuous (sm K) := (RestrictedProduct.isEmbedding_structureMap).continuous private theorem sm_mem (z : Π v : HeightOneSpectrum (𝓞 K), v.adicCompletionIntegers K) : sm K z ∈ integralFiniteAdeles (𝓞 K) K := fun v => (z v).2 private theorem sm_diag (a : 𝓞 K) : sm K (diag K a) = algebraMap K (FiniteAdeleRing (𝓞 K) K) (a : K) := RestrictedProduct.ext _ _ fun v => by change ((algebraMap (𝓞 K) (v.adicCompletionIntegers K) a : v.adicCompletion K)) = _ rw [coe_algebraMap_adicCompletionIntegers] rfl private def pre (z : FiniteAdeleRing (𝓞 K) K) (hz : z ∈ integralFiniteAdeles (𝓞 K) K) : Π v : HeightOneSpectrum (𝓞 K), v.adicCompletionIntegers K := fun v => ⟨z v, hz v⟩ private theorem sm_pre (z : FiniteAdeleRing (𝓞 K) K) (hz : z ∈ integralFiniteAdeles (𝓞 K) K) : sm K (pre K z hz) = z := RestrictedProduct.ext _ _ fun v => rfl private theorem pre_sm (w : Π v : HeightOneSpectrum (𝓞 K), v.adicCompletionIntegers K) : pre K (sm K w) (sm_mem K w) = w := funext fun v => Subtype.ext rfl private theorem pre_add (z₁ z₂ : FiniteAdeleRing (𝓞 K) K) (h₁ : z₁ ∈ integralFiniteAdeles (𝓞 K) K) (h₂ : z₂ ∈ integralFiniteAdeles (𝓞 K) K) (h : z₁ + z₂ ∈ integralFiniteAdeles (𝓞 K) K) : pre K (z₁ + z₂) h = pre K z₁ h₁ + pre K z₂ h₂ := funext fun v => Subtype.ext rfl private theorem exists_eq_of_algebraMap_mem {ξ : K} (h : algebraMap K (FiniteAdeleRing (𝓞 K) K) ξ ∈ integralFiniteAdeles (𝓞 K) K) : ∃ a : 𝓞 K, (a : K) = ξ := by have hint : ∀ v : HeightOneSpectrum (𝓞 K), v.valuation K ξ ≤ 1 := fun v => by have hv : (algebraMap K (FiniteAdeleRing (𝓞 K) K) ξ) v ∈ v.adicCompletionIntegers K := h v rwa [HeightOneSpectrum.mem_adicCompletionIntegers, show (algebraMap K (FiniteAdeleRing (𝓞 K) K) ξ) v = (ξ : v.adicCompletion K) from rfl, HeightOneSpectrum.valuedAdicCompletion_eq_valuation'] at hv obtain ⟨a, ha⟩ := HeightOneSpectrum.mem_integers_of_valuation_le_one K ξ hint exact ⟨a, by rw [RingOfIntegers.coe_eq_algebraMap]; exact ha⟩ variable (F : Type) [Field F] [NumberField F] private def traceFinAux (x : FiniteAdeleRing (𝓞 F) F) (k : F) (hk : algebraMap F (FiniteAdeleRing (𝓞 F) F) k + x ∈ integralFiniteAdeles (𝓞 F) F) : FiniteAdeleRing (𝓞 ℚ) ℚ := sm ℚ (traceInt F (pre F _ hk)) - algebraMap ℚ (FiniteAdeleRing (𝓞 ℚ) ℚ) (Algebra.trace ℚ F k) private theorem sm_traceInt_diag (a : 𝓞 F) : sm ℚ (traceInt F (diag F a)) = algebraMap ℚ (FiniteAdeleRing (𝓞 ℚ) ℚ) (Algebra.trace ℚ F (a : F)) := by rw [traceInt_diag, ← diag_eq, sm_diag, ← Algebra.coe_trace_int] congr 1 private theorem traceFinAux_eq (x : FiniteAdeleRing (𝓞 F) F) (k k' : F) (hk : algebraMap F (FiniteAdeleRing (𝓞 F) F) k + x ∈ integralFiniteAdeles (𝓞 F) F) (hk' : algebraMap F (FiniteAdeleRing (𝓞 F) F) k' + x ∈ integralFiniteAdeles (𝓞 F) F) : traceFinAux F x k hk = traceFinAux F x k' hk' := by have hdiff : algebraMap F (FiniteAdeleRing (𝓞 F) F) (k - k') ∈ integralFiniteAdeles (𝓞 F) F := by have : algebraMap F (FiniteAdeleRing (𝓞 F) F) (k - k') = (algebraMap F _ k + x) - (algebraMap F _ k' + x) := by rw [(algebraMap F (FiniteAdeleRing (𝓞 F) F)).map_sub]; ring rw [this] exact fun v => sub_mem (hk v) (hk' v) obtain ⟨a, ha⟩ := exists_eq_of_algebraMap_mem F hdiff have hpre : pre F _ hk = pre F _ hk' + diag F a := by funext v apply Subtype.ext show (algebraMap F (FiniteAdeleRing (𝓞 F) F) k + x) v = (algebraMap F (FiniteAdeleRing (𝓞 F) F) k' + x) v + (diag F a v : v.adicCompletion F) rw [diag_apply, coe_algebraMap_adicCompletionIntegers] have hk_eq : k = k' + (a : F) := by rw [ha]; ring rw [hk_eq, (algebraMap F (FiniteAdeleRing (𝓞 F) F)).map_add] show ((algebraMap F _ k' + algebraMap F _ (a : F)) + x) v = _ rw [add_right_comm] rfl unfold traceFinAux rw [hpre, (traceInt F).map_add, sm_add, sm_traceInt_diag, ha, (Algebra.trace ℚ F).map_sub, (algebraMap ℚ (FiniteAdeleRing (𝓞 ℚ) ℚ)).map_sub] ring def traceFinHom : FiniteAdeleRing (𝓞 F) F →+ FiniteAdeleRing (𝓞 ℚ) ℚ := AddMonoidHom.mk' (fun x => traceFinAux F x (Classical.choose (exists_algebraMap_add_mem_integralFiniteAdeles (𝓞 F) F x)) (Classical.choose_spec (exists_algebraMap_add_mem_integralFiniteAdeles (𝓞 F) F x))) (by intro x y set kx := Classical.choose (exists_algebraMap_add_mem_integralFiniteAdeles (𝓞 F) F x) have hkx := Classical.choose_spec (exists_algebraMap_add_mem_integralFiniteAdeles (𝓞 F) F x) set ky := Classical.choose (exists_algebraMap_add_mem_integralFiniteAdeles (𝓞 F) F y) have hky := Classical.choose_spec (exists_algebraMap_add_mem_integralFiniteAdeles (𝓞 F) F y) have hkxy : algebraMap F (FiniteAdeleRing (𝓞 F) F) (kx + ky) + (x + y) ∈ integralFiniteAdeles (𝓞 F) F := by have : algebraMap F (FiniteAdeleRing (𝓞 F) F) (kx + ky) + (x + y) = (algebraMap F _ kx + x) + (algebraMap F _ ky + y) := by rw [(algebraMap F (FiniteAdeleRing (𝓞 F) F)).map_add]; ring rw [this]; exact fun v => add_mem (hkx v) (hky v) show traceFinAux F (x + y) _ _ = traceFinAux F x kx hkx + traceFinAux F y ky hky rw [traceFinAux_eq F (x + y) _ (kx + ky) _ hkxy] unfold traceFinAux have hpre : pre F _ hkxy = pre F _ hkx + pre F _ hky := by funext v; apply Subtype.ext show (algebraMap F (FiniteAdeleRing (𝓞 F) F) (kx + ky) + (x + y)) v = _ rw [show algebraMap F (FiniteAdeleRing (𝓞 F) F) (kx + ky) + (x + y) = (algebraMap F _ kx + x) + (algebraMap F _ ky + y) by rw [(algebraMap F (FiniteAdeleRing (𝓞 F) F)).map_add]; ring] rfl rw [hpre, (traceInt F).map_add, sm_add, (Algebra.trace ℚ F).map_add, (algebraMap ℚ (FiniteAdeleRing (𝓞 ℚ) ℚ)).map_add] ring) private theorem traceFinHom_eq (x : FiniteAdeleRing (𝓞 F) F) (k : F) (hk : algebraMap F (FiniteAdeleRing (𝓞 F) F) k + x ∈ integralFiniteAdeles (𝓞 F) F) : traceFinHom F x = sm ℚ (traceInt F (pre F _ hk)) - algebraMap ℚ (FiniteAdeleRing (𝓞 ℚ) ℚ) (Algebra.trace ℚ F k) := traceFinAux_eq F x _ k _ hk theorem traceFinHom_algebraMap (q : F) : traceFinHom F (algebraMap F (FiniteAdeleRing (𝓞 F) F) q) = algebraMap ℚ (FiniteAdeleRing (𝓞 ℚ) ℚ) (Algebra.trace ℚ F q) := by have h0 : algebraMap F (FiniteAdeleRing (𝓞 F) F) (-q) + algebraMap F (FiniteAdeleRing (𝓞 F) F) q ∈ integralFiniteAdeles (𝓞 F) F := by rw [(algebraMap F (FiniteAdeleRing (𝓞 F) F)).map_neg, neg_add_cancel]; exact fun v => zero_mem _ rw [traceFinHom_eq F _ (-q) h0] have hpre : pre F _ h0 = 0 := by funext v; apply Subtype.ext show (algebraMap F (FiniteAdeleRing (𝓞 F) F) (-q) + algebraMap F (FiniteAdeleRing (𝓞 F) F) q) v = _ rw [(algebraMap F (FiniteAdeleRing (𝓞 F) F)).map_neg, neg_add_cancel]; rfl rw [hpre, (traceInt F).map_zero, sm_zero, (Algebra.trace ℚ F).map_neg, (algebraMap ℚ (FiniteAdeleRing (𝓞 ℚ) ℚ)).map_neg, zero_sub, neg_neg] private theorem traceFinHom_sm (w : Π v : HeightOneSpectrum (𝓞 F), v.adicCompletionIntegers F) : traceFinHom F (sm F w) = sm ℚ (traceInt F w) := by have h0 : algebraMap F (FiniteAdeleRing (𝓞 F) F) 0 + sm F w ∈ integralFiniteAdeles (𝓞 F) F := by rw [(algebraMap F (FiniteAdeleRing (𝓞 F) F)).map_zero, zero_add]; exact sm_mem F w rw [traceFinHom_eq F _ 0 h0] have hpre : pre F _ h0 = w := by funext v; apply Subtype.ext show (algebraMap F (FiniteAdeleRing (𝓞 F) F) 0 + sm F w) v = (w v : v.adicCompletion F) rw [(algebraMap F (FiniteAdeleRing (𝓞 F) F)).map_zero, zero_add]; rfl rw [hpre, (Algebra.trace ℚ F).map_zero, (algebraMap ℚ (FiniteAdeleRing (𝓞 ℚ) ℚ)).map_zero, sub_zero] theorem traceFinHom_structureMap (w : Π v : HeightOneSpectrum (𝓞 F), v.adicCompletionIntegers F) : traceFinHom F (RestrictedProduct.structureMap (fun v : HeightOneSpectrum (𝓞 F) => v.adicCompletion F) (fun v => (v.adicCompletionIntegers F : Set (v.adicCompletion F))) Filter.cofinite w) = RestrictedProduct.structureMap (fun v : HeightOneSpectrum (𝓞 ℚ) => v.adicCompletion ℚ) (fun v => (v.adicCompletionIntegers ℚ : Set (v.adicCompletion ℚ))) Filter.cofinite (traceInt F w) := traceFinHom_sm F w theorem continuous_traceFinHom : Continuous (traceFinHom F) := by apply continuous_of_continuousAt_zero rw [ContinuousAt, (traceFinHom F).map_zero] have hopen : ∀ v : HeightOneSpectrum (𝓞 F), IsOpen ((v.adicCompletionIntegers F : Set (v.adicCompletion F))) := fun v => Valued.isOpen_valuationSubring _ have h0 : (0 : FiniteAdeleRing (𝓞 F) F) = sm F 0 := (sm_zero F).symm have hnhds : 𝓝 (0 : FiniteAdeleRing (𝓞 F) F) = Filter.map (sm F) (𝓝 0) := by rw [h0] exact RestrictedProduct.nhds_zero_eq_map_structureMap (fun v : HeightOneSpectrum (𝓞 F) => v.adicCompletion F) (B := fun v => v.adicCompletionIntegers F) hopen rw [hnhds, Filter.tendsto_map'_iff] have : (traceFinHom F) ∘ sm F = sm ℚ ∘ traceInt F := funext fun w => traceFinHom_sm F w rw [this] have hc : Continuous (sm ℚ ∘ traceInt F) := (continuous_sm ℚ).comp (continuous_traceInt F) have h00 : (sm ℚ ∘ traceInt F) 0 = 0 := by show sm ℚ (traceInt F 0) = 0 rw [(traceInt F).map_zero, sm_zero] have ht := hc.tendsto 0 rwa [h00] at ht def adelicTraceData : AdelicTraceData F := archTraceDataOf F (traceFinHom F) (traceFinHom_algebraMap F) (continuous_traceFinHom F) abbrev stdAddChar : AddChar (AdeleRing (𝓞 F) F) ℂ := (adelicTraceData F).psiK end FiniteTrace end end NumberField.StandardAddChar
Statements phrased using this module (86)
- The standard adelic character ψ_F is global
NumberField.StandardAddChar.isGlobalAddChar_stdAddChar0 below · depth 14 - Global additive characters of A_F are dilates of ψ_F
AutomorphicForm.exists_ne_zero_forall_eq_stdAddChar_mul_of_isGlobalAddChar10 below · depth 15 - Archimedean normalisation of the standard adelic character
NumberField.StandardAddChar.stdAddChar_apply_mk_zero_eq_fourierChar_trace2 below · depth 16 - Decay bound for cuspidal functions on a centre-cut Siegel window
AutomorphicForm.exists_forall_norm_le_mul_prod_rpow_neg_of_hasDerivAt_chains_of_constantTerm_eq_zero_of_mem_idealBall32 below · depth 17 - Cut vectors of a cuspidal constituent are bounded by ‖det‖^{w₀/2}
AutomorphicForm.CuspidalConstituent.exists_norm_le_mul_ideleNorm_det_rpow_of_isCuspConstituent173 below · depth 18 - Rankin–Selberg package for one continuous GL₂ cusp realisation
AutomorphicForm.RankinSelberg.exists_testData_analyticOnNhd_sub_one_half_mul_peterssonIntegral_and_hasProd_rsEulerPoly_self552 below · depth 18 - Whittaker coefficients on a window vanish outside one fractional ideal
AutomorphicForm.exists_fractionalIdeal_forall_whittakerCoefficient_eq_zero_of_not_mem_of_forall_mul_idealBall_eq15 below · depth 18 - Integration by parts bound for a Whittaker coefficient
AutomorphicForm.exists_norm_whittakerCoefficient_le_mul_of_hasDerivAt_unipotentGL2_of_forall_norm_le7 below · depth 18 - Rapid decay of the first Whittaker coefficient of a smoothed cusp form
AutomorphicForm.exists_norm_whittakerCoefficient_rightConv_diagOne_mul_le_ideleNorm_rpow_neg_of_one_le92 below · depth 18 - Converse theorem at the base change of a real archimedean parameter
LanglandsTunnell.archOccursInClassOf_whittakerCoefficient_fibre_eq_archW_archOfParam_of_forall_isNicePinned120 below · depth 18 - Fibre Whittaker factorisation transports along a norm twist
LanglandsTunnell.archOccursInClassOf_whittakerCoefficient_fibre_eq_archW_twist_of_archOccursInClassOf_rat11 below · depth 18 - Casimir eigenvalue from a Whittaker factorisation on one finite fibre
LanglandsTunnell.exists_archOccursInClassOf_archCasimirAt_laplaceEigenvalue_of_whittakerCoefficient_fibre_eq359 below · depth 18 - Pinned niceness of twisted L-data of a cubic formal base change
LanglandsTunnell.exists_forall_isNicePinned_twistedDatum_formalBaseChange_archOfParam_of_whittakerCoefficient_fibre_eq_archW_of_not_agreesAwayFromFinite_twist_of_isCasimirEigen2,832 below · depth 18 - Archimedean parameter and Whittaker datum of a cuspidal class over ℚ
LanglandsTunnell.exists_realArchParam_archDatumR_whittakerCoefficient_fibre_eq_isCasimirEigen_of_archOccursInClassOf_rat464 below · depth 18 - Finite-adelic trace is the sum of local traces above p
NumberField.AdelicTrace.traceFinHom_apply_eq_sum_trace0 below · depth 18 - Every vector of a cuspidal constituent lies in an archimedean cut
AutomorphicForm.CuspidalConstituent.exists_archTypeFamily_mem_archCutSubmodule_of_mem_isCuspConstituent0 below · depth 19 - Factorizable test function reproducing a cuspidal vector
AutomorphicForm.CuspidalConstituent.exists_isFactorizableTestFn_rightConv_eq_self_of_mem_inf_levelInvariantSubmodule_inf_archCutSubmodule165 below · depth 19 - Whittaker decay at the torus origin, finite translate
AutomorphicForm.CuspidalConstituent.exists_norm_whittakerCoefficient_diagOne_mul_le_ideleNorm_rpow_mul_prod_min_of_isCuspConstituent_mul_of_glArch_eq_one290 below · depth 19 - Finite-adelic translates preserve a cuspidal constituent and its archimedean data
AutomorphicForm.CuspidalConstituent.sum_mul_apply_mul_mem_and_arch_transfer_of_mem_isCuspConstituent_of_mem_finiteAdelicGL2Subgroup0 below · depth 19 - Rankin–Selberg test data: bad-place part analytic and positive past 1/2
AutomorphicForm.RankinSelberg.exists_testData_sPartIntegral_self_analyticOnNhd_re_pos390 below · depth 19 - Archimedean derivatives and Casimir pass through Whittaker coefficients
AutomorphicForm.hasDerivAt_whittakerCoefficient_archFlow_of_continuous_archDerivAt0 below · depth 19 - Whittaker coefficients match a model datum up to sign twist
LanglandsTunnell.archOccursInClassOf_whittakerCoefficient_fibre_eq_archW_or_twist_sign_of_archOccursInClassOf_rat420 below · depth 19 - General-pins Whittaker link from a Casimir-eigen minimal-weight datum
LanglandsTunnell.exists_agreesAwayFromFinite_isArithGenuineCuspRealizable_twist_whittaker_link_localSpaceAt_of_whittakerCoefficient_fibre_eq_archW_of_isCasimirEigen550 below · depth 19 - Admissible twist matching the unitary formal base change of Φ
LanglandsTunnell.exists_isAdmissibleTwist_eq_twist_formalBaseChange_b_isArchCompAt_archOfParam_of_whittakerCoefficient_fibre_eq_archW40 below · depth 19 - Pinned niceness of twisted base-change L-data over cubic fields
LanglandsTunnell.exists_isNicePinned_twistedDatum_formalBaseChange_archOfParam_superset_generic_of_whittaker_factorization_of_norm_eq_one_of_summable_of_localSpaceAt2,507 below · depth 19 - Standard adelic character on the line of a real place
NumberField.StandardAddChar.stdAddChar_single_infinitePlace_of_isReal0 below · depth 19 - Uniform bound for archimedean translates of Whittaker coefficients
AutomorphicForm.CuspidalConstituent.exists_forall_whittakerCoefficient_mul_eq_sum_mul_whittakerCoefficient_mul_diagOne_of_isCuspConstituent5 below · depth 20 - Whittaker decay on the torus for totally real fields
AutomorphicForm.CuspidalConstituent.exists_norm_whittakerCoefficient_diagOne_mul_le_ideleNorm_rpow_mul_prod_min_of_isCuspConstituent_mul_of_glArch_eq_one_of_forall_isReal229 below · depth 20 - Whittaker torus decay for cuspidal constituents: complex place
AutomorphicForm.CuspidalConstituent.exists_norm_whittakerCoefficient_diagOne_mul_le_ideleNorm_rpow_mul_prod_min_of_isCuspConstituent_mul_of_glArch_eq_one_of_isComplex287 below · depth 20 - Holomorphy and positivity of the S-part Rankin–Selberg integral
AutomorphicForm.RankinSelberg.analyticOnNhd_sPartIntegral_and_pos_of_shell_surgery32 below · depth 20 - Rankin–Selberg package for a pair of cusp realisations
AutomorphicForm.RankinSelberg.exists_testData_analyticOnNhd_sub_mul_peterssonIntegral_and_hasProd_rsEulerPoly_pair593 below · depth 20 - Non-vanishing first Whittaker coefficient over ℚ
AutomorphicForm.SmoothCuspRealizationAt.exists_whittakerCoefficient_one_ne_zero_of_continuous_foldr_archDerivAt_rat23 below · depth 20 - Global additive character with e^{2π i t} at a real place is standard
AutomorphicForm.eq_stdAddChar_of_isGlobalAddChar_of_apply_infinitePlace_eq_exp12 below · depth 20 - Coordinatewise rapid decay of smoothed cuspidal Whittaker coefficients
AutomorphicForm.exists_norm_whittakerCoefficient_rightConv_diagOne_mul_le_ideleNorm_rpow_mul_norm_infinitePlace_rpow_neg92 below · depth 20 - Unipotent surgery cutting Whittaker support to the units
AutomorphicForm.exists_unipotent_surgery_whittakerCoefficient_diagOne_mul_eq_sum_mul9 below · depth 20 - Unipotent surgery cutting a Whittaker function to a valuation shell
AutomorphicForm.exists_unipotent_surgery_whittakerCoefficient_diagOne_mul_eq_sum_mul_shell9 below · depth 20 - Whittaker transformation laws and torus ODE over ℚ
AutomorphicForm.whittakerCoefficient_archRealLiftAt_mul_laws_and_torus_ode_of_archCasimirAt_eq_smul_rat10 below · depth 20 - Vanishing of the torus Whittaker function on the wrong sheet
AutomorphicForm.whittakerCoefficient_detOneTorus_eq_zero_of_iterate_lower_eq_zero6 below · depth 20 - Reflection J acts by (-1)^{a₁} on the weight-zero class
LanglandsTunnell.archOccursInClassOf_archWeightChar_zero_archCasimirAt_apply_mul_J_eq_neg_one_pow_of_whittakerCoefficient_fibre_eq_archW_of_isCasimirEigen386 below · depth 20 - Selection of a minimal-weight cuspidal constituent with nonvanishing Whittaker vector
LanglandsTunnell.exists_agreesAwayFromFinite_twist_archCasimir_eigenvector_minimalWeight_mem_isCuspConstituent_whittaker_diagOne_ne_zero_of_whittakerCoefficient_fibre_eq_archW_of_isCasimirEigen484 below · depth 20 - Selecting a weight-one cusp form: odd principal case
LanglandsTunnell.exists_agreesAwayFromFinite_twist_archCasimir_eigenvector_weightOne_whittakerCoefficient_torus_eq_archW_mem_isCuspConstituent_whittaker_diagOne_ne_zero_of_whittakerCoefficient_fibre_eq_archW_of_ne_of_ne535 below · depth 20 - Unitary archimedean datum forces ‖bₚ‖ = Np almost everywhere
LanglandsTunnell.exists_finset_norm_b_eq_absNorm_of_whittakerCoefficient_fibre_eq_archW_of_re_centralExponent_eq_zero10 below · depth 20 - Stability of weight-one isotypic vectors under reflected lowering
AutomorphicForm.CuspidalConstituent.add_smul_reflect_lower_mem_and_isIsotypicCuspFormAt_of_mem_isCuspConstituent269 below · depth 21 - Real-place archimedean core hypotheses for pure-weight cut vectors
AutomorphicForm.CuspidalConstituent.coreHypotheses_of_mem_cut_of_forall_hasArchCharacterAt216 below · depth 21 - Core archimedean hypotheses for pure-weight cut vectors, totally real case
AutomorphicForm.CuspidalConstituent.coreHypotheses_of_mem_cut_of_forall_hasArchCharacterAt_of_forall_isReal211 below · depth 21 - Weight decomposition of cut vectors at real places
AutomorphicForm.CuspidalConstituent.exists_eq_sum_hasArchCharacterAt_archWeightCharAt_of_isCuspConstituent0 below · depth 21 - Whittaker coefficients of a cut vector, uniformly over K_∞
AutomorphicForm.CuspidalConstituent.exists_forall_whittakerCoefficient_mul_eq_sum_mul_whittakerCoefficient_mul_diagOne_norm_infinitePlace_eq_one_of_isCuspConstituent5 below · depth 21 - Power bound at a complex place for torus Whittaker coefficients
AutomorphicForm.CuspidalConstituent.exists_norm_whittakerCoefficient_diagOne_mul_le_min_norm_infinitePlace_rpow_of_isComplex_of_glArch_eq_one225 below · depth 21 - Archimedean decay of torus Whittaker coefficients, two complex places
AutomorphicForm.CuspidalConstituent.exists_norm_whittakerCoefficient_diagOne_mul_le_prod_norm_infinitePlace_rpow_mul_min_rpow_of_forall_hasArchCharacterAt_of_two_le_card_isComplex_of_glArch_eq_one283 below · depth 21 - Section law, shell majorant and base value after shell surgery
AutomorphicForm.RankinSelberg.exists_finset_norm_whittakerCoefficient_sq_mul_norm_section_le_shell_indicator_of_shell_surgery10 below · depth 21 - Rankin–Selberg test data: bad part analytic, non-zero at centre
AutomorphicForm.RankinSelberg.exists_testData_sPartIntegral_pair_analyticOnNhd_ne_zero420 below · depth 21 - Square of the J-reflected lowering operator in weight one
AutomorphicForm.archReflectLower_archReflectLower_eq_smul_of_hasArchCharacterAt_one_of_archCasimirAt_eq_smul1 below · depth 21 - Coordinatewise torus decay of Whittaker coefficients under a Casimir trichotomy
AutomorphicForm.exists_norm_whittakerCoefficient_diagOne_le_ideleNorm_rpow_of_pure_of_casimir_trichotomy20 below · depth 21 - Whittaker's equation for torus Whittaker coefficients at a real place
AutomorphicForm.whittakerCoefficient_diagOne_satisfies_whittaker_ode_of_archCasimirAt_eq_smul_of_hasArchCharacterAt5 below · depth 21 - Whittaker fibre of a weight-one cusp form is a multiple of W_∞
LanglandsTunnell.exists_whittakerCoefficient_fibre_eq_archW_mul_of_apply_mul_archRealGLAt_J_eq_mul_lower_of_mem_isCuspConstituent_weightOne_of_ne_bot424 below · depth 21 - Moving a real unipotent past diag(a,1); ψ_K at 1/2
NumberField.AdelicLevel.diagOne_mul_archRealGLAt_unipotent_eq_and_stdAddChar_single_half0 below · depth 21 - Indicator of 1+mathfrak pᵥⁿ as a finite character sum
NumberField.StandardAddChar.exists_sum_mul_stdAddChar_mul_eq_indicator_one_add_pow6 below · depth 21 - Unitarity constraints on the Casimir eigenvalue at a real place
AutomorphicForm.CuspidalConstituent.casimir_real_and_pos_or_discrete_or_trivial_of_isCuspConstituent197 below · depth 22 - Casimir trichotomy at a real place for cuspidal constituents
AutomorphicForm.CuspidalConstituent.casimir_real_and_pos_or_discrete_or_trivial_of_isCuspConstituent_of_forall_isReal192 below · depth 22 - SU(2)-string decomposition of cut vectors at a complex place
AutomorphicForm.CuspidalConstituent.exists_eq_sum_su2String_highestWeight_of_mem_cut_of_isComplex184 below · depth 22 - Finite rank in one complex variable of Whittaker coefficients
AutomorphicForm.CuspidalConstituent.exists_forall_whittakerCoefficient_diagOne_mul_eq_sum_mul_of_isComplex_of_glArch_eq_one206 below · depth 22 - Whittaker coefficients of cut cusp vectors are bounded
AutomorphicForm.CuspidalConstituent.exists_norm_whittakerCoefficient_le_mul_ideleNorm_det_rpow_of_isCuspConstituent174 below · depth 22 - S-part Rankin–Selberg integral: continuation past 1/2 and non-vanishing
AutomorphicForm.RankinSelberg.analyticOnNhd_sPartIntegral_pair_and_ne_zero_of_ball_surgery35 below · depth 22 - Non-vanishing of an archimedean Rankin–Selberg torus pairing
AutomorphicForm.RankinSelberg.exists_archTranslate_isArchKFinite_equivariant_integral_mul_torusIntegral_whittakerCoefficient_ne_zero30 below · depth 22 - Non-vanishing Rankin–Selberg torus pairing against a non-negative K-finite datum
AutomorphicForm.RankinSelberg.exists_archTranslate_isArchKFinite_equivariant_nonneg_integral_mul_torusIntegral_whittakerCoefficient_ne_zero_of_eq_one31 below · depth 22 - Shell majorant for a surgered Whittaker–section integrand
AutomorphicForm.RankinSelberg.exists_finset_norm_whittakerCoefficient_sq_mul_norm_section_le_shell_indicator_of_shell_surgery_of_section_law7 below · depth 22 - Induced sections on the torus: φₛ(diag(t,1)k)=‖t‖^{s+1/2}φₛ(k)
AutomorphicForm.RankinSelberg.section_diagOne_mul_eq_ideleNorm_cpow_mul_of_isInducedSection_etaFst_etaSnd0 below · depth 22 - Shell surgery preserves the Whittaker coefficient at diag(t₀,1)k₀
AutomorphicForm.RankinSelberg.whittakerCoefficient_diagOne_mul_mul_inv_finEmbed_eq_of_shell_surgery0 below · depth 22 - Export package for translates of a smoothed cuspidal realisation
AutomorphicForm.SmoothCuspRealizationAt.exports_rightConv_sum_translate_of_isCuspConstituent109 below · depth 22 - Linear dependence of two torus Whittaker functions at a real place
AutomorphicForm.exists_ne_zero_forall_linearCombination_whittakerCoefficient_diagOne_eq_zero_of_archCasimirAt_eq_smul12 below · depth 22 - Coordinatewise torus decay of Whittaker coefficients under Casimir trichotomy
AutomorphicForm.exists_norm_whittakerCoefficient_diagOne_le_ideleNorm_rpow_of_pure_of_casimir_trichotomy_of_finite_span20 below · depth 22 - Whittaker decay at a complex place for an SU(2)-string
AutomorphicForm.exists_norm_whittakerCoefficient_diagOne_le_min_norm_rpow_of_isComplex_of_su2String18 below · depth 22 - Unipotent surgery concentrating a Whittaker coefficient on a small ball
AutomorphicForm.exists_unipotent_surgery_whittakerCoefficient_diagOne_mul_eq_sum_mul_ball9 below · depth 22 - Uniform torus bounds on Whittaker coefficients pass to archimedean translates
AutomorphicForm.norm_whittakerCoefficient_translate_diagOne_mul_le_of_glFin_eq_one8 below · depth 22 - Factorisation of diag(a,1) at a real place
NumberField.AdelicLevel.diagOne_eq_diagOne_mul_archRealLiftAt_mul_centralScalar0 below · depth 22 - Casimir trichotomy at a real place for cuspidal constituents
AutomorphicForm.CuspidalConstituent.casimir_real_and_pos_or_discrete_or_trivial_of_isCuspConstituent_of_exists_isComplex192 below · depth 23 - Analyticity of an archimedean torus Rankin–Selberg pairing
AutomorphicForm.RankinSelberg.analyticOnNhd_integral_archTorus_pair11 below · depth 23 - Ball-surgered torus integral evaluated past the centre
AutomorphicForm.RankinSelberg.exists_integral_torus_pair_eq_mul_integral_archTorus_of_ball_surgery22 below · depth 23 - Absolute convergence of the ball-surgered torus S-part integral
AutomorphicForm.RankinSelberg.lintegral_torus_pair_lt_top_of_ball_surgery15 below · depth 23 - Rank-one torus Whittaker functions of a complex-place SU(2)-string
AutomorphicForm.exists_forall_whittakerCoefficient_diagOne_eq_mul_of_isComplex_of_su2String14 below · depth 23 - Derivatives at a complex place pass through Whittaker coefficients
AutomorphicForm.hasDerivAt_whittakerCoefficient_archFlowComplex_of_continuous_archDerivAtComplex0 below · depth 23 - An archimedean twist makes a non-trivial idele integral non-zero
NumberField.Idele.exists_integral_stdAddChar_mul_ne_zero_of_continuous_of_integrable_sPartMeasure_empty9 below · depth 23 - Standard adelic character on the line of a complex place
NumberField.StandardAddChar.stdAddChar_single_infinitePlace_of_isComplex0 below · depth 23 - Pointwise torus evaluation of a ball-surgered Rankin–Selberg integrand
AutomorphicForm.RankinSelberg.whittakerCoefficient_mul_conj_mul_section_diagOne_mul_eq_of_ball_surgery7 below · depth 24 - Base-independent multiplier for torus Whittaker coefficients at a complex place
AutomorphicForm.exists_whittakerCoefficient_diagOne_eq_mul_whittakerCoefficient_splitTorusGL2Complex_of_hasCircleWeightAt4 below · depth 24 - Hypotheses of the GL₂(ℂ) Whittaker system for an SU(2)-string
AutomorphicForm.whittakerCoefficient_su2String_gl2Complex_whittaker_system_hypotheses5 below · depth 24