FormalConjecturesForMathlib/NumberTheory/AutomorphicForm/BorelJacquet/Subgroups.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, Formal Conjectures paper, arXiv v1

15 declarations, 0 contain sorry, 0 declared as axioms

The subgroups in the Borel-Jacquet definition of an automorphic form

The subgroups of G(𝔸) = G(𝔸_f) Γ— G(ℝ), for G = GL n / β„š, that the Borel-Jacquet definition of an automorphic form quantifies over; see FormalConjecturesForMathlib.NumberTheory.AutomorphicForm.BorelJacquet for that definition, and Borel and Jacquet's Corvallis article, the reference below, for its source.

Main declarations

All in the namespace Matrix.GeneralLinearGroup:

Implementation notes

Compactness of orthogonalSubgroup n and its maximality (Cartan-Iwasawa-Malcev, which also makes it unique up to conjugacy) are asserted in its docstring but not formalised; of compactness, the boundedness half is proved (abs_coe_le_one_of_mem_orthogonalSubgroup).

References:

Imports (8)
Imported by 2 files
  1. def Matrix.GeneralLinearGroup.diagonalEmbedding The diagonal embedding of the rational points G(β„š) = GL n β„š into G(𝔸_f) Γ— G(ℝ) = GL n 𝔸ᢠ[β„€, β„š] Γ— GL n ℝ, through the inclusions of β„š into the finite adeles and into ℝ line 75 source

    Source documentation

    The diagonal embedding of the rational points G(β„š) = GL n β„š into G(𝔸_f) Γ— G(ℝ) = GL n 𝔸ᢠ[β„€, β„š] Γ— GL n ℝ, through the inclusions of β„š into the finite adeles and into ℝ.

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

    Statement uses: Fintype, DecidableEq, MonoidHom, Matrix.GeneralLinearGroup, Rat, Prod, IsDedekindDomain.FiniteAdeleRing, Int, Real, Matrix

    Proof uses: MonoidHom.prod, Matrix.GeneralLinearGroup.map, Algebra.algebraMap

    45 instances, coercions and auxiliary constants left out.

    noncomputable def diagonalEmbedding : GL n β„š β†’* GL n 𝔸ᢠ[β„€, β„š] Γ— GL n ℝ :=
    …
  2. def Matrix.GeneralLinearGroup.ratDiagonal The subgroup Ξ“ = G(β„š) of G(𝔸_f) Γ— G(ℝ): the range of the diagonal embedding of GL n β„š line 81 source

    Source documentation

    The subgroup Ξ“ = G(β„š) of G(𝔸_f) Γ— G(ℝ): the range of the diagonal embedding of GL n β„š. Condition (a) for an automorphic form is left invariance under this subgroup.

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

    Statement uses: Fintype, DecidableEq, Subgroup, Prod, Matrix.GeneralLinearGroup, IsDedekindDomain.FiniteAdeleRing, Int, Rat, Real, Matrix

    Proof uses: MonoidHom.range, Matrix.GeneralLinearGroup.diagonalEmbedding

    34 instances, coercions and auxiliary constants left out.

    noncomputable def ratDiagonal : Subgroup (GL n 𝔸ᢠ[β„€, β„š] Γ— GL n ℝ) :=
    …
  3. def Matrix.GeneralLinearGroup.orthogonalSubgroup Documented declaration: orthogonalSubgroup line 93 source

    Source documentation

    The orthogonal group O n ℝ as a subgroup of GL n ℝ: the units of Matrix n n ℝ whose underlying matrix lies in mathlib's Matrix.orthogonalGroup n ℝ, the submonoid of matrices whose transpose is their inverse. This is the maximal compact subgroup of GL n ℝ β€” up to conjugacy the only one, by the Cartan-Iwasawa-Malcev theorem β€” and it is the K of the pair (G, K) in the definition of an automorphic form for GL n.

    Mathlib's Matrix.orthogonalGroup n ℝ is a Submonoid (Matrix n n ℝ); what the definition of an automorphic form needs is a Subgroup (GL n ℝ), so we transport it along the coercion GL n ℝ β†’ Matrix n n ℝ rather than restate the orthogonality condition.

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

    Statement uses: Fintype, DecidableEq, Subgroup, Matrix.GeneralLinearGroup, Real, Matrix

    Proof uses: Subgroup.mk, Submonoid.mk, Subsemigroup.mk, Set.ofPred, Membership.mem, Submonoid, Matrix.orthogonalGroup, Set

    25 instances, coercions and auxiliary constants left out.

    Tactic trace: 6 steps

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

    def orthogonalSubgroup (n : Type*) [Fintype n] [DecidableEq n] : Subgroup (GL n ℝ) where
    …
  4. lemma Matrix.GeneralLinearGroup.mem_orthogonalSubgroup line 105 source

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

    Statement uses: Fintype, DecidableEq, Matrix.GeneralLinearGroup, Real, Iff, Membership.mem, Subgroup, Matrix, Matrix.GeneralLinearGroup.orthogonalSubgroup, Submonoid, Matrix.orthogonalGroup

    Proof uses: Eq.rec, Eq, Iff.rfl, Set, Set.ofPred, Eq.symm, Set.mem_ofPred_eq

    20 instances, coercions and auxiliary constants left out.

  5. lemma Matrix.GeneralLinearGroup.mem_orthogonalSubgroup_iff_mul_transpose line 110 source

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

    Statement uses: Fintype, DecidableEq, Matrix.GeneralLinearGroup, Real, Iff, Membership.mem, Subgroup, Matrix, Matrix.GeneralLinearGroup.orthogonalSubgroup, Eq, HMul.hMul, Matrix.transpose, OfNat.ofNat

    Proof uses: Iff.trans, Submonoid, Matrix.orthogonalGroup, Matrix.GeneralLinearGroup.mem_orthogonalSubgroup, Matrix.mem_orthogonalGroup_iff

    34 instances, coercions and auxiliary constants left out.

  6. lemma Matrix.GeneralLinearGroup.mem_orthogonalSubgroup_iff_transpose_eq_coe_inv line 114 source

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

    Statement uses: Fintype, DecidableEq, Matrix.GeneralLinearGroup, Real, Iff, Membership.mem, Subgroup, Matrix, Matrix.GeneralLinearGroup.orthogonalSubgroup, Eq, Matrix.transpose, Inv.inv

    Proof uses: Eq.mpr, HMul.hMul, OfNat.ofNat, id, congrArg, propext, Matrix.GeneralLinearGroup.mem_orthogonalSubgroup_iff_mul_transpose, Iff.intro, Eq.symm, Matrix.inv_eq_right_inv, Matrix.GeneralLinearGroup.coe_inv, Eq.refl, Units.mul_inv

    27 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

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

  7. lemma Matrix.GeneralLinearGroup.abs_coe_le_one_of_mem_orthogonalSubgroup The entries of an orthogonal matrix are bounded by 1: each row is a unit vector line 124 source

    Source documentation

    The entries of an orthogonal matrix are bounded by 1: each row is a unit vector. This is the boundedness half of the compactness of orthogonalSubgroup n; see the implementation notes on what is and is not formalised about that.

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

    Statement uses: Fintype, DecidableEq, Matrix.GeneralLinearGroup, Real, Membership.mem, Subgroup, Matrix, Matrix.GeneralLinearGroup.orthogonalSubgroup, LE.le, abs, OfNat.ofNat

    Proof uses: Eq.mpr, id, Eq, congrArg, rfl, Finset.sum, Finset.univ, HMul.hMul, Eq.mp, Matrix.transpose, Matrix.one_apply_eq, Iff.mp, Matrix.GeneralLinearGroup.mem_orthogonalSubgroup_iff_mul_transpose, Iff.mpr, abs_le_one_iff_mul_self_le_one, Eq.rec, Finset.single_le_sum, Finset, mul_self_nonneg, Finset.mem_univ

    54 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

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

    lemma abs_coe_le_one_of_mem_orthogonalSubgroup {y : GL n ℝ} (hy : y ∈ orthogonalSubgroup n)
        (i j : n) : |(y : Matrix n n ℝ) i j| ≀ 1 := by
    …

    Mentions: Matrix.GeneralLinearGroup.orthogonalSubgroup

  8. instance Matrix.GeneralLinearGroup.(instance at line 141) line 141 source

    Source documentation

    The v-adic integers of β„š are compact: they are homeomorphic to β„€_[p] for the corresponding prime p.

    instance (v : HeightOneSpectrum β„€) : CompactSpace (v.adicCompletionIntegers β„š) := by
    …
  9. instance Matrix.GeneralLinearGroup.(instance at line 148) line 148 source
  10. def Matrix.GeneralLinearGroup.integralAdeles The integral adeles Ẑ = ∏α΅₯ β„€α΅₯ as a subring of the finite adeles of β„š: the adeles that are integral at every place line 154 source

    Source documentation

    The integral adeles Ẑ = ∏α΅₯ β„€α΅₯ as a subring of the finite adeles of β„š: the adeles that are integral at every place.

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

    Statement uses: Subring, IsDedekindDomain.FiniteAdeleRing, Int, Rat

    Proof uses: Subring.mk, Subsemiring.mk, Submonoid.mk, Subsemigroup.mk, Set.ofPred, IsDedekindDomain.HeightOneSpectrum, Membership.mem, IsDedekindDomain.HeightOneSpectrum.adicCompletion, ValuationSubring, IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers

    38 instances, coercions and auxiliary constants left out.

    def integralAdeles : Subring 𝔸ᢠ[β„€, β„š] where
    …
  11. lemma Matrix.GeneralLinearGroup.isOpen_integralAdeles line 162 source

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

    Statement uses: IsOpen, IsDedekindDomain.FiniteAdeleRing, Int, Rat, Subring, Matrix.GeneralLinearGroup.integralAdeles

    Proof uses: RestrictedProduct.isOpen_forall_mem, IsDedekindDomain.HeightOneSpectrum, IsDedekindDomain.HeightOneSpectrum.adicCompletion, ValuationSubring, IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers, Valued.isOpen_valuationSubring, WithZero, Multiplicative

    33 instances, coercions and auxiliary constants left out.

  12. lemma Matrix.GeneralLinearGroup.isCompact_integralAdeles line 165 source

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

    Statement uses: IsCompact, IsDedekindDomain.FiniteAdeleRing, Int, Rat, Subring, Matrix.GeneralLinearGroup.integralAdeles

    Proof uses: Eq, Set, Set.range, RestrictedProduct, IsDedekindDomain.HeightOneSpectrum, IsDedekindDomain.HeightOneSpectrum.adicCompletion, ValuationSubring, IsDedekindDomain.HeightOneSpectrum.adicCompletionIntegers, Filter.cofinite, RestrictedProduct.structureMap, Eq.mpr, Set.ofPred, Membership.mem, Filter.Eventually, id, congrArg, RestrictedProduct.range_structureMap, Eq.refl, Set.image, Set.univ and 7 more

    47 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

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

  13. def Matrix.GeneralLinearGroup.integralAdelicSubgroup GL n Ẑ inside GL n 𝔸ᢠ[β„€, β„š]: the matrices whose entries, and whose inverse's entries, are integral adeles line 181 source

    Source documentation

    GL n Ẑ inside GL n 𝔸ᢠ[β„€, β„š]: the matrices whose entries, and whose inverse's entries, are integral adeles. It is a compact open subgroup of G(𝔸_f) (isOpen_integralAdelicSubgroup, isCompact_integralAdelicSubgroup), as condition (b1) requires.

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

    Statement uses: Fintype, DecidableEq, Subgroup, Matrix.GeneralLinearGroup, IsDedekindDomain.FiniteAdeleRing, Int, Rat, Matrix

    Proof uses: Subgroup.mk, Submonoid.mk, Subsemigroup.mk, Set.ofPred, And, Membership.mem, Subring, Matrix.GeneralLinearGroup.integralAdeles, Inv.inv, Set

    44 instances, coercions and auxiliary constants left out.

    Tactic trace: 21 steps

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

    def integralAdelicSubgroup : Subgroup (GL n 𝔸ᢠ[β„€, β„š]) where
    …
  14. lemma Matrix.GeneralLinearGroup.isOpen_integralAdelicSubgroup line 199 source

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

    Statement uses: Fintype, DecidableEq, IsOpen, Matrix.GeneralLinearGroup, IsDedekindDomain.FiniteAdeleRing, Int, Rat, Matrix, Subgroup, Matrix.GeneralLinearGroup.integralAdelicSubgroup

    Proof uses: Set.ofPred, Membership.mem, Subring, Matrix.GeneralLinearGroup.integralAdeles, Eq, Set, Set.iInter, Set.preimage, Set.ext, of_eq_true, Iff, Eq.trans, True, congrArg, forall_congr, iff_self, Eq.mpr, id, isOpen_iInter_of_finite, IsOpen.preimage and 8 more

    52 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

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

  15. lemma Matrix.GeneralLinearGroup.isCompact_integralAdelicSubgroup line 210 source

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

    Statement uses: Fintype, DecidableEq, IsCompact, Matrix.GeneralLinearGroup, IsDedekindDomain.FiniteAdeleRing, Int, Rat, Matrix, Subgroup, Matrix.GeneralLinearGroup.integralAdelicSubgroup

    Proof uses: Set, Set.ofPred, Membership.mem, Subring, Matrix.GeneralLinearGroup.integralAdeles, Eq, rfl, Eq.rec, Set.pi, Set.univ, isCompact_univ_pi, Matrix.GeneralLinearGroup.isCompact_integralAdeles, Eq.symm, Set.ext, Iff.intro, trivial, Prod, MulOpposite, Set.image, Units and 36 more

    94 instances, coercions and auxiliary constants left out.

    Tactic trace: 13 steps

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