Strong Multiplicity One — Lean blueprint

6. Strong multiplicity one🔗

Theorem6.1
Statement uses 3
Statement dependency previews
Preview
Theorem 3.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

(New-part identity — Miyake 4.6.12, new part.) If f is a normalised newform and g^{(1)} is a common eigenfunction in the new subspace of S_k(N, \chi) sharing f's eigenvalues off a finite set, then g^{(1)} = a_1(g^{(1)})\, f (Definition 5.2, Theorem 3.2, Theorem 3.3).

Lean code for Theorem6.11 theorem
  • theoremdefined in LeanModularForms/SMOObligations/StrongMultiplicityOneFull.lean
    complete
    theorem HeckeRing.GL2.newPart_eq_smul_of_shared_eigenvalues {N : } [NeZero N]
      {k : } (f : HeckeRing.GL2.Newform N k)
      (g_new : HeckeRing.GL2.Eigenform N k) (χ : (ZMod N)ˣ →* ˣ)
      (hfχ : f.toModularForm'  HeckeRing.GL2.modFormCharSpace k χ)
      (hgχ : g_new.toModularForm'  HeckeRing.GL2.modFormCharSpace k χ)
      (hg_new : g_new.toCuspForm  HeckeRing.GL2.cuspFormsNew N k)
      (S : Finset )
      (h_eig :
         (n : ℕ+),
          (↑n).Coprime N  n  S  f.eigenvalue n = g_new.eigenvalue n) :
      g_new.toCuspForm =
        (PowerSeries.coeff 1)
            (UpperHalfPlane.qExpansion 1 g_new.toCuspForm) 
          f.toCuspForm
    theorem HeckeRing.GL2.newPart_eq_smul_of_shared_eigenvalues
      {N : } [NeZero N] {k : }
      (f : HeckeRing.GL2.Newform N k)
      (g_new : HeckeRing.GL2.Eigenform N k)
      (χ : (ZMod N)ˣ →* ˣ)
      (hfχ :
        f.toModularForm' 
          HeckeRing.GL2.modFormCharSpace k χ)
      (hgχ :
        g_new.toModularForm' 
          HeckeRing.GL2.modFormCharSpace k χ)
      (hg_new :
        g_new.toCuspForm 
          HeckeRing.GL2.cuspFormsNew N k)
      (S : Finset )
      (h_eig :
         (n : ℕ+),
          (↑n).Coprime N 
            n  S 
              f.eigenvalue n =
                g_new.eigenvalue n) :
      g_new.toCuspForm =
        (PowerSeries.coeff 1)
            (UpperHalfPlane.qExpansion 1
              g_new.toCuspForm) 
          f.toCuspForm
    **New-part identity** (Miyake 4.6.12, new part, p. 163).  If `f` is a normalised
    `Newform` and `g_new` is a common eigenfunction in the new subspace sharing `f`'s
    eigenvalues off a finite set `S`, then `g_new = a₁(g_new) • f`. 
Proof for Theorem 6.1
Proof uses 4
Proof dependency previews
Preview
Theorem 2.3
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.

If g^{(1)} = 0 this is trivial; otherwise b_1 = a_1(g^{(1)}) \ne 0 by Theorem 3.3. Sharing eigenvalues off a finite set forces all coprime eigenvalues to agree (propagated by multiplicativity, Theorem 2.3). Then h = b_1^{-1} g^{(1)} - f has a_n(h) = \lambda_n - \lambda_n = 0 for all \gcd(n, N) = 1 (Theorem 3.2 with a_1(f) = 1), so h is old by Theorem 5.1; being a difference of new forms it is also new, hence h = 0.

Theorem6.2
Statement uses 3
Statement dependency previews
Preview
Theorem 4.8
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

(Old-part vanishing — Miyake 4.6.12, steps (i)–(ii).) If f is a nonzero newform and g^{(2)} is a common eigenfunction in the (\chi-refined) old subspace sharing f's eigenvalues off a finite set, then g^{(2)} = 0 (Definition 5.2, Theorem 4.8, Theorem 5.3).

Lean code for Theorem6.21 theorem
  • theoremdefined in LeanModularForms/SMOObligations/StrongMultiplicityOneFull.lean
    complete
    theorem HeckeRing.GL2.oldPart_eq_zero_of_shared_eigenvalues {N : } [NeZero N]
      {k : } (f : HeckeRing.GL2.Newform N k) (χ : (ZMod N)ˣ →* ˣ)
      (m_χ : )
      (hfχ : f.toModularForm'  HeckeRing.GL2.modFormCharSpace k χ)
      (g_old :
        CuspForm
          (Subgroup.map (Matrix.SpecialLinearGroup.mapGL )
            (CongruenceSubgroup.Gamma1 N))
          k)
      (hg_old : g_old  HeckeRing.GL2.cuspFormsOldChar N k χ m_χ)
      (hg_old_char : g_old  HeckeRing.GL2.cuspFormCharSpace k χ)
      (S : Finset )
      (h_eig :
         (n : ℕ+),
          (↑n).Coprime N 
            n  S 
              HeckeRing.GL2.heckeT_n_cusp k (↑n) g_old =
                f.eigenvalue n  g_old) :
      g_old = 0
    theorem HeckeRing.GL2.oldPart_eq_zero_of_shared_eigenvalues
      {N : } [NeZero N] {k : }
      (f : HeckeRing.GL2.Newform N k)
      (χ : (ZMod N)ˣ →* ˣ) (m_χ : )
      (hfχ :
        f.toModularForm' 
          HeckeRing.GL2.modFormCharSpace k χ)
      (g_old :
        CuspForm
          (Subgroup.map
            (Matrix.SpecialLinearGroup.mapGL
              )
            (CongruenceSubgroup.Gamma1 N))
          k)
      (hg_old :
        g_old 
          HeckeRing.GL2.cuspFormsOldChar N k χ
            m_χ)
      (hg_old_char :
        g_old 
          HeckeRing.GL2.cuspFormCharSpace k χ)
      (S : Finset )
      (h_eig :
         (n : ℕ+),
          (↑n).Coprime N 
            n  S 
              HeckeRing.GL2.heckeT_n_cusp k
                  (↑n) g_old =
                f.eigenvalue n  g_old) :
      g_old = 0
    **Old-part vanishing** (Miyake 4.6.12, steps (i)+(ii), p. 164).  If `f` is a
    nonzero newform at level `N` and `g_old` is a common `T(n)`-eigenform in the χ-refined
    old space sharing `f`'s eigenvalues off a finite set `S`, then `g_old = 0`. 
Proof for Theorem 6.2
Proof uses 5
Proof dependency previews
Preview
Theorem 3.3
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.

Suppose g^{(2)} \ne 0. Write it in the descent normal form (Theorem 4.8) as a sum of level-raised new eigenforms; the summands whose eigenvalues differ from f's are Petersson-orthogonal (Definition 4.4) and drop out, leaving a nonzero new eigenform h at a proper divisor sharing f's eigenvalues. Its leading coefficient is nonzero (Theorem 3.3), so h minus a scalar multiple of f has vanishing coprime coefficients hence is old (Theorem 5.1); but h is old and f is not (Theorem 5.3), a contradiction.

Theorem6.3
Statement uses 3
Statement dependency previews
Preview
Definition 5.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

(Strong multiplicity one, constant-multiple form — Miyake Theorem 4.6.12.) Let f be a normalised newform in S_k(N, \chi) and g any cusp-form Hecke eigenfunction in S_k(N, \chi). If f and g share the eigenvalue \lambda_n for all but finitely many \gcd(n, N) = 1, then g = c\, f for a single c \in \mathbb{C} (Definition 5.2, Theorem 6.1, Theorem 6.2).

Lean code for Theorem6.31 theorem
  • theoremdefined in LeanModularForms/SMOObligations/StrongMultiplicityOneFull.lean
    complete
    theorem HeckeRing.GL2.strongMultiplicityOne_constMul {N : } [NeZero N] {k : }
      (f : HeckeRing.GL2.Newform N k) (g : HeckeRing.GL2.Eigenform N k)
      (χ : (ZMod N)ˣ →* ˣ)
      (hfχ : f.toModularForm'  HeckeRing.GL2.modFormCharSpace k χ)
      (hgχ : g.toModularForm'  HeckeRing.GL2.modFormCharSpace k χ)
      (S : Finset )
      (h_eig :
         (n : ℕ+),
          (↑n).Coprime N  n  S  f.eigenvalue n = g.eigenvalue n) :
       c, g.toCuspForm = c  f.toCuspForm
    theorem HeckeRing.GL2.strongMultiplicityOne_constMul
      {N : } [NeZero N] {k : }
      (f : HeckeRing.GL2.Newform N k)
      (g : HeckeRing.GL2.Eigenform N k)
      (χ : (ZMod N)ˣ →* ˣ)
      (hfχ :
        f.toModularForm' 
          HeckeRing.GL2.modFormCharSpace k χ)
      (hgχ :
        g.toModularForm' 
          HeckeRing.GL2.modFormCharSpace k χ)
      (S : Finset )
      (h_eig :
         (n : ℕ+),
          (↑n).Coprime N 
            n  S 
              f.eigenvalue n =
                g.eigenvalue n) :
       c, g.toCuspForm = c  f.toCuspForm
    **Miyake Theorem 4.6.12 (Strong Multiplicity One, full constant-multiple form).**
    If `f` is a normalised `Newform` at level `N` with Nebentypus `χ` and `g` is a common
    `T(n)`-eigenfunction in `S_k(Γ₁(N), χ)` sharing `f`'s eigenvalues off a finite set `S`,
    then `g = c • f` for some `c ∈ ℂ`. 
Proof for Theorem 6.3
Proof uses 5
Proof dependency previews

Split g = g^{(1)} + g^{(2)} along the orthogonal new/old decomposition (Definition 4.5). Both parts are again common eigenfunctions sharing f's eigenvalues (Theorem 4.7). The new part is a_1(g^{(1)})\, f by Theorem 6.1, and the old part vanishes by Theorem 6.2 (after identifying the two old spaces on the \chi-isotypic part, Theorem 4.9). Hence g = a_1(g)\, f.

Theorem6.4
Statement uses 2
Statement dependency previews
Preview
Definition 5.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

(Strong multiplicity one — Miyake Theorem 4.6.8 / 4.6.12.) Two newforms f, g in the same Nebentypus space S_k(N, \chi) whose Hecke eigenvalues \lambda_n agree for all but finitely many n are equal (Definition 5.2, Theorem 6.3). In LeanModularForms this is the axiom-clean headline \texttt{strongMultiplicityOne\_axiom\_clean}.

Lean code for Theorem6.41 theorem
  • theoremdefined in LeanModularForms/SMOObligations/StrongMultiplicityOneFull.lean
    complete
    theorem HeckeRing.GL2.strongMultiplicityOne_axiom_clean {N : } [NeZero N]
      {k : } (f g : HeckeRing.GL2.Newform N k) (χ : (ZMod N)ˣ →* ˣ)
      (hfχ : f.toModularForm'  HeckeRing.GL2.modFormCharSpace k χ)
      (hgχ : g.toModularForm'  HeckeRing.GL2.modFormCharSpace k χ)
      (S : Finset )
      (h_eig :
         (n : ℕ+),
          (↑n).Coprime N  n  S  f.eigenvalue n = g.eigenvalue n) :
      f.toCuspForm = g.toCuspForm
    theorem HeckeRing.GL2.strongMultiplicityOne_axiom_clean
      {N : } [NeZero N] {k : }
      (f g : HeckeRing.GL2.Newform N k)
      (χ : (ZMod N)ˣ →* ˣ)
      (hfχ :
        f.toModularForm' 
          HeckeRing.GL2.modFormCharSpace k χ)
      (hgχ :
        g.toModularForm' 
          HeckeRing.GL2.modFormCharSpace k χ)
      (S : Finset )
      (h_eig :
         (n : ℕ+),
          (↑n).Coprime N 
            n  S 
              f.eigenvalue n =
                g.eigenvalue n) :
      f.toCuspForm = g.toCuspForm
    **Strong Multiplicity One for both newforms (DS 5.8.2.1).**
    Two `Newform`s at level `N` in the same Nebentypus eigenspace with equal eigenvalues outside a
    finite set `S` are equal.
    
    Corollary of `strongMultiplicityOne_constMul` (T014): the constant multiple it returns is forced
    to be `1` since both newforms are normalised (`a₁ = 1`). 
Proof for Theorem 6.4

By Theorem 6.3 there is c with g = c\, f. Comparing first Fourier coefficients and using that both newforms are normalised, 1 = a_1(g) = c\, a_1(f) = c, so c = 1 and f = g.