Definitions/Def_LanglandsTunnell_ArchParam.lean
Archimedean L-parameters over and
Two data types record the archimedean component of a \mathrm{GL}(2) automorphic representation in the currency of \Gamma-shifts. RealArchParam is an inductive type with two constructors: principal u₁ a₁ u₂ a₂, carrying two pairs (u_i,a_i) \in \mathbb{C} \times \mathbb{Z}/2 (the data of two quasi-characters x \mapsto |x|^{u_i}\operatorname{sgn}(x)^{a_i} of \mathbb{R}^\times), and discrete u k hk, carrying u \in \mathbb{C} and k \in \mathbb{N} together with a proof of 1 \le k. ComplexArchParam is a structure with fields u_1, u_2 \in \mathbb{C} and k_1, k_2 \in \mathbb{Z}, the data of two quasi-characters of \mathbb{C}^\times.
The gamma-shift multisets are total functions: for principal, gammaR is \{u_1 + \delta(a_1),\, u_2 + \delta(a_2)\} with \delta(a) = 0 for a = 0 and \delta(a) = 1 otherwise (signShift), and gammaC is empty; for discrete u k, gammaR is empty and gammaC is \{u + k/2\}; for ComplexArchParam, gammaC is \{u_1 + |k_1|/2,\, u_2 + |k_2|/2\}, the absolute values taken via Int.natAbs. In each case archFactor P s is the product of \Gamma_{\mathbb{R}}(s+\mu) over \mu \in gammaR times the product of \Gamma_{\mathbb{C}}(s+\nu) over \nu \in gammaC.
Twisting by a quasi-character adds u to each exponent and a (resp. k) to each sign (resp. integer) parameter, except that on discrete only u moves and the sign argument is discarded; dual negates all exponents and integer parameters while fixing a_1,a_2 and k. The central quasi-character is recorded by centralExponent (u_1+u_2, resp. 2u in the discrete case) together with centralSign (a_1+a_2, resp. k+1 in \mathbb{Z}/2) or centralTwist (k_1+k_2). Accompanying lemmas give \mathrm{twist}\,0\,0 = \mathrm{id}, additivity of twisting, \mathrm{dual}\circ\mathrm{dual} = \mathrm{id}, the effect of twisting on the shift multisets (for gammaR and ComplexArchParam.gammaC only for the untwisted sign/integer part), and the distinguished parameters oddArtin = principal 0 0 0 1 and trivialArtin =\langle 0,0,0,0\rangle, whose shift multisets are \{0,1\} and \{0,0\} and whose archimedean factors are \Gamma_{\mathbb{C}}(s) (by the Legendre duplication identity \Gamma_{\mathbb{R}}(s)\Gamma_{\mathbb{R}}(s+1) = \Gamma_{\mathbb{C}}(s)) and \Gamma_{\mathbb{C}}(s)^2. No \varepsilon-factors are recorded.
Relation to Mathlib
The gamma factors are Mathlib's Complex.Gammaℝ and Complex.Gammaℂ, together with the Mathlib identity Gammaℝ_mul_Gammaℝ_add_one. Mathlib has no notion of archimedean L-parameter for \mathrm{GL}(2); these types and their operations are the project's own.
Where it is used
These parameters supply the archimedean bookkeeping for the automorphic and Artin-representation L-functions occurring on the Langlands–Tunnell side of the argument, where the odd two-dimensional Artin parameter oddArtin and the weight-one matching \Gamma_{\mathbb{R}}(s)\Gamma_{\mathbb{R}}(s+1) = \Gamma_{\mathbb{C}}(s) are the relevant cases.
References
- A. W. Knapp, Local Langlands correspondence: the archimedean case, in: Motives (Seattle, 1991), Proceedings of Symposia in Pure Mathematics 55, part 2, American Mathematical Society, 1994, 393–410
- H. Jacquet and R. P. Langlands, Automorphic Forms on GL(2), Lecture Notes in Mathematics 114, Springer, 1970
- P. Deligne, Les constantes des équations fonctionnelles des fonctions L, in: Modular Functions of One Variable II, Lecture Notes in Mathematics 349, Springer, 1973, 501–597
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 140 lines
- 38 declarations
- used in the statements of 31 theorems and imported by 41 proofs
- imports 0 definition modules
Source file: Definitions/Def_LanglandsTunnell_ArchParam.lean
Imports
- only Mathlib
Declarations
- inductive
LanglandsTunnell.RealArchParam - structure
LanglandsTunnell.ComplexArchParam - field
LanglandsTunnell.ComplexArchParam.u₁ - field
LanglandsTunnell.ComplexArchParam.k₁ - field
LanglandsTunnell.ComplexArchParam.u₂ - field
LanglandsTunnell.ComplexArchParam.k₂ - def
LanglandsTunnell.signShift - theorem
LanglandsTunnell.signShift_zero - theorem
LanglandsTunnell.signShift_one - def
LanglandsTunnell.RealArchParam.gammaR - def
LanglandsTunnell.RealArchParam.gammaC - def
LanglandsTunnell.RealArchParam.archFactor - def
LanglandsTunnell.RealArchParam.twist - def
LanglandsTunnell.RealArchParam.dual - def
LanglandsTunnell.RealArchParam.centralExponent - def
LanglandsTunnell.RealArchParam.centralSign - theorem
LanglandsTunnell.RealArchParam.twist_zero - theorem
LanglandsTunnell.RealArchParam.twist_twist - theorem
LanglandsTunnell.RealArchParam.dual_dual - theorem
LanglandsTunnell.RealArchParam.gammaC_twist - theorem
LanglandsTunnell.RealArchParam.gammaR_twist_zero - def
LanglandsTunnell.ComplexArchParam.gammaC - def
LanglandsTunnell.ComplexArchParam.archFactor - def
LanglandsTunnell.ComplexArchParam.twist - def
LanglandsTunnell.ComplexArchParam.dual - def
LanglandsTunnell.ComplexArchParam.centralExponent - def
LanglandsTunnell.ComplexArchParam.centralTwist - theorem
LanglandsTunnell.ComplexArchParam.twist_zero - theorem
LanglandsTunnell.ComplexArchParam.twist_twist - theorem
LanglandsTunnell.ComplexArchParam.dual_dual - theorem
LanglandsTunnell.ComplexArchParam.gammaC_dual - theorem
LanglandsTunnell.ComplexArchParam.gammaC_twist_zero - def
LanglandsTunnell.RealArchParam.oddArtin - def
LanglandsTunnell.ComplexArchParam.trivialArtin - theorem
LanglandsTunnell.RealArchParam.gammaR_oddArtin - theorem
LanglandsTunnell.ComplexArchParam.gammaC_trivialArtin - theorem
LanglandsTunnell.RealArchParam.archFactor_oddArtin - theorem
LanglandsTunnell.ComplexArchParam.archFactor_trivialArtin
Source
import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne ↗ noncomputable section namespace LanglandsTunnell open Complex inductive RealArchParam where | principal (u₁ : ℂ) (a₁ : ZMod 2) (u₂ : ℂ) (a₂ : ZMod 2) : RealArchParam | discrete (u : ℂ) (k : ℕ) (hk : 1 ≤ k) : RealArchParam @[ext] structure ComplexArchParam where u₁ : ℂ k₁ : ℤ u₂ : ℂ k₂ : ℤ def signShift (a : ZMod 2) : ℂ := if a = 0 then 0 else 1 @[simp] theorem signShift_zero : signShift 0 = 0 := by simp [signShift] @[simp] theorem signShift_one : signShift 1 = 1 := by simp [signShift] namespace RealArchParam def gammaR : RealArchParam → Multiset ℂ | principal u₁ a₁ u₂ a₂ => {u₁ + signShift a₁, u₂ + signShift a₂} | discrete _ _ _ => 0 def gammaC : RealArchParam → Multiset ℂ | principal _ _ _ _ => 0 | discrete u k _ => {u + (k : ℂ) / 2} def archFactor (P : RealArchParam) (s : ℂ) : ℂ := (P.gammaR.map fun μ => Gammaℝ (s + μ)).prod * (P.gammaC.map fun ν => Gammaℂ (s + ν)).prod def twist : RealArchParam → ℂ → ZMod 2 → RealArchParam | principal u₁ a₁ u₂ a₂, u, a => principal (u₁ + u) (a₁ + a) (u₂ + u) (a₂ + a) | discrete u₀ k hk, u, _ => discrete (u₀ + u) k hk def dual : RealArchParam → RealArchParam | principal u₁ a₁ u₂ a₂ => principal (-u₁) a₁ (-u₂) a₂ | discrete u k hk => discrete (-u) k hk def centralExponent : RealArchParam → ℂ | principal u₁ _ u₂ _ => u₁ + u₂ | discrete u _ _ => 2 * u def centralSign : RealArchParam → ZMod 2 | principal _ a₁ _ a₂ => a₁ + a₂ | discrete _ k _ => (k : ZMod 2) + 1 @[simp] theorem twist_zero (P : RealArchParam) : P.twist 0 0 = P := by cases P <;> simp [twist] theorem twist_twist (P : RealArchParam) (u u' : ℂ) (a a' : ZMod 2) : (P.twist u a).twist u' a' = P.twist (u + u') (a + a') := by cases P <;> simp [twist, add_assoc] @[simp] theorem dual_dual (P : RealArchParam) : P.dual.dual = P := by cases P <;> simp [dual] theorem gammaC_twist (P : RealArchParam) (u : ℂ) (a : ZMod 2) : (P.twist u a).gammaC = P.gammaC.map (· + u) := by cases P <;> simp [twist, gammaC, add_right_comm] theorem gammaR_twist_zero (P : RealArchParam) (u : ℂ) : (P.twist u 0).gammaR = P.gammaR.map (· + u) := by cases P <;> simp [twist, gammaR, add_right_comm] end RealArchParam namespace ComplexArchParam def gammaC (P : ComplexArchParam) : Multiset ℂ := {P.u₁ + (P.k₁.natAbs : ℂ) / 2, P.u₂ + (P.k₂.natAbs : ℂ) / 2} def archFactor (P : ComplexArchParam) (s : ℂ) : ℂ := (P.gammaC.map fun ν => Gammaℂ (s + ν)).prod def twist (P : ComplexArchParam) (u : ℂ) (k : ℤ) : ComplexArchParam := ⟨P.u₁ + u, P.k₁ + k, P.u₂ + u, P.k₂ + k⟩ def dual (P : ComplexArchParam) : ComplexArchParam := ⟨-P.u₁, -P.k₁, -P.u₂, -P.k₂⟩ def centralExponent (P : ComplexArchParam) : ℂ := P.u₁ + P.u₂ def centralTwist (P : ComplexArchParam) : ℤ := P.k₁ + P.k₂ @[simp] theorem twist_zero (P : ComplexArchParam) : P.twist 0 0 = P := by simp [twist] theorem twist_twist (P : ComplexArchParam) (u u' : ℂ) (k k' : ℤ) : (P.twist u k).twist u' k' = P.twist (u + u') (k + k') := by simp [twist, add_assoc] @[simp] theorem dual_dual (P : ComplexArchParam) : P.dual.dual = P := by simp [dual] theorem gammaC_dual (P : ComplexArchParam) : P.dual.gammaC = {-P.u₁ + (P.k₁.natAbs : ℂ) / 2, -P.u₂ + (P.k₂.natAbs : ℂ) / 2} := by simp [dual, gammaC] theorem gammaC_twist_zero (P : ComplexArchParam) (u : ℂ) : (P.twist u 0).gammaC = P.gammaC.map (· + u) := by simp [twist, gammaC, add_right_comm] end ComplexArchParam def RealArchParam.oddArtin : RealArchParam := .principal 0 0 0 1 def ComplexArchParam.trivialArtin : ComplexArchParam := ⟨0, 0, 0, 0⟩ theorem RealArchParam.gammaR_oddArtin : RealArchParam.oddArtin.gammaR = {0, 1} := by simp [oddArtin, gammaR] theorem ComplexArchParam.gammaC_trivialArtin : ComplexArchParam.trivialArtin.gammaC = {0, 0} := by simp [trivialArtin, gammaC] theorem RealArchParam.archFactor_oddArtin (s : ℂ) : RealArchParam.oddArtin.archFactor s = Gammaℂ s := by simp [oddArtin, archFactor, gammaR, gammaC, Gammaℝ_mul_Gammaℝ_add_one] theorem ComplexArchParam.archFactor_trivialArtin (s : ℂ) : ComplexArchParam.trivialArtin.archFactor s = Gammaℂ s * Gammaℂ s := by simp [trivialArtin, archFactor, gammaC] end LanglandsTunnell end
Statements phrased using this module (31)
- Holomorphy at real places of half-determinant twisted translate sums
LanglandsTunnell.Converse.CuspSynthesis.isArchHolomorphicAt_translateSum_halfDet27 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 - Real Tate integral of the Gaussian equals Γ_ℝ
LanglandsTunnell.ArchPlace.realZeta_realTestFun_realCharFun_eq_GammaReal0 below · depth 18 - Archimedean Γ-factors for a quadratic extension of number fields
LanglandsTunnell.prod_gammaR_mul_prod_gammaC_infinitePlace_induced_eq_of_finrank_eq_two0 below · depth 18 - Mellin transform of a weight-one Whittaker profile
LanglandsTunnell.exists_mellin_whittakerProfile_eq_archFactor_of_whittaker_ode_weightOne6 below · depth 19 - Existence of a real archimedean parameter for a cuspidal class
LanglandsTunnell.exists_realArchParam_archOccursInClassOf_minimalType_laplaceEigenvalue_of_coversModCentre394 below · depth 19 - K-finiteness of the polynomial-times-Gaussian Jacquet vector on GL₃
LanglandsTunnell.CubicInduction.isKFinite_jacquetVector32 below · depth 20 - Integrability and continuity of the GL₃ Jacquet vector
LanglandsTunnell.CubicInduction.jacquetIntegrand3_integrable_and_jacquetVector3_continuous1 below · depth 20 - Convergence half-planes for archimedean GL₃timesGL₁ zeta integrals
LanglandsTunnell.CubicInduction.jacquetVector3_isArchZetaConvergentAbove4 below · depth 20 - Rapid decay of the GL₃ Jacquet–Whittaker vector
LanglandsTunnell.CubicInduction.jacquetVector3_norm_archComponent3_le6 below · depth 20 - Entire ratio of archimedean factors forces the signs to agree
LanglandsTunnell.RealArchParam.eq_of_archFactor_twist_mul_eq_archFactor_twist_mul_entire0 below · depth 20 - Weight-one lowering operator on shifted Gaussian convolutions
LanglandsTunnell.lowering_principal_profile_sum_eq0 below · depth 20 - Mellin transform of a Gaussian convolution equals Γ_ℝΓ_ℝ
LanglandsTunnell.mellin_mulConvGaussian_eq_archFactor_principal0 below · depth 20 - Mellin transforms of the weight-zero and weight-two torus profiles
LanglandsTunnell.mellin_whittakerProfile_eq_archFactor_of_whittaker_ode_weightZero5 below · depth 20 - Exponential decay of the Gaussian multiplicative convolution
LanglandsTunnell.norm_mulConvGaussian_le_rpow_max_mul_exp0 below · depth 20 - Non-vanishing of the principal-series archimedean profile
LanglandsTunnell.principal_profile_exists_ne_zero1 below · depth 20 - Weight-one Whittaker equation for the summed Gaussian convolutions
LanglandsTunnell.principal_profile_sum_solves_whittaker_ode_weightOne0 below · depth 20 - Integrable majorant and measurability for the GL₃ Jacquet integrand
LanglandsTunnell.CubicInduction.exists_integrable_majorant_jacquetIntegrand3_and_aestronglyMeasurable_prod1 below · depth 21 - Even principal profile solves the Whittaker equation
LanglandsTunnell.principal_profile_solves_whittaker_ode0 below · depth 21 - Gaussian convolution profile from principal archimedean Mellin data
LanglandsTunnell.add_pow_mul_apply_neg_eq_mul_mulConvGaussian_of_mellin_eq_archFactor3 below · depth 24 - One-parity Whittaker sheet is the Gaussian convolution profile
LanglandsTunnell.add_pow_mul_apply_neg_eq_mul_mulConvGaussian_of_mellin_sheet_eq_archFactor3 below · depth 25 - Archimedean torus profile and reciprocal for Rankin–Selberg over ℚ
LanglandsTunnell.RankinSelberg.exists_torusProfile_archRecip_of_realArchParam_mellin_of_diagOne_eq_rat11 below · depth 26 - Discrete-series Whittaker profile identified by Mellin inversion
LanglandsTunnell.eq_mul_cpow_mul_exp_of_mellin_eq_archFactor_discrete1 below · depth 26 - Unitarity of the archimedean principal-series parameter over ℚ
LanglandsTunnell.re_sub_eq_zero_or_im_sub_eq_zero_of_isIsotypicCuspFormAt_of_mellin_eq_archFactor_principal_of_minimalWeight399 below · depth 26 - Mixed parity excluded for real non-zero u₁-u₂ in minimal weight
LanglandsTunnell.eq_of_im_sub_eq_zero_of_re_sub_ne_zero_of_isIsotypicCuspFormAt_of_mellin_eq_archFactor_principal_of_minimalWeight132 below · depth 27 - Isotypic cusp forms over ℚ are archimedean Casimir eigenfunctions
LanglandsTunnell.exists_isArchSmoothAt_and_archCasimirAt_eq_smul_of_isIsotypicCuspFormAt_of_rightConv_eq_of_ne_bot_rat357 below · depth 27 - Reality of (u₁-u₂)² for a real Casimir eigenvalue
LanglandsTunnell.exists_sub_sq_eq_ofReal_of_archCasimirAt_eq_smul_of_mellin_eq_archFactor_principal115 below · depth 27 - Reality of the archimedean Casimir eigenvalue over ℚ
LanglandsTunnell.im_eq_zero_of_archCasimirAt_eq_smul_of_isIsotypicCuspFormAt_rat98 below · depth 27 - Smoothness and slab bounds for archimedean derivatives of cusp forms
AutomorphicForm.continuous_archDerivAt_and_exists_bound_slab_of_isIsotypicCuspFormAt_of_rightConv_eq_rat84 below · depth 28 - Casimir eigenvalue equals the principal-series Laplace eigenvalue
LanglandsTunnell.ofReal_eq_laplaceEigenvalue_principal_of_archCasimirAt_eq_smul_of_mellin_eq_archFactor_principal114 below · depth 28 - Torus sheets of a factorised Whittaker function over ℚ
LanglandsTunnell.exists_torusSheets_whittakerODE_of_isIsotypicCuspFormAt_of_archCasimirAt_eq_of_whittaker_factorisation_rat104 below · depth 29