Documentation

Mathlib.NumberTheory.ModularForms.Cusps

Cusps #

We define the cusps of a subgroup of GL(2, โ„) as the fixed points of parabolic elements.

theorem OnePoint.exists_mem_SL2 {K : Type u_1} [Field K] [DecidableEq K] (A : Type u_2) [CommRing A] [IsDomain A] [Algebra A K] [IsFractionRing A K] [IsPrincipalIdealRing A] (c : OnePoint K) :
โˆƒ (g : Matrix.SpecialLinearGroup (Fin 2) A), (Matrix.SpecialLinearGroup.mapGL K) g โ€ข infty = c

The modular group SL(2, A) acts transitively on OnePoint K, if A is a PID whose fraction field is K. (This includes the case A = โ„ค, K = โ„š.)

theorem Subgroup.HasDetPlusMinusOne.isParabolic_iff_of_upperTriangular {K : Type u_1} [Field K] [LinearOrder K] [IsStrictOrderedRing K] {๐’ข : Subgroup (GL (Fin 2) K)} [๐’ข.HasDetPlusMinusOne] {g : GL (Fin 2) K} (hg : g โˆˆ ๐’ข) (hg10 : โ†‘g 1 0 = 0) :
g.IsParabolic โ†” (โˆƒ (x : K), x โ‰  0 โˆง g = Matrix.GeneralLinearGroup.upperRightHom x) โˆจ โˆƒ (x : K), x โ‰  0 โˆง g = -Matrix.GeneralLinearGroup.upperRightHom x
def IsCusp (c : OnePoint โ„) (๐’ข : Subgroup (GL (Fin 2) โ„)) :

The cusps of a subgroup of GL(2, โ„) are the fixed points of parabolic elements of g.

