Definitions/Def_LocalLanglands_HeckeCosetSystem.lean
Coset systems for double cosets, and their volumes
Fix a group G, a subgroup U \le G and an element g \in G, and write UgU for the project's set HeckePair.doubleCoset U g, defined as the pointwise product (U) \cdot \{g\} \cdot (U) of subsets of G. The structure IsHeckeCosetSystem U g reps, for a family \mathrm{reps} : \iota \to G indexed by an arbitrary type \iota, is a proposition-valued structure with three fields: each \mathrm{reps}\,i lies in UgU; every x \in UgU has the same image as some \mathrm{reps}\,i under the projection G \to G \mathbin{/} U to left cosets (so the family covers all left cosets meeting UgU); and i \mapsto \mathrm{reps}\,i\,U is injective. Thus a coset system is a family of elements of UgU hitting each left coset contained in UgU exactly once; no finiteness of \iota is required in the definition.
The basic consequences are recorded: \mathrm{reps}\,i \cdot U \subseteq UgU, the decomposition UgU = \bigcup_i \mathrm{reps}\,i \cdot U, pairwise disjointness of the sets \mathrm{reps}\,i \cdot U for distinct indices, and injectivity of \mathrm{reps} itself. Auxiliary lemmas identify membership in a left coset y\cdot U with equality of classes in G \mathbin{/} U, show (U)\cdot\{g\} \subseteq UgU, and show that the chosen representative Quotient.out of the class of a point of UgU again lies in UgU. From this, canonical_isHeckeCosetSystem produces a coset system whenever the image of (U)\cdot\{g\} in G \mathbin{/} U is finite — the same finiteness hypothesis that the project's Hecke indicator and Hecke operator require — indexing it by that finite set of cosets and taking Quotient.out of each.
In the measurable setting (G with a measurable space structure and measurable multiplication) it is shown that y\cdot U is the preimage of U under x \mapsto y^{-1}x, hence measurable when U is, and of the same measure as U for a left-invariant measure \mu. Consequently, for a coset system with \iota a Fintype and U measurable, UgU is measurable and \mu(UgU) = |\iota| \cdot \mu(U) in [0,\infty]; no Haar normalisation, finiteness or non-vanishing of \mu(U) is assumed.
Relation to Mathlib
IsHeckeCosetSystem is the project's own predicate, stated for the project's HeckePair.doubleCoset (a pointwise product of subsets) rather than for Mathlib's Doset; the measure-theoretic lemmas are applications of Mathlib's invariance of left Haar-type measures under left translation and of additivity over finite disjoint unions.
Where it is used
These decompositions are the abstract mechanism by which local Hecke operators, defined in the project as sums over the left cosets in a double coset, are matched with integrals of the indicator function of that double coset against a left-invariant measure; the volume formula \mu(UgU) = |\iota|\,\mu(U) specialises, for U a maximal compact subgroup of \mathrm{GL}_2(\mathbb{Q}_p) and g = \mathrm{diag}(p,1), to the factor p+1 attached to T_p.
References
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
- H. Jacquet and R. P. Langlands, Automorphic Forms on GL(2), Lecture Notes in Mathematics 114, Springer, 1970
- D. Bump, Automorphic Forms and Representations, Cambridge Studies in Advanced Mathematics 55, Cambridge University Press, 1997
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 136 lines
- 17 declarations
- used in the statements of 99 theorems and imported by 134 proofs
- imports 1 definition modules
Source file: Definitions/Def_LocalLanglands_HeckeCosetSystem.lean
Imports
Declarations
- structure
HeckeIntegralSeam.IsHeckeCosetSystem - field
HeckeIntegralSeam.IsHeckeCosetSystem.mem_doubleCoset - field
HeckeIntegralSeam.IsHeckeCosetSystem.covers - field
HeckeIntegralSeam.IsHeckeCosetSystem.mk_injective - theorem
HeckeIntegralSeam.mem_smul_coe_iff - theorem
HeckeIntegralSeam.mulSet_subset_doubleCoset - theorem
HeckeIntegralSeam.out_mk_mem_doubleCoset - theorem
HeckeIntegralSeam.IsHeckeCosetSystem.smul_subset - theorem
HeckeIntegralSeam.IsHeckeCosetSystem.doubleCoset_eq_iUnion - theorem
HeckeIntegralSeam.IsHeckeCosetSystem.disjoint - theorem
HeckeIntegralSeam.IsHeckeCosetSystem.reps_injective - theorem
HeckeIntegralSeam.canonical_isHeckeCosetSystem - theorem
HeckeIntegralSeam.smul_coe_eq_preimage - theorem
HeckeIntegralSeam.measurableSet_smul_coe - theorem
HeckeIntegralSeam.measure_smul_coe - theorem
HeckeIntegralSeam.IsHeckeCosetSystem.measure_doubleCoset - theorem
HeckeIntegralSeam.IsHeckeCosetSystem.measurableSet_doubleCoset
Source
import Mathlib import Definitions.Def_LocalLanglands_HeckePair set_option autoImplicit false open scoped Pointwise ENNReal open MulAction MeasureTheory namespace HeckeIntegralSeam section CosetSystem variable {G : Type*} [Group G] structure IsHeckeCosetSystem (U : Subgroup G) (g : G) {ι : Type*} (reps : ι → G) : Prop where mem_doubleCoset : ∀ i, reps i ∈ HeckePair.doubleCoset U g covers : ∀ x ∈ HeckePair.doubleCoset U g, ∃ i, (QuotientGroup.mk x : G ⧸ U) = QuotientGroup.mk (reps i) mk_injective : Function.Injective fun i => (QuotientGroup.mk (reps i) : G ⧸ U) variable {U : Subgroup G} {g : G} theorem mem_smul_coe_iff {y x : G} : x ∈ y • (U : Set G) ↔ (QuotientGroup.mk y : G ⧸ U) = QuotientGroup.mk x := by rw [Set.mem_smul_set_iff_inv_smul_mem, smul_eq_mul, SetLike.mem_coe, QuotientGroup.eq] theorem mulSet_subset_doubleCoset : (U : Set G) * {g} ⊆ HeckePair.doubleCoset U g := by intro x hx obtain ⟨u, hu, w, hw, rfl⟩ := Set.mem_mul.mp hx obtain rfl : w = g := hw exact HeckePair.mem_doubleCoset_iff.mpr ⟨u, hu, 1, one_mem U, by group⟩ theorem out_mk_mem_doubleCoset {x : G} (hx : x ∈ HeckePair.doubleCoset U g) : Quotient.out (QuotientGroup.mk x : G ⧸ U) ∈ HeckePair.doubleCoset U g := by have hmem : Quotient.out (QuotientGroup.mk x : G ⧸ U) ∈ x • (U : Set G) := mem_smul_coe_iff.mpr (QuotientGroup.out_eq' _).symm obtain ⟨u, hu, hux⟩ := Set.mem_smul_set.mp hmem rw [← hux, smul_eq_mul] exact HeckePair.doubleCoset_mul_mem hx hu namespace IsHeckeCosetSystem variable {ι : Type*} {reps : ι → G} theorem smul_subset (hsys : IsHeckeCosetSystem U g reps) (i : ι) : reps i • (U : Set G) ⊆ HeckePair.doubleCoset U g := by intro x hx obtain ⟨u, hu, rfl⟩ := Set.mem_smul_set.mp hx rw [smul_eq_mul] exact HeckePair.doubleCoset_mul_mem (hsys.mem_doubleCoset i) hu theorem doubleCoset_eq_iUnion (hsys : IsHeckeCosetSystem U g reps) : HeckePair.doubleCoset U g = ⋃ i, reps i • (U : Set G) := by refine Set.Subset.antisymm (fun x hx => ?_) (Set.iUnion_subset fun i => hsys.smul_subset i) obtain ⟨i, hi⟩ := hsys.covers x hx exact Set.mem_iUnion.mpr ⟨i, mem_smul_coe_iff.mpr hi.symm⟩ theorem disjoint (hsys : IsHeckeCosetSystem U g reps) {i j : ι} (hij : i ≠ j) : Disjoint (reps i • (U : Set G)) (reps j • (U : Set G)) := by refine Set.disjoint_left.mpr fun x hxi hxj => hij ?_ exact hsys.mk_injective ((mem_smul_coe_iff.mp hxi).trans (mem_smul_coe_iff.mp hxj).symm) theorem reps_injective (hsys : IsHeckeCosetSystem U g reps) : Function.Injective reps := fun i j hij => hsys.mk_injective (by simp only [hij]) end IsHeckeCosetSystem theorem canonical_isHeckeCosetSystem (hfin : (QuotientGroup.mk '' ((U : Set G) * {g}) : Set (G ⧸ U)).Finite) : IsHeckeCosetSystem U g (fun q : ↥hfin.toFinset => Quotient.out (q : G ⧸ U)) := by constructor · rintro ⟨q, hq⟩ rw [Set.Finite.mem_toFinset] at hq obtain ⟨z, hz, rfl⟩ := hq exact out_mk_mem_doubleCoset (mulSet_subset_doubleCoset hz) · intro x hx have hmk : (QuotientGroup.mk x : G ⧸ U) ∈ hfin.toFinset := by rw [Set.Finite.mem_toFinset, ← HeckePair.image_mk_doubleCoset g] exact Set.mem_image_of_mem _ hx exact ⟨⟨QuotientGroup.mk x, hmk⟩, (QuotientGroup.out_eq' _).symm⟩ · intro q q' h refine Subtype.ext ?_ have h' : QuotientGroup.mk (Quotient.out (q : G ⧸ U)) = QuotientGroup.mk (Quotient.out (q' : G ⧸ U)) := h rwa [QuotientGroup.out_eq', QuotientGroup.out_eq'] at h' end CosetSystem section Volume variable {G : Type*} [Group G] [MeasurableSpace G] [MeasurableMul G] variable {U : Subgroup G} {g : G} theorem smul_coe_eq_preimage (y : G) : y • (U : Set G) = (fun x => y⁻¹ * x) ⁻¹' (U : Set G) := by ext x rw [Set.mem_smul_set_iff_inv_smul_mem] rfl theorem measurableSet_smul_coe (hU : MeasurableSet (U : Set G)) (y : G) : MeasurableSet (y • (U : Set G)) := by rw [smul_coe_eq_preimage] exact (measurable_const_mul y⁻¹) hU theorem measure_smul_coe (μ : Measure G) [μ.IsMulLeftInvariant] (y : G) : μ (y • (U : Set G)) = μ (U : Set G) := by rw [smul_coe_eq_preimage] exact measure_preimage_mul μ y⁻¹ _ theorem IsHeckeCosetSystem.measure_doubleCoset {ι : Type*} [Fintype ι] {reps : ι → G} (hsys : IsHeckeCosetSystem U g reps) (μ : Measure G) [μ.IsMulLeftInvariant] (hU : MeasurableSet (U : Set G)) : μ (HeckePair.doubleCoset U g) = (Fintype.card ι : ℝ≥0∞) * μ (U : Set G) := by classical rw [hsys.doubleCoset_eq_iUnion] have hbU : (⋃ i, reps i • (U : Set G)) = ⋃ i ∈ (Finset.univ : Finset ι), reps i • (U : Set G) := by simp rw [hbU, measure_biUnion_finset (fun i _ j _ hij => hsys.disjoint hij) (fun i _ => measurableSet_smul_coe hU (reps i))] rw [Finset.sum_congr rfl fun i _ => measure_smul_coe μ (reps i), Finset.sum_const, Finset.card_univ, nsmul_eq_mul] theorem IsHeckeCosetSystem.measurableSet_doubleCoset {ι : Type*} [Fintype ι] {reps : ι → G} (hsys : IsHeckeCosetSystem U g reps) (hU : MeasurableSet (U : Set G)) : MeasurableSet (HeckePair.doubleCoset U g) := by rw [hsys.doubleCoset_eq_iUnion] exact MeasurableSet.iUnion fun i => measurableSet_smul_coe hU (reps i) end Volume end HeckeIntegralSeam
Statements phrased using this module (99)
- Hecke coset sum independent of chosen representatives
HeckeIntegralSeam.heckeCosetSum_eq_of_isHeckeCosetSystem0 below · depth 11 - Spherical Hecke coset system away from the level
LanglandsTunnell.exists_heckeCosetSystem_productionPinsCompact_of_not_dvd0 below · depth 14 - Hecke coset system at a place prime to the level
LanglandsTunnell.exists_heckeCosetSystem_productionPinsGeneral_of_not_dvd0 below · depth 14 - Explicit coset system for the Hecke double coset at v
HeckeIntegralSeam.exists_isHeckeCosetSystem_localRep_heckeGen0 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 - Transfer of unramified Whittaker data to a Schwartz–Bruhat average
AutomorphicForm.whittakerCoefficient_unipotentAverage_unramified_package84 below · depth 17 - 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 - Explicit left-coset representatives for the Hecke double coset at p over ℚ
NumberField.AdelicLevel.isHeckeCosetSystem_levelOne_rat_of_not_dvd_absNorm0 below · depth 19 - Adelic Hecke sum at a good prime equals a_ℓ(g)
CuspForm.IsAdelicLiftOf.sum_toFn_mul_eq_qCoeff_mul_of_mem_span_of_isHeckeCosetSystem10 below · depth 20 - Left multiplication by u ∈ U permutes a Hecke coset system
HeckeIntegralSeam.IsHeckeCosetSystem.exists_bijective_forall_exists_mul_eq_mul_of_mem0 below · depth 20 - 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 - 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 - 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 - 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 - Absolute summability of cut traces over Siegel-pinned cusp classes
AutomorphicForm.summable_norm_cutTrace_of_isUnitFactorizableOfTypeAt_of_coversModCentre_of_subset96 below · depth 25 - A common coset system for U₁(N) and K(N) at v ∤ N
AutomorphicForm.exists_isHeckeCosetSystem_levelOne_and_principalLevel_heckeGen_of_not_dvd1 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 - Explicit qᵥ+1 Hecke coset representatives at a finite place
HeckeIntegralSeam.exists_isHeckeCosetSystem_localRep_heckeGen_principalLevel0 below · depth 28 - Central local unit invariance of Hecke-word test functions
AutomorphicForm.apply_mul_centralScalar_localUnit_eq_of_glArch_mul_glFin_heckeWord_of_not_mem0 below · depth 29 - Central local-unit invariance of a semi-locally factorised test function
AutomorphicForm.apply_mul_centralScalar_localUnit_eq_of_isSemiLocalFactorization_heckeWord_of_under_not_mem0 below · depth 29 - One winding datum for all K-side Hecke words
AutomorphicForm.exists_windingDatum_forall_heckeWord_mul_sum_slotFamilyCoeff_mul_sum_classIntegral_eq_sum_satakeLaurent_mul_coeff116 below · depth 29 - Unweighted split-class expansion of the ground-field hyperbolic slope
AutomorphicForm.slope_eq_sum_unweighted_classIntegral_diagUnits2_of_inversionClosed_of_hyperbolicTerm_eq_affine227 below · depth 29 - Unramified χ∘det on Hecke words over GL₂(Kᵥ)
NumberField.TateGlobal.sum_localChar_det_heckeWord_eq_pow_mul_pow_of_isUnramifiedCharAt0 below · depth 29 - A diag(varpi,1) Hecke coset system has N(w)+1 members
NumberField.eq_absNorm_add_one_of_isHeckeCosetSystem_diagPi0 below · depth 29 - Matched split pair with equal non-zero twisted orbital integral
AutomorphicForm.exists_diagUnits2_normString_isOrbitalIntegral_ne_zero_isTwistedOrbitalIntegral_eq_heckeWord_of_ramificationIdx_eq_one_of_prime102 below · depth 30 - Hyperbolic slope and intercept as sums of orbital integrals
AutomorphicForm.exists_finset_forall_slope_eq_sum_classIntegral_and_intercept_eq_sum_weightedClassIntegral_of_hyperbolicTerm_eq_affine225 below · depth 30 - Twisted hyperbolic slope and intercept as twisted orbital class sums
AutomorphicForm.exists_finset_forall_slope_eq_sum_twistedClassIntegral_and_intercept_eq_sum_weightedTwistedClassIntegral_haarQuotient_of_eq_affine241 below · depth 30 - The K-side class sum as a winding-datum coefficient array
AutomorphicForm.exists_windingDatum_forall_coeff_eq_mul_finsum_mul_prod_zpow_neg_mul_ideleNorm_mul_integral_orbital_of_smul_eq_map_partAt_of_ne_one_unweighted74 below · depth 30 - Hyperbolic class sums of a Hecke word as winding pairing
AutomorphicForm.sum_slotFamilyCoeff_mul_sum_mul_integral_orbital_eq_sum_prod_mul_windingDatum_coeff_of_forall_coeff_eq_of_smul_eq_map_partAt_of_ne_one_unweighted76 below · depth 30 - Common transversal for UgU and its adjoint system
HeckeIntegralSeam.exists_isHeckeCosetSystem_and_isHeckeCosetSystem_mul_inv_of_conj_eq0 below · depth 30 - Word coset count at central-times-unipotent elements equals walk count
LocalGL2.sum_indicator_word_inv_mul_scalar_mul_unipotentGL2_mem_localIntegralSet_eq_walkCount8 below · depth 30 - Independence of the local orbital integral from the section function
AutomorphicForm.eq_of_isOrbitalIntegral_of_isOrbitalIntegral_of_isRegularSemisimple3 below · depth 31 - Finitely many ratios carry a non-zero window product
AutomorphicForm.exists_finset_forall_window_product_eq_zero_of_not_mem14 below · depth 31 - Hyperbolic class sums as finite sums of twisted lattice sums
AutomorphicForm.exists_forall_finsum_mul_prod_zpow_neg_mul_ideleNorm_mul_integral_orbital_eq_sum_tsum_ite_of_smul_eq_map_partAt_of_ne_one72 below · depth 31 - A regular norm pair on a prescribed valuation shell
AutomorphicForm.exists_ne_and_normString_diagUnits2_eq_toTensorGL_and_norm_eq_pow_inertiaDeg_mul_of_ramificationIdx_eq_one_of_prime3 below · depth 31 - One winding datum for all Hecke words (window side)
AutomorphicForm.exists_windingDatum_forall_heckeWord_mul_sum_slotFamilyCoeff_mul_sum_windowClassIntegral_eq_sum_satakeLaurent_mul_coeff302 below · depth 31 - Window cancellation at a non-norm idele, prime degree
AutomorphicForm.finrank_mul_ratio_mul_weightedClassIntegral_add_mul_window_eq_zero_of_mem_sup_of_not_mem_range_of_prime339 below · depth 31 - Non-normic split classes: vanishing of the weighted window combination
AutomorphicForm.finrank_mul_ratio_mul_weightedClassIntegral_add_mul_window_eq_zero_of_ratio_not_mem_range_norm_of_prime344 below · depth 31 - Local constancy and integrability of the split-family window product
AutomorphicForm.isLocallyConstant_finprod_unitValue_and_integrable_window_product_of_ne_one_of_isLocalTestFn60 below · depth 31 - Measurability of window values in the central idele parameter
AutomorphicForm.measurable_window_values_of_ne_one_of_prime59 below · depth 31 - Orbital integrals of spherical Hecke words at split regular elements
AutomorphicForm.norm_sub_mul_absNorm_pow_mul_eq_T_add_T_neg_one_pow_apply_of_isOrbitalIntegral_sum_indicator_heckeWord_diagonal15 below · depth 31 - Local Hecke slot combination at a split shell class
AutomorphicForm.sum_slotCoeff_mul_tsum_pow_mul_eq_inv_norm_sub_one_mul_ite_of_isOrbitalIntegral_heckeWord_diagonal_zpow17 below · depth 31 - Slot regrouping of Hecke-word orbital integrals
AutomorphicForm.sum_slotFamilyCoeff_mul_prod_eq_prod_of_isOrbitalIntegral_heckeWord_of_isOrbitalIntegral_sum_coeff_univWord6 below · depth 31 - Per-class window transfer for twisted weighted orbital integrals
AutomorphicForm.twistedWeightedClassIntegral_eq_finrank_mul_ratio_mul_weightedClassIntegral_add_mul_window_of_coupled_of_isSemiLocalFactorization76 below · depth 31 - Invariance of window values under (u,z)↦(u⁻¹,zu)
AutomorphicForm.window_values_inv_mul_unitsMap_eq_of_ne_one_of_prime26 below · depth 31 - Counting Hecke words of length k by tree walk numbers
LocalGL2.sum_indicator_integralSubgroup_ofFn_prod_inv_mul_eq_walkCount_of_mem_doubleCoset_zpow6 below · depth 31 - One continuous compactly supported window for twisted archimedean orbital integrals
AutomorphicForm.exists_continuous_hasCompactSupport_eq_of_isTwistedWeightedOrbitalIntegralOn_glArch_centralScalar_mul_diagUnits216 below · depth 32 - A single archimedean window for weighted split orbital integrals
AutomorphicForm.exists_continuous_hasCompactSupport_tsupport_subset_units_eq_of_isWeightedOrbitalIntegralOn_glArch_centralScalar_mul_diagUnits220 below · depth 32 - Bad-place set of a non-norm idelic class in GL₂
AutomorphicForm.exists_finset_not_isNormOf_and_not_card_eq_one_of_mem_sup_of_not_mem_range_of_prime286 below · depth 32 - Non-normic diagonal ratio: the bad place set is no singleton
AutomorphicForm.exists_finset_not_isNormOf_and_not_card_eq_one_of_ratio_not_mem_range_norm_of_prime291 below · depth 32 - A locally constant compactly supported twisted weighted local window at v
AutomorphicForm.exists_isLocallyConstant_hasCompactSupport_eq_of_isTwistedWeightedOrbitalIntegral_finComponent_glFin_centralScalar_mul_diagUnits210 below · depth 32 - Local weighted window of the split torus family at a finite place
AutomorphicForm.exists_isLocallyConstant_hasCompactSupport_eq_of_isWeightedOrbitalIntegral_finComponent_glFin_centralScalar_mul_diagUnits27 below · depth 32 - Normalised split orbital integrals as a test function on the torus
AutomorphicForm.exists_isLocallyConstant_hasCompactSupport_norm_sub_one_mul_eq_of_isOrbitalIntegral_scalar_mul_diagUnits25 below · depth 32 - Euler expansion of a weighted adelic orbital integral at a diagonal class
AutomorphicForm.exists_weightedClassIntegral_eq_mul_archWindow_mul_prod_add_mul_sum_window_and_isWeightedOrbitalIntegral_of_isUnitFactorization_of_coupled50 below · depth 32 - Winding-datum realisation of the unweighted window class sum
AutomorphicForm.exists_windingDatum_forall_coeff_eq_window_classSum_of_areMatchingArch_of_areMatchingLocal_of_ne_one_unweighted255 below · depth 32 - Invariance of ground window values under (u,z)↦(u⁻¹,zι u)
AutomorphicForm.ground_window_values_inv_mul_unitsMap_eq_of_ne_one15 below · depth 32 - Unweighted window class sums as a winding pairing
AutomorphicForm.sum_slotFamilyCoeff_mul_sum_mul_integral_window_eq_sum_prod_mul_windingDatum_coeff_of_forall_coeff_eq_of_ne_one_unweighted100 below · depth 32 - Invariance of twisted window values under (u,z)↦(u⁻¹,zι u)
AutomorphicForm.twisted_window_values_inv_mul_unitsMap_eq_of_ne_one_of_prime15 below · depth 32 - Rescaled T-unit lattice with divisibility condition
NumberField.exists_addSubgroup_discreteTopology_units_log_valuation_div_sum_eq_neg_sum_log_pow_mul1 below · depth 32 - Hyperbolic class sums as finitely many twisted lattice sums
NumberField.exists_addSubgroup_forall_finsum_units_mul_prod_zpow_neg_mul_sum_integral_window_eq_sum_tsum_ite_of_contDiff_of_isLocallyConstant31 below · depth 32 - K-side value of a weighted word orbital integral
AutomorphicForm.eq_two_mul_log_mul_shellValue_of_isWeightedOrbitalIntegral_baseChange_heckeWord14 below · depth 33 - Weighted archimedean orbital integrals along central translates of a split class
AutomorphicForm.exists_continuous_hasCompactSupport_eq_of_isWeightedOrbitalIntegralOn_scalar_mul_diagUnits217 below · depth 33 - Intercept class sums as lattice sums of kink windows
AutomorphicForm.exists_forall_window_classSum_eq_tsum_mul_tsum_ite_kinkWindow_of_areMatchingArch_of_areMatchingLocal_of_ne_one_unweighted237 below · depth 33 - Integrability of the window bracket against the S-part measure
AutomorphicForm.integrable_mul_window_bracket_sPart_of_isWeightedOrbitalIntegralOn_of_isTwistedWeightedOrbitalIntegralOn_of_ne_one59 below · depth 33 - Twisted weighted word orbital integral at an inert place
AutomorphicForm.integral_heckeWord_twistedConj_mul_weight_eq_two_mul_log_mul_twistedShellValue24 below · depth 33 - Push-forward of archimedean centraliser measures is independent of z
AutomorphicForm.map_subtypeVal_eq_map_subtypeVal_of_forall_integral_centralizer_eq_mul_integral_prod3 below · depth 33 - Locality of the window bracket in the S-and-infinity coordinates
AutomorphicForm.window_bracket_eq_window_bracket_partAt_of_isWeightedOrbitalIntegralOn_of_isTwistedWeightedOrbitalIntegralOn_of_ne_one21 below · depth 33 - Archimedean discrepancy of twisted and standard weighted orbital integrals
AutomorphicForm.exists_contDiff_hasCompactSupport_forall_prod_norm_sub_one_pow_mul_twistedWeighted_sub_finrank_mul_weighted_eq_mul_archDisc_of_areMatchingArch94 below · depth 34 - Uniform normalisation of archimedean torus measures along split classes
AutomorphicForm.exists_forall_map_entries_centralizer_eq_of_forall_integral_centralScalar_mul_diagUnits2_eq_mul_integral_mul_prod1 below · depth 34 - A compactly supported window for the local weighted discrepancy
AutomorphicForm.exists_hasCompactSupport_forall_norm_sub_le_forall_ratio_mul_sqrtRatio_mul_twistedWeighted_sub_finrank_mul_weighted_eq_of_areMatchingLocal85 below · depth 34 - Local window functions for the finite places of S_K
AutomorphicForm.exists_hasCompactSupport_forall_norm_sub_one_mul_twistedWeighted_sub_finrank_mul_weighted_eq_mul_inv_ratio_mul_sqrtRatio_mul_of_areMatchingLocal87 below · depth 34 - Cellwise constant germ of the local weighted discrepancy
AutomorphicForm.exists_nhds_forall_eq_of_norm_sub_le_mul_norm_one_sub_forall_ratio_mul_sqrtRatio_mul_twistedWeighted_sub_finrank_mul_weighted_eq_of_areMatchingLocal77 below · depth 34 - Right U-invariance of iterated Hecke words
HeckeIntegralSeam.IsHeckeCosetSystem.sum_apply_mul_prod_ofFn_eq_of_mem0 below · depth 34 - Discrepancy-window class sums as summable lattice sums of kink windows
NumberField.exists_addSubgroup_forall_finsum_units_mul_prod_zpow_neg_mul_sum_integral_discWindow_eq_tsum_mul_tsum_ite_kinkWindow_of_contDiff_of_forall_eq_of_norm_sub_le42 below · depth 34 - Twisted weighted orbital germ near t=1 at a finite place
AutomorphicForm.exists_nhds_forall_eq_of_norm_sub_le_and_norm_add_halfWeighted_sub_le_and_forall_ratio_mul_sqrtRatio_mul_twistedWeighted_eq_of_areMatchingLocal73 below · depth 35 - Uniform germ bound for twisted weighted orbital integrals at t=1
AutomorphicForm.exists_forall_norm_ratio_mul_sqrtRatio_mul_twistedWeighted_add_halfWeighted_sub_le_of_areMatchingLocal62 below · depth 36 - Normalised Haar measure on a twisted centraliser, with orbital integral
AutomorphicForm.exists_isHaarMeasure_twistedCentralizer_and_exists_isTwistedWeightedOrbitalIntegral_of_normString_diagUnits2_eq4 below · depth 36 - Uniform cells for twisted lifts and normalised weighted orbital values
AutomorphicForm.exists_nhds_forall_iff_and_ratio_mul_sqrtRatio_mul_twistedWeighted_eq_of_norm_sub_le_of_areMatchingLocal22 below · depth 36 - Lift-independence of twisted weighted orbital integrals at diag(a,at)
AutomorphicForm.ratio_mul_sqrtRatio_mul_twistedWeighted_eq_of_normString_diagUnits2_eq_of_areMatchingLocal5 below · depth 36 - Vanishing germ of the half-weighted orbital integral at non-norm parameters
AutomorphicForm.exists_forall_norm_halfWeighted_sub_le_of_not_exists_norm_eq_of_areMatchingLocal10 below · depth 37 - Twisted minus untwisted weighted orbital germ at t=1
AutomorphicForm.exists_forall_norm_ratio_mul_sqrtRatio_mul_twistedWeighted_add_halfWeighted_sub_le_of_normString_diagUnits2_eq_of_areMatchingLocal56 below · depth 37 - Near t=1, normalised twisted weighted values agree on cells
AutomorphicForm.exists_nhds_forall_ratio_mul_sqrtRatio_mul_twistedWeighted_eq_of_norm_sub_le_of_normString_diagUnits2_eq_of_areMatchingLocal16 below · depth 37 - Split orbital vanishing at a non-norm parameter
AutomorphicForm.LocalWeightedOrbital.splitOrbital_eq_zero_of_not_exists_norm_eq_of_areMatchingLocal7 below · depth 38 - Logarithmic expansion of twisted weighted orbital values
AutomorphicForm.exists_forall_norm_ratio_mul_sqrtRatio_mul_twistedWeighted_add_mul_log_mul_twistedOrbital_sub_le_of_normString_diagUnits2_eq44 below · depth 38