Documentation

Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups

Arithmetic subgroups of GL(2, โ„) #

We define a subgroup of GL (Fin 2) โ„ to be arithmetic if it is commensurable with the image of SL(2, โ„ค).

class Subgroup.HasDetPlusMinusOne {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [CommRing R] (ฮ“ : Subgroup (GL n R)) :

Typeclass saying that a subgroup of GL(2, โ„) has determinant contained in {ยฑ1}. Necessary so that the typeclass system can detect when the slash action is multiplicative.

Instances
    theorem Subgroup.HasDetPlusMinusOne.abs_det {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [CommRing R] {ฮ“ : Subgroup (GL n R)} [LinearOrder R] [IsOrderedRing R] [ฮ“.HasDetPlusMinusOne] {g : GL n R} (hg : g โˆˆ ฮ“) :
    class Subgroup.HasDetOne {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [CommRing R] (ฮ“ : Subgroup (GL n R)) :

    Typeclass saying that a subgroup of GL(n, R) is contained in SL(n, R). Necessary so that the typeclass system can detect when the slash action is โ„‚-linear.

    Instances
      instance Subgroup.instHasDetPlusMinusOneOfHasDetOne {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [CommRing R] (ฮ“ : Subgroup (GL n R)) [ฮ“.HasDetOne] :
      instance Subgroup.instHasDetOneMinGeneralLinearGroup {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [CommRing R] (ฮ“ ฮ“' : Subgroup (GL n R)) [ฮ“.HasDetOne] :
      (ฮ“ โŠ“ ฮ“').HasDetOne
      instance Subgroup.instHasDetOneMinGeneralLinearGroup_1 {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [CommRing R] (ฮ“ ฮ“' : Subgroup (GL n R)) [ฮ“.HasDetOne] :
      (ฮ“' โŠ“ ฮ“).HasDetOne

      The image of the modular group SL(2, โ„ค), as a subgroup of GL(2, โ„).

      Equations
      Instances For

        Coercion from subgroups of SL(2, โ„ค) to subgroups of GL(2, โ„) by mapping along the obvious inclusion homomorphism.

        Equations
        class Subgroup.IsArithmetic (๐’ข : Subgroup (GL (Fin 2) โ„)) :

        A subgroup of GL(2, โ„) is arithmetic if it is commensurable with the image of SL(2, โ„ค).

        Instances

          If ฮ“ is arithmetic, its preimage in SL(2, โ„ค) has finite index.

          instance Subgroup.IsArithmetic.inter {ฮ“ ฮ“' : Subgroup (GL (Fin 2) โ„)} [ฮ“.IsArithmetic] [ฮ“'.IsArithmetic] :
          (ฮ“ โŠ“ ฮ“').IsArithmetic
          instance Subgroup.IsArithmetic.discreteTopology {๐’ข : Subgroup (GL (Fin 2) โ„)} [๐’ข.IsArithmetic] :
          DiscreteTopology โ†ฅ๐’ข

          Arithmetic subgroups of GL(2, โ„) are discrete.

          def Subgroup.adjoinNegOne {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] (๐’ข : Subgroup (GL n R)) :
          Subgroup (GL n R)

          Given a subgroup ๐’ข of GL n R, this is the subgroup generated by ๐’ข and -1.

          Equations
          Instances For
            @[simp]
            theorem Subgroup.mem_adjoinNegOne_iff {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] {๐’ข : Subgroup (GL n R)} {g : GL n R} :
            g โˆˆ ๐’ข.adjoinNegOne โ†” g โˆˆ ๐’ข โˆจ -g โˆˆ ๐’ข
            theorem Subgroup.le_adjoinNegOne {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] (๐’ข : Subgroup (GL n R)) :
            ๐’ข โ‰ค ๐’ข.adjoinNegOne
            theorem Subgroup.negOne_mem_adjoinNegOne {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] (๐’ข : Subgroup (GL n R)) :
            -1 โˆˆ ๐’ข.adjoinNegOne
            @[simp]
            theorem Subgroup.adjoinNegOne_eq_self_iff {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] {๐’ข : Subgroup (GL n R)} :
            ๐’ข.adjoinNegOne = ๐’ข โ†” -1 โˆˆ ๐’ข
            theorem Subgroup.relindex_adjoinNegOne_eq_two {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] {๐’ข : Subgroup (GL n R)} (h๐’ข : -1 โˆ‰ ๐’ข) :
            ๐’ข.relIndex ๐’ข.adjoinNegOne = 2
            theorem Subgroup.relIndex_adjoinNegOne_ne_zero {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] (๐’ข : Subgroup (GL n R)) :
            ๐’ข.relIndex ๐’ข.adjoinNegOne โ‰  0
            instance instIsFiniteRelIndexGeneralLinearGroupAdjoinNegOne {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] (๐’ข : Subgroup (GL n R)) :
            ๐’ข.IsFiniteRelIndex ๐’ข.adjoinNegOne
            theorem Subgroup.commensurable_adjoinNegOne_self {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_2} [Ring R] (๐’ข : Subgroup (GL n R)) :
            ๐’ข.adjoinNegOne.Commensurable ๐’ข
            @[simp]
            theorem Subgroup.hasDetOne_adjoinNegOne_iff {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_3} [CommRing R] {๐’ข : Subgroup (GL n R)} (hn : Even (Fintype.card n)) :
            ๐’ข.adjoinNegOne.HasDetOne โ†” ๐’ข.HasDetOne
            instance instHasDetPlusMinusOneAdjoinNegOne {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_3} [CommRing R] {๐’ข : Subgroup (GL n R)} [๐’ข.HasDetPlusMinusOne] :
            instance instHasDetOneAdjoinNegOneOfFactEvenNatCard {n : Type u_1} [Fintype n] [DecidableEq n] {R : Type u_3} [CommRing R] {๐’ข : Subgroup (GL n R)} [๐’ข.HasDetOne] [Fact (Even (Fintype.card n))] :