FLT/AutomorphicForm/QuaternionAlgebra/HeckeOperators/Local.lean
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
12 declarations, 0 contain sorry, 0 declared as axioms
Local computations for Hecke operators
Local lemmas at a finite place v for the Hecke operator T_v acting on
quaternionic automorphic forms: explicit double-coset decompositions of
U₁(v) · diag(πᵥ, 1) · U₁(v) inside GL₂(F_v).
Imports (4)
Imported by 2 files
- def
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.diagThe matrix elementdiag[α, 1]line 47 sourceSource documentation
The matrix element
diag[α, 1].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,MonoidHom,Units,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Matrix.GeneralLinearGroup,Fin,OfNat.ofNat,Nat,MatrixProof uses:
Units.map,MonoidHom.mk,OneHom.mk,Matrix.diagonal,Matrix.vecCons,Matrix.vecEmpty40 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
noncomputable def diag : (v.adicCompletion F)ˣ →* GL₂(adicCompletion F v) := …
- lemma
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.unipotent_mem_localTameLevelShow thatunipotent tis inU1 vfort ∈ O_vline 51 sourceSource comment
Show that `unipotent t` is in `U1 v` for `t ∈ O_v`.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,IsDedekindDomain.HeightOneSpectrum.adicCompletion,LE.le,WithZero,Multiplicative,Int,Valuation,Valued.v,OfNat.ofNat,Membership.mem,Matrix.GeneralLinearGroup,Fin,Nat,Subgroup,Matrix, IsDedekindDomain.GL2.localTameLevel, Matrix.GeneralLinearGroup.GL2.unipotentProof uses:
And.intro, IsDedekindDomain.GL2.localIwahoriLevel,LT.lt,HSub.hSub,Iff.mpr,And,Eq, IsDedekindDomain.GL2.mem_localIwahoriLevel_iff_v,Eq.mpr,id,Eq.trans,True,congr,congrArg,congrFun',map_one,eq_self,map_zero,and_self,and_trueand 3 more117 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma unipotent_mem_localTameLevel (t : v.adicCompletion F) (ht : Valued.v t ≤ 1) : unipotent t ∈ GL2.localTameLevel v := … - def
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.unipotentMulDiagThe matrix element(unipotent t) * (diag α hα) = !![α, t; 0, 1]line 56 sourceSource documentation
The matrix element
(unipotent t) * (diag α hα) = !![α, t; 0, 1].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Units,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Matrix.GeneralLinearGroup,Fin,OfNat.ofNat,NatProof uses:
HMul.hMul,Matrix, Matrix.GeneralLinearGroup.GL2.unipotent,MonoidHom, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.diag33 instances, coercions and auxiliary constants left out.
noncomputable def unipotentMulDiag (t : v.adicCompletion F) : GL₂(v.adicCompletion F) := unipotent t * diag αMentions: TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.diag
- lemma
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.unipotentMulDiag_injectiveline 59 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Units,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Function.Injective,Matrix.GeneralLinearGroup,Fin,OfNat.ofNat,Nat, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.unipotentMulDiagProof uses:
Eq,Eq.mp,Matrix,congr,congrArg,Eq.trans,Finset.sum,Finset.univ,HMul.hMul,Equiv,Matrix.of,Matrix.vecCons,Matrix.vecEmpty,Matrix.diagonal,HAdd.hAdd,Finset.sum_congr,Eq.refl,Finset,Membership.mem,congrFun'and 16 more71 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.unipotentMulDiag_inv_mul_unipotentMulDiag!![α t₁; 0 1]⁻¹ * [α t₂; 0 1] = [1 (t₂ - t₁) / α; 0 1]line 64 sourceSource documentation
!![α t₁; 0 1]⁻¹ * [α t₂; 0 1] = [1 (t₂ - t₁) / α; 0 1].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Units,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Eq,Matrix.GeneralLinearGroup,Fin,OfNat.ofNat,Nat,HMul.hMul,Matrix,Inv.inv, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.unipotentMulDiag, Matrix.GeneralLinearGroup.GL2.unipotent,HSub.hSubProof uses:
Trans.simple,MonoidHom, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.diag,of_eq_true,Eq.trans,Neg.neg,True,congr,congrArg,congrFun',mul_inv_rev, Matrix.GeneralLinearGroup.GL2.unipotent_inv,mul_assoc,HAdd.hAdd,sub_eq_add_neg,eq_self,Eq.mpr,id,Units.ext,Matrix.extand 58 more155 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma unipotentMulDiag_inv_mul_unipotentMulDiag (t₁ t₂ : v.adicCompletion F) : (unipotentMulDiag α t₁)⁻¹ * unipotentMulDiag α t₂ = unipotent (α.1⁻¹ * (t₂ - t₁)) := by …Mentions: TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.unipotentMulDiag
- lemma
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.localPTameLevel.conjBy_diag_mem_iff'line 80 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Nat,Matrix.GeneralLinearGroup,Fin,OfNat.ofNat,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Membership.mem,Subgroup,Matrix, IsDedekindDomain.GL2.localPTameLevel,Units,Iff,HMul.hMul,Inv.inv,MonoidHom, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.diag,Andand 7 moreProof uses:
Trans.simple,of_eq_true,Eq.trans,True,congrFun',congrArg, IsDedekindDomain.GL2.localIwahoriLevel,Units.map,MonoidHom.mk,OneHom.mk,Matrix.diagonal,Matrix.vecCons,Matrix.vecEmpty,Exists,Ne,HDiv.hDiv, IsDedekindDomain.GL2.localPTameLevelSubgroup,Units.mk0,mul_assoc,congrand 40 more226 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.localPTameLevel.adicCompletionIntegers_dvd_iffline 91 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Subtype,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Membership.mem,ValuationSubring,IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers,Iff,Dvd.dvd,LE.le,WithZero,Multiplicative,Int,Valuation,Valued.vProof uses:
Iff.intro,Eq,HMul.hMul,Eq.mpr,id,congrFun',congrArg,map_mul,mul_le_of_le_one_right,zero_le,Subtype.property,Eq.symm,dite,OfNat.ofNat,Classical.propDecidable,of_eq_true,Eq.trans,True,congr,Eq.mpand 18 more190 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
- lemma
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.localPTameLevel.conjBy_diag_mem_iffline 101 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Nat,Matrix.GeneralLinearGroup,Fin,OfNat.ofNat,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Membership.mem,Subgroup,Matrix, IsDedekindDomain.GL2.localPTameLevel,Subtype,ValuationSubring,IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers,Ne,Iff,HMul.hMul,Inv.invand 16 moreProof uses:
Eq.mpr,And,LE.le,id,Eq,congrArg,propext, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.localPTameLevel.conjBy_diag_mem_iff',Eq.symm,one_mul,mul_lt_mul_of_lt_of_le_of_nonneg_of_pos,HAdd.hAdd,Eq.mp,Exists,Not, IsDedekindDomain.GL2.localPTameLevelSubgroup,HDiv.hDiv,Iff.mpr,Iff.of_eq,Eq.transand 13 more208 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- def
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.unipotentMulDiagU1For eacht ∈ O_v / αO_v, the left cosetunipotentMulDiag U1for a lift of t toO_vline 125 sourceSource documentation
For each
t ∈ O_v / αO_v, the left cosetunipotentMulDiag U1for a lift of t toO_v.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Nat,Subtype,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Membership.mem,ValuationSubring,IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers,Ne,OfNat.ofNat,HasQuotient.Quotient,Ideal,Ideal.span,Singleton.singleton,Set,Matrix.GeneralLinearGroup,Fin,Subgroupand 2 moreProof uses:
Quotient.map,Submodule.quotientRel,QuotientGroup.leftRel, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.GL2.unipotentMulDiag,Units.mk073 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
noncomputable def unipotentMulDiagU1 (t : v.adicCompletionIntegers F ⧸ (Ideal.span {α})) : GL₂(adicCompletion F v) ⧸ GL2.localPTameLevel v p := … - lemma
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.unipotentMulDiagU1_injectiveDistinct t give distinctunipotent_mul_diagU1, i.e. we have a disjoint union line 137 sourceSource documentation
Distinct t give distinct
unipotent_mul_diagU1, i.e. we have a disjoint union.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Nat,Subtype,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Membership.mem,ValuationSubring,IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers,Ne,OfNat.ofNat,Function.Injective,HasQuotient.Quotient,Ideal,Ideal.span,Singleton.singleton,Set,Matrix.GeneralLinearGroup,Finand 4 moreProof uses:
Quot.ind,Submodule.quotientRel,Eq,Quot.mk,Iff.mpr,RingHom,Ideal.Quotient.mk,HSub.hSub,Ideal.Quotient.eq,Eq.mpr,Dvd.dvd,id,congrArg,propext,Ideal.mem_span_singleton,dvd_sub_comm,Exists.intro,HMul.hMul,Subtype.mk,Inv.invand 37 more171 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma unipotentMulDiagU1_injective : Function.Injective (unipotentMulDiagU1 v p α hα) := by …Mentions: TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.unipotentMulDiagU1
- lemma
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.range_unipotentMulDiagU1Each coset inU1diagU1is of the formunipotent_mul_diagU1for somet ∈ O_vline 149 sourceSource documentation
Each coset in
U1diagU1is of the formunipotent_mul_diagU1for somet ∈ O_v.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Nat,Subtype,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Membership.mem,ValuationSubring,IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers,Ne,OfNat.ofNat,Eq,Set,HasQuotient.Quotient,Matrix.GeneralLinearGroup,Fin,Subgroup,Matrix, IsDedekindDomain.GL2.localPTameLevel and 11 moreProof uses:
Eq.mpr,Set.univ,id,congrArg,Eq.symm,Set.image_univ,RingHom,Ideal.Quotient.mk,Function.Surjective.range_eq,Ideal.Quotient.mk_surjective,Function.comp,Set.range_comp,subset_antisymm,Iff.mpr,LE.le,Set.range_subset_iff,Exists.intro,And, Matrix.GeneralLinearGroup.GL2.unipotent,And.introand 96 more311 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
lemma range_unipotentMulDiagU1 : Set.range (unipotentMulDiagU1 v p α hα) = QuotientGroup.mk '' (GL2.localPTameLevel v p * {diag (Units.mk0 α (by simpa))} : Set GL₂(v.adicCompletion F)) := by …Mentions: TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.unipotentMulDiagU1
- theorem
TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.bijOn_unipotentMulDiagU1The double coset spaceU1diagU1is the disjoint union ofunipotent_mul_diagU1as t ranges overO_v / αO_vline 177 sourceSource documentation
The double coset space
U1diagU1is the disjoint union ofunipotent_mul_diagU1as t ranges overO_v / αO_v.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,NumberField,IsDedekindDomain.HeightOneSpectrum,NumberField.RingOfIntegers,Nat,Subtype,IsDedekindDomain.HeightOneSpectrum.adicCompletion,Membership.mem,ValuationSubring,IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers,Ne,OfNat.ofNat,Set.BijOn,HasQuotient.Quotient,Ideal,Ideal.span,Singleton.singleton,Set,Matrix.GeneralLinearGroup,Finand 11 moreProof uses:
Eq.mpr,eq_of_heq,Eq,HEq,Eq.refl,HEq.refl,Eq.symm,Set.range,id,congrArg,Set.image_univ, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.range_unipotentMulDiagU1,Function.Injective.bijOn_image, TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.unipotentMulDiagU1_injective106 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
theorem bijOn_unipotentMulDiagU1 : Set.BijOn (unipotentMulDiagU1 v p α hα) Set.univ (QuotientGroup.mk '' (GL2.localPTameLevel v p * {diag (Units.mk0 α (by simpa))})) := by …Mentions: TotallyDefiniteQuaternionAlgebra.WeightTwoAutomorphicForm.HeckeOperator.Local.unipotentMulDiagU1