Documentation

LeanPool.CongruenceNormalizers.NormalizerLean.Defs

Congruence subgroups and Newman forms #

Definitions for the normalizers of Γ₀(N) and Γ_Δ(N) in SL₂(ℝ), using Mathlib's congruence subgroups. The integer representatives of Γ_Δ(N) have lower-right entry in Δ. The parameters h and h_Δ record the local square divisors appearing in the normalizer bounds.

Adapted from Filip Najman's normalizer-lean, commit ea4445c0d991a65d54fc77af0af559f2322e8660 (Apache-2.0).

Definitions #

@[reducible, inline]

The normalizer of Γ₀(N) in SL₂(ℝ).

Equations
Instances For
    @[reducible, inline]

    B(N) = Norm_{SL₂(ℝ)}(Γ₀(N)) / Γ₀(N).

    Equations
    Instances For

      x : B N is the class of the real matrix g: g normalizes Γ₀(N) and x = g Γ₀(N).

      Equations
      Instances For

        The image in SL₂(ℝ) of a real 2×2 matrix A of positive determinant: (det A)^{-1/2} • A. Junk value 1 if det A ≤ 0; below it is only applied to matrices of positive determinant.

        Equations
        Instances For

          h(N) = 2^{min(3, ⌊v₂(N)/2⌋)} · 3^{min(1, ⌊v₃(N)/2⌋)}. By hPart_isGreatest this is the largest divisor of 24 whose square divides N.

          Equations
          Instances For

            n(N) = N / h(N)².

            Equations
            Instances For

              S_k = [[1, 1/k], [0, 1]].

              Equations
              Instances For

                g is an Atkin–Lehner element w_Q of level N: g = (1/√Q)·[[Qx, y], [Nz, Qw]] with x y z w : ℤ and Q²xw − Nyz = Q. No divisibility is built in: the theorems below add the hypothesis Q ∣ N, which then forces Q ∥ N. That hypothesis is essential: for N = 4, Q = 8 the element (1/√8)·[[0, 1], [−8, 0]] satisfies the equation but does not normalize Γ₀(4). For Q = 0 the predicate is false.

                Equations
                Instances For

                  g has the form of the generalized Newman bound, with parameter h (and n = N/h²): g = ±(1/√e)·[[ae, b/h], [Nc/h, de]] with a b c d : ℤ, e ≥ 1, e ∣ n, ade² − bcn = e. (Together with e ∣ n, the equation forces e ∥ n. The sign ± is there because we work in SL₂(ℝ).) For h = h(N) this is IsNewmanForm N. The statements only use h = h(N) or h = h_Δ, which are ≥ 1 with h² ∣ N, so the divisions by h and the ℕ-division N / h² are exact.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Newman's form with the canonical Γ₀(N) square-divisor parameter.

                    Equations
                    Instances For

                      D = diag(h, 1), rescaled into SL₂(ℝ): diag(√h, 1/√h). Conjugation by it equals conjugation by D.

                      Equations
                      Instances For
                        @[reducible, inline]

                        The normalizer of Γ in SL₂(ℝ).

                        Equations
                        Instances For

                          Γ_Δ(N) #

                          Γ_Δ(N) = {γ ∈ Γ₀(N) : γ₁₁ mod N ∈ Δ} ≤ SL₂(ℤ), for a subgroup Δ ≤ (ℤ/N)ˣ. (γ 1 1 is the lower right entry. For γ ∈ Γ₀(N) it is a unit mod N, since det γ = 1.)

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            noncomputable def CongruenceNormalizers.epsDelta (N : ℕ) [NeZero N] (Δ : Subgroup (ZMod N)ˣ) :

                            ε_Δ = gcd(N, d² − 1 : d ∈ Δ), with d running over the representatives (d : ZMod N).val ∈ [0, N). The truncated subtraction is harmless: for N ≥ 2 a unit has val ≥ 1, and for N = 1 the result is gcd(1, ·) = 1 anyway.

                            Equations
                            Instances For
                              noncomputable def CongruenceNormalizers.hDelta (N : ℕ) [NeZero N] (Δ : Subgroup (ZMod N)ˣ) :

                              h_Δ = ∏_{p ∣ N} p^{min(v_p(ε_Δ), ⌊v_p(N)/2⌋)}.

                              Equations
                              Instances For
                                @[reducible, inline]

                                The image in SL₂(ℝ) of an integer matrix.

                                Equations
                                Instances For