Instances For
    theorem IsCusp.smul {c : OnePoint โ„} {๐’ข : Subgroup (GL (Fin 2) โ„)} (hc : IsCusp c ๐’ข) (g : GL (Fin 2) โ„) :
    IsCusp (g โ€ข c) (ConjAct.toConjAct g โ€ข ๐’ข)
    theorem IsCusp.smul_of_mem {c : OnePoint โ„} {๐’ข : Subgroup (GL (Fin 2) โ„)} (hc : IsCusp c ๐’ข) {g : GL (Fin 2) โ„} (hg : g โˆˆ ๐’ข) :
    IsCusp (g โ€ข c) ๐’ข
    theorem isCusp_iff_of_relIndex_ne_zero {๐’ข ๐’ข' : Subgroup (GL (Fin 2) โ„)} (h๐’ข : ๐’ข' โ‰ค ๐’ข) (h๐’ข' : ๐’ข'.relIndex ๐’ข โ‰  0) (c : OnePoint โ„) :
    IsCusp c ๐’ข' โ†” IsCusp c ๐’ข
    theorem Subgroup.Commensurable.isCusp_iff {๐’ข ๐’ข' : Subgroup (GL (Fin 2) โ„)} (h๐’ข : ๐’ข.Commensurable ๐’ข') {c : OnePoint โ„} :
    IsCusp c ๐’ข โ†” IsCusp c ๐’ข'
    theorem IsCusp.mono {๐’ข โ„‹ : Subgroup (GL (Fin 2) โ„)} {c : OnePoint โ„} (hGH : ๐’ข โ‰ค โ„‹) (hc : IsCusp c ๐’ข) :
    IsCusp c โ„‹
    theorem IsCusp.of_isFiniteRelIndex {๐’ข โ„‹ : Subgroup (GL (Fin 2) โ„)} {c : OnePoint โ„} [๐’ข.IsFiniteRelIndex โ„‹] (hc : IsCusp c โ„‹) :
    IsCusp c ๐’ข
    theorem IsCusp.of_isFiniteRelIndex_conj {๐’ข โ„‹ : Subgroup (GL (Fin 2) โ„)} {c : OnePoint โ„} [๐’ข.IsFiniteRelIndex โ„‹] (hc : IsCusp c โ„‹) {h : GL (Fin 2) โ„} (hh : h โˆˆ โ„‹) :
    IsCusp c (ConjAct.toConjAct h โ€ข ๐’ข)

    Variant version of IsCusp.of_isFiniteRelIndex.

    The cusps of SL(2, โ„ค) are precisely the elements of โ„™ยน(โ„š).

    The cusps of SL(2, โ„ค) are precisely the SL(2, โ„ค) orbit of โˆž.

    The cusps of any arithmetic subgroup are the same as those of SL(2, โ„ค).

    Cusp orbits #

    We consider the orbits for the action of ๐’ข on its own cusps. The main result is that if [๐’ข.IsArithmetic] holds, then this set is finite.

    noncomputable def cuspsSubMulAction (๐’ข : Subgroup (GL (Fin 2) โ„)) :
    SubMulAction (โ†ฅ๐’ข) (OnePoint โ„)

    The action of ๐’ข on its own cusps.

    Instances For
      @[reducible, inline]
      abbrev CuspOrbits (๐’ข : Subgroup (GL (Fin 2) โ„)) :

      The type of cusp orbits of ๐’ข, i.e. orbits for the action of ๐’ข on its own cusps.

      Instances For
        noncomputable def cosetToCuspOrbit (๐’ข : Subgroup (GL (Fin 2) โ„)) [๐’ข.IsArithmetic] :

        Surjection from SL(2, โ„ค) / (๐’ข โŠ“ SL(2, โ„ค)) to cusp orbits of ๐’ข. Mostly useful for showing that CuspOrbits ๐’ข is finite for arithmetic subgroups.

        Instances For
          @[simp]
          theorem cosetToCuspOrbit_apply_mk {๐’ข : Subgroup (GL (Fin 2) โ„)} [๐’ข.IsArithmetic] (g : Matrix.SpecialLinearGroup (Fin 2) โ„ค) :
          cosetToCuspOrbit ๐’ข โŸฆgโŸง = โŸฆโŸจ(Matrix.SpecialLinearGroup.mapGL โ„) gโปยน โ€ข OnePoint.infty, โ‹ฏโŸฉโŸง
          theorem surjective_cosetToCuspOrbit (๐’ข : Subgroup (GL (Fin 2) โ„)) [๐’ข.IsArithmetic] :
          Function.Surjective (cosetToCuspOrbit ๐’ข)
          instance instFiniteCuspOrbitsOfIsArithmetic (๐’ข : Subgroup (GL (Fin 2) โ„)) [๐’ข.IsArithmetic] :
          Finite (CuspOrbits ๐’ข)

          An arithmetic subgroup has finitely many cusp orbits.

          Width of a cusp #

          We define the strict width of ๐’ข at โˆž to be the smallest h > 0 such that [1, h; 0, 1] โˆˆ ๐’ข, or 0 if no such h exists; and the width of ๐’ข to be the strict width of the subgroup generated by ๐’ข and -1, or equivalently the smallest h > 0 such that ยฑ[1, h; 0, 1] โˆˆ ๐’ข (again, if it exists). We show both widths exist when ๐’ข is discrete and has det ยฑ 1.

          def Subgroup.strictPeriods {R : Type u_1} [Ring R] (๐’ข : Subgroup (GL (Fin 2) R)) :

          For a subgroup ๐’ข of GL(2, R), this is the additive group of x : R such that [1, x; 0, 1] โˆˆ ๐’ข.

          Instances For
            @[simp]
            theorem Subgroup.mem_strictPeriods_iff {R : Type u_1} [Ring R] {๐’ข : Subgroup (GL (Fin 2) R)} {x : R} :
            x โˆˆ ๐’ข.strictPeriods โ†” Matrix.GeneralLinearGroup.upperRightHom x โˆˆ ๐’ข
            noncomputable def Subgroup.periods {R : Type u_1} [Ring R] (๐’ข : Subgroup (GL (Fin 2) R)) :

            For a subgroup ๐’ข of GL(2, R), this is the additive group of x : R such that ยฑ[1, x; 0, 1] โˆˆ ๐’ข.

            Instances For
              theorem Subgroup.strictPeriods_le_periods {R : Type u_1} [Ring R] (๐’ข : Subgroup (GL (Fin 2) R)) :
              ๐’ข.strictPeriods โ‰ค ๐’ข.periods
              def Subgroup.IsRegularAtInfty {R : Type u_1} [Ring R] (๐’ข : Subgroup (GL (Fin 2) R)) :

              A subgroup is regular at โˆž if its periods and strict periods coincide.

              Instances For
                theorem Subgroup.IsRegularAtInfty.eq {R : Type u_1} [Ring R] (๐’ข : Subgroup (GL (Fin 2) R)) (h : ๐’ข.IsRegularAtInfty) :
                ๐’ข.strictPeriods = ๐’ข.periods
                theorem Subgroup.relIndex_strictPeriods {R : Type u_1} [Ring R] (๐’ข : Subgroup (GL (Fin 2) R)) :
                ๐’ข.strictPeriods.relIndex ๐’ข.periods = 1 โˆจ ๐’ข.strictPeriods.relIndex ๐’ข.periods = 2
                theorem Subgroup.commensurable_strictPeriods_periods {R : Type u_1} [Ring R] (๐’ข : Subgroup (GL (Fin 2) R)) :
                ๐’ข.strictPeriods.Commensurable ๐’ข.periods
                theorem Subgroup.strictPeriods_eq_periods_of_neg_one_mem {R : Type u_1} [Ring R] {๐’ข : Subgroup (GL (Fin 2) R)} (h๐’ข : -1 โˆˆ ๐’ข) :
                ๐’ข.strictPeriods = ๐’ข.periods
                theorem Subgroup.isRegularAtInfty_of_neg_one_mem {R : Type u_1} [Ring R] {๐’ข : Subgroup (GL (Fin 2) R)} (h๐’ข : -1 โˆˆ ๐’ข) :
                ๐’ข.IsRegularAtInfty
                instance Subgroup.instDiscreteTopStrictPeriods {R : Type u_1} [Ring R] {๐’ข : Subgroup (GL (Fin 2) R)} [TopologicalSpace R] [IsTopologicalRing R] [hG : DiscreteTopology โ†ฅ๐’ข] :
                DiscreteTopology โ†ฅ๐’ข.strictPeriods

                If ๐’ข is discrete, so is its strict period subgroup.

                instance Subgroup.instDiscreteTopPeriods {R : Type u_1} [Ring R] {๐’ข : Subgroup (GL (Fin 2) R)} [TopologicalSpace R] [IsTopologicalRing R] [T2Space R] [hG : DiscreteTopology โ†ฅ๐’ข] :
                DiscreteTopology โ†ฅ๐’ข.periods

                If ๐’ข is discrete, so is its period subgroup.

                noncomputable def Subgroup.strictWidthInfty (๐’ข : Subgroup (GL (Fin 2) โ„)) :

                The strict width of the cusp โˆž, i.e. the x such that ๐’ข.strictPeriods = zmultiples x, or 0 if no such x exists.

                Instances For
                  noncomputable def Subgroup.widthInfty (๐’ข : Subgroup (GL (Fin 2) โ„)) :

                  The width of the cusp โˆž, i.e. the x such that ๐’ข.periods = zmultiples x, or 0 if no such x exists.

                  Instances For
                    theorem Subgroup.widthInfty_mem_periods (๐’ข : Subgroup (GL (Fin 2) โ„)) :
                    ๐’ข.widthInfty โˆˆ ๐’ข.periods
                    theorem Subgroup.two_mul_widthInfty_mem_strictPeriods (๐’ข : Subgroup (GL (Fin 2) โ„)) :
                    2 * ๐’ข.widthInfty โˆˆ ๐’ข.strictPeriods
                    theorem Subgroup.strictWidthInfty_pos_iff {๐’ข : Subgroup (GL (Fin 2) โ„)} [DiscreteTopology โ†ฅ๐’ข.strictPeriods] [๐’ข.HasDetPlusMinusOne] :
                    0 < ๐’ข.strictWidthInfty โ†” IsCusp OnePoint.infty ๐’ข
                    theorem Subgroup.strictWidthInfty_pos (๐’ข : Subgroup (GL (Fin 2) โ„)) [๐’ข.IsArithmetic] :
                    0 < ๐’ข.strictWidthInfty
                    theorem Subgroup.isCusp_of_mem_strictPeriods {๐’ข : Subgroup (GL (Fin 2) โ„)} {h : โ„} (hh : 0 < h) (h๐’ข : h โˆˆ ๐’ข.strictPeriods) :
                    theorem Subgroup.widthInfty_pos_iff {๐’ข : Subgroup (GL (Fin 2) โ„)} [DiscreteTopology โ†ฅ๐’ข.periods] [๐’ข.HasDetPlusMinusOne] :
                    0 < ๐’ข.widthInfty โ†” IsCusp OnePoint.infty ๐’ข
                    theorem Subgroup.isRegularAtInfty_iff {๐’ข : Subgroup (GL (Fin 2) โ„)} [DiscreteTopology โ†ฅ๐’ข.periods] :
                    ๐’ข.IsRegularAtInfty โ†” ๐’ข.widthInfty โˆˆ ๐’ข.strictPeriods
                    theorem Subgroup.widthInfty_pos (๐’ข : Subgroup (GL (Fin 2) โ„)) [๐’ข.IsArithmetic] :
                    0 < ๐’ข.widthInfty