Definitions/Def_AutomorphicForm_WindingDatum.lean
Winding data: lattice fibre sums with decaying windows
This module introduces the structure AutomorphicForm.WindingDatum r d c and the coefficient array attached to it. A term of the structure consists of: an additive subgroup \Lambda \le (\mathrm{Fin}\,r \to \mathbb R) \times (\mathrm{Fin}\,d \to \mathbb Z) carrying the discrete topology (the field hΛ asserts DiscreteTopology Λ); an \mathbb R-linear form s on \mathbb R^r; a vector \omega \in \mathbb R^d with \omega \neq 0 (as a function); a product-formula field hpf asserting s(x_1) = \sum_i \omega_i (x_2)_i for every x = (x_1,x_2) \in \Lambda; an additive homomorphism \chi : \Lambda \to (\mathrm{Fin}\,c \to \mathbb{R}/\mathbb{Z}), the target being Mathlib's AddCircle (1 : ℝ); and a family indexed by i \in \mathbb N of subgroups sub i of the ambient group, each contained in \Lambda, of functions \Psi_i : \mathbb R^r \to \mathbb C that are continuous and integrable, of constants C_i \in \mathbb R, of exponents m_i \in \mathbb Z^c, phases \theta_{0,i} \in (\mathbb R/\mathbb Z)^c, shifts x_{0,i} \in \mathbb R^r and n_{0,i} \in \mathbb Z^d, and scalars \lambda_i \in \mathbb C. Three analytic laws are fields: the pointwise bounds \|\Psi_i(x)\| \le C_i \prod_k (1+|x_k|)^{-2}, the same bound with \xi in place of x for the explicitly written Fourier integral \int_{\mathbb R^r} e^{-2\pi i \sum_k \xi_k x_k} \Psi_i(x)\,dx, and the summability of i \mapsto \|\lambda_i\| C_i.
From such a datum, fibreTerm i n γ, for \gamma in sub i, is defined to be \Psi_i(x_{0,i} + \gamma_1) \prod_j e_{m_{i,j}}(\theta_{0,i,j} + \chi(\gamma)_j) when \gamma_2 + n_{0,i} = n and 0 otherwise, where e_m is Mathlib's character fourier on the circle; fibreCoeff i n is the unconditional sum of these terms over all \gamma \in sub i, and coeff n is the unconditional sum over i of \lambda_i \cdot fibreCoeff i n. Two elementary lemmas record that fibreTerm vanishes off the fibre \gamma_2 + n_{0,i} = n, and that coeff vanishes identically when all \lambda_i are zero.
Relation to Mathlib
Mathlib has no notion of winding datum; the structure is the project's own, built on Mathlib's AddSubgroup, DiscreteTopology, Integrable, AddCircle and the characters fourier.
Where it is used
The structure packages the input data of a winding statement: a coefficient array indexed by n \in \mathbb Z^d, assembled from twisted lattice-fibre sums of windows of product-decay class, to be interpolated by a continuous functional on C(\mathbb T^d). It is a shared input format for the later trace-formula comparisons, whose residual class-sum arrays are finite sums of congruence-coset contributions together with absolutely convergent series of such fibre sums.
References
- E. M. Stein and G. Weiss, Introduction to Fourier Analysis on Euclidean Spaces, Princeton University Press, 1971
- A. Weil, Basic Number Theory, Grundlehren der mathematischen Wissenschaften 144, Springer, 1974
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 85 lines
- 16 declarations
- used in the statements of 63 theorems and imported by 62 proofs
- imports 0 definition modules
Source file: Definitions/Def_AutomorphicForm_WindingDatum.lean
Declarations
- structure
AutomorphicForm.WindingDatum - field
AutomorphicForm.WindingDatum.s - field
AutomorphicForm.WindingDatum.hpf - field
AutomorphicForm.WindingDatum.sub - field
AutomorphicForm.WindingDatum.hsub - field
AutomorphicForm.WindingDatum.C - field
AutomorphicForm.WindingDatum.m - field
AutomorphicForm.WindingDatum.x₀ - field
AutomorphicForm.WindingDatum.n₀ - field
AutomorphicForm.WindingDatum.lam - field
AutomorphicForm.WindingDatum.hsum - def
AutomorphicForm.WindingDatum.fibreTerm - def
AutomorphicForm.WindingDatum.fibreCoeff - def
AutomorphicForm.WindingDatum.coeff - theorem
AutomorphicForm.WindingDatum.fibreTerm_of_ne - theorem
AutomorphicForm.WindingDatum.coeff_eq_zero_of_lam_eq_zero
Source
import Mathlib set_option autoImplicit false open MeasureTheory noncomputable section namespace AutomorphicForm structure WindingDatum (r d c : ℕ) where Λ : AddSubgroup ((Fin r → ℝ) × (Fin d → ℤ)) hΛ : DiscreteTopology Λ s : (Fin r → ℝ) →ₗ[ℝ] ℝ ω : Fin d → ℝ hω : ω ≠ 0 hpf : ∀ x ∈ Λ, s x.1 = ∑ i, ω i * (x.2 i : ℝ) χ : Λ →+ (Fin c → AddCircle (1 : ℝ)) sub : ℕ → AddSubgroup ((Fin r → ℝ) × (Fin d → ℤ)) hsub : ∀ i : ℕ, sub i ≤ Λ Ψ : ℕ → (Fin r → ℝ) → ℂ hΨc : ∀ i : ℕ, Continuous (Ψ i) hΨi : ∀ i : ℕ, Integrable (Ψ i) C : ℕ → ℝ hΨd : ∀ (i : ℕ) (x : Fin r → ℝ), ‖Ψ i x‖ ≤ C i * ∏ k, (1 + |x k|)⁻¹ ^ 2 hΨhatd : ∀ (i : ℕ) (ξ : Fin r → ℝ), ‖∫ x : Fin r → ℝ, Complex.exp (-(2 * Real.pi * Complex.I * ((∑ k, ξ k * x k : ℝ) : ℂ))) * Ψ i x‖ ≤ C i * ∏ k, (1 + |ξ k|)⁻¹ ^ 2 m : ℕ → Fin c → ℤ θ₀ : ℕ → Fin c → AddCircle (1 : ℝ) x₀ : ℕ → Fin r → ℝ n₀ : ℕ → Fin d → ℤ lam : ℕ → ℂ hsum : Summable fun i : ℕ => ‖lam i‖ * C i namespace WindingDatum variable {r d c : ℕ} (𝒟 : WindingDatum r d c) def fibreTerm (i : ℕ) (n : Fin d → ℤ) (γ : 𝒟.sub i) : ℂ := if (γ : (Fin r → ℝ) × (Fin d → ℤ)).2 + 𝒟.n₀ i = n then 𝒟.Ψ i (𝒟.x₀ i + (γ : (Fin r → ℝ) × (Fin d → ℤ)).1) * ∏ j, fourier (𝒟.m i j) (𝒟.θ₀ i j + 𝒟.χ ⟨(γ : (Fin r → ℝ) × (Fin d → ℤ)), 𝒟.hsub i γ.2⟩ j) else 0 def fibreCoeff (i : ℕ) (n : Fin d → ℤ) : ℂ := ∑' γ : 𝒟.sub i, 𝒟.fibreTerm i n γ def coeff (n : Fin d → ℤ) : ℂ := ∑' i : ℕ, 𝒟.lam i * 𝒟.fibreCoeff i n theorem fibreTerm_of_ne (i : ℕ) (n : Fin d → ℤ) (γ : 𝒟.sub i) (h : (γ : (Fin r → ℝ) × (Fin d → ℤ)).2 + 𝒟.n₀ i ≠ n) : 𝒟.fibreTerm i n γ = 0 := if_neg h theorem coeff_eq_zero_of_lam_eq_zero (h : ∀ i : ℕ, 𝒟.lam i = 0) (n : Fin d → ℤ) : 𝒟.coeff n = 0 := by simp [coeff, h] end WindingDatum end AutomorphicForm end
Statements phrased using this module (63)
- Winding data: bounded coefficients and an atom-free interpolating functional
AutomorphicForm.WindingDatum.exists_clm_noAtomicMass_forall_apply_fourier_eq_coeff8 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 - 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 - A uniform transfer constant for hyperbolic intercepts
AutomorphicForm.exists_const_forall_exists_windingDatum_hyperbolicIntercept_sub_finrank_mul_const_mul_sum_eq_sum_satakeLaurent_mul_coeff_of_eq_affine1,456 below · depth 29 - Slope transfer for the twisted hyperbolic term
AutomorphicForm.exists_forall_hyperbolicSlope_eq_mul_sum_slotFamilyCoeff_mul_hyperbolicSlope_of_eq_affine1,015 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 - Vanishing of the twisted hyperbolic ξ_L-fold over a fundamental domain
AutomorphicForm.setIntegral_twistedHyperbolicCell_fold_eq_zero_of_forall_apply_mul_sigmaAdelicAct_centralScalar_eq_of_ne_one2 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 - Uniform transfer constant for twisted hyperbolic intercepts
AutomorphicForm.exists_const_forall_exists_windingDatum_hyperbolicIntercept_sub_finrank_mul_const_mul_sum_eq_sum_satakeLaurent_mul_coeff_of_eq_affine_of_areMatchingArch_of_areMatchingLocal1,445 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 - Realising finite smooth lattice sums as winding-datum coefficients
AutomorphicForm.WindingDatum.exists_forall_coeff_eq_sum_tsum_ite_of_contDiff_of_periodic5 below · depth 31 - Closed form of the central–elliptic base-change comparison constant
AutomorphicForm.centralEllipticConstant_eq_of_factorization_of_normFibre_of_exists_ne_zero909 below · depth 31 - 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 - 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 - 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 - Uniform absolute bound for fibre coefficients of a winding datum
AutomorphicForm.WindingDatum.exists_forall_summable_norm_fibreTerm_and_norm_fibreCoeff_le1 below · depth 32 - Pairing a finitely supported array against winding-datum coefficients
AutomorphicForm.WindingDatum.sum_mul_coeff_eq_tsum_mul_tsum2 below · depth 32 - 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 - Kink-window lattice sums realised as winding-datum coefficients
AutomorphicForm.WindingDatum.exists_forall_coeff_eq_tsum_mul_tsum_ite_kinkWindow_of_contDiff_of_periodic_of_summable23 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 - 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 - 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