Definitions/Def_LocalLanglands_HeckeCosetLocal.lean
Local Hecke cosets for over a discrete valuation ring
Throughout, R is a discrete valuation domain with fraction field K, and U = integralSubgroup R K denotes the image of \mathrm{GL}_2(R) in G = \mathrm{GL}_2(K) under the map induced by R \to K. The module fixes the standard elements: unipotentR b is the unipotent matrix \begin{pmatrix}1&b\\0&1\end{pmatrix} and weylR the permutation matrix \begin{pmatrix}0&1\\1&0\end{pmatrix} in \mathrm{GL}_2(R), with images unipotentInt, weylInt in G, both lying in U; and, for \varpi \in R with \varpi \neq 0 in K, diagPi is \mathrm{diag}(\varpi,1) \in G, with inverse \mathrm{diag}(\varpi^{-1},1). The candidate coset representatives are localRepSome b = \begin{pmatrix}\varpi & b\\0&1\end{pmatrix} for b \in R and localRepInf = \begin{pmatrix}1&0\\0&\varpi\end{pmatrix}, the latter being the conjugate of diagPi by the Weyl element. The set heckeMulSet is the product U \cdot \{\mathrm{diag}(\varpi,1)\} in G.
The accompanying results analyse the image of heckeMulSet in the coset space G/U: the cosets of localRepSome b and localRepSome b' coincide exactly when \varpi \mid b'-b; the coset of localRepInf differs from every coset of localRepSome b as soon as \varpi is not a unit; conversely, if \varpi is a unit all the localRepSome b lie in one coset. A conjugation lemma states that \mathrm{diag}(\varpi,1)^{-1} z\,\mathrm{diag}(\varpi,1) \in U whenever z \in \mathrm{GL}_2(R) has upper-right entry divisible by \varpi; it yields exists_rep_of_mem_heckeMulSet: for \varpi irreducible, every x \in U \cdot \mathrm{diag}(\varpi,1) has xU equal to \mathrm{localRepSome}(b)\,U for some b \in R, or to \mathrm{localRepInf}\,U. Hence, when R/\varpi R is finite, the image of heckeMulSet in G/U is finite, being covered by a family indexed by Option (R ⧸ Ideal.span {ϖ}); three_distinct_cosets records that the cosets of \mathrm{localRepSome}(0), \mathrm{localRepSome}(1) and \mathrm{localRepInf} are pairwise distinct. Feeding this finiteness into the project's abstract Hecke operator, localHeckeOperator is the S-linear endomorphism of the U-fixed points of a G-module A (with commuting S-module structure) attached to \mathrm{diag}(\varpi,1) and to the pair (U,U), that is, the sum over coset representatives of U \cdot \mathrm{diag}(\varpi,1) of the translation action.
Relation to Mathlib
Mathlib supplies \mathrm{GL}_n and the functorial map induced by a ring homomorphism; the subgroup U of integral matrices, the abstract Hecke operator on fixed points, and the coset analysis here are the project's own.
Where it is used
These representatives and the finiteness of the coset image supply the input required by the project's abstract Hecke operator construction, giving the local operator at \mathrm{diag}(\varpi,1) for the pair (\mathrm{GL}_2(R), \mathrm{GL}_2(K)); specialised to R = \mathbb{Z}_p, K = \mathbb{Q}_p it is the local T_p used on the automorphic side of the argument.
References
- D. Bump, Automorphic Forms and Representations, Cambridge Studies in Advanced Mathematics 55, Cambridge University Press, 1997
- G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Princeton University Press, 1971
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 401 lines
- 31 declarations
- used in the statements of 507 theorems and imported by 547 proofs
- imports 3 definition modules
Source file: Definitions/Def_LocalLanglands_HeckeCosetLocal.lean
Imports
Declarations
- def
LocalGL2.unipotentR - def
LocalGL2.weylR - def
LocalGL2.unipotentInt - lemma
LocalGL2.unipotentInt_mem - lemma
LocalGL2.coe_unipotentInt - def
LocalGL2.weylInt - lemma
LocalGL2.weylInt_mem - lemma
LocalGL2.coe_weylInt - def
LocalGL2.diagPi - lemma
LocalGL2.coe_diagPi - lemma
LocalGL2.coe_diagPi_inv - def
LocalGL2.localRepSome - lemma
LocalGL2.coe_localRepSome - def
LocalGL2.localRepInf - lemma
LocalGL2.coe_localRepInf - lemma
LocalGL2.unipotentInt_inv - lemma
LocalGL2.coe_localRepSome_inv - def
LocalGL2.heckeMulSet - lemma
LocalGL2.mem_heckeMulSet_iff - lemma
LocalGL2.mk_localRepSome_mem_image - lemma
LocalGL2.mk_localRepInf_mem_image - lemma
LocalGL2.dvd_sub_of_mk_localRepSome_eq - lemma
LocalGL2.mk_localRepSome_eq_of_dvd_sub - lemma
LocalGL2.mk_localRepSome_ne_mk_localRepInf - lemma
LocalGL2.conj_diagPi_mem_of_dvd - theorem
LocalGL2.exists_rep_of_mem_heckeMulSet - theorem
LocalGL2.finite_image_mul_diagPi - def
LocalGL2.localHeckeOperator - theorem
LocalGL2.three_distinct_cosets - theorem
LocalGL2.localRepInf_not_covered_by_finite - theorem
LocalGL2.localRepSome_collapse_of_isUnit
Source
import Mathlib import Definitions.Def_LocalLanglands_LocalHeckeInstance import Definitions.Def_LocalLanglands_IntegralSubgroupOpen import Definitions.Def_AbstractHeckeOperator set_option autoImplicit false open Matrix MulAction open scoped Pointwise namespace LocalGL2 variable {R : Type*} [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] variable {K : Type*} [Field K] [Algebra R K] [IsFractionRing R K] def unipotentR (b : R) : GL (Fin 2) R := ⟨!![1, b; 0, 1], !![1, -b; 0, 1], by ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two], by ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two]⟩ def weylR : GL (Fin 2) R := ⟨!![0, 1; 1, 0], !![0, 1; 1, 0], by ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two], by ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two]⟩ def unipotentInt (K : Type*) [Field K] [Algebra R K] (b : R) : GL (Fin 2) K := Matrix.GeneralLinearGroup.map (algebraMap R K) (unipotentR b) omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in lemma unipotentInt_mem (b : R) : unipotentInt K b ∈ integralSubgroup R K := ⟨_, rfl⟩ omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in @[simp] lemma coe_unipotentInt (b : R) : (unipotentInt K b : Matrix (Fin 2) (Fin 2) K) = !![1, algebraMap R K b; 0, 1] := by ext i j fin_cases i <;> fin_cases j <;> simp [unipotentInt, unipotentR, Matrix.GeneralLinearGroup.map] def weylInt (R K : Type*) [CommRing R] [Field K] [Algebra R K] : GL (Fin 2) K := Matrix.GeneralLinearGroup.map (algebraMap R K) (weylR (R := R)) omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in lemma weylInt_mem : weylInt R K ∈ integralSubgroup R K := ⟨_, rfl⟩ omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in @[simp] lemma coe_weylInt : (weylInt R K : Matrix (Fin 2) (Fin 2) K) = !![0, 1; 1, 0] := by ext i j fin_cases i <;> fin_cases j <;> simp [weylInt, weylR, Matrix.GeneralLinearGroup.map] variable (ϖ : R) section Defs variable (hϖ0 : algebraMap R K ϖ ≠ 0) def diagPi : GL (Fin 2) K := ⟨!![algebraMap R K ϖ, 0; 0, 1], !![(algebraMap R K ϖ)⁻¹, 0; 0, 1], by ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two, mul_inv_cancel₀ hϖ0], by ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two, inv_mul_cancel₀ hϖ0]⟩ omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in @[simp] lemma coe_diagPi : (diagPi ϖ hϖ0 : Matrix (Fin 2) (Fin 2) K) = !![algebraMap R K ϖ, 0; 0, 1] := rfl omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in @[simp] lemma coe_diagPi_inv : ((diagPi ϖ hϖ0)⁻¹ : GL (Fin 2) K).val = !![(algebraMap R K ϖ)⁻¹, 0; 0, 1] := rfl def localRepSome (b : R) : GL (Fin 2) K := unipotentInt K b * diagPi ϖ hϖ0 omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in @[simp] lemma coe_localRepSome (b : R) : (localRepSome ϖ hϖ0 b : Matrix (Fin 2) (Fin 2) K) = !![algebraMap R K ϖ, algebraMap R K b; 0, 1] := by show (unipotentInt K b : Matrix (Fin 2) (Fin 2) K) * (diagPi ϖ hϖ0 : Matrix (Fin 2) (Fin 2) K) = _ rw [coe_unipotentInt, coe_diagPi] ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two] def localRepInf : GL (Fin 2) K := weylInt R K * diagPi ϖ hϖ0 * weylInt R K omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in @[simp] lemma coe_localRepInf : (localRepInf ϖ hϖ0 : Matrix (Fin 2) (Fin 2) K) = !![1, 0; 0, algebraMap R K ϖ] := by show (weylInt R K : Matrix (Fin 2) (Fin 2) K) * (diagPi ϖ hϖ0 : Matrix (Fin 2) (Fin 2) K) * (weylInt R K : Matrix (Fin 2) (Fin 2) K) = _ rw [coe_weylInt, coe_diagPi] ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two] omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in lemma unipotentInt_inv (b : R) : (unipotentInt K b)⁻¹ = unipotentInt K (-b) := by refine inv_eq_of_mul_eq_one_right (Units.ext ?_) rw [Units.val_mul, coe_unipotentInt, coe_unipotentInt] ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two, map_neg] omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in @[simp] lemma coe_localRepSome_inv (b : R) : ((localRepSome ϖ hϖ0 b)⁻¹ : GL (Fin 2) K).val = !![(algebraMap R K ϖ)⁻¹, -(algebraMap R K b) * (algebraMap R K ϖ)⁻¹; 0, 1] := by rw [localRepSome, _root_.mul_inv_rev, Units.val_mul, coe_diagPi_inv, unipotentInt_inv, coe_unipotentInt] ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two] ring def heckeMulSet : Set (GL (Fin 2) K) := (integralSubgroup R K : Set (GL (Fin 2) K)) * ({diagPi ϖ hϖ0} : Set (GL (Fin 2) K)) omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in lemma mem_heckeMulSet_iff {x : GL (Fin 2) K} : x ∈ heckeMulSet ϖ hϖ0 ↔ ∃ u ∈ integralSubgroup R K, u * diagPi ϖ hϖ0 = x := by unfold heckeMulSet rw [Set.mem_mul] constructor · rintro ⟨u, hu, y, hy, rfl⟩ exact ⟨u, hu, by rw [Set.mem_singleton_iff] at hy; rw [hy]⟩ · rintro ⟨u, hu, rfl⟩ exact ⟨u, hu, diagPi ϖ hϖ0, rfl, rfl⟩ omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in lemma mk_localRepSome_mem_image (b : R) : QuotientGroup.mk (localRepSome ϖ hϖ0 b) ∈ (QuotientGroup.mk '' (heckeMulSet ϖ hϖ0) : Set (GL (Fin 2) K ⧸ integralSubgroup R K)) := Set.mem_image_of_mem _ ((mem_heckeMulSet_iff ϖ hϖ0).mpr ⟨unipotentInt K b, unipotentInt_mem b, rfl⟩) omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in lemma mk_localRepInf_mem_image : QuotientGroup.mk (localRepInf ϖ hϖ0) ∈ (QuotientGroup.mk '' (heckeMulSet ϖ hϖ0) : Set (GL (Fin 2) K ⧸ integralSubgroup R K)) := by refine (Set.mem_image _ _ _).mpr ⟨weylInt R K * diagPi ϖ hϖ0, (mem_heckeMulSet_iff ϖ hϖ0).mpr ⟨weylInt R K, weylInt_mem, rfl⟩, ?_⟩ rw [QuotientGroup.eq] show (weylInt R K * diagPi ϖ hϖ0)⁻¹ * (weylInt R K * diagPi ϖ hϖ0 * weylInt R K) ∈ integralSubgroup R K rw [inv_mul_cancel_left] exact weylInt_mem omit [IsDomain R] [IsDiscreteValuationRing R] in lemma dvd_sub_of_mk_localRepSome_eq {b b' : R} (h : (QuotientGroup.mk (localRepSome ϖ hϖ0 b) : _ ⧸ integralSubgroup R K) = QuotientGroup.mk (localRepSome ϖ hϖ0 b')) : ϖ ∣ b' - b := by rw [QuotientGroup.eq] at h obtain ⟨r, hr⟩ := exists_entry_eq_of_mem_integralSubgroup h 0 1 rw [Units.val_mul, coe_localRepSome_inv, coe_localRepSome] at hr simp only [Matrix.mul_apply, Fin.sum_univ_two] at hr norm_num at hr have hϖinj := IsFractionRing.injective R K refine ⟨r, hϖinj ?_⟩ rw [map_sub, map_mul] field_simp at hr ⊢ linear_combination -hr omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in lemma mk_localRepSome_eq_of_dvd_sub {b b' : R} (h : ϖ ∣ b' - b) : (QuotientGroup.mk (localRepSome ϖ hϖ0 b) : _ ⧸ integralSubgroup R K) = QuotientGroup.mk (localRepSome ϖ hϖ0 b') := by obtain ⟨r, hr⟩ := h rw [QuotientGroup.eq] refine ⟨unipotentR r, ?_⟩ refine Units.ext ?_ show (Matrix.GeneralLinearGroup.map (algebraMap R K) (unipotentR r)).val = (((localRepSome ϖ hϖ0 b)⁻¹ * localRepSome ϖ hϖ0 b' : GL (Fin 2) K)).val rw [Units.val_mul, coe_localRepSome_inv, coe_localRepSome] have hb' : algebraMap R K (b' - b) = algebraMap R K ϖ * algebraMap R K r := by rw [← map_mul, hr] rw [map_sub] at hb' ext i j fin_cases i <;> fin_cases j <;> simp [unipotentR, Matrix.GeneralLinearGroup.map, Matrix.mul_apply, Fin.sum_univ_two] <;> field_simp linear_combination -hb' omit [IsDomain R] [IsDiscreteValuationRing R] in lemma mk_localRepSome_ne_mk_localRepInf (hϖ : ¬ IsUnit ϖ) (b : R) : (QuotientGroup.mk (localRepSome ϖ hϖ0 b) : _ ⧸ integralSubgroup R K) ≠ QuotientGroup.mk (localRepInf ϖ hϖ0) := by intro h rw [QuotientGroup.eq] at h obtain ⟨r, hr⟩ := exists_entry_eq_of_mem_integralSubgroup h 0 0 rw [Units.val_mul, coe_localRepSome_inv, coe_localRepInf] at hr simp only [Matrix.mul_apply, Fin.sum_univ_two] at hr norm_num at hr apply hϖ have hϖinj := IsFractionRing.injective R K have hone : ϖ * r = 1 := by apply hϖinj rw [map_mul, map_one, hr, mul_inv_cancel₀ hϖ0] exact IsUnit.of_mul_eq_one r hone omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in lemma conj_diagPi_mem_of_dvd (z : GL (Fin 2) R) (h : ϖ ∣ (z : Matrix (Fin 2) (Fin 2) R) 0 1) : (diagPi ϖ hϖ0)⁻¹ * Matrix.GeneralLinearGroup.map (algebraMap R K) z * diagPi ϖ hϖ0 ∈ integralSubgroup R K := by obtain ⟨e, he⟩ := h set M : Matrix (Fin 2) (Fin 2) R := !![(z : Matrix (Fin 2) (Fin 2) R) 0 0, e; (z : Matrix (Fin 2) (Fin 2) R) 1 0 * ϖ, (z : Matrix (Fin 2) (Fin 2) R) 1 1] with hM have hdet : M.det = ((z : Matrix (Fin 2) (Fin 2) R)).det := by rw [hM, Matrix.det_fin_two_of, Matrix.det_fin_two, he] ring have hMunit : IsUnit M.det := by rw [hdet, ← Matrix.GeneralLinearGroup.val_det_apply] exact (Matrix.GeneralLinearGroup.det z).isUnit refine ⟨Matrix.GeneralLinearGroup.mk'' M hMunit, ?_⟩ have hz01 : (algebraMap R K) ((z : Matrix (Fin 2) (Fin 2) R) 0 1) = algebraMap R K ϖ * algebraMap R K e := by rw [← map_mul, he] have hcomm : diagPi ϖ hϖ0 * Matrix.GeneralLinearGroup.map (algebraMap R K) (Matrix.GeneralLinearGroup.mk'' M hMunit) = Matrix.GeneralLinearGroup.map (algebraMap R K) z * diagPi ϖ hϖ0 := by refine Units.ext ?_ rw [Units.val_mul, Units.val_mul, coe_diagPi] rw [show ((Matrix.GeneralLinearGroup.map (algebraMap R K) z) : Matrix (Fin 2) (Fin 2) K) = (algebraMap R K).mapMatrix (z : Matrix (Fin 2) (Fin 2) R) from rfl] rw [show ((Matrix.GeneralLinearGroup.map (algebraMap R K) (Matrix.GeneralLinearGroup.mk'' M hMunit)) : Matrix (Fin 2) (Fin 2) K) = (algebraMap R K).mapMatrix M from rfl] ext i j fin_cases i <;> fin_cases j <;> simp [hM, Matrix.mul_apply, Fin.sum_univ_two, RingHom.mapMatrix_apply, map_mul, hz01] ring symm calc (diagPi ϖ hϖ0)⁻¹ * Matrix.GeneralLinearGroup.map (algebraMap R K) z * diagPi ϖ hϖ0 = (diagPi ϖ hϖ0)⁻¹ * (Matrix.GeneralLinearGroup.map (algebraMap R K) z * diagPi ϖ hϖ0) := by rw [mul_assoc] _ = (diagPi ϖ hϖ0)⁻¹ * (diagPi ϖ hϖ0 * Matrix.GeneralLinearGroup.map (algebraMap R K) (Matrix.GeneralLinearGroup.mk'' M hMunit)) := by rw [hcomm] _ = Matrix.GeneralLinearGroup.map (algebraMap R K) (Matrix.GeneralLinearGroup.mk'' M hMunit) := by rw [inv_mul_cancel_left] omit [IsFractionRing R K] in theorem exists_rep_of_mem_heckeMulSet (hϖirr : Irreducible ϖ) {x : GL (Fin 2) K} (hx : x ∈ heckeMulSet ϖ hϖ0) : (∃ b, (QuotientGroup.mk (localRepSome ϖ hϖ0 b) : _ ⧸ integralSubgroup R K) = QuotientGroup.mk x) ∨ (QuotientGroup.mk (localRepInf ϖ hϖ0) : _ ⧸ integralSubgroup R K) = QuotientGroup.mk x := by obtain ⟨u, hu, rfl⟩ := (mem_heckeMulSet_iff ϖ hϖ0).mp hx obtain ⟨y, rfl⟩ := hu by_cases hd : IsUnit ((y : Matrix (Fin 2) (Fin 2) R) 1 1) · left obtain ⟨d, hd⟩ := hd refine ⟨(y : Matrix (Fin 2) (Fin 2) R) 0 1 * (↑d⁻¹ : R), ?_⟩ rw [QuotientGroup.eq] have key : (localRepSome ϖ hϖ0 ((y : Matrix (Fin 2) (Fin 2) R) 0 1 * (↑d⁻¹ : R)))⁻¹ * (Matrix.GeneralLinearGroup.map (algebraMap R K) y * diagPi ϖ hϖ0) = (diagPi ϖ hϖ0)⁻¹ * Matrix.GeneralLinearGroup.map (algebraMap R K) (unipotentR (-((y : Matrix (Fin 2) (Fin 2) R) 0 1 * (↑d⁻¹ : R))) * y) * diagPi ϖ hϖ0 := by rw [localRepSome, _root_.mul_inv_rev, unipotentInt_inv, map_mul, unipotentInt] group rw [key] refine conj_diagPi_mem_of_dvd ϖ hϖ0 _ ?_ have : ((unipotentR (-((y : Matrix (Fin 2) (Fin 2) R) 0 1 * (↑d⁻¹ : R))) * y : GL (Fin 2) R) : Matrix (Fin 2) (Fin 2) R) 0 1 = 0 := by rw [Units.val_mul] show ((!![1, -((y : Matrix (Fin 2) (Fin 2) R) 0 1 * (↑d⁻¹ : R)); 0, 1] : Matrix (Fin 2) (Fin 2) R) * (y : Matrix (Fin 2) (Fin 2) R)) 0 1 = 0 rw [Matrix.mul_apply, Fin.sum_univ_two] simp only [← hd] simp [mul_assoc, Units.inv_mul] rw [this] exact dvd_zero ϖ · right have hdvd : ϖ ∣ (y : Matrix (Fin 2) (Fin 2) R) 1 1 := by rw [← Ideal.mem_span_singleton, ← hϖirr.maximalIdeal_eq] exact (IsLocalRing.mem_maximalIdeal _).mpr (mem_nonunits_iff.mpr hd) rw [QuotientGroup.eq] have key : (localRepInf ϖ hϖ0)⁻¹ * (Matrix.GeneralLinearGroup.map (algebraMap R K) y * diagPi ϖ hϖ0) = (weylInt R K)⁻¹ * ((diagPi ϖ hϖ0)⁻¹ * Matrix.GeneralLinearGroup.map (algebraMap R K) (weylR⁻¹ * y) * diagPi ϖ hϖ0) := by rw [localRepInf, weylInt, map_mul, map_inv] group rw [key] rw [mul_mem_cancel_left (inv_mem (weylInt_mem (R := R) (K := K)))] refine conj_diagPi_mem_of_dvd ϖ hϖ0 _ ?_ have : ((weylR⁻¹ * y : GL (Fin 2) R) : Matrix (Fin 2) (Fin 2) R) 0 1 = (y : Matrix (Fin 2) (Fin 2) R) 1 1 := by rw [Units.val_mul] show ((!![0, 1; 1, 0] : Matrix (Fin 2) (Fin 2) R) * (y : Matrix (Fin 2) (Fin 2) R)) 0 1 = _ rw [Matrix.mul_apply, Fin.sum_univ_two] simp rw [this] exact hdvd omit [IsFractionRing R K] in theorem finite_image_mul_diagPi (hϖirr : Irreducible ϖ) [Finite (R ⧸ Ideal.span {ϖ})] : (QuotientGroup.mk '' (heckeMulSet ϖ hϖ0) : Set (GL (Fin 2) K ⧸ integralSubgroup R K)).Finite := by classical refine Set.Finite.subset (Set.finite_range (fun c : Option (R ⧸ Ideal.span {ϖ}) => (Option.elim c (QuotientGroup.mk (localRepInf ϖ hϖ0)) (fun cc => QuotientGroup.mk (localRepSome ϖ hϖ0 (Quotient.out cc))) : GL (Fin 2) K ⧸ integralSubgroup R K))) ?_ rintro _ ⟨x, hx, rfl⟩ rcases exists_rep_of_mem_heckeMulSet ϖ hϖ0 hϖirr hx with ⟨b, hb⟩ | hinf · refine ⟨some (Ideal.Quotient.mk _ b), ?_⟩ show QuotientGroup.mk (localRepSome ϖ hϖ0 (Quotient.out (Ideal.Quotient.mk _ b))) = _ rw [← hb] refine mk_localRepSome_eq_of_dvd_sub ϖ hϖ0 ?_ rw [← Ideal.mem_span_singleton] rw [← Ideal.Quotient.eq] exact (Ideal.Quotient.mk_out _).symm · exact ⟨none, hinf⟩ noncomputable def localHeckeOperator (hϖirr : Irreducible ϖ) [Finite (R ⧸ Ideal.span {ϖ})] {A : Type*} [AddCommMonoid A] [DistribMulAction (GL (Fin 2) K) A] (S : Type*) [Ring S] [Module S A] [SMulCommClass (GL (Fin 2) K) S A] : MulAction.fixedPoints (integralSubgroup R K) A →ₗ[S] MulAction.fixedPoints (integralSubgroup R K) A := AbstractHeckeOperator.HeckeOperator (R := S) (diagPi ϖ hϖ0) (integralSubgroup R K) (integralSubgroup R K) (finite_image_mul_diagPi ϖ hϖ0 hϖirr) omit [IsDomain R] [IsDiscreteValuationRing R] in theorem three_distinct_cosets (hϖirr : Irreducible ϖ) : (QuotientGroup.mk (localRepSome ϖ hϖ0 0) : _ ⧸ integralSubgroup R K) ≠ QuotientGroup.mk (localRepSome ϖ hϖ0 1) ∧ (QuotientGroup.mk (localRepSome ϖ hϖ0 0) : _ ⧸ integralSubgroup R K) ≠ QuotientGroup.mk (localRepInf ϖ hϖ0) ∧ (QuotientGroup.mk (localRepSome ϖ hϖ0 1) : _ ⧸ integralSubgroup R K) ≠ QuotientGroup.mk (localRepInf ϖ hϖ0) := by refine ⟨fun h => ?_, mk_localRepSome_ne_mk_localRepInf ϖ hϖ0 hϖirr.not_isUnit 0, mk_localRepSome_ne_mk_localRepInf ϖ hϖ0 hϖirr.not_isUnit 1⟩ have := dvd_sub_of_mk_localRepSome_eq ϖ hϖ0 h rw [sub_zero] at this exact hϖirr.not_isUnit (isUnit_of_dvd_one this) omit [IsDomain R] [IsDiscreteValuationRing R] in theorem localRepInf_not_covered_by_finite (hϖirr : Irreducible ϖ) : ∀ b : R, (QuotientGroup.mk (localRepInf ϖ hϖ0) : _ ⧸ integralSubgroup R K) ≠ QuotientGroup.mk (localRepSome ϖ hϖ0 b) := fun b h => mk_localRepSome_ne_mk_localRepInf ϖ hϖ0 hϖirr.not_isUnit b h.symm omit [IsDomain R] [IsDiscreteValuationRing R] [IsFractionRing R K] in theorem localRepSome_collapse_of_isUnit (hϖu : IsUnit ϖ) (b : R) : (QuotientGroup.mk (localRepSome ϖ hϖ0 b) : _ ⧸ integralSubgroup R K) = QuotientGroup.mk (localRepSome ϖ hϖ0 0) := mk_localRepSome_eq_of_dvd_sub ϖ hϖ0 hϖu.dvd end Defs example : Fintype.card (Option (Fin 2)) = 2 + 1 := by decide end LocalGL2
Statements phrased using this module (507)
- Explicit coset system for the Hecke double coset at v
HeckeIntegralSeam.exists_isHeckeCosetSystem_localRep_heckeGen0 below · depth 16 - Iwasawa decomposition for GL₂(K) in unipotent–diagonal form
LocalGL2.iwasawa_decomposition_diag0 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 - Hecke eigenvalue relation for Whittaker coefficients at a good place
AutomorphicForm.SmoothCuspRealizationAt.sum_whittakerCoefficient_mul_placeEmbed_repSome_add_eq_a_mul_whittakerCoefficient1 below · depth 17 - Central eigenvalue bᵥ shifts the Whittaker coefficients
AutomorphicForm.SmoothCuspRealizationAt.whittakerCoefficient_mul_placeEmbed_scalarPi_eq_b_mul_whittakerCoefficient0 below · depth 17 - Transfer of unramified Whittaker data to a Schwartz–Bruhat average
AutomorphicForm.whittakerCoefficient_unipotentAverage_unramified_package84 below · depth 17 - Iwasawa decomposition for GL₂ over a fraction field of a DVR
LocalGL2.iwasawa_decomposition0 below · depth 18 - Local double-coset sums preserve isotypic cusp forms
AutomorphicForm.isIsotypicCuspFormAt_sum_apply_mul_finEmbed_localEmbed_of_isHeckeCosetSystem23 below · depth 19 - Vanishing of the Whittaker coefficient at g Gᵥ^{-(k+1)}
AutomorphicForm.whittakerCoefficient_mul_heckeGen_pow_inv_eq_zero1 below · depth 19 - Whittaker coefficient: Hecke representatives raise the exponent
AutomorphicForm.whittakerCoefficient_mul_heckeGen_pow_mul_localRepSome_eq1 below · depth 19 - Central step-down of Whittaker coefficients along Hecke powers
AutomorphicForm.whittakerCoefficient_mul_heckeGen_pow_succ_mul_localRepInf_eq0 below · depth 19 - Hecke coset system for Uᵥ at a place dividing the level
HeckeIntegralSeam.exists_isHeckeCosetSystem_localRepSome_heckeGen_of_dvd0 below · depth 19 - Spherical base change matching at an inert place, prime degree
AutomorphicForm.exists_heckeAlgHom_areMatchingLocal_of_inert_of_prime70 below · depth 20 - Fibrewise twisted trace comparison at prime degree
AutomorphicForm.fibreSum_twistedCutTrace_eq_const_mul_fibreSum_cutTrace_of_areMatchingAt_symm_of_prime3,006 below · depth 20 - Spectral comparison of cut traces in prime-degree Galois extensions
AutomorphicForm.fibreSum_twistedCutTrace_eq_const_mul_fibreSum_cutTrace_of_centralElliptic_of_prime3,001 below · depth 21 - Elliptic orbital integral of a spherical Hecke function via its Satake shadow
AutomorphicForm.orbitalIntegral_eq_shadow_of_irreducible_charpoly33 below · depth 21 - Twisted orbital integral at an inert place via Satake shadow
AutomorphicForm.twistedOrbitalIntegral_eq_shadow_of_irreducible_charpoly32 below · depth 21 - Algebra characters of the local Hecke algebra as Satake pairs
LocalGL2.existsUnique_algHom_heckeIndicator_eq2 below · depth 21 - Satake-type constant-term homomorphism for GL₂ over a discrete valuation ring
LocalGL2.exists_algHom_apply_eq_finsum_indicator_heckeIndicator_diagPi_eq1 below · depth 21 - Cartan basis of the Hecke algebra of GL₂(K)
LocalGL2.exists_basis_heckeIndicator_zpow2 below · depth 21 - Finiteness of the coset image of GL₂(R)g
LocalGL2.finite_image_integralSubgroup_mul_singleton2 below · depth 21 - Scalar double-coset indicator is a central unit
LocalGL2.heckeIndicator_diagPi_mul_localRepInf_central_isUnit0 below · depth 21 - Hecke recursion T· T_varpiⁿ=T_varpiⁿ⁺¹+q T_(varpi,varpiⁿ) for n≥ 2
LocalGL2.heckeIndicator_diagPi_mul_localRepInf_pow0 below · depth 21 - Square of the spherical Hecke operator at diag(varpi,1)
LocalGL2.heckeIndicator_diagPi_mul_self0 below · depth 21 - Export package for translates of a smoothed cuspidal realisation
AutomorphicForm.SmoothCuspRealizationAt.exports_rightConv_sum_translate_of_isCuspConstituent109 below · depth 22 - Atom-free trace identity with geometric remainder for GL₂
AutomorphicForm.exists_continuous_forall_not_isEisenstein_noAtomicMass_geometricRemainder1,284 below · depth 22 - Twisted GL₂ trace identity with atom-free remainder functional
AutomorphicForm.exists_continuous_forall_not_isEisenstein_noAtomicMass_twistedGeometricRemainder_unram1,751 below · depth 22 - Hecke and central translates of a factorizable test function
AutomorphicForm.exists_isUnitFactorization_insert_and_cutTrace_eq_pow_mul_cutTrace1 below · depth 22 - Hecke word shifts and scalar law for twisted cut traces
AutomorphicForm.exists_twistedCutTrace_heckeWordShift_eq_pow_mul_pow_mul2 below · depth 22 - Fibre-sum spectral comparison for twisted GL₂ at prime degree
AutomorphicForm.fibreSum_twistedCutTrace_eq_const_mul_fibreSum_cutTrace_of_docks_ed23,000 below · depth 22 - Spectral side of the twisted trace formula along Hecke words
AutomorphicForm.exists_atomic_forall_exists_integral_lambdaT_twistedAdelicKernel_eq_twistedCutTrace_add_symm_unram1,750 below · depth 23 - Truncated GL₂ kernel integral along Hecke words: affine asymptotics
AutomorphicForm.exists_atomic_forall_tendsto_setIntegral_lambdaT_adelicKernel_sub_mul1,282 below · depth 23 - Hecke word comparison of twisted and untwisted cut traces
AutomorphicForm.exists_atoms_forall_exists_noAtomicMass_heckeWordSum_twistedCutTrace_sub_finrank_mul_const_mul_heckeWordSum_cutTrace_eq2,972 below · depth 23 - Formal base change of an Eisenstein Hecke table is Eisenstein
AutomorphicForm.exists_eisensteinTableOf_eq_formalBaseChange_eisensteinTableOf6 below · depth 23 - Fibre-sum vanishing from monomial identities at places of record
AutomorphicForm.forall_finset_fibreSum_sub_const_mul_fibreSum_add_eq_zero_of_forall_places_exists_noAtomicMass_wordSum_eq1 below · depth 23 - Satake data constant on fibres over K, given word-shift
AutomorphicForm.satakeData_eq_of_under_eq_of_twistedCutTrace_ne_zero_of_heckeWordShift0 below · depth 23 - Absolute summability of Siegel-pinned cut traces on GL₂
AutomorphicForm.summable_norm_cutTrace_of_isUnitFactorizableOfTypeAt_of_coversModCentre96 below · depth 23 - Satake table of a principal-level cuspidal class lies in a box
AutomorphicForm.table_mem_box_of_mem_cuspClasses_siegel119 below · depth 23 - Hecke tables of cuspidal slab classes lie in the box
AutomorphicForm.table_mem_box_of_mem_cuspClasses_slab18 below · depth 23 - Hecke generator inverse double-coset relation at level U₁(N)
NumberField.AdelicLevel.exists_heckeGen_inv_eq_centralScalar_mul_mul_heckeGen_mul_levelOne1 below · depth 23 - Double-coset inversion relation for Hecke generators at principal level
NumberField.AdelicLevel.exists_heckeGen_inv_eq_centralScalar_mul_mul_heckeGen_mul_principalLevel1 below · depth 23 - Hecke words and slot-family combinations are matching at S_K∪ T
AutomorphicForm.areMatchingAt_union_heckeWord_sum_slotFamilyCoeff_mul_of_areMatchingAt78 below · depth 24 - Asymptotic twisted spectral identity for GL₂, ramified places in S_L
AutomorphicForm.exists_atomic_forall_tendsto_integral_lambdaT_twistedAdelicKernel_sub_twistedCutTrace_sub_unram1,335 below · depth 24 - Spectral side of the truncated centre-folded GL₂ trace formula
AutomorphicForm.exists_atomic_forall_tendsto_setIntegral_lambdaT_finsum_integral_centralScalar_sub_mul1,280 below · depth 24 - Twisted geometric remainder minus [L:K]λ times slot sum: cylinder-small functional
AutomorphicForm.exists_continuous_noAtomicMass_twistedGeometricRemainder_sub_finrank_mul_const_mul_sum_eq1,677 below · depth 24 - Central–elliptic geometric side of a truncated twisted trace formula
AutomorphicForm.forall_exists_integral_lambdaT_twistedAdelicKernel_eq_finsum_centralElliptic_add_and_norm_le_unram569 below · depth 24 - Per-word twisted spectral comparison from the remainder rows
AutomorphicForm.heckeWordSum_twistedCutTrace_sub_const_mul_heckeWordSum_cutTrace_add_atoms_eq_of_remainder_rows_of_comparison194 below · depth 24 - Hecke word evaluation on adelic induced sections
AutomorphicForm.rightConv_eq_prod_pow_mul_pow_mul_rightConv_of_isInducedSection_of_isUnitFactorization4 below · depth 24 - Existence of a finite Hecke coset system for diag(varpi,1)
HeckeIntegralSeam.exists_isHeckeCosetSystem_integralSubgroup_diagPi3 below · depth 24 - Hecke generator inverse in a central-times-level double coset
NumberField.AdelicLevel.exists_heckeGen_inv_eq_centralScalar_mul_mul_heckeGen_mul_of_forall_finEmbed_localEmbed_mem0 below · depth 24 - Matching of the Hecke word T_w^k z_w^j under prime-degree base change
AutomorphicForm.areMatchingLocal_heckeWord_sum_coeff_univWord_mul_heckeWord_of_ramificationIdx_eq_one_of_prime77 below · depth 25 - Residual block of the truncated GL₂ kernel: Eisenstein atoms
AutomorphicForm.exists_atomic_forall_integrableOn_and_tendsto_setIntegral_lambdaT_finsum_chiDet_mul_chiDet_inv26 below · depth 25 - Atomic spectral data for the twisted truncated GL₂ trace
AutomorphicForm.exists_atomic_forall_tendsto_integral_lambdaT_twistedAdelicKernel_sub_twistedCutTrace_sub1,334 below · depth 25 - Eisenstein block of the truncated centre-folded GL₂ kernel
AutomorphicForm.exists_atomic_forall_tendsto_setIntegral_lambdaT_finsum_sub_lambdaT_tsum_sub_lambdaT_finsum_chiDet_sub_mul1,277 below · depth 25 - Comparison of parabolic intercepts along Hecke words, uniform λ
AutomorphicForm.exists_continuous_noAtomicMass_intercept_parabolic_sub_finrank_mul_const_mul_sum_intercept_parabolic_eq_uniform1,673 below · depth 25 - Coarse geometric expansion of the truncated GL₂ kernel integral
AutomorphicForm.exists_forall_le_setIntegral_lambdaT_adelicKernel_sub_centralElliptic_eq_setIntegral_parabolic94 below · depth 25 - Coarse geometric expansion of the truncated twisted GL₂ kernel
AutomorphicForm.exists_forall_le_setIntegral_lambdaT_twistedAdelicKernel_sub_centralElliptic_eq_setIntegral_parabolic157 below · depth 25 - Type splitting of the truncated twisted kernel, with domain independence
AutomorphicForm.forall_exists_lambdaT_twistedAdelicKernel_eq_finsum_add_sub_indicator_constantTerm_add15 below · depth 25 - Hyperbolic term affine in the truncation parameter, with bounded coefficients
AutomorphicForm.forall_exists_setIntegral_finsum_hyperbolicCell_sub_indicator_constantTerm_eq_affine_bound415 below · depth 25 - Affineness in R of the truncated twisted unipotent term
AutomorphicForm.forall_exists_setIntegral_finsum_unipotentCell_sub_indicator_constantTerm_eq_affine_unram257 below · depth 25 - Cuspidal block of the truncated GL₂ spectral side
AutomorphicForm.forall_integrableOn_and_setIntegral_lambdaT_mul_tsum_convOp_mul_conj_eq_mul_tsum_cutTrace505 below · depth 25 - Integrability of the central–elliptic twisted kernel against an idele character
AutomorphicForm.integrableOn_setIntegral_mul_finsum_centralElliptic_twistedAdelicKernel39 below · depth 25 - Absolute summability of cut traces over Siegel-pinned cusp classes
AutomorphicForm.summable_norm_cutTrace_of_isUnitFactorizableOfTypeAt_of_coversModCentre_of_subset96 below · depth 25 - Truncated σ-twisted spectral identity along Hecke words
AutomorphicForm.exists_atomic_forall_tendsto_setIntegral_lambdaT_finsum_integral_sigmaAdelicAct_centralScalar_sub_twistedCutTrace_sub1,332 below · depth 26 - Large-R limit: slope, summable atoms, small functional
AutomorphicForm.exists_atomic_forall_tendsto_tsum_integral_prod_pow_mul_affine_oscillatory_sub_mul_of_placewise_bound_of_sum_lipschitz1 below · depth 26 - Existence of a unit factorisation at S with prescribed factors
AutomorphicForm.exists_continuous_hasCompactSupport_isUnitFactorization_and_union_of_isArchTestFactor_of_isLocalTestFn1 below · depth 26 - Truncated hyperbolic terms compared with a uniform slope λ
AutomorphicForm.exists_continuous_noAtomicMass_integrableOn_and_hyperbolicTerm_sub_finrank_mul_const_mul_sum_eq_of_areMatchingAt_uniform1,509 below · depth 26 - Matched unipotent terms: affine in R with atom-free remainder
AutomorphicForm.exists_continuous_noAtomicMass_integrableOn_and_unipotentTerm_sub_const_mul_sum_eq_of_areMatchingAt362 below · depth 26 - Countable complete orthonormal flat families of induced sections
AutomorphicForm.exists_countable_orthonormal_flat_isInducedSection_family_complete_principalLevel_archCutSubmodule18 below · depth 26 - Twisted principal-series Hecke table is an Eisenstein table
AutomorphicForm.exists_eisensteinTableOf_eq_table_of_isUnitaryChar_of_isUnramifiedCharAt7 below · depth 26 - Truncated parabolic term splits into hyperbolic and unipotent cells
AutomorphicForm.exists_forall_le_integrableOn_and_setIntegral_parabolic_eq_hyperbolicCell_add_unipotentCell94 below · depth 26 - Hyperbolic–unipotent splitting of the truncated twisted parabolic term
AutomorphicForm.exists_forall_le_integrableOn_and_setIntegral_twistedParabolic_eq_hyperbolicCell_add_unipotentCell166 below · depth 26 - Integrability of the centre-folded truncated GL₂ adelic kernel
AutomorphicForm.exists_forall_le_integrableOn_setIntegral_mul_lambdaT_adelicKernel_of_isTruncationDatum82 below · depth 26 - Bounding the affine coefficients of the hyperbolic twisted term
AutomorphicForm.exists_forall_norm_add_norm_le_of_forall_setIntegral_finsum_hyperbolicCell_sub_indicator_constantTerm_eq_affine413 below · depth 26 - Modulus of an idele class character is a power of the norm
AutomorphicForm.exists_forall_norm_apply_eq_ideleNorm_rpow_of_continuous_of_trivial5 below · depth 26 - Truncated twisted unipotent term as weighted Hecke-word moments
AutomorphicForm.exists_forall_setIntegral_finsum_unipotentCell_sub_indicator_constantTerm_eq_weighted_moments_unram254 below · depth 26 - Integrated continuous-spectrum identity for the truncated GL₂ kernel
AutomorphicForm.exists_forall_setIntegral_lambdaT_finsum_sub_lambdaT_tsum_sub_lambdaT_finsum_chiDet_eq_mul_integral_sum_rightConv_mul_setIntegral_lambdaT_axis_continuation1,261 below · depth 26 - Idelic base change for a cyclic extension: fixed idèles form the image
AutomorphicForm.exists_idelesBaseChange_continuous_injective_norm_pow_range_eq_fixed4 below · depth 26 - Summable dominant for continuous-spectrum Maass–Selberg pairings
AutomorphicForm.exists_summable_dominant_rightConv_axis_family_maassSelberg_pairings_of_isUnitFactorization_sum_lipschitz414 below · depth 26 - Asymptotically affine truncated parabolic term, unit-factorizable f
AutomorphicForm.exists_tendsto_setIntegral_lambdaT_adelicKernel_sub_centralElliptic_sub_affine_atTop_of_isUnitFactorization399 below · depth 26 - Affine dependence of the hyperbolic term on the truncation parameter
AutomorphicForm.forall_exists_setIntegral_finsum_hyperbolicCell_sub_indicator_constantTerm_eq_affine_bare212 below · depth 26 - Integrability of the central–elliptic twisted kernel over centre-cut Siegel translates
AutomorphicForm.integrableOn_iUnion_centreCutSiegelSet_setIntegral_mul_finsum_borel_centralElliptic22 below · depth 26 - Hecke words extracted from int f·(χ∘det)
AutomorphicForm.integral_mul_chiDet_eq_prod_pow_mul_pow_mul_integral_mul_chiDet_of_isUnitFactorization0 below · depth 26 - Twisting an induced section by ‖det‖^{w/2}
AutomorphicForm.isInducedSection_mul_cpowChar_and_continuous_and_maximalCompactAway_of_isInducedSection_of_principalLevel4 below · depth 26 - Twisting by a complex power of the idelic modulus preserves unramifiedness
AutomorphicForm.isUnramifiedCharAt_mul_cpowChar_of_isUnramifiedCharAt2 below · depth 26 - Induced sections of level N force characters unramified outside N
AutomorphicForm.isUnramifiedCharAt_of_isInducedSection_etaFst_etaSnd_of_ne_zero_of_principalLevel3 below · depth 26 - Unitary principal-series tables lie in the ξ-box
AutomorphicForm.table_axis_mem_setOf_xiBox_of_isUnitaryChar_of_mul_mul_rpow_eq0 below · depth 26 - Regularity and Cauchy–Schwarz bounds for flat Maass–Selberg pairings
AutomorphicForm.continuous_and_hasDerivAt_axis_continuation_weylIntertwiningIntegral_pairings_of_flat0 below · depth 27 - Spectral side of the σ-twisted trace formula along Hecke words
AutomorphicForm.exists_atomic_forall_tendsto_setIntegral_lambdaT_finsum_integral_sigmaAdelicAct_centralScalar_sub_tsum_finsum_setIntegral_twistedConvOp_sub1,331 below · depth 27 - Uniform bounds and summability for adelic GL₂ Eisenstein data
AutomorphicForm.exists_bound_card_and_archParam_weight_and_summable_of_orthonormal_flat_isInducedSection_family40 below · depth 27 - Affine shape of base-changed unipotent terms along Hecke words
AutomorphicForm.exists_clm_noAtomicMass_forall_sum_slotFamilyCoeff_mul_setIntegral_unipotentCell_eq_mul_add277 below · depth 27 - A uniform transfer constant in the hyperbolic-term base-change comparison
AutomorphicForm.exists_const_forall_exists_windingDatum_integrableOn_and_hyperbolicTerm_sub_finrank_mul_const_mul_sum_eq_mul_sum_coeff_add_sum_coeff_of_areMatchingAt1,495 below · depth 27 - Dominated and integrable continuous spectral kernel after truncation
AutomorphicForm.exists_forall_dominated_sum_rightConv_axis_continuation_and_integrable_prod_lambdaT443 below · depth 27 - Pointwise spectral identity for the GL₂ kernel on the unitary axis
AutomorphicForm.exists_forall_finsum_integral_centralScalar_sub_tsum_convOp_sub_finsum_chiDet_eq_mul_integral_sum_rightConv_axis_continuation1,238 below · depth 27 - Integrability of the truncated hyperbolic and unipotent kernels
AutomorphicForm.exists_forall_le_integrableOn_hyperbolicCell_and_unipotentCell_sub_indicator_constantTerm91 below · depth 27 - Integrability of the truncated twisted hyperbolic and unipotent kernels
AutomorphicForm.exists_forall_le_integrableOn_twistedHyperbolicCell_and_twistedUnipotentCell_sub_indicator_constantTerm162 below · depth 27 - Pointwise cell decomposition of the truncated GL₂ adelic kernel
AutomorphicForm.exists_forall_le_lambdaT_adelicKernel_eq_centralElliptic_add_unipotentCell_add_hyperbolicCell4 below · depth 27 - Uniform polynomial bound for the GL₂ scattering derivative on the unitary axis
AutomorphicForm.exists_forall_lintegral_norm_deriv_axis_continuation_weylIntertwiningIntegral_le_mul_pow_archParam_weight391 below · depth 27 - Uniform rapid decay of K-matrix coefficients on the unitary axis
AutomorphicForm.exists_forall_norm_rightConv_axis_pairing_add_norm_deriv_le_mul_rpow_neg_archParam_of_isUnitFactorization20 below · depth 27 - Hyperbolic term of the twisted trace formula: affine or zero
AutomorphicForm.exists_forall_setIntegral_finsum_hyperbolicCell_sub_indicator_constantTerm_eq_mul_sum_orbital_add_sum_weightedOrbital_or_eq_zero_of_isFactorizableTestFn211 below · depth 27 - Truncated twisted unipotent term along Hecke words via local zetas
AutomorphicForm.exists_forall_setIntegral_finsum_unipotentCell_sub_indicator_constantTerm_eq_mul_localZeta_twistedLocalFactor_unram245 below · depth 27 - Hecke-word bound for summed twisted and weighted orbital integrals
AutomorphicForm.exists_forall_sum_integral_norm_orbital_add_weightedOrbital_le_of_isSemiLocalFactorization287 below · depth 27 - Translates of a centre-cut Siegel set lie in a determinant slab
AutomorphicForm.exists_iUnion_image_mul_centreCutSiegelSet_subset_setOf_ideleNorm_det_mem_Icc5 below · depth 27 - Affine asymptotics of the truncated hyperbolic term, unit factorisation
AutomorphicForm.exists_tendsto_setIntegral_hyperbolicCell_sub_affine_atTop_of_isUnitFactorization224 below · depth 27 - Affine asymptotics of the truncated unipotent term, unit-factorizable f
AutomorphicForm.exists_tendsto_setIntegral_unipotentCell_sub_affine_atTop_of_isUnitFactorization263 below · depth 27 - Twisting a GL₂ test function by ‖det‖^{w/2}
AutomorphicForm.isFactorizableTestFn_and_isBiInvariantUnder_and_isArchBiFinite_mul_ideleNorm_det_rpow5 below · depth 27 - Twist transport and truncated diagonal of the residual kernel
AutomorphicForm.resKernel_twist_and_lambdaT_resKernel_diag21 below · depth 27 - Non-σ-invariant idele character kills the truncated unipotent term
AutomorphicForm.setIntegral_finsum_unipotentCell_sub_indicator_constantTerm_eq_zero_of_not_sigmaInvariant_unram12 below · depth 27 - Twist-invariance of summed cut cuspidal traces on GL₂
AutomorphicForm.tsum_cutTrace_eq_tsum_cutTrace_mul_ideleNorm_det_rpow_of_subset_slab14 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 - Hecke recursion for Whittaker coefficients at a good place
AutomorphicForm.SmoothCuspRealizationAt.sum_whittakerCoefficient_mul_placeEmbed_repSome_add_eq_a_mul_whittakerCoefficient_principal1 below · depth 28 - Central uniformizer scalar at a good place scales Whittaker coefficients
AutomorphicForm.SmoothCuspRealizationAt.whittakerCoefficient_mul_placeEmbed_scalarPi_eq_b_mul_whittakerCoefficient_principal0 below · depth 28 - Continuity and GL₂(K)-automorphy of the residual kernel
AutomorphicForm.continuous_uncurry_finsum_chiDet_mul_chiDet_inv_and_apply_globalPoints_mul_and_apply_centralScalar_mul0 below · depth 28 - Continuity and equivariance of the centre-folded GL₂ kernel
AutomorphicForm.continuous_uncurry_finsum_integral_centralScalar_mul_apply_inv_mul_globalPoints_mul_centralScalar_mul5 below · depth 28 - Joint continuity and automorphy of the cuspidal kernel
AutomorphicForm.continuous_uncurry_tsum_convOp_mul_conj_of_orthonormal_isotypicCuspSubmodule504 below · depth 28 - Residual χ∘det block of the σ-twisted spectral side
AutomorphicForm.exists_atomic_forall_integrableOn_and_tendsto_setIntegral_lambdaT_finsum_twistedConvOp_chiDet_mul_chiDet_inv29 below · depth 28 - Continuous block of the σ-twisted spectral side along Hecke words
AutomorphicForm.exists_atomic_forall_tendsto_setIntegral_lambdaT_finsum_integral_sigmaAdelicAct_sub_lambdaT_tsum_finsum_twistedConvOp_sub_lambdaT_finsum_twistedConvOp_chiDet_sub1,325 below · depth 28 - A uniform transfer constant in the twisted hyperbolic comparison
AutomorphicForm.exists_const_forall_exists_windingDatum_sub_finrank_mul_const_mul_sum_eq_sum_mul_coeff_of_hyperbolicTerm_eq_affine1,489 below · depth 28 - Finitely many local character possibilities at fixed principal level
AutomorphicForm.exists_finite_forall_isUnramifiedCharAt_and_localChar_eq_of_isInducedSection_etaFst_etaSnd_of_ne_zero_of_principalLevel6 below · depth 28 - Uniform weight bound for non-zero induced sections of listed type
AutomorphicForm.exists_forall_abs_weight_le_of_isInducedSection_ne_zero_archCutSubmodule12 below · depth 28 - Almost-everywhere spectral expansion of the continuous kernel for GL₂
AutomorphicForm.exists_forall_ae_prod_restrict_canonicalTruncationDomain_finsum_integral_centralScalar_sub_tsum_convOp_sub_finsum_chiDet_eq_mul_tsum_integral_sum_rightConv_axis_continuation1,237 below · depth 28 - Flat sections: intertwining integral as completed L-ratio with axis bounds
AutomorphicForm.exists_forall_completedL_mul_axis_continuation_weylIntertwiningIntegral_eq_mul_normalizedIntertwining_and_lintegral_le_of_flat350 below · depth 28 - Summable integrable dominants for the GL₂ continuous spectral sum
AutomorphicForm.exists_forall_dominated_sum_rightConv_axis_continuation_of_isCompact439 below · depth 28 - Integrability of the truncated continuous kernel, summably in the Eisenstein data
AutomorphicForm.exists_forall_integrable_sum_rightConv_axis_continuation_mul_conj_lambdaT_prod_restrict_canonicalTruncationDomain436 below · depth 28 - Iwasawa unfolding of flat induced matrix coefficients
AutomorphicForm.exists_forall_integral_rightConv_axis_mul_conj_eq_mul_iwasawa_integral_of_flat10 below · depth 28 - Uniform bound on orthonormal level-N induced sections of listed type
AutomorphicForm.exists_forall_le_of_orthonormal_isInducedSection_principalLevel_archCutSubmodule_of_ne_bot4 below · depth 28 - Truncated unipotent contributions along a slot family over K
AutomorphicForm.exists_forall_mem_slotIndex_integrableOn_and_setIntegral_unipotentCell_eq_weighted_moments_self258 below · depth 28 - Central character bound along the support of a twisted Hecke word
AutomorphicForm.exists_forall_norm_apply_le_mul_prod_of_isSemiLocalFactorization_of_apply_ne_zero11 below · depth 28 - Uniform rapid decay of the Iwasawa integral along the unitary axis
AutomorphicForm.exists_forall_norm_iwasawa_integral_axis_add_norm_deriv_le_mul_rpow_neg_archParam_of_isUnitFactorization18 below · depth 28 - One twisted hyperbolic class: truncated term equals weighted orbital integrals
AutomorphicForm.exists_forall_setIntegral_finsum_sigmaConjClassOrbit_sub_indicator_constantTerm_eq_setIntegral_tsum_weight_mul_integral_of_isFactorizableTestFn197 below · depth 28 - Truncated unipotent term as rank-one Tate integrals over K
AutomorphicForm.exists_forall_setIntegral_finsum_unipotentCell_sub_indicator_constantTerm_eq_sum_mul_setIntegral_rankOne_unram205 below · depth 28 - Vanishing of hyperbolic terms for non-σ-invariant ξ_L
AutomorphicForm.exists_forall_setIntegral_tsum_weight_mul_integral_eq_zero_of_not_sigmaInvariant_of_isFactorizableTestFn10 below · depth 28 - Uniform bound for twisted orbital and weighted orbital integrals
AutomorphicForm.exists_forall_sum_lintegral_orbital_add_weightedOrbital_le_of_isSemiLocalFactorization284 below · depth 28 - Truncated hyperbolic σ-class term as weighted twisted orbital integrals
AutomorphicForm.exists_pos_forall_integrable_and_setIntegral_tsum_weight_mul_integral_eq_mul_orbital_add_weightedOrbital_of_isFactorizableTestFn98 below · depth 28 - Affine truncated slab integral over the twisted diagonal centraliser
AutomorphicForm.exists_pos_isFundamentalDomain_forall_setIntegral_indicator_slab_bracket_eq_mul_of_sigmaCentraliser39 below · depth 28 - A closed twisted diagonal subgroup of GL₂(A_L) carrying Haar measure
AutomorphicForm.exists_subgroup_isClosed_and_mem_iff_diagonal_and_sigmaAdelicAct_mul_inv_mem_center_and_exists_isHaarMeasure0 below · depth 28 - Truncated twisted cuspidal kernel integrates blockwise over a fundamental domain
AutomorphicForm.forall_integrableOn_and_setIntegral_lambdaT_tsum_finsum_twistedConvOp_mul_conj_eq_tsum_finsum_setIntegral_of_orthonormal_of_isFundamentalDomain_slab382 below · depth 28 - Integrability of the central fold of a truncated twisted kernel
AutomorphicForm.integrableOn_mul_finsum_sub_indicator_highSet_constantTerm_finsum_of_hasCompactSupport15 below · depth 28 - Eisenstein kernel: integrability, joint continuity, automorphy
AutomorphicForm.integrable_and_summable_and_continuous_uncurry_tsum_integral_sum_rightConv_axis_continuation_mul_conj440 below · depth 28 - Determinant-norm twisting of cuspidal classes and cut traces
AutomorphicForm.mem_cuspClasses_iff_twist_mem_cuspClasses_and_cutTrace_eq_cutTrace_twist_mul_ideleNorm_det_rpow_of_subset_slab13 below · depth 28 - Truncated twisted hyperbolic term as a finite sum over Δ_φ
AutomorphicForm.setIntegral_mul_finsum_hyperbolicCell_sub_indicator_constantTerm_eq_sum_of_hasCompactSupport21 below · depth 28 - Twisted hyperbolic cell at σ=1 equals untwisted cell
AutomorphicForm.setIntegral_twistedHyperbolicCell_self_one_eq_setIntegral_hyperbolicCell0 below · depth 28 - Trivial twist: σ=1 unipotent cell is untwisted
AutomorphicForm.setIntegral_twistedUnipotentCell_self_one_eq_setIntegral_unipotentCell0 below · depth 28 - Vanishing of the unipotent fold against a character ramified on T
AutomorphicForm.setIntegral_unipotentCell_fold_eq_zero_of_exists_localUnit_apply_ne_one4 below · depth 28 - Explicit qᵥ+1 Hecke coset representatives at a finite place
HeckeIntegralSeam.exists_isHeckeCosetSystem_localRep_heckeGen_principalLevel0 below · depth 28 - Holomorphy of the twisted local zeta integral on Re s>0
TwistedUnipotentTerm.differentiableOn_localZeta_twistedLocalFactor_one_unram18 below · depth 28 - Unipotent orbital function as a twisted tree walk count
TwistedUnipotentTerm.exists_ne_zero_forall_unipotentOrbitalFn_eq_mul_indicator_walkCount_of_forall_mem_integralUnits13 below · depth 28
… and 357 more statements (search for the module name to find them).