Hecke rings: definitions #
This file introduces the abstract Hecke ring of a Hecke pair (H, Δ) and, more generally, the
Hecke coset modules attached to a triple (H₁, Δ, H₂), following Shimura,
Chapter 3, and Krieg, Chapter I. It sets up the underlying types: the compatibility
conditions IsHeckeTriple Δ H₁ H₂ on a submonoid Δ of a group G and a pair of subgroups
of G, the double-coset quotient HeckeCoset Δ H₁ H₂ of Δ by H₁gH₂ = H₁hH₂, and the Hecke
coset module HeckeCosetModule Δ H₁ H₂ Z of formal finitely-supported linear combinations of
double cosets.
The convolution product HeckeCosetModule Δ H₁ H₂ Z × HeckeCosetModule Δ H₂ H₃ Z → HeckeCosetModule Δ H₁ H₃ Z and the ring structure on the diagonal Hecke ring 𝕋 Δ H Z are
developed in later files.
The relevance of the submonoid Δ may not be immediately obvious; a natural example is
H = GL₂(ℤ) inside G = GL₂(ℚ) with Δ the submonoid of integral matrices with nonzero
determinant, which is the Hecke pair underlying the classical Hecke operators T_n. Mixed
subgroups H₁ ≠ H₂ arise for Hecke operators between different levels, e.g. H₁ = Γ₀(N) and
H₂ = Γ₀(M) inside the same Δ.
Main definitions #
IsHeckeTriple Δ H₁ H₂:(H₁, Δ, H₂)is a Hecke triple, i.e.H₁ ≤ Δ,H₂ ≤ Δ,Commensurable H₁ H₂andΔ ≤ commensurator H₂, making the double cosetsH₁\Δ/H₂finite unions of left cosets. The classical Hecke pair(H, Δ)is the diagonal caseIsHeckeTriple Δ H H.HeckeCoset Δ H₁ H₂: the quotient ofΔby the relationH₁gH₂ = H₁hH₂, i.e. the double cosetsH₁\Δ/H₂forming the basis of the Hecke coset module.HeckeCosetModule Δ H₁ H₂ Z: the Hecke coset module with coefficients inZ, the finitely-supportedZ-linear combinations of double cosets.HeckeRing Δ H Z, notation𝕋 Δ H Z: the Hecke ring, the diagonal caseHeckeCosetModule Δ H H Zof the Hecke coset module.
Implementation notes #
The data (Δ, H₁, H₂) enters unbundled, with the compatibility conditions collected in the
Prop-valued class IsHeckeTriple: the types HeckeCoset Δ H₁ H₂ and HeckeCosetModule Δ H₁ H₂ Z
are built from the data alone and depend on no proofs, and a single ambient Δ shared by all
levels
(as in Shimura) means products of double cosets over different subgroups,
H₁g₁H₂ * H₂g₂H₃ ⊆ Δ, need no compatibility hypotheses. The conditions are only needed for the
finiteness of the coset decompositions, which enters through the Fintype instance on
DoubleCoset.DecompQuotient in later files. Requiring Δ to be a submonoid rather than a
subsemigroup loses no generality, since H₁ ≤ Δ already forces 1 ∈ Δ.
References #
A Hecke triple (H₁, Δ, H₂): the compatibility conditions on a submonoid Δ and a pair
of subgroups H₁, H₂ of G making the double cosets H₁\Δ/H₂ finite unions of left cosets:
both subgroups are contained in Δ, they are commensurable, and Δ commensurates them. The
classical Hecke pair (H, Δ) of Shimura, Chapter 3, is the diagonal case
IsHeckeTriple Δ H H.
The left subgroup is contained in
Δ.The right subgroup is contained in
Δ.- commensurable : H₁.Commensurable H₂
The two subgroups are commensurable.
The submonoid
Δlies in the commensurator of the right subgroup (hence, the subgroups being commensurable, also in that of the left one; seele_commensurator_left).
Instances
The Hecke triple (H, Δ, H) coming from a pair (H, Δ) with H ≤ Δ ≤ commensurator H.
Elements of the left subgroup lie in Δ.
Elements of the right subgroup lie in Δ.
The submonoid Δ lies in the commensurator of the left subgroup.
Elements of Δ lie in the commensurator of the right subgroup.
Elements of Δ lie in the commensurator of the left subgroup.
Conjugating the right subgroup of a Hecke triple (H₁, Δ, H₂) by an element of Δ gives a
subgroup commensurable with the left one.
Hecke coset module data compose. Not an instance, since the middle subgroup cannot be inferred from the goal.
The left diagonal datum (H₁, Δ, H₁). Not an instance, since H₂ cannot be inferred.
The right diagonal datum (H₂, Δ, H₂). Not an instance, since H₁ cannot be inferred.
The setoid on Δ identifying elements with the same double coset H₁gH₂ = H₁hH₂, pulled
back from DoubleCoset.setoid along the inclusion Δ ↪ G.
This is an abbrev rather than a global instance: the subgroups H₁, H₂ cannot be inferred
from the submonoid Δ, so this cannot participate in instance search (and a global instance
would also create a Setoid diamond on ↥Δ with the left-coset setoid). The quotient map is
HeckeCoset.mk.
Equations
- HeckeCoset.setoid Δ H₁ H₂ = Setoid.comap Subtype.val (DoubleCoset.setoid ↑H₁ ↑H₂)
Instances For
A Hecke double coset: an equivalence class of Δ-elements under H₁gH₂ = H₁hH₂. This is
the basis type for the HeckeCosetModule.
Equations
- HeckeCoset Δ H₁ H₂ = Quotient (HeckeCoset.setoid Δ H₁ H₂)
Instances For
The double coset H₁gH₂ of an element g : Δ.
Equations
- HeckeCoset.mk H₁ H₂ g = ⟦g⟧
Instances For
Equations
- HeckeCoset.instInhabited Δ H₁ H₂ = { default := HeckeCoset.mk H₁ H₂ ⟨1, ⋯⟩ }
The identity double coset H1H = H of the diagonal (Hecke pair) case.
Equations
- HeckeCoset.instOne Δ H = { one := HeckeCoset.mk H H ⟨1, ⋯⟩ }
The Hecke coset module with coefficients in Z: the finitely-supported Z-linear
combinations of double cosets H₁\Δ/H₂. For H₁ = H₂ this is the underlying module of the
Hecke ring 𝕋 Δ H Z (see HeckeRing). The coefficients Z need only carry a Zero for the
type to make sense; algebraic structure is added by the instances below at the weakest level each
requires.
Equations
- HeckeCosetModule Δ H₁ H₂ Z = (HeckeCoset Δ H₁ H₂ →₀ Z)
Instances For
The Hecke ring 𝕋 Δ H Z with coefficients in Z: the diagonal Hecke coset module
HeckeCosetModule Δ H H Z, the finitely-supported Z-linear combinations of double cosets
H\Δ/H. The convolution product making it a ring is developed in later files.
Equations
- HeckeRing Δ H Z = HeckeCosetModule Δ H H Z
Instances For
The Hecke ring 𝕋 Δ H Z with coefficients in Z: the diagonal Hecke coset module
HeckeCosetModule Δ H H Z, the finitely-supported Z-linear combinations of double cosets
H\Δ/H. The convolution product making it a ring is developed in later files.
Equations
- HeckeCosetModule.term𝕋 = Lean.ParserDescr.node `HeckeCosetModule.term𝕋 1024 (Lean.ParserDescr.symbol "𝕋")
Instances For
Elements of HeckeCosetModule Δ H₁ H₂ Z are functions HeckeCoset Δ H₁ H₂ → Z (finitely
supported).
Equations
- HeckeCosetModule.instFunLikeHeckeCoset Δ H₁ H₂ Z = { coe := HeckeCosetModule.instFunLikeHeckeCoset._aux_1 Δ H₁ H₂ Z, coe_injective := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
The sanctioned constructor of HeckeCosetModule Δ H₁ H₂ Z from a finitely-supported function
on double cosets. Build elements through of rather than relying on the definitional unfolding
HeckeCosetModule Δ H₁ H₂ Z = (HeckeCoset Δ H₁ H₂ →₀ Z).
Equations
- HeckeCosetModule.of = Equiv.refl (HeckeCoset Δ H₁ H₂ →₀ Z)