FormalConjectures/Wikipedia/ModularityConjecture.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
8 declarations, 1 contain sorry, 0 declared as axioms
Modularity conjecture
The Modularity conjecture (also known as the Shimura-Taniyama-Weil conjecture) states that
every rational elliptic curve is modular, meaning that it can be
associated with a modular form. We state the a_p version of the conjecture, which relates the
coefficients of the modular form to the number of points on the elliptic curve over finite fields.
Since we don't have the conductor of the elliptic curve, our definition of a_p(E) differs from
that in the literature at primes of bad reduction. For this reason, we state the conjecture with the
assumption that p ∤ N, in order to give an equivalent statement.
References:
Imports (1)
Imported by 1 file
- def
ModularityConjecture.modularFormAnThen-th Fourier coefficient of a modular form (around the cusp at infinity) line 46 sourceSource documentation
The
n-th Fourier coefficient of a modular form (around the cusp at infinity).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Int,CuspForm,Subgroup.map,Matrix.SpecialLinearGroup,Fin,OfNat.ofNat,Matrix.GeneralLinearGroup,Real,Matrix,Matrix.SpecialLinearGroup.mapGL,CongruenceSubgroup.Gamma0,ComplexProof uses:
LinearMap,RingHom.id,PowerSeries,Unit,PowerSeries.coeff,UpperHalfPlane.qExpansion,UpperHalfPlane35 instances, coercions and auxiliary constants left out.
noncomputable def modularFormAn (n : ℕ) {N : ℕ} {k : ℤ} (f : CuspForm (Gamma0 N) k) : ℂ := … - def
ModularityConjecture.ratRedWe need to reduce a rational modulop, in practice we won't be dividing by zero since the conductor of the elliptic curve saves us line 53 sourceSource documentation
We need to reduce a rational modulo
p, in practice we won't be dividing by zero since the conductor of the elliptic curve saves us.standard axioms: Quot.sound, propext what this means
Statement uses:
Rat,Nat,ZModProof uses:
HMul.hMul,Rat.num,Inv.inv,Rat.den14 instances, coercions and auxiliary constants left out.
def ratRed (q : ℚ) (p : ℕ) : ZMod p := …
- def
ModularityConjecture.setOfPointsModNThe set of points on an elliptic curve overZMod nline 57 sourceSource documentation
The set of points on an elliptic curve over
ZMod n.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
WeierstrassCurve,Rat,WeierstrassCurve.IsElliptic,Nat,Set,Prod,ZModProof uses:
Set.ofPred,ModularityConjecture.setOfPointsModN.match_1,Eq,HAdd.hAdd,HPow.hPow,OfNat.ofNat,HMul.hMul, ModularityConjecture.ratRed,WeierstrassCurve.a₁,WeierstrassCurve.a₃,WeierstrassCurve.a₂,WeierstrassCurve.a₄,WeierstrassCurve.a₆15 instances, coercions and auxiliary constants left out.
def setOfPointsModN (E : WeierstrassCurve ℚ) [E.IsElliptic] (n : ℕ) := …
- instance
ModularityConjecture.apFintypeThe set of pointmod nis finite line 64 sourceSource documentation
The set of point
mod nis finite.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
WeierstrassCurve,Rat,WeierstrassCurve.IsElliptic,PNat,Fintype,Prod,ZMod, ModularityConjecture.setOfPointsModNProof uses:
Eq.mpr,Set.ofPred,ModularityConjecture.setOfPointsModN.match_1,Eq,HAdd.hAdd,HPow.hPow,Nat,OfNat.ofNat,HMul.hMul, ModularityConjecture.ratRed,WeierstrassCurve.a₁,WeierstrassCurve.a₃,WeierstrassCurve.a₂,WeierstrassCurve.a₄,WeierstrassCurve.a₆,Membership.mem,Set,Prod.snd,Prod.fst27 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
instance apFintype (E : WeierstrassCurve ℚ) [E.IsElliptic] (p : ℕ+) : Fintype (setOfPointsModN E p) := by …Mentions: ModularityConjecture.setOfPointsModN
- def
ModularityConjecture.WeierstrassCurve.apNote that normally this is written asp + 1 - #E(𝔽ₚ), but since we don't have a point at infinity on this affine curve we only havepline 71 sourceSource documentation
Note that normally this is written as
p + 1 - #E(𝔽ₚ), but since we don't have a point at infinity on this affine curve we only havep. The trace is integer-valued and can be negative.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
WeierstrassCurve,Rat,WeierstrassCurve.IsElliptic,Nat,IntProof uses:
HSub.hSub,MonoidWithZeroHom,Cardinal,Cardinal.toNat,Cardinal.mk,Prod,ZMod, ModularityConjecture.setOfPointsModN13 instances, coercions and auxiliary constants left out.
noncomputable def WeierstrassCurve.ap (E : WeierstrassCurve ℚ) [E.IsElliptic] (p : ℕ) : ℤ := …
- def
ModularityConjecture.IsNormalisedEigenformSince we don't have Hecke operators yet, we define this via the q-expansion coefficients line 76 sourceSource documentation
Since we don't have Hecke operators yet, we define this via the q-expansion coefficients. See Proposition 5.8.5 of [diamondshurman2005].
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Int,CuspForm,Subgroup.map,Matrix.SpecialLinearGroup,Fin,OfNat.ofNat,Matrix.GeneralLinearGroup,Real,Matrix,Matrix.SpecialLinearGroup.mapGL,CongruenceSubgroup.Gamma0Proof uses:
And,Eq,Complex, ModularityConjecture.modularFormAn,Nat.Coprime,HMul.hMul,Nat.Prime,LE.le,Ne,ZMod,HPow.hPow,HSub.hSub55 instances, coercions and auxiliary constants left out.
def IsNormalisedEigenform {N : ℕ} {k : ℤ} (f : CuspForm (Gamma0 N) k) : Prop := … - def
ModularityConjecture.modularityConjectureSee theorem 8.8.1 of [diamondshurman2005] line 84 sourceSource documentation
See theorem 8.8.1 of [diamondshurman2005].
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
WeierstrassCurve,Rat,WeierstrassCurve.IsEllipticProof uses:
Exists,PNat,CuspForm,Subgroup.map,Matrix.SpecialLinearGroup,Fin,OfNat.ofNat,Nat,Int,Matrix.GeneralLinearGroup,Real,Matrix,Matrix.SpecialLinearGroup.mapGL,CongruenceSubgroup.Gamma0,And, ModularityConjecture.IsNormalisedEigenform,Nat.Prime,Ne,ZMod,Eqand 3 more29 instances, coercions and auxiliary constants left out.
def modularityConjecture (E : WeierstrassCurve ℚ) [E.IsElliptic] : Prop := …
- theorem
ModularityConjecture.modularity_conjectureThe Modularity Theorem (formerly Shimura-Taniyama-Weil conjecture): every elliptic curve over $\mathbb{Q}$ is modular sorry line 93 sourceSource documentation
The Modularity Theorem (formerly Shimura-Taniyama-Weil conjecture): every elliptic curve over $\mathbb{Q}$ is modular.
depends on sorry what this means
Statement uses:
WeierstrassCurve,Rat,WeierstrassCurve.IsElliptic, ModularityConjecture.modularityConjectureProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat,Nat3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem modularity_conjecture (E : WeierstrassCurve ℚ) [E.IsElliptic] : modularityConjecture E := by …