Documentation

Mathlib.NumberTheory.ModularForms.Cusps

Cusps #

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

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 = โ„š.)

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.

Equations
    Instances For
      theorem IsCusp.smul {c : OnePoint โ„} {๐’ข : Subgroup (GL (Fin 2) โ„)} (hc : IsCusp c ๐’ข) (g : GL (Fin 2) โ„) :
      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 ๐’ข
      @[deprecated isCusp_iff_of_relIndex_ne_zero (since := "2025-09-13")]
      theorem isCusp_iff_of_relindex_ne_zero {๐’ข ๐’ข' : Subgroup (GL (Fin 2) โ„)} (h๐’ข : ๐’ข' โ‰ค ๐’ข) (h๐’ข' : ๐’ข'.relIndex ๐’ข โ‰  0) (c : OnePoint โ„) :
      IsCusp c ๐’ข' โ†” IsCusp c ๐’ข

      Alias of isCusp_iff_of_relIndex_ne_zero.

      theorem Subgroup.Commensurable.isCusp_iff {๐’ข ๐’ข' : Subgroup (GL (Fin 2) โ„)} (h๐’ข : ๐’ข.Commensurable ๐’ข') {c : OnePoint โ„} :
      IsCusp c ๐’ข โ†” IsCusp c ๐’ข'
      @[deprecated Subgroup.Commensurable.isCusp_iff (since := "2025-09-17")]
      theorem Commensurable.isCusp_iff {๐’ข ๐’ข' : Subgroup (GL (Fin 2) โ„)} (h๐’ข : ๐’ข.Commensurable ๐’ข') {c : OnePoint โ„} :
      IsCusp c ๐’ข โ†” IsCusp c ๐’ข'

      Alias of Subgroup.Commensurable.isCusp_iff.

      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 โˆˆ โ„‹) :

      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.

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

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

      Equations
        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.

          Equations
            Instances For

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

              Equations
                Instances For
                  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] โˆˆ ๐’ข.

                  Equations
                    Instances For
                      @[simp]
                      theorem Subgroup.mem_strictPeriods_iff {R : Type u_1} [Ring R] {๐’ข : Subgroup (GL (Fin 2) R)} {x : R} :
                      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] โˆˆ ๐’ข.

                      Equations
                        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.

                          Equations
                            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.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.

                              Equations
                                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.

                                  Equations
                                    Instances For
                                      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.widthInfty_pos (๐’ข : Subgroup (GL (Fin 2) โ„)) [๐’ข.IsArithmetic] :
                                      0 < ๐’ข.widthInfty