FLT/AutomorphicForm/QuaternionAlgebra/HeckeOperators/Abstract.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Pinned FLT blueprint introduction

18 declarations, 0 contain sorry, 0 declared as axioms

Abstract Hecke operators

Generalities on Hecke operators acting on the fixed points of a group action. We define the abstract Hecke operator attached to a double coset U g U acting on R-valued functions invariant under U.

Imports (8)
Imported by 2 files
  1. def FixedPoints.submodule FixedPoints as a submodule line 67 source

    Source documentation

    FixedPoints as a submodule.

    standard axioms: Quot.sound, propext what this means

    Statement uses: Monoid, Semiring, AddCommMonoid, Module, DistribMulAction, SMulCommClass, Submodule

    Proof uses: AddSubmonoid, FixedPoints.addSubmonoid, Submodule.mk

    19 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    def FixedPoints.submodule (G R M : Type*) [Monoid G] [Semiring R] [AddCommMonoid M]
        [Module R M] [DistribMulAction G M] [SMulCommClass G R M] : Submodule R M where
    …
  2. instance FixedPoints.(instance at line 79) line 79 source
  3. lemma FixedPoints.coe_zero line 83 source

    no axioms what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Eq, Membership.mem, Set, MulAction.fixedPoints, OfNat.ofNat

    Proof uses: rfl

    24 instances, coercions and auxiliary constants left out.

  4. lemma FixedPoints.coe_add line 86 source

    no axioms what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, MulAction.fixedPoints, Eq, Membership.mem, Set, HAdd.hAdd

    Proof uses: rfl

    24 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  5. instance FixedPoints.(instance at line 95) line 95 source
  6. lemma FixedPoints.coe_smul line 100 source

    no axioms what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, SMul, SMulCommClass, MulAction.fixedPoints, Eq, Membership.mem, Set, HSMul.hSMul

    Proof uses: rfl

    30 instances, coercions and auxiliary constants left out.

    Tactic trace: 6 steps

    Open to load the checked before-and-after goal states.

  7. instance FixedPoints.(instance at line 103) line 103 source
  8. instance FixedPoints.module Probably this should be a submodule instance and then get module instance for free line 115 source

    Source comment

    Probably this should be a submodule instance and then get module instance for free

    standard axioms: propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Ring, Module, SMulCommClass, MulAction.fixedPoints

    Proof uses: Module.mk, DistribMulAction.mk, MulAction.mk, SemigroupAction.mk

    38 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

    instance module [Ring R] [Module R A] [SMulCommClass G R A] : Module R (fixedPoints G A) where
    …
  9. lemma Set.bijOn_smul line 137 source

    standard axioms: Quot.sound, propext what this means

    Statement uses: Group, Subgroup, Set, Membership.mem, Set.BijOn, HSMul.hSMul, HMul.hMul

    Proof uses: And.intro, Set.MapsTo, And, Set.InjOn, Set.SurjOn, Exists, Eq, Exists.intro, MulMemClass.mul_mem, of_eq_true, Eq.trans, True, congrFun', congrArg, mul_assoc, eq_self, Set.injOn_of_injective, MulAction.injective, Set.image, Inv.inv and 3 more

    41 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

    Open to load the checked before-and-after goal states.

  10. lemma AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn' If a is fixed by V then ∑ᶠ g ∈ s, g • a is independent of the choice s of coset representatives in G for a subset of G ⧸ V line 159 source

    Source documentation

    If a is fixed by V then ∑ᶠ g ∈ s, g • a is independent of the choice s of coset representatives in G for a subset of G ⧸ V

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, MulAction.fixedPoints, Subtype, Membership.mem, Set, HasQuotient.Quotient, Set.BijOn, Eq, finsum, HSMul.hSMul, Set.image, Quotient, QuotientGroup.leftRel, Quotient.out

    Proof uses: Set.BijOn.comp, Quot.out, Set.InjOn.bijOn_image, Set.injOn_of_injective, Quotient.out_injective, HMul.hMul, Exists, QuotientGroup.mk_out_eq_mul, Eq.mpr, id, congrArg, SemigroupAction.mul_smul, Subtype.property, Eq.refl, finsum_mem_eq_of_bijOn

    54 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

    Open to load the checked before-and-after goal states.

    lemma eq_finsum_quotient_out_of_bijOn' (a : fixedPoints V A)
        {X : Set (G ⧸ V)}
        {s : Set G} (hs : s.BijOn (QuotientGroup.mk : G → G ⧸ V) X) :
        ∑ᶠ g ∈ s, g • (a : A) = ∑ᶠ g ∈ Quotient.out '' X, g • (a : A) := by
    …
  11. def AbstractHeckeOperator.heckeOperator.toFun The Hecke operator T_g = [UgV] : A^V → A^U associated to the double coset UgV line 174 source

    Source documentation

    The Hecke operator T_g = [UgV] : A^V → A^U associated to the double coset UgV.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, Set.Finite, HasQuotient.Quotient, Set.image, HMul.hMul, Set, Singleton.singleton, MulAction.fixedPoints, Subtype, Membership.mem

    Proof uses: Subtype.mk, finsum, Quotient, QuotientGroup.leftRel, Quotient.out, HSMul.hSMul

    49 instances, coercions and auxiliary constants left out.

    Tactic trace: 21 steps

    Open to load the checked before-and-after goal states.

    noncomputable def heckeOperator.toFun (a : fixedPoints V A) : fixedPoints U A :=
    …
  12. def AbstractHeckeOperator.heckeOperator.addMonoidHom The Hecke operator T_g = [UgV] : A^V → A^U packaged as an additive monoid homomorphism line 195 source

    Source documentation

    The Hecke operator T_g = [UgV] : A^V → A^U packaged as an additive monoid homomorphism.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, Set.Finite, HasQuotient.Quotient, Set.image, HMul.hMul, Set, Singleton.singleton, AddMonoidHom, MulAction.fixedPoints, Subtype, Membership.mem

    Proof uses: AddMonoidHom.mk, ZeroHom.mk, AbstractHeckeOperator.heckeOperator.toFun

    52 instances, coercions and auxiliary constants left out.

    Tactic trace: 4 steps

    Open to load the checked before-and-after goal states.

    noncomputable def heckeOperator.addMonoidHom : fixedPoints V A →+ fixedPoints U A where
    …
  13. def AbstractHeckeOperator.heckeOperator The Hecke operator T_g = [UgV] : A^V → A^U as an R-linear map, where R is any ring acting on A and commuting with the G-action line 211 source

    Source documentation

    The Hecke operator T_g = [UgV] : A^V → A^U as an R-linear map, where R is any ring acting on A and commuting with the G-action.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, Set.Finite, HasQuotient.Quotient, Set.image, HMul.hMul, Set, Singleton.singleton, Ring, Module, SMulCommClass, LinearMap, RingHom.id, Subtype, Membership.mem, Submodule, FixedPoints.submodule

    Proof uses: AddMonoidHom, MulAction.fixedPoints, AbstractHeckeOperator.heckeOperator.addMonoidHom, LinearMap.mk, AddHom.mk, ZeroHom.toFun

    75 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

    noncomputable def heckeOperator :
        FixedPoints.submodule V R A →ₗ[R] FixedPoints.submodule U R A where
    …

    Mentions: FixedPoints.submodule

  14. lemma AbstractHeckeOperator.heckeOperator_apply line 219 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, Set.Finite, HasQuotient.Quotient, Set.image, HMul.hMul, Set, Singleton.singleton, Ring, Module, SMulCommClass, MulAction.fixedPoints, Subtype, Membership.mem, Eq, Submodule, FixedPoints.submodule, LinearMap and 7 more

    Proof uses: rfl

    78 instances, coercions and auxiliary constants left out.

  15. lemma AbstractHeckeOperator.heckeOperator_apply' line 224 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, Set.Finite, HasQuotient.Quotient, Set.image, HMul.hMul, Set, Singleton.singleton, Ring, Module, SMulCommClass, MulAction.fixedPoints, Subtype, Membership.mem, Eq, Submodule, FixedPoints.submodule, LinearMap and 7 more

    Proof uses: Eq.mpr, finsum, Quotient, id, congrArg, AbstractHeckeOperator.heckeOperator_apply, Finset, Eq.symm, finsum_mem_coe_finset, finsum_mem_image, Function.Injective.injOn, Quotient.out_injective, eq_of_heq, HEq, Eq.refl, HEq.refl, heq_of_eq, funext, finsum_congr_Prop, outParam and 12 more

    88 instances, coercions and auxiliary constants left out.

    Tactic trace: 6 steps

    Open to load the checked before-and-after goal states.

  16. lemma AbstractHeckeOperator.heckeOperator_eq_finsetSum line 231 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, Set.Finite, HasQuotient.Quotient, Set.image, HMul.hMul, Set, Singleton.singleton, Ring, Module, SMulCommClass, MulAction.fixedPoints, Subtype, Membership.mem, Finset, Set.BijOn, Eq, Submodule and 6 more

    Proof uses: Eq.trans, finsum, Quotient, QuotientGroup.leftRel, Quotient.out, Eq.symm, AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn', finsum_mem_coe_finset

    74 instances, coercions and auxiliary constants left out.

  17. lemma AbstractHeckeOperator.heckeOperator_eq_of_mem_normalizer line 236 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, Ring, Module, SMulCommClass, Set.Finite, HasQuotient.Quotient, Set.image, HMul.hMul, Set, Singleton.singleton, MulAction.fixedPoints, Subtype, Membership.mem, Subgroup.normalizer, Eq, Submodule, FixedPoints.submodule and 4 more

    Proof uses: Eq.mpr, finsum, Quotient, QuotientGroup.leftRel, Quotient.out, id, congrArg, AbstractHeckeOperator.heckeOperator_apply, AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn', Set.ext, of_eq_true, Iff, Eq.trans, Inv.inv, True, congr, Set.preimage, congrFun', Set.mul_singleton, Set.image_mul_right and 41 more

    108 instances, coercions and auxiliary constants left out.

    Tactic trace: 16 steps

    Open to load the checked before-and-after goal states.

  18. theorem AbstractHeckeOperator.comm line 257 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, AddCommMonoid, DistribMulAction, Subgroup, Ring, Module, SMulCommClass, Set.Finite, HasQuotient.Quotient, Set.image, HMul.hMul, Set, Singleton.singleton, Exists, And, Set.BijOn, Membership.mem, Eq, LinearMap, RingHom.id and 5 more

    Proof uses: LinearMap.ext, Subtype.ext, id, Eq.mpr, finsum, Quotient, QuotientGroup.leftRel, Quotient.out, HSMul.hSMul, MulAction.fixedPoints, congrArg, AbstractHeckeOperator.heckeOperator_apply, Eq.symm, AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn', propext, Set.BijOn.finite_iff_finite, funext, finsum_congr_Prop, Eq.refl, DistribSMul and 5 more

    80 instances, coercions and auxiliary constants left out.

    Tactic trace: 25 steps

    Open to load the checked before-and-after goal states.