Documentation

LeanPool.LeanModularForms.HeckeRIngs.AbstractHeckeRing.Module

Hecke Rings: Module Action #

The module action of 𝕋 P β„€ on HeckeModule P β„€ (formal sums of left cosets) and the faithfulness theorem eq_of_smul_eq_smul_𝕋.

@[implicit_reducible, instance 1100]
noncomputable instance HeckeRing.instSMul𝕋 {G : Type u_1} [Group G] (P : HeckePair G) :

The scalar multiplication on 𝕋 by itself, defined as reverse multiplication. Higher priority than the inherited Mul.toSMul so that β€’ denotes the reverse action.

Equations
noncomputable def HeckeRing.smulOrbit {G : Type u_1} [Group G] (P : HeckePair G) (g Ξ² : β†₯P.Ξ”) :

The orbit of a left coset representative Ξ² under double coset representative g: the set of left cosets {Ξ² Β· Οƒ_i Β· g | Οƒ_i ∈ H/(H ∩ gHg⁻¹)}.

Equations
Instances For
    theorem HeckeRing.smulOrbit_nonempty {G : Type u_1} [Group G] (P : HeckePair G) (g Ξ² : β†₯P.Ξ”) :
    (smulOrbit P g Ξ²).Nonempty

    The smul orbit of any left coset under any double coset is nonempty.

    theorem HeckeRing.smulOrbit_lcRel {G : Type u_1} [Group G] (P : HeckePair G) (g : β†₯P.Ξ”) {β₁ Ξ²β‚‚ : β†₯P.Ξ”} (h : lcRel P β₁ Ξ²β‚‚) :
    smulOrbit P g β₁ = smulOrbit P g Ξ²β‚‚

    The orbit is invariant under left coset equivalence: if β₁H = Ξ²β‚‚H, then smulOrbit g β₁ = smulOrbit g Ξ²β‚‚. This is the key API lemma that lets us replace HeckeLeftCoset.rep j with any representative of j.

    theorem HeckeRing.smulOrbit_rep_mk {G : Type u_1} [Group G] (P : HeckePair G) (g Ξ² : β†₯P.Ξ”) :

    Corollary: smulOrbit g (HeckeLeftCoset.rep ⟦β⟧) = smulOrbit g β.

    @[implicit_reducible]
    noncomputable instance HeckeRing.instSMulHeckeModule {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] :

    The module action of the Hecke ring on formal sums of left cosets.

    Equations
    • One or more equations did not get rendered due to their size.
    theorem HeckeRing.smul_eq_sum {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] (T : 𝕋 P Z) (m : HeckeModule P Z) :
    T β€’ m = Finsupp.sum T fun (D1 : HeckeCoset P) (b₁ : Z) => Finsupp.sum m fun (m : HeckeLeftCoset P) (bβ‚‚ : Z) => βˆ‘ i ∈ smulOrbit P D1.rep m.rep, Finsupp.single i (b₁ * bβ‚‚)

    The scalar multiplication on HeckeModule unfolds as a double sum over orbits.

    theorem HeckeRing.single_smul_single {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] (t : HeckeCoset P) (m : HeckeLeftCoset P) (a b : Z) :
    Finsupp.single t a β€’ Finsupp.single m b = βˆ‘ i ∈ smulOrbit P t.rep m.rep, Finsupp.single i (a * b)

    The action of a basis Hecke element on a basis module element.

    theorem HeckeRing.single_basis (Z : Type u_2) [CommRing Z] {Ξ± : Type u_3} (t : Ξ± β†’β‚€ Z) :
    t = βˆ‘ i ∈ t.support, Finsupp.single i (t.toFun i)

    Every finsupp is a sum of its basis elements.

    @[implicit_reducible]
    noncomputable instance HeckeRing.instOneHeckeModule {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] :

    The one element of HeckeModule: the basis element for the identity left coset.

    Equations

    The one element of HeckeModule is the basis element corresponding to the identity left coset.

    theorem HeckeRing.smul_add_left {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] (T₁ Tβ‚‚ : 𝕋 P Z) (m : HeckeModule P Z) :
    (T₁ + Tβ‚‚) β€’ m = T₁ β€’ m + Tβ‚‚ β€’ m

    The module action is additive in the Hecke ring argument.

    theorem HeckeRing.zero_smul_HeckeModule {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] (z : HeckeModule P Z) :
    0 β€’ z = 0

    The zero element of the Hecke ring acts as zero on the module.

    theorem HeckeRing.smul_zero_HeckeModule {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] (T : 𝕋 P Z) :
    T β€’ 0 = 0

    Any Hecke ring element acts as zero on the zero module element.

    theorem HeckeRing.smul_add_right {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] (T : 𝕋 P Z) (m₁ mβ‚‚ : HeckeModule P Z) :
    T β€’ (m₁ + mβ‚‚) = T β€’ m₁ + T β€’ mβ‚‚

    The module action is additive in the module argument.

    theorem HeckeRing.smulOrbit_disjoint_of_ne {G : Type u_1} [Group G] (P : HeckePair G) (g₁ gβ‚‚ Ξ² : β†₯P.Ξ”) (hne : ⟦gβ‚βŸ§ β‰  ⟦gβ‚‚βŸ§) :
    Disjoint (smulOrbit P g₁ Ξ²) (smulOrbit P gβ‚‚ Ξ²)

    The smul orbits of distinct double cosets acting on the same left coset are disjoint.

    theorem HeckeRing.eq_of_smul_eq_smul_𝕋 {G : Type u_1} [Group G] (P : HeckePair G) (Z : Type u_2) [CommRing Z] (T1 T2 : 𝕋 P Z) (h : βˆ€ (a : HeckeModule P Z), T1 β€’ a = T2 β€’ a) :
    T1 = T2

    Faithfulness of the module action: if two Hecke ring elements act identically on all module elements, they are equal.

    The module action of 𝕋 P β„€ on HeckeModule P β„€ is faithful.

    theorem HeckeRing.smul_def {G : Type u_1} [Group G] (P : HeckePair G) (f g : 𝕋 P β„€) :
    f β€’ g = g * f

    The scalar multiplication on 𝕋 is defined as reverse multiplication.