Definitions/Def_FLTPrelim_Modularity.lean
Modularity of elliptic curves over ℚ via eigenform coefficients
The module fixes the project's notion of modularity in terms of q-expansion coefficients and point counts on a chosen integral equation. For f:\mathbb H\to\mathbb C, ModularFormClass.qCoeff f n is the n-th coefficient of Mathlib's q-expansion of f at width 1. CuspForm.IsNormalizedEigenform is a structure on a weight-2 cusp form f for \Gamma_0(N) whose fields are exactly the arithmetic of the coefficients: a_1=1; a_{mn}=a_ma_n for coprime m,n; a_{p^{r+2}}=a_pa_{p^{r+1}}-p\,a_{p^r} for all primes p\nmid N; and a_{p^{r+2}}=a_pa_{p^{r+1}} for primes p\mid N. No Hecke operator appears: being an eigenform is encoded purely by these recursions. On the curve side, for a Weierstrass curve over a finite ring the point type is finite (proved by injecting points into Option (R × R), the point at infinity going to none), the number of points of a Weierstrass curve over a commutative ring — Mathlib's affine point type, which includes the point at infinity — is given a name card, and traceOfFrobenius is \#F+1 minus that number. For W over \mathbb Z, reductionMod W p is the coefficientwise reduction to \mathbb Z/p and apOfModel W p its p+1-\#W(\mathbb F_p). Three predicates on integral equations follow: IsGoodPrimeFor W p is simply p\nmid\Delta(W); IsSemistableModel W says no prime divides both \Delta(W) and c_4(W); IsIntegralModelOf W E says some variable change over \mathbb Q carries E to the base change of W to \mathbb Q. Finally IsModularModelOfLevel W N asserts the existence of a weight-2 cusp form on \Gamma_0(N) satisfying the above recursions with a_p(f)=a_p(W) for every prime p with p\nmid\Delta(W) and p\nmid N; IsModularModel W adds N\ge 1; and IsModular E says some integral model of E is a modular model. Thus modularity is an equality of L-coefficients at good primes away from the level, not an assertion about a newform of the conductor, nor a Galois-representation isomorphism; semistability is a condition on the chosen equation rather than on E.
Relation to Mathlib
CuspForm, CongruenceSubgroup.Gamma0, q-expansions, WeierstrassCurve with its invariants c_4,\Delta, VariableChange and affine points are Mathlib's; the eigenform recursions, the counting function and trace of Frobenius, reduction modulo p, and the semistability, integral-model and modularity predicates are the project's own, together with a Finite instance for affine points over a finite ring.
Where it is used
These definitions give the statement of the modularity input to the proof: WeierstrassCurve.modularity_of_semistableModel derives IsModular from IsSemistableModel (with \Delta\ne0), and FreyPackage.frey_isModular applies it to the Frey curve attached to a counterexample to Fermat's Last Theorem. Nearly the whole tree below the modularity theorem is phrased in terms of these notions.
References
- A. Wiles, Modular elliptic curves and Fermat's Last Theorem, Annals of Mathematics 141 (1995), 443–551
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
- J. H. Silverman, The Arithmetic of Elliptic Curves, 2nd edition, Graduate Texts in Mathematics 106, Springer, 2009
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 107 lines
- 19 declarations
- used in the statements of 298 theorems and imported by 391 proofs
- imports 0 definition modules
Source file: Definitions/Def_FLTPrelim_Modularity.lean
Imports
- only Mathlib
Imported by
Def_CuspForm_EigenformCoefficientRingDef_CuspForm_IntegralLatticeDef_CuspForm_IntegralStructureDef_CuspForm_ModPFormsDef_CuspForm_PrimitiveFormGamma1Def_CuspForm_QCoeffLinearDef_CuspForm_TwoCuspLatticeDef_FLTPrelim_ModularRepDef_FreyPackage_ExchangeCaseDef_FreyPackage_LoweringAtDef_FreyPackage_LoweringAtUniformDef_FreyPackage_RouteAReversePinSeamDef_GaloisRep_ResidualDef_ModelTransfer_ClearedDataDef_ModularCurve_EigenformIdealDef_ModularCurve_SupportTransferDef_ModularCurve_TwoNewEigenformIdealDef_WeierstrassCurve_ModularityLiftingConductorDef_WeierstrassCurve_ModularityProps
Declarations
- def
ModularFormClass.qCoeff - structure
CuspForm.IsNormalizedEigenform - field
CuspForm.IsNormalizedEigenform.qCoeff_one - field
CuspForm.IsNormalizedEigenform.qCoeff_mul_of_coprime - field
CuspForm.IsNormalizedEigenform.qCoeff_prime_pow_of_not_dvd - field
CuspForm.IsNormalizedEigenform.qCoeff_prime_pow_of_dvd - def
WeierstrassCurve.Affine.Point.toOptionPair - lemma
WeierstrassCurve.Affine.Point.toOptionPair_injective - instance
WeierstrassCurve.Affine.Point.instFinite - def
WeierstrassCurve.card - def
WeierstrassCurve.traceOfFrobenius - def
WeierstrassCurve.reductionMod - def
WeierstrassCurve.apOfModel - def
WeierstrassCurve.IsGoodPrimeFor - def
WeierstrassCurve.IsSemistableModel - def
WeierstrassCurve.IsIntegralModelOf - def
WeierstrassCurve.IsModularModelOfLevel - def
WeierstrassCurve.IsModularModel - def
WeierstrassCurve.IsModular
Source
import Mathlib.NumberTheory.ModularForms.QExpansion ↗ import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups ↗ import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups ↗ import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point ↗ import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange ↗ import Mathlib.Data.Finite.Card ↗ import Mathlib.Data.ZMod.Basic ↗ set_option autoImplicit false noncomputable section open UpperHalfPlane universe u namespace ModularFormClass def qCoeff (f : ℍ → ℂ) (n : ℕ) : ℂ := (qExpansion 1 f).coeff n end ModularFormClass namespace CuspForm open ModularFormClass structure IsNormalizedEigenform {N : ℕ} (f : CuspForm (CongruenceSubgroup.Gamma0 N) 2) : Prop where qCoeff_one : qCoeff f 1 = 1 qCoeff_mul_of_coprime : ∀ m n : ℕ, m.Coprime n → qCoeff f (m * n) = qCoeff f m * qCoeff f n qCoeff_prime_pow_of_not_dvd : ∀ p r : ℕ, p.Prime → ¬ p ∣ N → qCoeff f (p ^ (r + 2)) = qCoeff f p * qCoeff f (p ^ (r + 1)) - p * qCoeff f (p ^ r) qCoeff_prime_pow_of_dvd : ∀ p r : ℕ, p.Prime → p ∣ N → qCoeff f (p ^ (r + 2)) = qCoeff f p * qCoeff f (p ^ (r + 1)) end CuspForm namespace WeierstrassCurve namespace Affine variable {R : Type u} [CommRing R] {W' : Affine R} private def Point.toOptionPair : W'.Point → Option (R × R) | .zero => none | .some x y _ => Option.some (x, y) private lemma Point.toOptionPair_injective : Function.Injective (Point.toOptionPair (W' := W')) := by rintro (_ | ⟨x₁, y₁, h₁⟩) (_ | ⟨x₂, y₂, h₂⟩) h <;> simp only [Point.toOptionPair, Option.some.injEq, Prod.mk.injEq, reduceCtorEq] at h · rfl · obtain ⟨rfl, rfl⟩ := h; rfl instance Point.instFinite [Finite R] : Finite W'.Point := Finite.of_injective _ Point.toOptionPair_injective end Affine section Card variable {F : Type u} [CommRing F] (W : WeierstrassCurve F) def card : ℕ := Nat.card W.toAffine.Point def traceOfFrobenius : ℤ := (Nat.card F : ℤ) + 1 - (W.card : ℤ) end Card def reductionMod (W : WeierstrassCurve ℤ) (p : ℕ) : WeierstrassCurve (ZMod p) := W.map (Int.castRingHom (ZMod p)) def apOfModel (W : WeierstrassCurve ℤ) (p : ℕ) : ℤ := (W.reductionMod p).traceOfFrobenius def IsGoodPrimeFor (W : WeierstrassCurve ℤ) (p : ℕ) : Prop := ¬ (p : ℤ) ∣ W.Δ def IsSemistableModel (W : WeierstrassCurve ℤ) : Prop := ∀ p : ℕ, p.Prime → (p : ℤ) ∣ W.Δ → ¬ (p : ℤ) ∣ W.c₄ def IsIntegralModelOf (W : WeierstrassCurve ℤ) (E : WeierstrassCurve ℚ) : Prop := ∃ C : VariableChange ℚ, C • E = W.map (Int.castRingHom ℚ) open CuspForm def IsModularModelOfLevel (W : WeierstrassCurve ℤ) (N : ℕ) : Prop := ∃ f : CuspForm (CongruenceSubgroup.Gamma0 N) 2, f.IsNormalizedEigenform ∧ ∀ p : ℕ, p.Prime → W.IsGoodPrimeFor p → ¬ p ∣ N → ModularFormClass.qCoeff f p = (W.apOfModel p : ℂ) def IsModularModel (W : WeierstrassCurve ℤ) : Prop := ∃ N : ℕ, 0 < N ∧ W.IsModularModelOfLevel N def IsModular (E : WeierstrassCurve ℚ) : Prop := ∃ W : WeierstrassCurve ℤ, W.IsIntegralModelOf E ∧ W.IsModularModel end WeierstrassCurve end
Statements phrased using this module (298)
- landmark Fermat's Last Theorem for prime exponents p ≥ 5
FreyPackage.fermatLastTheoremFor_of_five_le29,486 below · depth 2 - landmark Irreducibility of the mod-p torsion module of the Frey curve
FreyPackage.Mazur_Frey5,435 below · depth 4 - landmark Modularity of the Frey curve
FreyPackage.frey_isModular27,797 below · depth 4 - landmark Level lowering to Γ₀(2) for the Frey curve
FreyPackage.level_lowering_to_two27,851 below · depth 4 - landmark Vanishing of weight-2 cusp forms of level 2
ModularForm.S2_Gamma0_2_eq_zero0 below · depth 4 - landmark No Galois-stable cofixed line at p=11
FreyPackage.frey_no_cofixed_eleven3 below · depth 5 - landmark Mazur at p≥ 17: no cofixed line
FreyPackage.frey_no_cofixed_large5,377 below · depth 5 - landmark No Galois-stable cofixed line for p∈{5,7,13}
FreyPackage.frey_no_cofixed_small6 below · depth 5 - landmark Reducible Frey representation yields a Galois-stable cofixed line
FreyPackage.frey_reducible_hasCofixedLine82 below · depth 5 - landmark Level lowering for the Frey curve down to Γ₀(2)
FreyPackage.level_lowering_to_two_of_conductorLevel12,980 below · depth 5 - landmark Conductor-level modularity of the Frey curve's mod-p representation
FreyPackage.modularRepOfConductorLevel27,798 below · depth 5 - landmark Modularity of semistable integral Weierstrass models
WeierstrassCurve.modularity_of_semistableModel27,796 below · depth 5 - landmark Frey p-torsion is unramified outside {2,p}
FreyPackage.freyGaloisRep_isUnramifiedAt42 below · depth 6 - landmark Mazur–Ribet level lowering at p for conductor levels
FreyPackage.level_lowering_at_p_of_conductorLevel6,090 below · depth 6 - landmark Ribet level lowering at an odd prime q ≠ p
FreyPackage.level_lowering_odd_prime_of_conductorLevel12,496 below · depth 6 - landmark Weight-two cusp forms of level one vanish
ModularForm.S2_Gamma0_one_eq_zero0 below · depth 6 - landmark One of ρ̄_{W,3}, ρ̄_{W,5} is irreducible
WeierstrassCurve.modThreeOrFiveIrreducible25 below · depth 6 - landmark The 3–5 switch for semistable integral models
WeierstrassCurve.threeFiveSwitchCurve124 below · depth 6 - Fermat's Last Theorem (Mathlib's formulation)
FLT.fermatLastTheorem29,487 below · depth 1 - Semistability of the integral Frey model
FreyPackage.frey_isSemistableModel0 below · depth 6 - Nonzero ℓ-torsion in the zero component at multiplicative reduction, ℓ≠ q
WeierstrassCurve.exists_torsion_ne_zero_inZeroComponentAt_of_ne_residueChar18 below · depth 6 - Some ℓ-torsion point outside the zero component at a nodal prime
WeierstrassCurve.exists_torsion_not_inZeroComponentAt_of_ne_residueChar6 below · depth 6 - ℓ-torsion in the zero component at a multiplicative prime
WeierstrassCurve.exists_torsion_zeroComponent_submodule_of_multiplicativeReduction0 below · depth 6 - Stability of the zero component under the decomposition group
WeierstrassCurve.inZeroComponentAt_smul0 below · depth 6 - Inertia displacements lie in the zero component at q
WeierstrassCurve.inZeroComponentAt_smul_sub_of_mem_inertiaSubgroupIn12 below · depth 6 - The zero component at A is closed under subtraction
WeierstrassCurve.inZeroComponentAt_sub0 below · depth 6 - Weight-one χ₋₃ eigensystem occurs mod 3 in weight two
FLT.AbstractIntegralStructure.exists_weight_two_eigenform_congruent_of_isLatticeRealized76 below · depth 7 - Mod-3 eigensystem at a level cube-free away from 3
FLT.No2BridgeWiring.weightOneNewformExists_levelAtThree_not_cube_dvd7,253 below · depth 7 - Bad reduction at primes dividing abc for all integral models
FreyPackage.not_isGoodPrimeFor_of_isIntegralModelOf_freyCurve3 below · depth 7 - Some q-torsion point escapes the zero component at q
WeierstrassCurve.exists_torsionBy_residueChar_not_inZeroComponentAt8 below · depth 7 - Some ℓ-torsion escapes the zero component at a multiplicative prime
WeierstrassCurve.exists_torsion_not_inZeroComponentAt_of_multiplicativeReduction16 below · depth 7 - Good reduction at q gives ℓ-torsion unramified at q
WeierstrassCurve.galoisRepUnramifiedAt_of_goodReduction13 below · depth 7 - Multiplicative reduction with ℓ ∣ v_q(Δ): ℓ-torsion unramified at q
WeierstrassCurve.galoisRepUnramifiedAt_of_multiplicativeReduction28 below · depth 7 - Normalised eigenforms ascend from level M to any multiple N
CuspForm.exists_isNormalizedEigenform_of_dvd4 below · depth 8 - Weight-two eigenform congruent to a mod-3 Hecke eigensystem
FLT.AbstractIntegralStructure.exists_weight_two_eigenform_congruent_of_heckeT_congr74 below · depth 8 - Continuous surjective mod-3 representation with prescribed Frobenius traces
FLT.LedgerRows.ledg5_no2_hcurve_continuous139 below · depth 8 - Weight-one χ₋₃ lattice realisation with no cube away from 3
FLT.No2BridgeWiring.weightOneNewformExists_not_cube_dvd7,221 below · depth 8 - Semistable integral models have c₄ ≠ 0 and c₆ ≠ 0
WeierstrassCurve.c4_ne_zero_and_c6_ne_zero_of_isSemistableModel1 below · depth 8 - Integral models of short Weierstrass curves congruent mod n
WeierstrassCurve.exists_isIntegralModelOf_of_dvd0 below · depth 8 - Deuring's criterion in division-polynomial form at odd good primes
WeierstrassCurve.exists_prePsi_coeff_not_dvd_of_not_dvd_apOfModel14 below · depth 8 - Level lowering at a good prime exactly dividing N
WeierstrassCurve.isModularModelOfLevel_div_of_isGoodPrimeFor_of_dvd_of_not_sq_dvd3,973 below · depth 8 - Semistability transfers to a congruent integral model
WeierstrassCurve.isSemistableModel_of_modEq0 below · depth 8 - Inertia image of the mod-3 representation has order prime to q
WeierstrassCurve.natCard_inertia_map_coprime_of_isSemistableModel151 below · depth 8 - Inertia at 3 has image of order two under ρ
WeierstrassCurve.natCard_inertia_map_modThreeRep_eq_two_of_inertia_fixed_torsion160 below · depth 8 - Frobenius characteristic polynomial on the p-adic Tate module
WeierstrassCurve.tateModuleRep_charpoly_frobenius70 below · depth 8 - Ordinarity of the Tate module at multiplicative and good ordinary p
WeierstrassCurve.tateModuleRep_isOrdinaryAt101 below · depth 8 - Tate module unramified at good primes q ≠ p
WeierstrassCurve.tateModuleRep_isUnramifiedAt_of_isGoodPrimeFor13 below · depth 8 - Normalized eigenforms are T_ℓ-eigenvectors with eigenvalue a_ℓ
CuspForm.IsNormalizedEigenform.heckeTLin_apply_eq_qCoeff_smul0 below · depth 9 - Every functional on the Hecke span is T↦ a₁(Tf)
CuspForm.exists_form_of_functional_span_heckeAlgebra14 below · depth 9 - Depletion at q of a U_q-multiplicative cusp form
CuspForm.exists_gamma1_mul_qCoeff_eq_ite_dvd_of_qCoeff_mul1 below · depth 9 - Depletion of a Γ₁(N) cusp form away from Q
CuspForm.exists_gamma1_qCoeff_eq_ite_coprime0 below · depth 9 - Existence of a normalised eigenform in S₂(Γ₀(N))
CuspForm.exists_isNormalizedEigenform27 below · depth 9 - p-stabilisation of a normalised eigenform to level Mp
CuspForm.exists_isNormalizedEigenform_level_mul3 below · depth 9 - Realising a partial Hecke eigensystem by a normalised eigenform
CuspForm.exists_isNormalizedEigenform_of_forall_heckeTLin_eq_smul34 below · depth 9 - Hecke eigencharacter lifting a maximal ideal of T^S
CuspForm.exists_isNormalizedEigenform_of_isMaximal_heckeAlgebra28 below · depth 9 - dim_ℂ of the Hecke algebra span equals dim S₂(Γ₀(N))
CuspForm.finrank_span_heckeAlgebra_eq_finrank14 below · depth 9 - Eigenform criterion for Tₚ in terms of q-coefficients
CuspForm.heckeTLin_apply_eq_smul_iff6 below · depth 9 - Uₚ-eigenform criterion on q-expansion coefficients
CuspForm.heckeULin_apply_eq_smul_iff6 below · depth 9 - Integral q-expansion lattice in S_k(Γ₀(N)) is finitely generated
CuspForm.intLattice_fg8 below · depth 9 - Normalized eigenforms as simultaneous Tₚ, Uₚ eigenfunctions
CuspForm.isNormalizedEigenform_iff_heckeT14 below · depth 9 - Normalised eigenforms as simultaneous Hecke eigenvectors in S₂(Γ₀(N))
CuspForm.isNormalizedEigenform_iff_heckeTLin15 below · depth 9 - Matching a_ℓ(g) with Frobenius traces of a Weierstrass model
CuspForm.qCoeff_eq_apOfModel_of_charpoly_frobenius3 below · depth 9 - Vanishing constant term of a cusp form on Γ₀(N)
CuspForm.qCoeff_zero1 below · depth 9 - Hecke eigen-relations force the nebentypus character
CuspForm.slash_eq_dirichlet_smul_of_qCoeff_hecke_eigen8 below · depth 9 - Model-independence of a_q for q∤ 6
FLT.ModelTransfer.apOfModel_eq_of_isIntegralModelOf4 below · depth 9 - Vanishing of a₃ for the Frey curve at a good prime 3
FreyCurve.freyCurveInt_apOfModel_three10 below · depth 9 - Two divides the discriminant of the integral Frey curve
FreyPackage.two_dvd_freyCurveInt_delta1 below · depth 9 - A modular form is determined by its q-expansion
ModularFormClass.eq_of_forall_qCoeff_eq0 below · depth 9 - q-expansion coefficients of Tₚ f
ModularFormClass.qCoeff_heckeT0 below · depth 9 - q-coefficients of Uₚ: aₙ(Uₚf)=aₙₚ(f)
ModularFormClass.qCoeff_heckeU0 below · depth 9 - Hecke maximal ideal from a curve-congruent eigenform
WeierstrassCurve.exists_ideal_heckeAlgebra_of_isNormalizedEigenform16 below · depth 9 - Auxiliary primes with p ∣ a_{q'} and p ∣ q'+1
WeierstrassCurve.exists_prime_isGoodPrimeFor_dvd_apOfModel_dvd_add_one116 below · depth 9 - A p-torsion point with A-integral x-coordinate when p ∤ aₚ
WeierstrassCurve.exists_torsionBy_integral_of_not_dvd_apOfModel_all_primes16 below · depth 9 - Frobenius trace on E[p] equals a_ℓ mod p
WeierstrassCurve.galoisTrace_frobenius_eq_apOfModel_of_isIntegralModelOf46 below · depth 9 - Modularity of an integral model ascends divisible levels
WeierstrassCurve.isModularModelOfLevel_of_dvd5 below · depth 9 - Elementary bound |aₚ|≤ p for an integral Weierstrass model
WeierstrassCurve.natAbs_apOfModel_le0 below · depth 9 - Primes dividing M divide Δ, with M squarefree there
WeierstrassCurve.prime_dvd_discr_and_not_sq_dvd_of_localType5 below · depth 9 - Good reduction at p gives an elliptic model over ℤ₍ₚ₎
WeierstrassProjModel.toProjective_isElliptic_map_of_isGoodPrimeFor1 below · depth 9 - Integrality of the ℓ-th coefficient of a normalised eigenform
CuspForm.IsNormalizedEigenform.exists_integralClosure_coe_eq_qCoeff28 below · depth 10 - Level raising at q' for weight-two normalised eigenforms
CuspForm.IsNormalizedEigenform.exists_isNewAt_congr_of_levelRaisingCongruence725 below · depth 10 - Normalized eigenforms are U_q-eigenvectors at bad primes
CuspForm.IsNormalizedEigenform.heckeULin_apply_eq_qCoeff_smul0 below · depth 10 - Every prime of the integral Hecke algebra comes from a normalised eigenform
CuspForm.exists_isNormalizedEigenform_annihilator_le_of_isPrime26 below · depth 10 - Newform attached to a weight-one Hecke eigenform
CuspForm.exists_weightOne_newform_of_qCoeff_hecke_eigen51 below · depth 10 - Normalised eigenforms via Hecke eigen-equations on q-coefficients
CuspForm.isNormalizedEigenform_iff_coeffHecke2 below · depth 10 - Membership in the integral lattice of cusp forms
CuspForm.mem_intLattice_iff1 below · depth 10 - Tₚ preserves the integral lattice of cusp forms
CuspForm.mem_intLattice_of_coe_eq_heckeT3 below · depth 10 - Uₚ preserves the lattice of integral cusp forms
CuspForm.mem_intLattice_of_coe_eq_heckeU3 below · depth 10 - q-expansion of Tₚ on weight-2 cusp forms
CuspForm.qExpansion_heckeTLin2 below · depth 10 - Agreement of a_q for models related by a ℚ-change of variables
FLT.ModelTransfer.apOfModel_eq_of_isGoodPrimeFor3 below · depth 10 - Model-independence of a_q at a common good odd prime
FLT.ModelTransfer.apOfModel_eq_of_isIntegralModelOf_odd3 below · depth 10 - 4 divides #̃ E(𝔽_q) at good odd primes
FreyCurve.four_dvd_card_reductionMod7 below · depth 10 - q-expansion dictionary: ℂ⊗Ω_{reg}≅ S₂(Γ₀(N))
ModularCurve.exists_linearEquiv_tensor_regularDifferentialsBar_cuspForm643 below · depth 10 - Tₚ f = c f tested on q-expansion coefficients
ModularFormClass.heckeT_eq_smul_iff5 below · depth 10 - Commutation of Tₚ and U_q for coprime p,q
ModularFormClass.heckeT_heckeU_comm10 below · depth 10 - Uₚ f = c f iff aₙₚ = c aₙ for all n
ModularFormClass.heckeU_eq_smul_iff5 below · depth 10 - q-expansion of f(dτ): coefficients shift by d
ModularFormClass.qCoeff_comp_heckeDiagMatrix_smul0 below · depth 10 - Uniqueness of q-expansions of periodic holomorphic functions
UpperHalfPlane.eq_of_forall_qCoeff_eq0 below · depth 10 - q-expansion of f(dτ): coefficients shifted by d
UpperHalfPlane.qCoeff_comp_heckeDiagMatrix_smul0 below · depth 10 - q-expansion coefficients of Uₚ f: aₙ(Uₚf)=aₙₚ(f)
UpperHalfPlane.qCoeff_heckeU0 below · depth 10 - a_q of an integral Weierstrass model is never ±(q+1)
WeierstrassCurve.apOfModel_ne_succ_and_ne_neg_succ0 below · depth 10 - Trivial bound #W(F)≤ 2#F+1 for Weierstrass curves
WeierstrassCurve.card_le_two_mul_add_one0 below · depth 10 - Positivity of the point count of a Weierstrass curve
WeierstrassCurve.card_pos0 below · depth 10 - Capped admissible auxiliary level dividing a given modulus
WeierstrassCurve.exists_dvd_roadAdmissible_level_capped0 below · depth 10 - Nonzero ℓ-torsion in the zero component at a multiplicative prime
WeierstrassCurve.exists_torsion_ne_zero_inZeroComponentAt_of_multiplicativeReduction23 below · depth 10 - Good reduction: all ℚ̄-points lie in the zero component
WeierstrassCurve.inZeroComponentAt_of_isGoodPrimeFor5 below · depth 10 - q-torsion of the zero component at a multiplicative prime
WeierstrassCurve.inZeroComponentAt_torsionBy_residueChar3 below · depth 10 - Good reduction at ℓ: discriminant nonzero in the residue field
WeierstrassCurve.map_residueField_discr_ne_zero_of_isGoodPrimeFor2 below · depth 10 - Good reduction: integral solutions reduce to nonsingular points
WeierstrassCurve.nonsingular_residue_of_isGoodPrimeFor3 below · depth 10 - Eigencharacter at raised level Nq' of a normalised eigenform
CuspForm.IsNormalizedEigenform.exists_heckeAlgebraChar_raisedLevel20 below · depth 11 - p-stabilisation of a normalised eigenform to level Mp
CuspForm.IsNormalizedEigenform.exists_stabilization_qCoeff_eq1 below · depth 11 - Pseudo-eigenvalue of the Fricke involution on a primitive form
CuspForm.exists_apply_eq_mul_zpow_mul_apply_of_isPrimitiveForm38 below · depth 11 - Conjugate cusp form on Γ₁(M) with conjugated q-coefficients
CuspForm.exists_gamma1_apply_eq_conj_and_qCoeff_eq_conj0 below · depth 11 - Existence of an attached primitive form (Atkin–Lehner–Li)
CuspForm.exists_isPrimitiveForm_of_qCoeff_hecke_eigen36 below · depth 11 - p-depletion of a cusp form on Γ₁(N)
CuspForm.exists_qCoeff_eq_ite_dvd_of_prime0 below · depth 11 - Hecke's functional equation for Fricke-paired weight-one forms
CuspForm.exists_weightOne_completedLSeries_functionalEquation_of_fricke0 below · depth 11 - Li's bound |b_ℓ|² ≤ ℓ^{k-1} at primes dividing the level
CuspForm.norm_qCoeff_sq_le_of_isPrimitiveForm12 below · depth 11 - Point count is invariant under a variable change
FLT.ModelTransfer.card_eq_of_variableChange_smul_eq0 below · depth 11 - Reduced Frey curve has exactly four 2-torsion points
FreyCurve.card_two_torsion_reductionMod6 below · depth 11 - A q'-new eigenform congruent to χ₁ modulo 𝔪
LevelRaising.exists_isNormalizedEigenform_isNewAt_congr_of_qNewSupport_comap632 below · depth 11 - Ribet level raising in support form for odd p
LevelRaising.qNewSupport_comap_of_isNormalizedEigenform_oddPrime705 below · depth 11 - Rational weight-2 cusp forms as Kähler differentials
ModularCurve.exists_coeffMap_diffQExpBar_eq_qExpansion108 below · depth 11 - Weight-2 cusp form q-expansion forces a regular differential
ModularCurve.mem_regularDifferentialsBar_of_coeffMap_diffQExpBar_eq_qExpansion266 below · depth 11 - Boundedness at i∞ is preserved by Tₚ
ModularForm.isBoundedAtImInfty_heckeT0 below · depth 11 - Boundedness at i∞ is preserved by Uₚ
ModularForm.isBoundedAtImInfty_heckeU0 below · depth 11 - Holomorphy of Tₚ f for holomorphic f
ModularForm.mdifferentiable_heckeT0 below · depth 11 - Holomorphy of Uₚ f on the upper half-plane
ModularForm.mdifferentiable_heckeU0 below · depth 11 - 1-periodicity of Tₚ f
ModularForm.periodic_heckeT_comp_ofComplex0 below · depth 11 - Uₚ preserves 1-periodicity
ModularForm.periodic_heckeU_comp_ofComplex0 below · depth 11 - Hecke translates Tₚ, T_q commute for coprime p,q
ModularFormClass.heckeT_heckeT_comm6 below · depth 11 - Commutativity of the Hecke operators Uₚ and U_q
ModularFormClass.heckeU_heckeU_comm6 below · depth 11 - q-expansion of Tₚ f is Uₚ + p^{k-1}Vₚ applied to that of f
ModularFormClass.qExpansion_heckeT_eq_heckeT1 below · depth 11 - q-expansion coefficients of Tₚ f
UpperHalfPlane.qCoeff_heckeT0 below · depth 11 - Eigenform realising a Hecke maximal ideal congruent to a_ℓ(W)
WeierstrassCurve.exists_isNormalizedEigenform_and_qCoeff_sub_apOfModel_mem_of_ideal_heckeAlgebra29 below · depth 11 - Stable line and quadratic character at a multiplicative prime
WeierstrassCurve.exists_stableLine_character_of_not_isGoodPrimeFor77 below · depth 11 - Nonzero q-torsion in the zero component at residue characteristic q
WeierstrassCurve.exists_torsionBy_residueChar_ne_zero_inZeroComponentAt3 below · depth 11 - Integral x-coordinate forces integral y-coordinate
WeierstrassCurve.mem_valuationSubring_of_equation0 below · depth 11 - Weight-two eigenform: eigencharacter into a characteristic-zero DVR
CuspForm.IsNormalizedEigenform.exists_isDiscreteValuationRing_heckeChar_rationalHeckeAlgebra_jZero1,021 below · depth 12 - Conjugate Hecke eigenvalue equals ε(p)⁻¹λ
CuspForm.conj_heckeEigenvalue_eq_of_hasNebentypus7 below · depth 12 - Multiplicity one at the level of a primitive form
CuspForm.eq_smul_of_isPrimitiveForm_of_qCoeff_hecke_eigen31 below · depth 12 - Nondegeneracy in the operator variable of the a₁-pairing
CuspForm.eq_zero_of_mem_span_heckeAlgebra_of_forall_qCoeff_one_eq_zero14 below · depth 12 - Iterated Uₚ of p-th powers: a Frobenius-twisted cusp form
CuspForm.exists_cuspForm_mul_ordCompl_qCoeff_congr_pow_of_sq_dvd6 below · depth 12 - Deligne–Serre lifting: eigenform congruent to a mod-𝔪 eigensystem
CuspForm.exists_eigenform_qCoeff_congr_of_heckeT_sub_mem22 below · depth 12 - Fricke involution preserves cusp forms on Γ₁(M)
CuspForm.exists_gamma1_apply_eq_zpow_mul_apply_of_mul_eq_neg_one0 below · depth 12 - U_ℓ lowers the level when ℓ² ∣ N
CuspForm.exists_gamma1_div_coe_eq_heckeU_of_dvd_div3 below · depth 12 - Hecke eigen-relations produce a nebentypus character
CuspForm.exists_hasNebentypus_of_qCoeff_hecke_eigen8 below · depth 12 - Deligne–Serre realisation inside the q-new trace kernel
CuspForm.exists_isNormalizedEigenform_isNewAt_of_heckeAlgebra_support47 below · depth 12 - Normalised joint Hecke eigenform with integral eigenvalue coefficients
CuspForm.exists_normalized_eigenvector23 below · depth 12 - Newform decomposition of cusp forms with nebentypus
CuspForm.exists_qCoeff_eq_sum_isPrimitiveForm_of_hasNebentypus33 below · depth 12 - Congruence of a level-pN' cusp form to higher weight level N'
CuspForm.exists_weight_ge_qCoeff_congr_level_div_of_alSlash_p_integral10 below · depth 12 - The Hecke field of a weight-2 eigenform is a number field
CuspForm.finiteDimensional_adjoin_qCoeff20 below · depth 12
… and 148 more statements (search for the module name to find them).