LeanBridge Blueprint

3. Elliptic curves🔗

This chapter lists the LMFDB definitions relating to elliptic curves, migrated from the LaTeX blueprint. Each definition links back to its LMFDB knowl.

Definition3.1
Statement uses 3
Statement dependency previews
Preview
Definition 1.10
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 83
Reverse dependency previews
Preview
Definition 1.5
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Elliptic curve over a field. (LMFDB)

An elliptic curve E over a field k is a smooth projective curve of genus 1 together with a distinguished k-rational point O.

The most commonly used model for elliptic curves is a Weierstrass model: a smooth plane cubic with the point O as the unique point at infinity.

Depends on: Definition 1.10 Definition 1.11 Definition 1.12

Lean code for Definition3.1●1 definition
  • class(1 method)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean
    complete
    class WeierstrassCurve.IsElliptic.{u} {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) : Prop
    class WeierstrassCurve.IsElliptic.{u}
      {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) : Prop
    `WeierstrassCurve.IsElliptic` is a typeclass which asserts that a Weierstrass curve is an
    elliptic curve: that its discriminant is a unit. Note that this definition is only mathematically
    accurate for certain rings whose Picard group has trivial 12-torsion, such as a field or a PID. 
    isUnit : IsUnit W.Δ
Definition3.2
Statement uses 2
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Definition 3.4
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Additive reduction. (LMFDB)

An elliptic curve E defined over a number field K is said to have additive reduction at a prime \mathfrak{p} of K if the reduction of E modulo \mathfrak{p} has a cuspidal singularity.

Depends on: Definition 3.1 Definition 2.1

Lean code for Definition3.2●1 definition
  • class(extends 1, 3 methods)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    class WeierstrassCurve.HasAdditiveReduction.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K]
      (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.HasAdditiveReduction.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K) : Prop
    A minimal Weierstrass equation has additive reduction if and only if
    the valuation of its discriminant is less than 1 and the valuation of `a₄` is less than 1. 
    • WeierstrassCurve.IsMinimal R W
    val_Δ_maximal : MaximalFor (fun C => WeierstrassCurve.IsIntegral R (C • W)) (fun C => WeierstrassCurve.valuation_Δ_aux R (C • W)) 1
    Inherited from
    1. WeierstrassCurve.IsMinimal
    badReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.Δ < 1
    additiveReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.c₄ < 1
Definition3.3
Statement uses 16
Statement dependency previews
Preview
Definition 1.76
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.6
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Analytic order of \Sha. (LMFDB)

The Tate-Shafarevich group \Sha of an elliptic curve E defined over a number field K is a torsion abelian group, which can be defined in terms of Galois cohomology as

\Sha(E) := \ker\left(H^1(G_K,E) \to \prod_v H^1(G_{K_v},E_{K_v}) \right),

where v runs over all places of K (finite and infinite), K_v is the completion of K at v, E_{K_v} is the base change of E to K_v, and G_K and G_{K_v} denote absolute Galois groups.

The group \Sha is conjectured to be finite, and its order appears in the strong form of the Birch-Swinnerton-Dyer Conjecture for E. The order implied by the conjecture is called the analytic order of Sha and can be defined as the real number

\Sha_{\text{an}} := |D_K|^{1/2}\cdot \frac{L^{(r)}(E,1)} {r!} \cdot \frac{\#E(K)_{\rm tor}^2}{\mathrm{Reg}_{\rm NT}(E/K)} \cdot \frac{1}{ \Omega(E/K) \cdot \prod_{\mathfrak{p}} c_{\mathfrak{p}}}.

Here D_K is the discriminant of K, L(E,s) is the L-function of E/K, r is the analytic rank of E/K, \mathrm{Reg}_{\rm NT}(E/K) is the Neron-Tate (un-normalised) regulator of E/K, E(K)_{\rm tor} is the torsion subgroup of the Mordell-Weil group E(K), \Omega(E/K) is the global period of E/K, and c_{\mathfrak{p}} is the Tamagawa number of E at the prime \mathfrak{p} of K.

It is known that if \Sha is finite then its order is a square, so one expects the real number \Sha_{\text{an}} to always be a square integer.

For elliptic curves defined over \Q of rank 0 or 1, it is a theorem that \Sha<sub>an</sub> is a positive rational number, and this rational number can in principle be computed exactly. This exact computation has only been carried out for the curves in the database with rank 0. For curves of rank 2 and above, there is no such theorem, and the values computed are floating point approximate values which are very close to integers. In the LMFDB we store and display the rounded values in this case.

Depends on: Definition 3.1 Definition 3.5 Definition 3.38 Definition 3.45 Definition 3.82 Definition 3.85 Definition 3.93 Definition 3.95 Definition 1.76 Definition 1.84 Definition 1.91 Definition 1.99 Definition 2.1 Definition 2.15 Definition 2.44 Definition 2.47

Lean code for Definition3.3●5 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    def WeierstrassCurve.analyticShaOrder.{u_1} {K : Type u_1} [Field K]
      [NumberField K] [DecidableEq K] (W : WeierstrassCurve K)
      [W.IsElliptic] : ℝ
    def WeierstrassCurve.analyticShaOrder.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K] (W : WeierstrassCurve K)
      [W.IsElliptic] : ℝ
    The **analytic order of Ш** (LMFDB `ec.analytic_sha_order`, `ec.q.analytic_sha_order`) of an
    elliptic curve `E` over a number field `K`: the order of the Tate–Shafarevich group predicted by the
    Birch and Swinnerton-Dyer conjecture,
    
    `Ш_an = |d_K| ^ (1 / 2) (L⁽ʳ⁾(E, 1) / r!) #E(K)_tors ^ 2 / (Reg_NT(E / K) Ω(E / K) ∏_𝔭 c_𝔭)`,
    
    where `d_K` is the discriminant of `K`, `L⁽ʳ⁾(E, 1) / r!` is the special value
    `WeierstrassCurve.specialValue` at the analytic rank `r`, `Reg_NT(E / K)` is the Néron-Tate
    regulator, `Ω(E / K)` is the global period and the `c_𝔭` are the Tamagawa numbers. The special value
    is real, `L(E / K, s)` having real Dirichlet coefficients, and its real part is used. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    theorem WeierstrassCurve.BirchSwinnertonDyer.analyticShaOrder_eq.{u_1}
      {K : Type u_1} [Field K] [NumberField K] [DecidableEq K]
      {W : WeierstrassCurve K} [W.IsElliptic] (h : W.BirchSwinnertonDyer)
      (hc : W.tamagawaProduct ≠ 0) : W.analyticShaOrder = ↑(Nat.card ↥W.sha)
    theorem WeierstrassCurve.BirchSwinnertonDyer.analyticShaOrder_eq.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K] {W : WeierstrassCurve K}
      [W.IsElliptic]
      (h : W.BirchSwinnertonDyer)
      (hc : W.tamagawaProduct ≠ 0) :
      W.analyticShaOrder = ↑(Nat.card ↥W.sha)
    The Birch and Swinnerton-Dyer conjecture predicts that the analytic order of Ш is the order of
    Ш, given that the Tamagawa product does not vanish; the regulator does not, by
    `WeierstrassCurve.Affine.regulator_pos`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Sha.lean
    complete
    def WeierstrassCurve.sha.{u_1} {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) :
      AddSubgroup
        (TauCeti.ContCohomology.H1 (TauCeti.AbsoluteGaloisGroup K)
          W.PointCoeff)
    def WeierstrassCurve.sha.{u_1} {K : Type u_1}
      [Field K] [NumberField K]
      (W : WeierstrassCurve K) :
      AddSubgroup
        (TauCeti.ContCohomology.H1
          (TauCeti.AbsoluteGaloisGroup K)
          W.PointCoeff)
    The **Tate–Shafarevich group** `Ш(E / K)` (LMFDB `ec.analytic_sha_order`) of a Weierstrass curve
    over a number field `K`: the classes in `H¹(G_K, E(Kˢ))` whose restriction to
    `H¹(G_{K_v}, E(K_vˢ))` vanishes for every place `v` of `K`, finite or infinite, where `K_v` is the
    completion of `K` at `v`. The restrictions are taken along embeddings `Kˢ → K_vˢ` of separable
    closures, whose choice does not matter (`mem_sha_iff`). Its order `#Ш` is
    `Nat.card W.sha`, which takes the junk value `0` if `Ш` is infinite. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Sha.lean
    complete
    theorem WeierstrassCurve.mem_sha_iff.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K)
      (τ :
        (v :
            IsDedekindDomain.HeightOneSpectrum
              (NumberField.RingOfIntegers K)) →
          SeparableClosure K →ₐ[K]
            SeparableClosure
              (IsDedekindDomain.HeightOneSpectrum.adicCompletion K v))
      (σ :
        (v : NumberField.InfinitePlace K) →
          SeparableClosure K →ₐ[K] SeparableClosure v.Completion)
      {c :
        TauCeti.ContCohomology.H1 (TauCeti.AbsoluteGaloisGroup K)
          W.PointCoeff} :
      c ∈ W.sha ↔
        (∀
            (v :
              IsDedekindDomain.HeightOneSpectrum
                (NumberField.RingOfIntegers K)),
            (W.pointRes (τ v)) c = 0) ∧
          ∀ (v : NumberField.InfinitePlace K), (W.pointRes (σ v)) c = 0
    theorem WeierstrassCurve.mem_sha_iff.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K)
      (τ :
        (v :
            IsDedekindDomain.HeightOneSpectrum
              (NumberField.RingOfIntegers
                K)) →
          SeparableClosure K →ₐ[K]
            SeparableClosure
              (IsDedekindDomain.HeightOneSpectrum.adicCompletion
                K v))
      (σ :
        (v : NumberField.InfinitePlace K) →
          SeparableClosure K →ₐ[K]
            SeparableClosure v.Completion)
      {c :
        TauCeti.ContCohomology.H1
          (TauCeti.AbsoluteGaloisGroup K)
          W.PointCoeff} :
      c ∈ W.sha ↔
        (∀
            (v :
              IsDedekindDomain.HeightOneSpectrum
                (NumberField.RingOfIntegers
                  K)),
            (W.pointRes (τ v)) c = 0) ∧
          ∀ (v : NumberField.InfinitePlace K),
            (W.pointRes (σ v)) c = 0
    A class lies in the Tate–Shafarevich group exactly when its restrictions to the completions of
    `K` at all its finite and infinite places vanish, for any choice of embeddings of separable
    closures. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/GaloisCohomology/Selmer.lean
    complete
    def WeierstrassCurve.shafarevichTateGroup.{u_1, u_2, u_3} {K : Type u_1}
      [Field K] (W : WeierstrassCurve K) {ι : Type u_2} {L : ι → Type u_3}
      [(i : ι) → Field (L i)] [(i : ι) → Algebra K (L i)]
      (τ : (i : ι) → SeparableClosure K →ₐ[K] SeparableClosure (L i)) :
      AddSubgroup
        (TauCeti.ContCohomology.H1 (TauCeti.AbsoluteGaloisGroup K)
          W.PointCoeff)
    def WeierstrassCurve.shafarevichTateGroup.{u_1,
        u_2, u_3}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) {ι : Type u_2}
      {L : ι → Type u_3}
      [(i : ι) → Field (L i)]
      [(i : ι) → Algebra K (L i)]
      (τ :
        (i : ι) →
          SeparableClosure K →ₐ[K]
            SeparableClosure (L i)) :
      AddSubgroup
        (TauCeti.ContCohomology.H1
          (TauCeti.AbsoluteGaloisGroup K)
          W.PointCoeff)
    **The Shafarevich–Tate group** of `W` relative to the family of extensions `L i` with
    embeddings `τ i`: the Selmer group of `shaSelmerStructure τ`, that is, the classes in
    `H¹(G_K, E(Kˢ))` whose restriction to every `L i` vanishes. For a number field and the family of
    its completions at all places this is `Sha(E/K)` (Silverman X.4). 
Definition3.4
Statement uses 7
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 6
Reverse dependency previews
Preview
Definition 3.9
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Bad reduction of an elliptic curve at a prime. (LMFDB)

An elliptic curve E defined over a number field K is said to have bad reduction at a prime \mathfrak{p} of K if the reduction of E modulo \mathfrak{p} is singular. There are three types of bad reduction:

A curve has bad reduction at \mathfrak{p} if and only if \mathfrak{p} divides its discriminant.

Depends on: Definition 3.1 Definition 3.2 Definition 3.10 Definition 3.42 Definition 3.92 Definition 2.1 Definition 2.47

Lean code for Definition3.4●1 definition
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    def WeierstrassCurve.IsBadReduction.{u, v} (R : Type v) [CommRing R]
      [IsDomain R] [IsDiscreteValuationRing R] {K : Type u} [Field K]
      [Algebra R K] [IsFractionRing R K] (W : WeierstrassCurve K)
      [WeierstrassCurve.IsMinimal R W] : Prop
    def WeierstrassCurve.IsBadReduction.{u, v}
      (R : Type v) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R] {K : Type u}
      [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K)
      [WeierstrassCurve.IsMinimal R W] : Prop
    A minimal Weierstrass curve over `K` has **bad reduction** (LMFDB `ec.bad_reduction`) if it
    does not have good reduction, i.e. its reduction over the residue field of `R` is singular. 
Definition3.5
uses 1
Used by 5
Reverse dependency previews
Preview
Definition 1.128
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Base change. (LMFDB)

If E is an elliptic curve defined over a field K, and L is an extension field of K, then the same equation defining E as an elliptic curve over K also defines a curve over L called the base change of E from K to L. Any curve defined over L which is isomorphic to E over L is called a base-change curve from K to L. A sufficient but not necessary condition for a curve to be a base change is that the coefficients of its Weierstrass equation lie in K.

When K=\Q and L is a number field, elliptic curves over L which are base-changes of curves over \Q may simply be called base-change curves. A necessary, but not sufficient, condition for this is that the j-invariant of E should be in \Q.

Depends on: Definition 3.30

Lean code for Definition3.5●1 definition
  • defdefined in Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean
    complete
    def WeierstrassCurve.baseChange.{u, v} {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) (A : Type v) [CommRing A] [Algebra R A] :
      WeierstrassCurve A
    def WeierstrassCurve.baseChange.{u, v}
      {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) (A : Type v)
      [CommRing A] [Algebra R A] :
      WeierstrassCurve A
    The Weierstrass curve base changed to an algebra `A` over `R`. 
Definition3.6
Statement uses 15
Statement dependency previews
Preview
Definition 1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Birch Swinnerton-Dyer conjecture. (LMFDB)

The Birch and Swinnerton-Dyer conjecture (BSD) is one of the Millennium Prize Problems listed by the Clay Mathematics Institute. It relates the order of vanishing (or analytic rank) and the leading coefficient of the L-function associated to an elliptic curve E defined over a number field K at the central point s=1 to certain arithmetic data, the BSD invariants of E.

  • The weak form of the BSD conjecture states just that the analytic rank r_{an} (that is, the order of vanishing of vanishing of L(E,s) at s=1), is equal to the rank r of E/K.

  • The strong form of the conjecture states that r=r_{an} and also that the leading coefficient of the L-function is given by the formula

\frac{1}{r!} L^{(r)}(E,1) = \frac{1}{|d_K|^{1/2}}\cdot \frac{\# \Sha(E/K)\cdot \Omega(E/K) \cdot \mathrm{Reg}_{\rm NT}(E/K) \cdot \prod_{\mathfrak{p}} c_{\mathfrak{p}}}{\#E(K)_{\rm tor}^2}.

The quantities appearing in this formula are as follows:

Implicit in the strong form of the conjecture is that the Tate-Shafarevich group \Sha(E/K) is finite.

There is a similar conjecture for abelian varieties over number fields.

Depends on: Definition 1.5 Definition 3.1 Definition 3.3 Definition 3.45 Definition 3.82 Definition 3.85 Definition 3.93 Definition 3.95 Definition 1.109 Definition 1.110 Definition 1.112 Definition 1.119 Definition 2.1 Definition 2.15 Definition 2.47

Lean code for Definition3.6●5 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    def WeierstrassCurve.BirchSwinnertonDyer.{u_1} {K : Type u_1} [Field K]
      [NumberField K] [DecidableEq K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    def WeierstrassCurve.BirchSwinnertonDyer.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    The **Birch and Swinnerton-Dyer conjecture** (LMFDB `ec.bsdconjecture`, `ec.q.bsdconjecture`)
    for an elliptic curve `E` over a number field `K`: its L-function `L(E / K, s)` is an analytic
    L-function, whose analytic rank `r`, its order of vanishing at `s = 1`, is the rank of the
    Mordell-Weil group `E(K)`; the Tate–Shafarevich group `Ш(E / K)` is finite; and
    
    `L⁽ʳ⁾(E, 1) / r! = #Ш(E / K) Ω(E / K) Reg_NT(E / K) ∏_𝔭 c_𝔭 / (|d_K| ^ (1 / 2) #E(K)_tors ^ 2)`,
    
    where `Ω(E / K)` is the global period, `Reg_NT(E / K)` is the Néron-Tate regulator, the `c_𝔭` are
    the Tamagawa numbers and `d_K` is the discriminant of `K`. The existence of the analytic
    L-function, a theorem over `ℚ` by modularity, and the finiteness of Ш are implicit in the LMFDB's
    statement. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    def WeierstrassCurve.WeakBirchSwinnertonDyer.{u_1} {K : Type u_1} [Field K]
      [NumberField K] [DecidableEq K] (W : WeierstrassCurve K) : Prop
    def WeierstrassCurve.WeakBirchSwinnertonDyer.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K]
      (W : WeierstrassCurve K) : Prop
    The **weak Birch and Swinnerton-Dyer conjecture** (LMFDB `ec.bsdconjecture`) for a Weierstrass
    curve `E` over a number field `K`: its L-function `L(E / K, s)` is an analytic L-function, whose
    analytic rank, its order of vanishing at `s = 1`, is the rank of the Mordell-Weil group
    `E(K)`. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    theorem WeierstrassCurve.birchSwinnertonDyer_iff.{u_1} {K : Type u_1} [Field K]
      [NumberField K] [DecidableEq K] {W : WeierstrassCurve K}
      [W.IsElliptic] {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.BirchSwinnertonDyer ↔
        L.analyticRank = Module.finrank ℤ W.toAffine.Point ∧
          Finite ↥W.sha ∧
            L.leadingCoeff =
              ↑(↑(Nat.card ↥W.sha) * W.globalPeriod * W.toAffine.regulator *
                    ↑W.tamagawaProduct /
                  (√|↑(NumberField.discr K)| *
                    ↑(Nat.card ↥(AddCommGroup.torsion W.toAffine.Point)) ^
                      2))
    theorem WeierstrassCurve.birchSwinnertonDyer_iff.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K] {W : WeierstrassCurve K}
      [W.IsElliptic] {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.BirchSwinnertonDyer ↔
        L.analyticRank =
            Module.finrank ℤ
              W.toAffine.Point ∧
          Finite ↥W.sha ∧
            L.leadingCoeff =
              ↑(↑(Nat.card ↥W.sha) *
                        W.globalPeriod *
                      W.toAffine.regulator *
                    ↑W.tamagawaProduct /
                  (√|↑(NumberField.discr K)| *
                    ↑(Nat.card
                          ↥(AddCommGroup.torsion
                              W.toAffine.Point)) ^
                      2))
    The Birch and Swinnerton-Dyer conjecture, for an analytic L-function of the curve. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/GlobalPeriod.lean
    complete
    def WeierstrassCurve.globalPeriod.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic] [NumberField K] : ℝ
    def WeierstrassCurve.globalPeriod.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic]
      [NumberField K] : ℝ
    The **global period** `Ω(E/K) = |N(Δ) / N(𝔡)| ^ (1/12) ∏_v Ω_v(E_v)` (LMFDB `ec.period`) of an
    elliptic curve over a number field `K`, where `Δ` is the discriminant of the equation `W`, `𝔡` the
    minimal discriminant ideal, `N` the norm and the product runs over the infinite places of `K`. On a
    global minimal model it is `∏_v Ω_v(E_v)`, and it does not depend on the model. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/Regulator/Basic.lean
    complete
    def WeierstrassCurve.Affine.regulator.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)]
      [Module.Finite ℤ W.PointModTorsion] : ℝ
    def WeierstrassCurve.Affine.regulator.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)]
      [Module.Finite ℤ W.PointModTorsion] : ℝ
    **The regulator** of an elliptic curve whose points modulo torsion are finitely generated as a
    `ℤ`-module: the absolute determinant of the Gram matrix of the Néron-Tate pairing on any basis of
    that quotient. For a curve of rank zero this is the empty determinant, namely `1`. 
Definition3.7
Statement uses 4
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.74
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Canonical height on an elliptic curve. (LMFDB)

Let E be an elliptic curve defined over a number field K. The canonical height on E is a function

\hat{h}: E(K) \to \R_{ {}\ge0}

defined on the Mordell-Weil group E(K) which induces a positive definite quadratic form on E(K)\otimes\R.

One definition of \hat{h}(P) is

\hat{h}(P)=\lim_{n\to\infty} n^{-2}h\bigl(x(nP)\bigr), where h(x) is the Weil height of x\in K. This definition gives the non-normalised height. A normalised height which is invariant under base-change is given by

\frac{1}{[K:\Q]} \hat{h}(P).

Related to the canonical height is the height pairing

\langle-,-\rangle : E(K)\times E(K) \to \R

defined by \langle P,Q\rangle = \frac{1}{2}(\hat{h}(P+Q)-\hat{h}(P)-\hat{h}(Q)), which is a positive definite quadratic form on E(K)\otimes\R, used in defining the regulator of E/K.

Depends on: Definition 3.1 Definition 3.38 Definition 2.1 Definition 2.71

Lean code for Definition3.7●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/CanonicalHeight/Basic.lean
    complete
    def WeierstrassCurve.Affine.Point.canonicalHeight.{u_1} {F : Type u_1}
      [Field F] {W : WeierstrassCurve.Affine F}
      [Height.AdmissibleAbsValues F] [DecidableEq F] (P : W.Point) : ℝ
    def WeierstrassCurve.Affine.Point.canonicalHeight.{u_1}
      {F : Type u_1} [Field F]
      {W : WeierstrassCurve.Affine F}
      [Height.AdmissibleAbsValues F]
      [DecidableEq F] (P : W.Point) : ℝ
    **The canonical (Néron–Tate) height** `canonicalHeight P = lim h(2ⁿ P) / 4ⁿ`,
    normalised against the naïve height of the `x`-coordinate.
    
    The limit exists whenever the curve is elliptic
    (`Point.tendsto_naiveHeight_two_pow_nsmul_div_four_pow`); the definition itself needs no hypothesis
    beyond those making `2 ^ n • P` meaningful, so it is stated without one. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/CanonicalHeight/Basic.lean
    complete
    def WeierstrassCurve.Affine.neronTatePairing.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.Point ℝ
    def WeierstrassCurve.Affine.neronTatePairing.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.Point ℝ
    **The Néron–Tate pairing** `⟨P, Q⟩`, the bilinear form associated with the canonical height.
    It is Mathlib's `QuadraticMap.associated'`, the halved polar form. 
Definition3.8
Statement uses 8
Statement dependency previews
Preview
Definition 1.9
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 6
Reverse dependency previews
Preview
Definition 3.13
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Complex multiplication. (LMFDB)

An elliptic curve whose endomorphism ring is larger than \Z is said to have complex multiplication (often abbreviated to CM). In this case, for curves defined over fields of characteristic zero, the endomorphism ring is isomorphic to an order in an imaginary quadratic field. The discriminant of this order is the CM discriminant.

An elliptic curve whose geometric endomorphism ring is larger than \Z is said to have potential complex multiplication (potential CM). In the literature, these too are often called CM elliptic curves.

The property of having potential CM depends only on the j-invariant of the curve. In characteristic 0, CM j-invariants are algebraic integers, and there are only finitely many in any given number field. There are precisely 13 CM j-invariants in \Q (all integers), associated to the 13 imaginary quadratic orders of class number 1:

\begin{array}{c|ccccccccccccc} j & -12288000 & 54000 & 0 & 287496 & 1728 & 16581375 & -3375 & 8000 & -32768 & -884736 & -884736000 & -147197952000 & -262537412640768000\\ \text{CM discriminant} &-27 & -12 & -3 & -16 & -4 & -28 & -7 & -8 & -11 & -19 & -43 & -67 & -163 \end{array}

CM elliptic curves are examples of CM abelian varieties.

Depends on: Definition 1.9 Definition 3.1 Definition 3.12 Definition 3.16 Definition 3.30 Definition 2.6 Definition 2.42 Definition 1.132

Lean code for Definition3.8●5 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/ComplexMultiplication/Basic.lean
    complete
    def WeierstrassCurve.HasCM.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic] : Prop
    def WeierstrassCurve.HasCM.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    An elliptic curve `W` over `K` has **complex multiplication** (LMFDB
    `ec.complex_multiplication`), or CM, if its endomorphism ring, the ring of endomorphisms of `W`
    defined over `K` (`TauCeti.Isogeny.Hom`), is larger than `ℤ`: some endomorphism over `K` is not
    multiplication by an integer. Potential complex multiplication, where the geometric endomorphism
    ring is larger than `ℤ`, is Tau Ceti's `WeierstrassCurve.HasGeometricCM`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/ComplexMultiplication.lean
    complete
    def WeierstrassCurve.HasGeometricCM.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) [W.IsElliptic] : Prop
    def WeierstrassCurve.HasGeometricCM.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve F)
      [W.IsElliptic] : Prop
    **Geometric complex multiplication**: some endomorphism of `W` over a separable closure of `F`
    is not multiplication by an integer, so that the geometric endomorphism ring `W.GeometricEnd` is
    strictly larger than `ℤ`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/ComplexMultiplication/Basic.lean
    complete
    def WeierstrassCurve.cmDiscriminant.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic] : ℤ
    def WeierstrassCurve.cmDiscriminant.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : ℤ
    The **CM discriminant** (LMFDB `ec.complex_multiplication`) of an elliptic curve `W` over `K`:
    the discriminant of its endomorphism ring over `K` (`TauCeti.Isogeny.Hom`) when that ring is
    generated by one endomorphism `α`, as is any order `ℤ[α]` in an imaginary quadratic field. It is
    the discriminant `t² - 4n` of the characteristic polynomial `X² - t X + n` of `α`, where `n` is the
    degree of `α` and `t = deg (α + 1) - deg α - 1` is its trace; it does not depend on the generator
    (`cmDiscriminant_eq`). It is `0` when the endomorphism ring is `ℤ`, and also, as a convention,
    when the endomorphism ring is not generated by one endomorphism. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/ComplexMultiplication/Basic.lean
    complete
    def WeierstrassCurve.geometricCMDiscriminant.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic] : ℤ
    def WeierstrassCurve.geometricCMDiscriminant.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : ℤ
    The **CM discriminant of the geometric endomorphism ring** (LMFDB
    `ec.complex_multiplication`) of an elliptic curve `W` over `K`: the CM discriminant
    (`cmDiscriminant`) of the base change of `W` to a separable closure of `K`, whose endomorphism ring
    is the geometric endomorphism ring `WeierstrassCurve.GeometricEnd W`. It is nonzero only for curves
    with potential complex multiplication, and it is the discriminant the LMFDB lists for the curves
    over `ℚ` with potential complex multiplication. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/ComplexMultiplication/Basic.lean
    complete
    theorem WeierstrassCurve.hasGeometricCM_iff_of_j_eq.{u_1} {K : Type u_1}
      [Field K] {W : WeierstrassCurve K} [W.IsElliptic]
      {W' : WeierstrassCurve K} [W'.IsElliptic] (hj : W.j = W'.j) :
      W.HasGeometricCM ↔ W'.HasGeometricCM
    theorem WeierstrassCurve.hasGeometricCM_iff_of_j_eq.{u_1}
      {K : Type u_1} [Field K]
      {W : WeierstrassCurve K} [W.IsElliptic]
      {W' : WeierstrassCurve K}
      [W'.IsElliptic] (hj : W.j = W'.j) :
      W.HasGeometricCM ↔ W'.HasGeometricCM
    **Potential complex multiplication depends only on the `j`-invariant**: over a separable
    closure, curves with the same `j`-invariant are isomorphic, and isomorphic curves have isomorphic
    endomorphism rings. 
Definition3.9
Statement uses 7
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.23
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Conductor of an elliptic curve. (LMFDB)

The conductor of an elliptic curve E defined over a number field K is an ideal of the ring of integers of K that is divisible by the prime ideals of bad reduction and no others. It is defined as

\mathfrak{n} = \prod_{\mathfrak{p}}\mathfrak{p}^{e_{\mathfrak{p}}}

where the exponent e_{\mathfrak{p}} is as follows:

  • e_{\mathfrak{p}}=0 if E has good reduction at \mathfrak{p};

  • e_{\mathfrak{p}}=1 if E has multiplicative reduction at \mathfrak{p};

  • e_{\mathfrak{p}}=2 if E has additive reduction at \mathfrak{p} and \mathfrak{p} does not lie above either 2 or 3; and

  • 2\leq e_{\mathfrak{p}}\leq 2+6v_{\mathfrak{p}}(2)+3v_{\mathfrak{p}}(3), where v_{\mathfrak{p}} is the valuation at \mathfrak{p}, if E has additive reduction and \mathfrak{p} lies above 2 or 3.

For \mathfrak{p}=2 and 3, there is an algorithm of Tate that simultaneously creates a minimal Weierstrass equation and computes the exponent of the conductor. See:

<UL> <LI> J. Tate, Algorithm for determining the type of a singular fiber in an elliptic pencil, Modular functions of one variable, IV (Proc. Internat. Summer School, Univ. Antwerp, Antwerp, 1972), 33-52. <EM>Lecture Notes in Math.</EM>, Vol. <B>476</B>, Springer, Berlin, 1975.

<LI> J.H. Silverman, <EM>Advanced topics in the arithmetic of elliptic curves</EM>, GTM <B>151</B>, Springer-Verlag, New York, 1994.

</UL>

The conductor norm is the norm [\mathcal{O}_K:\mathfrak{n}] of the ideal \mathfrak{n}.

Depends on: Definition 3.1 Definition 3.2 Definition 3.4 Definition 3.19 Definition 3.40 Definition 2.1 Definition 2.56

Lean code for Definition3.9●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Conductor.lean
    complete
    def WeierstrassCurve.algorithmicConductor.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O]
      [∀ (v : IsDedekindDomain.HeightOneSpectrum O),
          PerfectField
            (IsLocalRing.ResidueField (Localization.AtPrime v.asIdeal))]
      {K : Type u_2} [Field K] [Algebra O K] [IsFractionRing O K]
      (W : WeierstrassCurve K) [W.IsElliptic] : Ideal O
    def WeierstrassCurve.algorithmicConductor.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O]
      [∀
          (v :
            IsDedekindDomain.HeightOneSpectrum
              O),
          PerfectField
            (IsLocalRing.ResidueField
              (Localization.AtPrime
                v.asIdeal))]
      {K : Type u_2} [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    **The algorithmic conductor** `∏ᵥ 𝔭ᵥ ^ fᵥ` of an elliptic curve over the fraction field of a
    Dedekind domain `O`: the product over the height-one primes of `O` of the prime powers whose
    exponents are the algorithmic Ogg exponents `fᵥ = v (Δ_min,ᵥ) − mᵥ + 1` read off Tate's algorithm.
    The product is finite (`hasFiniteMulSupport_pow_algorithmicOggExponent`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Curve.lean
    complete
    def WeierstrassCurve.algorithmicOggExponent.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K]
      [PerfectField (IsLocalRing.ResidueField R)] (W : WeierstrassCurve K)
      [W.IsElliptic] : ℕ
    def WeierstrassCurve.algorithmicOggExponent.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      [PerfectField
          (IsLocalRing.ResidueField R)]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : ℕ
    **The algorithmic Ogg exponent of an elliptic curve**, `v(Δ_min) − m + 1`, where `m` is the
    component count of the reduction symbol and `v(Δ_min)` the valuation of the minimal discriminant
    (`natCast_algorithmicOggExponent`). It is `0` at good reduction, `1` at multiplicative reduction
    and at least `2` at additive reduction. 
Definition3.10
Statement uses 4
Statement dependency previews
Preview
Definition 1.12
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 9
Reverse dependency previews
Preview
Definition 3.4
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Discriminant of a Weierstrass equation. (LMFDB)

The discriminant \Delta of a Weierstrass equation over a field K is an element of K defined in terms of the Weierstrass coefficients. If the Weierstrass equation is y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6, then \Delta is given by a polynomial expression in a_1,\dots,a_6, namely,

\Delta=-b_2^2b_8 - 8 b_4^3 -27 b_6 ^2 + 9 b_2 b_4 b_6 where

\begin{aligned} b_2 &= a_1^2 + 4 a_2\\ b_4 &= 2a_4 + a_1 a_3\\ b_6 &= a_3^2 + 4 a_6 \\ b_8 &= a_1^2 a_6 + 4 a_2 a_6 - a_1 a_3 a_4 + a_2 a_3^2 - a_4^2. \end{aligned}

Then \Delta\neq 0 if and only if the equation defines a smooth curve, in which case its projective closure gives an elliptic curve.

Depends on: Definition 1.12 Definition 3.1 Definition 3.97 Definition 1.134

Lean code for Definition3.10●1 definition
  • defdefined in Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean
    complete
    def WeierstrassCurve.Δ.{u} {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) : R
    def WeierstrassCurve.Δ.{u} {R : Type u}
      [CommRing R] (W : WeierstrassCurve R) :
      R
    The discriminant `Δ` of a Weierstrass curve. If `R` is a field, then this polynomial vanishes
    if and only if the cubic curve cut out by this equation is singular. Sometimes only defined up to
    sign in the literature; we choose the sign used by the LMFDB. For more discussion, see
    [the LMFDB page on discriminants](https://www.lmfdb.org/knowledge/show/ec.discriminant). 
Definition3.11
Statement uses 3
Statement dependency previews
Preview
Definition 1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.12
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Endomorphism of an elliptic curve. (LMFDB)

An endomorphism of an elliptic curve defined over a field K is a homomorphism \varphi\colon E\to E defined over K. The set of all endomorphisms of E forms a ring called the endomorphism ring of E, denoted \End(E), a special case of the endomorphism ring of an abelian variety.

Depends on: Definition 1.5 Definition 1.15 Definition 3.1

Lean code for Definition3.11●2 definitions
  • structure(2 fields)defined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Basic.lean
    complete
    structure TauCeti.Isogeny.{u_1} {F : Type u_1} [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) : Type u_1
    structure TauCeti.Isogeny.{u_1} {F : Type u_1}
      [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) :
      Type u_1
    The pullback data of a nonzero isogeny between affine Weierstrass curves.
    
    The `mapsInfinity` field is the algebraic form of pointedness. Injectivity and finiteness of the
    induced extension are the next results in the isogeny development; they are consequences of this
    condition rather than additional structure fields. 
    pullback : TauCeti.CoordinatePullback W₁ W₂
    The contravariant map out of the target coordinate ring. 
    mapsInfinity : self.pullback.MapsInfinity
    The source point at infinity maps to the target point at infinity. 
  • structure(2 fields)defined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/Basic.lean
    complete
    structure TauCeti.Isogeny.Hom.{u_1} {F : Type u_1} [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) : Type u_1
    structure TauCeti.Isogeny.Hom.{u_1} {F : Type u_1}
      [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) :
      Type u_1
    **The carrier of `Hom(W₁, W₂)`**: an `F`-linear multiplicative map out of the target
    coordinate ring, pointed wherever it is unital. Its zero map is the zero morphism's formal
    representative and its unital elements are the isogenies. 
    toNonUnitalAlgHom : W₂.CoordinateRing →ₙₐ[F] W₁.FunctionField
    The underlying multiplicative map. Not an `AlgHom`: unitality is what the zero map fails. 
    mapsInfinity_of_map_one : self.toNonUnitalAlgHom.MapsInfinityOfMapOne
    Pointedness, required only of the unital maps. 
Definition3.12
Statement uses 4
Statement dependency previews
Preview
Definition 1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.8
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Endomorphism ring of an elliptic curve. (LMFDB)

The endomorphism ring \End(E) of an elliptic curve E over a field K is the ring of all endomorphisms of E defined over K. For endomorphisms defined over extensions, we speak of the geometric endomorphism ring of E.

For elliptic curves defined over fields of characteristic zero, this ring is isomorphic to \Z, unless the curve has complex multiplication (CM) defined over the ground field, in which case the endomorphism ring is an order in an imaginary quadratic field; for curves defined over \Q, this order is one of the 13 orders of class number one.

\End(E) always contains a subring isomorphic to \Z, since for m\in\Z there is the multiplication-by-m map [m] \colon E\to E.

This is a special case of the endomorphism ring of an abelian variety.

Depends on: Definition 1.5 Definition 1.15 Definition 3.1 Definition 3.11

Lean code for Definition3.12●2 definitions
  • structure(2 fields)defined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/Basic.lean
    complete
    structure TauCeti.Isogeny.Hom.{u_1} {F : Type u_1} [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) : Type u_1
    structure TauCeti.Isogeny.Hom.{u_1} {F : Type u_1}
      [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) :
      Type u_1
    **The carrier of `Hom(W₁, W₂)`**: an `F`-linear multiplicative map out of the target
    coordinate ring, pointed wherever it is unital. Its zero map is the zero morphism's formal
    representative and its unital elements are the isogenies. 
    toNonUnitalAlgHom : W₂.CoordinateRing →ₙₐ[F] W₁.FunctionField
    The underlying multiplicative map. Not an `AlgHom`: unitality is what the zero map fails. 
    mapsInfinity_of_map_one : self.toNonUnitalAlgHom.MapsInfinityOfMapOne
    Pointedness, required only of the unital maps. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/MulByInt/MapsInfinity.lean
    complete
    def TauCeti.Isogeny.mulByIntIsogeny.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [WeierstrassCurve.IsElliptic W]
      {n : ℤ} (hn : TauCeti.Isogeny.psiFunctionField W n ≠ 0) :
      TauCeti.Isogeny W W
    def TauCeti.Isogeny.mulByIntIsogeny.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [WeierstrassCurve.IsElliptic W] {n : ℤ}
      (hn :
        TauCeti.Isogeny.psiFunctionField W n ≠
          0) :
      TauCeti.Isogeny W W
    **Multiplication by `n` as an isogeny**, for every `n` whose division polynomial does not
    vanish at the generic point. 
Definition3.13
Statement uses 8
Statement dependency previews
Preview
Definition 1.66
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 7
Reverse dependency previews
Preview
Definition 1.126
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Galois representations attached to an elliptic curve. (LMFDB)

If E is an elliptic curve defined over a field K and m is a positive integer, then the mod-m Galois representation attached to E is the continuous homomorphism

\overline{\rho}_{E,m}: \Gal(\overline{K}/K) \to \Aut(E[m])

describing the action of the absolute Galois group of K on the m-torsion subgroup E[m].

When the characteristic of K does not divide m > 1, we may identify the finite abelian group E[m] with (\Z/m\Z)^2 and hence view the representation as a map

\overline{\rho}_{E,m}: \Gal(\overline{K}/K) \to \GL(2,\Z/m\Z)

defined up to conjugation. In particular, when m=\ell is a prime different from the characteristic of K, we have the mod-\ell Galois representation

\overline{\rho}_{E,\ell}: \Gal(\overline{K}/K) \to \GL(2,\Z/\ell\Z).

Taking the inverse limit over prime powers m=\ell^n yields the \ell-adic Galois representation attached to E,

\rho_{E,\ell}: \Gal(\overline{K}/K) \to \Aut(T_{\ell}(E)) \cong \GL(2,\Z_{\ell}),

which describes the action of the absolute Galois group of K on T_{\ell}(E), the \ell-adic Tate module of E.

When K has characteristic zero one can take the inverse limit over all positive integers m (ordered by divisibility) to obtain the adelic Galois representation

\rho_{E}: \Gal(\overline{K}/K) \to \GL(2,\hat{\Z}).

If E is an elliptic curve without complex multiplication that is defined over a number field, then the image of \rho_E is an open subgroup of \GL(2,\hat{\Z}) that has an associated level, index, and genus.

Depends on: Definition 3.1 Definition 3.8 Definition 3.44 Definition 1.66 Definition 1.67 Definition 1.72 Definition 1.84 Definition 2.1

Lean code for Definition3.13●5 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Affine/Point/Galois.lean
    complete
    def WeierstrassCurve.torsionGaloisAction.{u_1, u_2} {F : Type u_1}
      {K : Type u_2} [Field F] [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F) (N : ℤ) :
      Gal(K/F) →*
        Multiplicative
          (AddAut
            ↥(AddSubgroup.torsionBy (W.baseChange K).toAffine.Point N))
    def WeierstrassCurve.torsionGaloisAction.{u_1,
        u_2}
      {F : Type u_1} {K : Type u_2} [Field F]
      [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F) (N : ℤ) :
      Gal(K/F) →*
        Multiplicative
          (AddAut
            ↥(AddSubgroup.torsionBy
                (W.baseChange
                      K).toAffine.Point
                N))
    **The Galois action on `N`-torsion.** This is the restriction of
    `pointGaloisAction` to the subgroup killed by `N`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/GaloisRep/Basic.lean
    complete
    def WeierstrassCurve.modGaloisRepresentationGL.{u_1, u_2} {F : Type u_1}
      {K : Type u_2} [Field F] [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F) (m : ℕ)
      (b :
        Module.Basis (Fin 2) (ZMod m)
          ↥(AddSubgroup.torsionBy
              (WeierstrassCurve.toAffine
                  (WeierstrassCurve.Affine.baseChange W K)).Point
              ↑m)) :
      Gal(K/F) →* GL (Fin 2) (ZMod m)
    def WeierstrassCurve.modGaloisRepresentationGL.{u_1,
        u_2}
      {F : Type u_1} {K : Type u_2} [Field F]
      [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F) (m : ℕ)
      (b :
        Module.Basis (Fin 2) (ZMod m)
          ↥(AddSubgroup.torsionBy
              (WeierstrassCurve.toAffine
                  (WeierstrassCurve.Affine.baseChange
                    W K)).Point
              ↑m)) :
      Gal(K/F) →* GL (Fin 2) (ZMod m)
    The **mod-`m` Galois representation in a basis** (LMFDB `ec.galois_rep`): given a basis `b` of
    `E[m]` over `ℤ/mℤ`, the mod-`m` representation as a homomorphism to `GL₂(ℤ/mℤ)`. Another basis
    conjugates it (`exists_modGaloisRepresentationGL_eq_conj`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateModule/Galois.lean
    complete
    def WeierstrassCurve.tateModuleGaloisRepresentation.{u_1, u_2}
      {F : Type u_1} {K : Type u_2} [Field F] [Field K] [DecidableEq K]
      [Algebra F K] (W : WeierstrassCurve F) (ℓ : ℕ) [Fact (Nat.Prime ℓ)] :
      Representation ℤ_[ℓ] Gal(K/F)
        (TauCeti.TateModule ℓ (W.baseChange K).toAffine.Point)
    def WeierstrassCurve.tateModuleGaloisRepresentation.{u_1,
        u_2}
      {F : Type u_1} {K : Type u_2} [Field F]
      [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F) (ℓ : ℕ)
      [Fact (Nat.Prime ℓ)] :
      Representation ℤ_[ℓ] Gal(K/F)
        (TauCeti.TateModule ℓ
          (W.baseChange K).toAffine.Point)
    **The `ℓ`-adic Galois representation** of `W`: an `F`-automorphism `σ` of `K` acts on the
    Tate module `T_ℓ E` of `W` over `K` by applying `σ` to the coordinates of every point of every
    level `E[ℓ ^ n]`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/GaloisRep/Basic.lean
    complete
    def WeierstrassCurve.tateModuleGaloisRepresentationGL.{u_1, u_2}
      {F : Type u_1} {K : Type u_2} [Field F] [Field K] [DecidableEq K]
      [Algebra F K] (W : WeierstrassCurve F) (ℓ : ℕ) [Fact (Nat.Prime ℓ)]
      (b :
        Module.Basis (Fin 2) ℤ_[ℓ]
          (TauCeti.TateModule ℓ
            (WeierstrassCurve.toAffine
                (WeierstrassCurve.Affine.baseChange W K)).Point)) :
      Gal(K/F) →* GL (Fin 2) ℤ_[ℓ]
    def WeierstrassCurve.tateModuleGaloisRepresentationGL.{u_1,
        u_2}
      {F : Type u_1} {K : Type u_2} [Field F]
      [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F) (ℓ : ℕ)
      [Fact (Nat.Prime ℓ)]
      (b :
        Module.Basis (Fin 2) ℤ_[ℓ]
          (TauCeti.TateModule ℓ
            (WeierstrassCurve.toAffine
                (WeierstrassCurve.Affine.baseChange
                  W K)).Point)) :
      Gal(K/F) →* GL (Fin 2) ℤ_[ℓ]
    The **`ℓ`-adic Galois representation in a basis** (LMFDB `ec.galois_rep`): given a basis `b` of
    the Tate module `T_ℓ E` over `ℤ_ℓ`, Tau Ceti's `WeierstrassCurve.tateModuleGaloisRepresentation` as
    a homomorphism to `GL₂(ℤ_ℓ)`. Another basis conjugates it
    (`exists_tateModuleGaloisRepresentationGL_eq_conj`). 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/GaloisRep/Basic.lean
    complete
    def WeierstrassCurve.adelicGaloisRepresentationGL.{u_1, u_2} {F : Type u_1}
      {K : Type u_2} [Field F] [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F)
      (b :
        (ℓ : Nat.Primes) →
          Module.Basis (Fin 2) ℤ_[↑ℓ]
            (TauCeti.TateModule (↑ℓ)
              (WeierstrassCurve.toAffine
                  (WeierstrassCurve.Affine.baseChange W K)).Point)) :
      Gal(K/F) →* (ℓ : Nat.Primes) → GL (Fin 2) ℤ_[↑ℓ]
    def WeierstrassCurve.adelicGaloisRepresentationGL.{u_1,
        u_2}
      {F : Type u_1} {K : Type u_2} [Field F]
      [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F)
      (b :
        (ℓ : Nat.Primes) →
          Module.Basis (Fin 2) ℤ_[↑ℓ]
            (TauCeti.TateModule (↑ℓ)
              (WeierstrassCurve.toAffine
                  (WeierstrassCurve.Affine.baseChange
                    W K)).Point)) :
      Gal(K/F) →*
        (ℓ : Nat.Primes) → GL (Fin 2) ℤ_[↑ℓ]
    The **adelic Galois representation** (LMFDB `ec.galois_rep`): given a basis `b ℓ` of every
    Tate module `T_ℓ E` over `ℤ_ℓ`, the product of the `ℓ`-adic representations, with values in
    `∏_ℓ GL₂(ℤ_ℓ)`, which is `GL₂(ℤ̂)` as `ℤ̂ = ∏_ℓ ℤ_ℓ`. This is the inverse limit of the mod-`m`
    representations over all `m`, as `lim E[m] = ∏_ℓ T_ℓ E`. Other bases conjugate it
    (`exists_adelicGaloisRepresentationGL_eq_conj`). 
Definition3.14
Statement uses 4
Statement dependency previews
Preview
Definition 1.72
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Image of the adelic Galois representation. (LMFDB)

The image of the adelic Galois representation associate to an elliptic curve E over a number field K that does not have potential complex multiplication is an open subgroup H of \GL(2,\widehat{\Z}). The subgroup H has the following invariants:

  • The level of H is the least positive integer N such that H is the full inverse image of its projection to \GL(2,\Z/N\Z).

  • The index of H is the positive integer [\GL(2,\Z/N\Z):H].

  • The genus of H is the genus of the corresponding modular curve X_H.

Depends on: Definition 3.8 Definition 3.13 Definition 1.72 Definition 1.126

Definition3.15
Statement uses 9
Statement dependency previews
Preview
Definition 1.63
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Image of mod-l Galois representation. (LMFDB)

Let \ell be a prime and let E be an elliptic curve defined over a number field K.

Subgroups G of \GL(2,\F_{\ell}) that can arise as the image of the mod-\ell Galois representation

\bar\rho_{E,\ell}\colon {\Gal}(\overline{K}/K)\to \GL(2,\F_{\ell})

attached to E that do not contain \SL(2,\F_{\ell}) are identified using the labels introduced by Sutherland in . For groups with surjective determinant map (necessarily the case when K=\Q), these labels have the form

\texttt{LS.a.b.c},

where \texttt{L} is the prime \ell, \texttt{S} is one of G, B, Cs, Cn, Ns, Nn, A4, S4, A5, and \texttt{a}, \texttt{b}, \texttt{c} are optional positive integers. When the determinant map is not surjective the label has "\texttt{[d]}", where d is the index of the determinant image in \F_{\ell}^\times.

When \bar\rho_{E,\ell} does not contain \SL(2,\F_{\ell}) the possibilities for \texttt{S} are: Borel B, split Cartan Cs, normalizer of the split Cartan Ns, nonsplit Cartan Cn, normalizer of the nonsplit Cartan Nn, exceptional A4, S4, A5. The cases A4 and A5 cannot occur when K=\Q.

Depends on: Definition 3.1 Definition 3.13 Definition 1.63 Definition 1.65 Definition 1.68 Definition 1.70 Definition 1.71 Definition 1.74 Definition 2.1

Definition3.16
Statement uses 3
Statement dependency previews
Preview
Definition 1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.8
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Geometric endomorphism ring. (LMFDB)

The geometric endomorphism ring of an elliptic curve E over a field K is \End(E_{\overline{K}}), the endomorphism ring of the base change of E to an algebraic closure \overline{K} of K.

This is a special case of the geometric endomorphism ring of an abelian variety.

Depends on: Definition 1.5 Definition 1.16 Definition 3.12

Lean code for Definition3.16●1 definition
  • abbrevdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/ComplexMultiplication.lean
    complete
    abbrev WeierstrassCurve.GeometricEnd.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) : Type u_1
    abbrev WeierstrassCurve.GeometricEnd.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) : Type u_1
    **The geometric endomorphism ring** of `W`: the endomorphisms of its base change to the
    separable closure `SeparableClosure F`. It contains the endomorphisms defined over `F`, through
    base change `TauCeti.Isogeny.Hom.mapRingHom`, and may be strictly larger. 
Definition3.17
Statement uses 7
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.37
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Global minimal model. (LMFDB)

A global minimal model for an elliptic curve E defined over a number field K is a Weierstrass equation for E which is integral and is a local minimal model at all primes of K.

When K has class number 1 all elliptic curves over K have global minimal models. In general, there is an obstruction to the existence of a global minimal model for each elliptic curve E defined over K, which is an ideal class of K. In case this class is nontrivial for E, there is a semi-global minimal model for E, which is minimal at all primes except one, the ideal class of that one prime being the obstruction class.

Depends on: Definition 3.1 Definition 3.21 Definition 3.34 Definition 3.97 Definition 2.1 Definition 2.6 Definition 2.24

Lean code for Definition3.17●1 definition
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/GlobalMinimalModel.lean
    complete
    def WeierstrassCurve.IsGlobalMinimal.{u_1, u_2} (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2} [Field K] [Algebra O K]
      [IsFractionRing O K] (W : WeierstrassCurve K) [_hE : W.IsElliptic] :
      Prop
    def WeierstrassCurve.IsGlobalMinimal.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [_hE : W.IsElliptic] : Prop
    **A globally minimal Weierstrass equation** (LMFDB `ec.global_minimal_model`): `W` is minimal
    over the discrete valuation ring `Localization.AtPrime v.asIdeal` at every height-one prime `v` of
    `O`. Integrality over `O` is not assumed; it is the theorem `IsGlobalMinimal.isIntegral`. The
    ellipticity instance keeps the predicate to elliptic curves, the setting in which the invariants
    derived from it make sense; the definition itself does not consume it, which its binder name
    records. 
Definition3.18
Statement uses 2
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Good ordinary reduction. (LMFDB)

An elliptic curve E defined over a number field K is said to have ordinary reduction at a prime \mathfrak{p} of K if the reduction E_{\mathfrak{p}} of E modulo \mathfrak{p} is smooth, and E_{\mathfrak{p}} is ordinary.

An elliptic curve E_{\mathfrak{p}} defined over a finite field of characteristic p is ordinary if E_{\mathfrak{p}}(\overline{\F_p}) has nontrivial p-torsion.

Depends on: Definition 3.1 Definition 2.1

Lean code for Definition3.18●2 definitions
  • class(extends 2, 3 methods)defined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/OrdinaryReduction.lean
    complete
    class WeierstrassCurve.HasGoodOrdinaryReduction.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.HasGoodOrdinaryReduction.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    **Good ordinary reduction** at `p`: a minimal equation with good reduction whose reduction is
    ordinary at `p`, that is, has a nonzero `p`-torsion point over the algebraic closure of the residue
    field. It is meant for `p` the characteristic of the residue field. 
    • WeierstrassCurve.HasGoodReduction R W
    val_Δ_maximal : MaximalFor (fun C => WeierstrassCurve.IsIntegral R (C • W)) (fun C => WeierstrassCurve.valuation_Δ_aux R (C • W)) 1
    Inherited from
    1. WeierstrassCurve.HasGoodReduction
    2. WeierstrassCurve.IsMinimal
    goodReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.Δ = 1
    Inherited from
    1. WeierstrassCurve.HasGoodReduction
    isOrdinary_reduction : WeierstrassCurve.IsOrdinary p (WeierstrassCurve.reduction R W)
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Supersingular.lean
    complete
    def WeierstrassCurve.IsOrdinary.{u_1} {K : Type u_1} [Field K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    def WeierstrassCurve.IsOrdinary.{u_1}
      {K : Type u_1} [Field K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    **An ordinary Weierstrass curve at `p`**: the curve is not supersingular at `p`, so it has a
    nonzero `p`-torsion point over the algebraic closure of `K`. 
Definition3.19
Statement uses 4
Statement dependency previews
Preview
Definition 1.12
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 6
Reverse dependency previews
Preview
Definition 3.9
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Good reduction. (LMFDB)

An elliptic curve E defined over a number field K is said to have good reduction at a prime \mathfrak{p} of K if the reduction of E modulo \mathfrak{p} is smooth.

If E has good reduction at every prime of K then E is said to have everywhere good reduction.

Depends on: Definition 1.12 Definition 3.1 Definition 2.1 Definition 2.47

Lean code for Definition3.19●1 definition
  • class(extends 1, 2 methods)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    class WeierstrassCurve.HasGoodReduction.{u_1, u_2} (R : Type u_1) [CommRing R]
      [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2} [Field K]
      [Algebra R K] [IsFractionRing R K] (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.HasGoodReduction.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K) : Prop
    A minimal Weierstrass equation has good reduction if and only if
    the valuation of its discriminant is 1. 
    • WeierstrassCurve.IsMinimal R W
    val_Δ_maximal : MaximalFor (fun C => WeierstrassCurve.IsIntegral R (C • W)) (fun C => WeierstrassCurve.valuation_Δ_aux R (C • W)) 1
    Inherited from
    1. WeierstrassCurve.IsMinimal
    goodReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.Δ = 1
Definition3.20
Statement uses 2
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Good supersingular reduction. (LMFDB)

An elliptic curve E defined over a number field K is said to have supersingular reduction at a prime \mathfrak{p} of K if the reduction E_{\mathfrak{p}} of E modulo \mathfrak{p} is smooth, and E_{\mathfrak{p}} is supersingular.

An elliptic curve E_{\mathfrak{p}} defined over a finite field of characteristic p is supersingular if E_{\mathfrak{p}}(\overline{\F_p}) has no p-torsion.

Depends on: Definition 3.1 Definition 2.1

Lean code for Definition3.20●2 definitions
  • class(extends 2, 3 methods)defined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/OrdinaryReduction.lean
    complete
    class WeierstrassCurve.HasGoodSupersingularReduction.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.HasGoodSupersingularReduction.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    **Good supersingular reduction** at `p`: a minimal equation with good reduction whose
    reduction is supersingular at `p`, that is, has no nonzero `p`-torsion point over the algebraic
    closure of the residue field. It is meant for `p` the characteristic of the residue field. 
    • WeierstrassCurve.HasGoodReduction R W
    val_Δ_maximal : MaximalFor (fun C => WeierstrassCurve.IsIntegral R (C • W)) (fun C => WeierstrassCurve.valuation_Δ_aux R (C • W)) 1
    Inherited from
    1. WeierstrassCurve.HasGoodReduction
    2. WeierstrassCurve.IsMinimal
    goodReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.Δ = 1
    Inherited from
    1. WeierstrassCurve.HasGoodReduction
    isSupersingular_reduction : WeierstrassCurve.IsSupersingular p (WeierstrassCurve.reduction R W)
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Supersingular.lean
    complete
    def WeierstrassCurve.IsSupersingular.{u_1} {K : Type u_1} [Field K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    def WeierstrassCurve.IsSupersingular.{u_1}
      {K : Type u_1} [Field K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    **A supersingular Weierstrass curve at `p`**: the curve has no nonzero point of order dividing
    `p` over the algebraic closure of `K`. For an elliptic curve over a field of characteristic `p > 0`
    this is supersingularity in the sense of Silverman V.3.1. 
Definition3.21
Statement uses 3
Statement dependency previews
Preview
Definition 2.56
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Integral model. (LMFDB)

An integral model for an elliptic curve E defined over a number field K is a Weierstrass equation for E all of whose coefficients are in the ring of integers of K.

Depends on: Definition 3.1 Definition 3.97 Definition 2.56

Lean code for Definition3.21●1 definition
  • class(1 method)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    class WeierstrassCurve.IsIntegral.{u_1, u_2} (R : Type u_1) [CommRing R]
      {K : Type u_2} [Field K] [Algebra R K] (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.IsIntegral.{u_1, u_2}
      (R : Type u_1) [CommRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      (W : WeierstrassCurve K) : Prop
    A Weierstrass equation over the fraction field `K` is integral if
    it has coefficients in the ring `R`. 
    integral : ∃ W_int, W = W_int.baseChange K
Definition3.22
uses 0used by 0XL∃∀N

Order of the Intrinsic Subgroup. (LMFDB)

Let E be an elliptic curve over a field k. Define the pairing

\langle \cdot, \cdot \rangle \colon E(k)_{\text{tors}} \times E(k)_{\text{tors}} \to k^\times \otimes \mathbb{Q}/\mathbb{Z}

as follows. Let P, Q \in E(k)_{\text{tors}}. Take n \in \Z such that nP = 0, and f \in k(E)^\times with \operatorname{div}(f) = n(P - O). Let D = \sum e_jQ_j \in \operatorname{Div}^0(X) so that P, O \notin |D| and [D] = [Q - O]; we define

\langle P, Q \rangle = \prod_j N_{k(Q_j)/k}(f(Q_j))^{e_j} \otimes \frac 1n.

In , Yamazaki et al. show that this definition is independent of n and f, and the pairing is symmetric and biadditive.

The intrinsic subgroup of E is the set

E(k)_{\text{tors}}^\text{is} = \{P \in E(k)_{\text{tors}} : \langle P, Q \rangle = 0 \text{ for all } Q \in E(k)_{\text{tors}}\}.

For curves E/\Q, the intrinsic subgroup is cyclic with order at most 5, by the results of .

Definition3.23
Statement uses 10
Statement dependency previews
Preview
Definition 1.138
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Elliptic curve invariants. (LMFDB)

The invariants of an elliptic curve E over a number field K are its

Each Weierstrass model for E also has a discriminant, \Delta, and discriminant norm, N(\Delta), which are not strictly invariants of E since different models have, in general, different discriminants.

Depends on: Definition 3.1 Definition 3.9 Definition 3.10 Definition 3.12 Definition 3.30 Definition 3.37 Definition 3.97 Definition 2.1 Definition 1.138 Definition 1.150

Lean code for Definition3.23●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Conductor.lean
    complete
    def WeierstrassCurve.algorithmicConductor.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O]
      [∀ (v : IsDedekindDomain.HeightOneSpectrum O),
          PerfectField
            (IsLocalRing.ResidueField (Localization.AtPrime v.asIdeal))]
      {K : Type u_2} [Field K] [Algebra O K] [IsFractionRing O K]
      (W : WeierstrassCurve K) [W.IsElliptic] : Ideal O
    def WeierstrassCurve.algorithmicConductor.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O]
      [∀
          (v :
            IsDedekindDomain.HeightOneSpectrum
              O),
          PerfectField
            (IsLocalRing.ResidueField
              (Localization.AtPrime
                v.asIdeal))]
      {K : Type u_2} [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    **The algorithmic conductor** `∏ᵥ 𝔭ᵥ ^ fᵥ` of an elliptic curve over the fraction field of a
    Dedekind domain `O`: the product over the height-one primes of `O` of the prime powers whose
    exponents are the algorithmic Ogg exponents `fᵥ = v (Δ_min,ᵥ) − mᵥ + 1` read off Tate's algorithm.
    The product is finite (`hasFiniteMulSupport_pow_algorithmicOggExponent`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/DiscriminantIdeal.lean
    complete
    def WeierstrassCurve.minimalDiscriminantIdeal.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O] {K : Type u_2} [Field K]
      [Algebra O K] [IsFractionRing O K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    def WeierstrassCurve.minimalDiscriminantIdeal.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    **The minimal discriminant ideal** `𝔇_{E/K} = ∏ᵥ 𝔭ᵥ ^ v (Δ_min,ᵥ)`: the product over the
    height-one primes of `O` of the local minimal discriminants of `W`. The product is finite
    (`hasFiniteMulSupport_pow_localMinimalDiscriminantValuation`): after choosing an integral model,
    only finitely many primes divide its nonzero discriminant ideal, and every local minimal exponent
    is bounded by that ideal's multiplicity. 
Definition3.24
Statement uses 8
Statement dependency previews
Preview
Definition 1.8
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 8
Reverse dependency previews
Preview
Definition 3.25
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Isogeny between elliptic curves. (LMFDB)

Let E_1 and E_2 be two elliptic curves defined over a field K. An isogeny (over K) between E_1 and E_2 is a non-constant morphism f\colon E_1 \to E_2 defined over K, i.e., a morphism of curves given by rational functions with coefficients in K, such that f(O_{E_1})= O_{E_2}. Elliptic curves E_1 and E_2 are called isogenous if there exists an isogeny f\colon E_1 \to E_2.

An isogeny respects the group laws on E_1 and E_2, and hence determines a group homomorphism E_1(L)\to E_2(L) for any extension L of K. The kernel is a finite group, defined over K; in general the points in the kernel are not individually defined over K but over a finite Galois extension of K and are permuted by the Galois action.

The degree of an isogeny is its degree as a morphism of algebraic curves. For a separable isogeny this is equal to the cardinality of the kernel. Over a field of characteristic 0 such as a number field, all isogenies are separable. In finite characteristic p, isogenies of degree coprime to p are all separable.

An isogeny is cyclic if its kernel is a cyclic group. Every isogeny is the composition of a cyclic isogeny with the multiplication-by-m map for some m\ge1.

Isogeny is an equivalence relation, and the equivalence classes are called isogeny classes. Over a number field, it is a consequence of a theorem of Shafarevich that isogeny classes are finite. Between any two curves in an isogeny class there is a unique degree of cyclic isogeny between them, except when the curves have additional endomorphisms defined over the base field of the curves; in that case there are cyclic isogenies of infinitely many different degrees between any two isogenous curves.

Isogenies from an elliptic curve E to itself are called endomorphisms. The set of all endomrpshisms of E forms a ring under pointwise addition and composition, the endomorphism ring of E.

An isogeny of elliptic curves is a special case of an isogeny of abelian varieties.

Depends on: Definition 1.8 Definition 1.41 Definition 3.1 Definition 3.11 Definition 3.12 Definition 1.87 Definition 2.1 Definition 2.31

Lean code for Definition3.24●5 definitions
  • structure(2 fields)defined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Basic.lean
    complete
    structure TauCeti.Isogeny.{u_1} {F : Type u_1} [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) : Type u_1
    structure TauCeti.Isogeny.{u_1} {F : Type u_1}
      [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) :
      Type u_1
    The pullback data of a nonzero isogeny between affine Weierstrass curves.
    
    The `mapsInfinity` field is the algebraic form of pointedness. Injectivity and finiteness of the
    induced extension are the next results in the isogeny development; they are consequences of this
    condition rather than additional structure fields. 
    pullback : TauCeti.CoordinatePullback W₁ W₂
    The contravariant map out of the target coordinate ring. 
    mapsInfinity : self.pullback.MapsInfinity
    The source point at infinity maps to the target point at infinity. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Basic.lean
    complete
    def WeierstrassCurve.IsIsogenous.{u_1} {K : Type u_1} [Field K]
      (W₁ W₂ : WeierstrassCurve K) : Prop
    def WeierstrassCurve.IsIsogenous.{u_1}
      {K : Type u_1} [Field K]
      (W₁ W₂ : WeierstrassCurve K) : Prop
    Two Weierstrass curves `W₁` and `W₂` over a field `K` are **isogenous** (LMFDB `ec.isogeny`)
    if there is an isogeny `W₁ → W₂` over `K`: a nonconstant morphism defined over `K` sending the
    point at infinity of `W₁` to that of `W₂` (`TauCeti.Isogeny`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Degree.lean
    complete
    def TauCeti.Isogeny.degree.{u_1} {F : Type u_1} [Field F]
      {W₁ W₂ : WeierstrassCurve.Affine F} (φ : TauCeti.Isogeny W₁ W₂) : ℕ
    def TauCeti.Isogeny.degree.{u_1}
      {F : Type u_1} [Field F]
      {W₁ W₂ : WeierstrassCurve.Affine F}
      (φ : TauCeti.Isogeny W₁ W₂) : ℕ
    **The degree of an isogeny**: the dimension of the source function field `W₁.FunctionField`
    over the image of `fieldPullback` — the pulled-back copy of the target's function field
    `W₂.FunctionField`, which `fieldPullback` embeds isomorphically.
    
    This is Silverman, *The Arithmetic of Elliptic Curves*, II.2.4(a). The extension is finite
    (`finiteDimensional` below), so the dimension is honest and positive. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Basic.lean
    complete
    def TauCeti.Isogeny.IsCyclic.{u_1} {K : Type u_1} [Field K]
      {W₁ W₂ : WeierstrassCurve.Affine K} [WeierstrassCurve.IsElliptic W₁]
      [WeierstrassCurve.IsElliptic W₂] (φ : TauCeti.Isogeny W₁ W₂) : Prop
    def TauCeti.Isogeny.IsCyclic.{u_1}
      {K : Type u_1} [Field K]
      {W₁ W₂ : WeierstrassCurve.Affine K}
      [WeierstrassCurve.IsElliptic W₁]
      [WeierstrassCurve.IsElliptic W₂]
      (φ : TauCeti.Isogeny W₁ W₂) : Prop
    An isogeny `φ` over `K` is **cyclic** (LMFDB `ec.isogeny`) if its kernel, the group of points
    over an algebraic closure of `K` that `φ` sends to the point at infinity (`geometricKer`), is
    cyclic. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Basic.lean
    complete
    def WeierstrassCurve.isogenySetoid.{u_1} (K : Type u_1) [Field K] :
      Setoid { W // W.IsElliptic }
    def WeierstrassCurve.isogenySetoid.{u_1}
      (K : Type u_1) [Field K] :
      Setoid { W // W.IsElliptic }
    **Isogeny** (LMFDB `ec.isogeny`) as an equivalence relation on the elliptic curves over `K`.
    Its equivalence classes are the isogeny classes. 
Definition3.25
Statement uses 2
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 8
Reverse dependency previews
Preview
Definition 3.26
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Isogeny class of an elliptic curve. (LMFDB)

The isogeny class (over a field K) of an elliptic curve E defined over K is the set of all isomorphism classes of elliptic curves defined over K that are isogenous to E over K. Over a number field K this is always a finite set; over \Q, it has at most 8 elements by a theorem of Kenku .

Depends on: Definition 3.1 Definition 3.24

Lean code for Definition3.25●3 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Class.lean
    complete
    def WeierstrassCurve.isogenyClass.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : Set (WeierstrassCurve.IsomorphismClass K)
    def WeierstrassCurve.isogenyClass.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) :
      Set
        (WeierstrassCurve.IsomorphismClass K)
    The **isogeny class** (LMFDB `ec.isogeny_class`) of an elliptic curve `W` over `K`: the set of
    isomorphism classes of elliptic curves over `K` that are isogenous to `W` over `K`. It contains the
    class of `W`, and two elliptic curves have the same isogeny class exactly when they are isogenous
    (`isogenyClass_eq_iff`). 
  • abbrevdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Class.lean
    complete
    abbrev WeierstrassCurve.IsomorphismClass.{u_1} (K : Type u_1) [Field K] :
      Type u_1
    abbrev WeierstrassCurve.IsomorphismClass.{u_1}
      (K : Type u_1) [Field K] : Type u_1
    The **isomorphism classes** (LMFDB `ec.isomorphism`) of Weierstrass curves over `K`: the orbits
    of the changes of variables `WeierstrassCurve.VariableChange K`, which are the isomorphisms of
    Weierstrass curves over `K`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Basic.lean
    complete
    def WeierstrassCurve.IsIsogenous.{u_1} {K : Type u_1} [Field K]
      (W₁ W₂ : WeierstrassCurve K) : Prop
    def WeierstrassCurve.IsIsogenous.{u_1}
      {K : Type u_1} [Field K]
      (W₁ W₂ : WeierstrassCurve K) : Prop
    Two Weierstrass curves `W₁` and `W₂` over a field `K` are **isogenous** (LMFDB `ec.isogeny`)
    if there is an isogeny `W₁ → W₂` over `K`: a nonconstant morphism defined over `K` sending the
    point at infinity of `W₁` to that of `W₂` (`TauCeti.Isogeny`). 
Definition3.26
Statement uses 3
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Isogeny class degree. (LMFDB)

The isogeny class degree of an isogeny class of elliptic curves is the least common multiple of the degrees of all rational cyclic isogenies between elliptic curves in the isogeny class.

Depends on: Definition 3.1 Definition 3.24 Definition 3.25

Lean code for Definition3.26●4 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/ClassDegree.lean
    complete
    def WeierstrassCurve.isogenyClassDegree.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : ℕ
    def WeierstrassCurve.isogenyClassDegree.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : ℕ
    The **isogeny class degree** (LMFDB `ec.isogeny_class_degree`) of an elliptic curve `W` over
    `K`: the least common multiple of the degrees of the cyclic isogenies over `K` between curves in
    the isogeny class of `W` (`isogenyClassCyclicDegrees`), that is, their least positive common
    multiple. It is `0` if these degrees have no common multiple, as happens when the curves have
    complex multiplication over `K`: then there are cyclic isogenies of infinitely many degrees. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/ClassDegree.lean
    complete
    def WeierstrassCurve.isogenyClassCyclicDegrees.{u_1} {K : Type u_1}
      [Field K] (W : WeierstrassCurve K) : Set ℕ
    def WeierstrassCurve.isogenyClassCyclicDegrees.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : Set ℕ
    The degrees of the cyclic isogenies over `K` (`TauCeti.Isogeny.IsCyclic`) between elliptic
    curves in the isogeny class of `W`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/ClassDegree.lean
    complete
    def WeierstrassCurve.IsomorphismClass.cyclicIsogenyDegrees.{u_1}
      {K : Type u_1} [Field K]
      (c c' : WeierstrassCurve.IsomorphismClass K) : Set ℕ
    def WeierstrassCurve.IsomorphismClass.cyclicIsogenyDegrees.{u_1}
      {K : Type u_1} [Field K]
      (c c' :
        WeierstrassCurve.IsomorphismClass K) :
      Set ℕ
    The degrees of the cyclic isogenies over `K` (`TauCeti.Isogeny.IsCyclic`) from an elliptic
    curve in the isomorphism class `c` to an elliptic curve in the isomorphism class `c'`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Basic.lean
    complete
    def TauCeti.Isogeny.IsCyclic.{u_1} {K : Type u_1} [Field K]
      {W₁ W₂ : WeierstrassCurve.Affine K} [WeierstrassCurve.IsElliptic W₁]
      [WeierstrassCurve.IsElliptic W₂] (φ : TauCeti.Isogeny W₁ W₂) : Prop
    def TauCeti.Isogeny.IsCyclic.{u_1}
      {K : Type u_1} [Field K]
      {W₁ W₂ : WeierstrassCurve.Affine K}
      [WeierstrassCurve.IsElliptic W₁]
      [WeierstrassCurve.IsElliptic W₂]
      (φ : TauCeti.Isogeny W₁ W₂) : Prop
    An isogeny `φ` over `K` is **cyclic** (LMFDB `ec.isogeny`) if its kernel, the group of points
    over an algebraic closure of `K` that `φ` sends to the point at infinity (`geometricKer`), is
    cyclic. 
Definition3.27
Statement uses 2
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Isogeny graph of an isogeny class of elliptic curves. (LMFDB)

The isogeny graph of an isogeny class of elliptic curves is the graph whose vertices are the isomorphism classes (over the base field) of elliptic curves in the isogeny class and whose edges are the isogenies of prime degree between the curves representing the vertices.

The vertices of the isogeny graphs in the LMFDB are labeled by the final entry of the LMFDB label of the corresponding (isomorphism classes of) elliptic curves. Their edges, of which there may be several between any two given vertices, are labeled by the prime that is the degree of the corresponding isogeny.

Depends on: Definition 3.1 Definition 3.25

Lean code for Definition3.27●2 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Graph.lean
    complete
    def WeierstrassCurve.IsogenyGraph.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : Type u_1
    def WeierstrassCurve.IsogenyGraph.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : Type u_1
    The **isogeny graph** (LMFDB `ec.isogeny_graph`) of an elliptic curve `W` over `K`: its vertices
    are the isomorphism classes in the isogeny class of `W`, and its edges are labelled by primes. It
    is a quiver: the arrows from `c` to `c'` are the primes `ℓ` such that there is an isogeny of degree
    `ℓ` over `K` from a curve in `c` to a curve in `c'`. Its reversal of arrows, which keeps the label
    by taking dual isogenies, is involutive, so it is an undirected multigraph. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Graph.lean
    complete
    def WeierstrassCurve.IsomorphismClass.HasIsogenyOfDegree.{u_1}
      {K : Type u_1} [Field K] (n : ℕ)
      (c c' : WeierstrassCurve.IsomorphismClass K) : Prop
    def WeierstrassCurve.IsomorphismClass.HasIsogenyOfDegree.{u_1}
      {K : Type u_1} [Field K] (n : ℕ)
      (c c' :
        WeierstrassCurve.IsomorphismClass K) :
      Prop
    There is an isogeny of degree `n` over `K` from a Weierstrass curve in the isomorphism class
    `c` to a Weierstrass curve in the isomorphism class `c'`. 
Definition3.28
Statement uses 2
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Isogeny matrix of an isogeny class of elliptic curves. (LMFDB)

The isogeny matrix of an isogeny class of elliptic curves is a symmetric matrix with integral entries that records the minimum among the degrees of the cyclic isogenies between the elliptic curves in the isogeny class.

In the LMFDB, the rows and columns of the matrices are ordered by the final entry of the label of the elliptic curves in the isogeny class in question, so that the (i,j)-th entry is the smallest possible degree of a cyclic isogeny between the i-th and j-th curve in the isogeny class.

Depends on: Definition 3.1 Definition 3.25

Lean code for Definition3.28●4 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Matrix.lean
    complete
    def WeierstrassCurve.isogenyMatrix.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : Matrix ↑W.isogenyClass ↑W.isogenyClass ℕ
    def WeierstrassCurve.isogenyMatrix.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) :
      Matrix ↑W.isogenyClass ↑W.isogenyClass ℕ
    The **isogeny matrix** (LMFDB `ec.isogeny_matrix`) of an elliptic curve `W` over `K`: the
    matrix indexed by the isomorphism classes in the isogeny class of `W` whose `(c, c')` entry is the
    least degree of a cyclic isogeny over `K` (`TauCeti.Isogeny.IsCyclic`) from a curve in `c` to a
    curve in `c'`. Over a field of characteristic zero it is symmetric (`isSymm_isogenyMatrix`). The
    LMFDB orders its rows and columns by the LMFDB labels of the curves. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Matrix.lean
    complete
    theorem WeierstrassCurve.isSymm_isogenyMatrix.{u_1} {K : Type u_1} [Field K]
      {W : WeierstrassCurve K} [CharZero K] : W.isogenyMatrix.IsSymm
    theorem WeierstrassCurve.isSymm_isogenyMatrix.{u_1}
      {K : Type u_1} [Field K]
      {W : WeierstrassCurve K} [CharZero K] :
      W.isogenyMatrix.IsSymm
    **The isogeny matrix is symmetric** over a field of characteristic zero: the dual of a cyclic
    isogeny is a cyclic isogeny of the same degree in the other direction. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/ClassDegree.lean
    complete
    def WeierstrassCurve.IsomorphismClass.cyclicIsogenyDegrees.{u_1}
      {K : Type u_1} [Field K]
      (c c' : WeierstrassCurve.IsomorphismClass K) : Set ℕ
    def WeierstrassCurve.IsomorphismClass.cyclicIsogenyDegrees.{u_1}
      {K : Type u_1} [Field K]
      (c c' :
        WeierstrassCurve.IsomorphismClass K) :
      Set ℕ
    The degrees of the cyclic isogenies over `K` (`TauCeti.Isogeny.IsCyclic`) from an elliptic
    curve in the isomorphism class `c` to an elliptic curve in the isomorphism class `c'`. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/CyclicDual.lean
    complete
    theorem TauCeti.Isogeny.IsCyclic.dual.{u_1} {K : Type u_1} [Field K]
      [CharZero K] {W₁ W₂ : WeierstrassCurve.Affine K}
      [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂]
      {φ : TauCeti.Isogeny W₁ W₂} (hφ : φ.IsCyclic) : φ.dual.IsCyclic
    theorem TauCeti.Isogeny.IsCyclic.dual.{u_1}
      {K : Type u_1} [Field K] [CharZero K]
      {W₁ W₂ : WeierstrassCurve.Affine K}
      [WeierstrassCurve.IsElliptic W₁]
      [WeierstrassCurve.IsElliptic W₂]
      {φ : TauCeti.Isogeny W₁ W₂}
      (hφ : φ.IsCyclic) : φ.dual.IsCyclic
    **The dual of a cyclic isogeny is cyclic**, over a field of characteristic zero: the kernel of
    `φ̂` is the image under `φ` of the `n`-torsion, isomorphic to the quotient of `(ℤ/n)²` by the kernel
    of `φ`, a cyclic subgroup of order `n = deg φ`, and such a quotient is cyclic. 
Definition3.29
Statement uses 2
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.30
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Isomorphism of elliptic curves. (LMFDB)

An isomorphism between two elliptic curves E, E' defined over a field K is an isogeny f:E\to E' such that there exist an isogeny g:E'\to E with the compositions g\circ f and f\circ g being the identity maps. Equivalently, an isomorphism E\to E' is an isogeny of degree 1.

Isomorphism is an equivalence relation, the equivalnce classes being called isomorphism classes.

When E and E' are defined by Weierstrass models, such an isomorphism is uniquely represented as a Weierstrass isomorphism between these models.

Depends on: Definition 3.1 Definition 3.24

Lean code for Definition3.29●1 definition
  • structure(4 fields)defined in Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean
    complete
    structure WeierstrassCurve.VariableChange.{u} (R : Type u) [CommRing R] : Type u
    structure WeierstrassCurve.VariableChange.{u}
      (R : Type u) [CommRing R] : Type u
    An admissible linear change of variables of Weierstrass curves defined over a ring `R` given by
    a tuple `(u, r, s, t)` for some `u` in `Rˣ` and some `r, s, t` in `R`. As a matrix, it is
    $$\begin{pmatrix} u^2 & 0 & r \cr u^2s & u^3 & t \cr 0 & 0 & 1 \end{pmatrix}.$$
    In other words, this is the change of variables `(X, Y) ↦ (u²X + r, u³Y + u²sX + t)`.
    When `R` is a field, any two isomorphic Weierstrass equations are related by this. 
    u : Rˣ
    The `u` coefficient of an admissible linear change of variables, which must be a unit. 
    r : R
    The `r` coefficient of an admissible linear change of variables. 
    s : R
    The `s` coefficient of an admissible linear change of variables. 
    t : R
    The `t` coefficient of an admissible linear change of variables. 
Definition3.30
Statement uses 4
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 9
Reverse dependency previews
Preview
Definition 3.5
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

j-invariant of an elliptic curve. (LMFDB)

The j-invariant of an elliptic curve E defined over a field K is an invariant of the isomorphism class of E over \overline{K}. If the Weierstrass equation of E is

y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6,

then its j-invariant is given by

j = \frac{c_4^3}{\Delta} where

\begin{aligned} b_2 &= a_1^2 + 4 a_2\\ b_4 &= 2a_4 + a_1 a_3\\ b_6 &= a_3^2 + 4 a_6 \\ b_8 &= a_1^2 a_6 + 4 a_2 a_6 - a_1 a_3 a_4 + a_2 a_3^2 - a_4^2\\ c_4 &= b_2^2 - 24b_4 \end{aligned}

and

\Delta=-b_2^2b_8 - 8 b_4^3 -27 b_6 ^2 + 9 b_2 b_4 b_6

is the discriminant of E.

Depends on: Definition 3.1 Definition 3.10 Definition 3.29 Definition 3.97

Lean code for Definition3.30●1 definition
  • defdefined in Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean
    complete
    def WeierstrassCurve.j.{u} {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) [W.IsElliptic] : R
    def WeierstrassCurve.j.{u} {R : Type u}
      [CommRing R] (W : WeierstrassCurve R)
      [W.IsElliptic] : R
    The j-invariant `j` of an elliptic curve, which is invariant under isomorphisms over `R`.
    Note that to prove two equal elliptic curves have the same `j`, you need to use `simp_rw`,
    as `rw` cannot transfer instance `WeierstrassCurve.IsElliptic` automatically. 
Definition3.31
Statement uses 4
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Kodaira symbol. (LMFDB)

The Kodaira symbol of an elliptic curve E defined over a number field encodes the reduction type of E at a prime \mathfrak{p} of K. It describes the combinatorics of the special fiber of the Ne;ron model of the elliptic curve. The Ne;ron model is obtained from the local minimal model for E at \mathfrak{p} using Tate's algorithm. For an exact definition and properties, consult a text on elliptic curves.

Depends on: Definition 3.1 Definition 3.34 Definition 3.84 Definition 2.1

Lean code for Definition3.31●2 definitions
  • inductive(8 constructors)defined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Symbol.lean
    complete
    inductive TauCeti.ReductionSymbol : Type
    inductive TauCeti.ReductionSymbol : Type
    The reduction symbols output by Tate's algorithm. The parameterized families encode `Iₙ`
    and `Iₙ*`; their zero cases are `I₀` and `I₀*`. 
    TauCeti.ReductionSymbol.I (n : ℕ) : TauCeti.ReductionSymbol
    The `Iₙ` family, with `I₀` denoting good reduction. 
    TauCeti.ReductionSymbol.II : TauCeti.ReductionSymbol
    The additive reduction symbol `II`. 
    TauCeti.ReductionSymbol.III : TauCeti.ReductionSymbol
    The additive reduction symbol `III`. 
    TauCeti.ReductionSymbol.IV : TauCeti.ReductionSymbol
    The additive reduction symbol `IV`. 
    TauCeti.ReductionSymbol.IStar (n : ℕ) :
      TauCeti.ReductionSymbol
    The additive family `Iₙ*`, with `I₀*` at `n = 0`. 
    TauCeti.ReductionSymbol.IVStar : TauCeti.ReductionSymbol
    The additive reduction symbol `IV*`. 
    TauCeti.ReductionSymbol.IIIStar : TauCeti.ReductionSymbol
    The additive reduction symbol `III*`. 
    TauCeti.ReductionSymbol.IIStar : TauCeti.ReductionSymbol
    The additive reduction symbol `II*`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Curve.lean
    complete
    def WeierstrassCurve.reductionSymbol.{u_1, u_2} (R : Type u_1) [CommRing R]
      [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2} [Field K]
      [Algebra R K] [IsFractionRing R K]
      [PerfectField (IsLocalRing.ResidueField R)] (W : WeierstrassCurve K)
      [W.IsElliptic] : TauCeti.ReductionSymbol
    def WeierstrassCurve.reductionSymbol.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      [PerfectField
          (IsLocalRing.ResidueField R)]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : TauCeti.ReductionSymbol
    **The reduction symbol of an elliptic curve**: the symbol at which Tate's algorithm stops on a
    minimal equation of `W` over `R`. It does not depend on the minimal equation, on the changes of
    variables made by the algorithm, or on the uniformiser (`reductionSymbol_eq_of_isTateTerminal`). 
Definition3.32
Statement uses 5
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Local data of an elliptic curve. (LMFDB)

The local data of an elliptic curve E defined over a number field K at a prime \mathfrak{p} of K consists of

  • the Tamagawa number c_{\mathfrak{p}}

  • the Kodaira symbol

  • the reduction type

  • the local root number

  • the conductor valuation \text{ord}_{\mathfrak{p}}(\mathfrak{N})

  • the discriminant_valuation \text{ord}_{\mathfrak{p}}(\mathfrak{D})

  • the j-invariant denominator valuation \text{ord}_{\mathfrak{p}}(j)_{-}

Depends on: Definition 3.1 Definition 3.31 Definition 3.84 Definition 3.93 Definition 2.1

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

Local minimal discriminant of an elliptic curve. (LMFDB)

Let E be an elliptic curve defined over a number field K, and \mathfrak{p} a prime of K. The local minimal discriminant of E is the ideal \mathfrak{p}^e where e is is the valuation of the discriminant of a local minimal model for E at \mathfrak{p}.

Depends on: Definition 3.1 Definition 3.34 Definition 2.1

Lean code for Definition3.33●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/LocalDiscriminant.lean
    complete
    def WeierstrassCurve.localMinimalDiscriminant.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K]
      (W : WeierstrassCurve K) : Ideal R
    def WeierstrassCurve.localMinimalDiscriminant.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K) : Ideal R
    **The local minimal discriminant ideal.** It is the principal ideal of `R` generated by the
    discriminant of a minimal integral equation in the variable-change orbit of `W`.
    
    The definition uses Mathlib's chosen `W.minimal R`; use `localMinimalDiscriminant_eq_span_Δ` to
    compute it from any minimal equation in the same orbit. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Valuation.lean
    complete
    def WeierstrassCurve.localMinimalDiscriminantValuation.{u_1, u_2}
      (R : Type u_1) [CommRing R] [IsDomain R] [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K]
      (W : WeierstrassCurve K) [W.IsElliptic] : ℕ
    def WeierstrassCurve.localMinimalDiscriminantValuation.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : ℕ
    **The valuation of the local minimal discriminant.** This is the exponent of the maximal
    ideal of `R` in `W.localMinimalDiscriminant R`, equivalently the additive valuation of the
    discriminant of a minimal integral equation in the variable-change orbit of `W`.
    
    The ellipticity hypothesis ensures that this discriminant is nonzero, so the extended-natural
    additive valuation is finite and has an honest natural-number value. 
Definition3.34
Statement uses 5
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.17
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Local minimal model. (LMFDB)

A local minimal model for an elliptic curve E defined over a number field K at a prime \mathfrak{p} of K is a Weierstrass equation for E all of whose coefficients are integral at \mathfrak{p}, and whose discriminant has minimal valuation at \mathfrak{p} among all such equations.

Depends on: Definition 3.1 Definition 3.10 Definition 3.97 Definition 2.1 Definition 2.28

Lean code for Definition3.34●1 definition
  • defdefined in Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    def WeierstrassCurve.minimal.{u_1, u_2} (R : Type u_1) [CommRing R]
      [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2} [Field K]
      [Algebra R K] [IsFractionRing R K] (W : WeierstrassCurve K) :
      WeierstrassCurve K
    def WeierstrassCurve.minimal.{u_1, u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K) :
      WeierstrassCurve K
    A minimal Weierstrass equation for a given Weierstrass curve over `K`. 
Definition3.35
Statement uses 5
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Maximal l-adic Galois representation. (LMFDB)

Let E be an elliptic curve over a number field K, let \ell be prime, and let

\rho_{E,\ell}\colon \Gal(\overline{K}/K)\to \Aut(E[\ell^\infty]) \simeq \GL_2(\Z_{\ell})

be the \ell-adic Galois representation associated to E.

If E does not have potential complex multiplication, then \rho_{E,\ell} is maximal if its image contains \SL_2(\Z_{\ell}).

In general, let \mathcal{O} be the geometric endomorphism ring of E. Then E[\ell^\infty] is an \mathcal{O}-module, and we view \Aut_{\mathcal{O}}(E[\ell^\infty]) as a subgroup of \Aut(E[\ell^\infty]) \simeq \GL_2(\Z_{\ell}) that contains the image of \rho_{E,\ell} whenever K contains \mathcal O. We say that \rho_{E,\ell} is maximal if its image contains \SL_2(\Z_{\ell}) \cap \Aut_{\mathcal{O}}(E[\ell^\infty]), in which case we call \ell a maximal prime for E.

Depends on: Definition 3.1 Definition 3.8 Definition 3.13 Definition 3.16 Definition 2.1

Lean code for Definition3.35●4 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/GaloisRep/Maximal.lean
    complete
    def WeierstrassCurve.IsMaximalTateModuleGaloisRepresentation.{u_1}
      {F : Type u_1} [Field F] [DecidableEq (SeparableClosure F)]
      (W : WeierstrassCurve F) [W.IsElliptic] (ℓ : ℕ) [Fact (Nat.Prime ℓ)] :
      Prop
    def WeierstrassCurve.IsMaximalTateModuleGaloisRepresentation.{u_1}
      {F : Type u_1} [Field F]
      [DecidableEq (SeparableClosure F)]
      (W : WeierstrassCurve F) [W.IsElliptic]
      (ℓ : ℕ) [Fact (Nat.Prime ℓ)] : Prop
    The `ℓ`-adic Galois representation of `W` is **maximal**, and `ℓ` is a **maximal prime** for `W`
    (LMFDB `ec.maximal_elladic_galois_rep`), if its image contains `SL₂(ℤ_ℓ) ∩ Aut_O(T_ℓ E)`, the
    automorphisms of the Tate module of determinant `1` commuting with the geometric endomorphisms.
    The LMFDB phrases it on `E[ℓ^∞]`, whose automorphisms are those of `T_ℓ E`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/GaloisRep/Maximal.lean
    complete
    def WeierstrassCurve.tateModuleGeometricEndCentralizer.{u_1} {F : Type u_1}
      [Field F] [DecidableEq (SeparableClosure F)] (W : WeierstrassCurve F)
      [W.IsElliptic] (ℓ : ℕ) [Fact (Nat.Prime ℓ)] :
      Subgroup
        (LinearMap.GeneralLinearGroup ℤ_[ℓ]
          (TauCeti.TateModule ℓ
            (W.baseChange (SeparableClosure F)).toAffine.Point))
    def WeierstrassCurve.tateModuleGeometricEndCentralizer.{u_1}
      {F : Type u_1} [Field F]
      [DecidableEq (SeparableClosure F)]
      (W : WeierstrassCurve F) [W.IsElliptic]
      (ℓ : ℕ) [Fact (Nat.Prime ℓ)] :
      Subgroup
        (LinearMap.GeneralLinearGroup ℤ_[ℓ]
          (TauCeti.TateModule ℓ
            (W.baseChange
                  (SeparableClosure
                    F)).toAffine.Point))
    `Aut_O(T_ℓ E)`: the `ℤ_ℓ`-linear automorphisms of the Tate module of `W` over a separable
    closure that commute with the action of the geometric endomorphism ring `O`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateModule/Galois.lean
    complete
    def WeierstrassCurve.tateModuleGaloisRepresentation.{u_1, u_2}
      {F : Type u_1} {K : Type u_2} [Field F] [Field K] [DecidableEq K]
      [Algebra F K] (W : WeierstrassCurve F) (ℓ : ℕ) [Fact (Nat.Prime ℓ)] :
      Representation ℤ_[ℓ] Gal(K/F)
        (TauCeti.TateModule ℓ (W.baseChange K).toAffine.Point)
    def WeierstrassCurve.tateModuleGaloisRepresentation.{u_1,
        u_2}
      {F : Type u_1} {K : Type u_2} [Field F]
      [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F) (ℓ : ℕ)
      [Fact (Nat.Prime ℓ)] :
      Representation ℤ_[ℓ] Gal(K/F)
        (TauCeti.TateModule ℓ
          (W.baseChange K).toAffine.Point)
    **The `ℓ`-adic Galois representation** of `W`: an `F`-automorphism `σ` of `K` acts on the
    Tate module `T_ℓ E` of `W` over `K` by applying `σ` to the coordinates of every point of every
    level `E[ℓ ^ n]`. 
  • abbrevdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/ComplexMultiplication.lean
    complete
    abbrev WeierstrassCurve.GeometricEnd.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) : Type u_1
    abbrev WeierstrassCurve.GeometricEnd.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) : Type u_1
    **The geometric endomorphism ring** of `W`: the endomorphisms of its base change to the
    separable closure `SeparableClosure F`. It contains the endomorphisms defined over `F`, through
    base change `TauCeti.Isogeny.Hom.mapRingHom`, and may be strictly larger. 
Definition3.36
Statement uses 8
Statement dependency previews
Preview
Definition 1.63
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Maximal Galois representation. (LMFDB)

Let E be an elliptic curve over a number field K, let \ell be prime, and let

\bar\rho_{E,\ell}\colon \Gal(\overline{K}/K)\to \Aut(E[\ell]) \simeq \GL_2(\F_{\ell})

be the mod-\ell Galois representation associated to E.

If E does not have potential complex multiplication, then \bar\rho_{E,\ell} is maximal if its image contains \SL_2(\F_{\ell}).

In general, let \mathcal{O} be the geometric endomorphism ring. Then E[\ell] is an \mathcal{O}-module and we view \Aut_{\mathcal{O}}(E[\ell]) \leq \Aut(E[\ell]) \simeq \GL_2(\F_{\ell}). We say that \bar\rho_{E,\ell} is maximal if its image contains \SL_2(\F_{\ell}) \cap \Aut_{\mathcal{O}}(E[\ell]).

For K=\Q, the image of a maximal \bar\rho_{E,\ell} is \GL_2(\F_{\ell}), a Borel subgroup, the normalizer of a split Cartan subgroup, or the normalizer of a non-split Cartan subgroup, depending on whether \mathcal{O}=\Z or \mathcal{O}\ne \Z and \ell is ramified, split, or inert in \mathcal{O}, respectively.

Depends on: Definition 3.1 Definition 3.8 Definition 3.13 Definition 3.16 Definition 1.63 Definition 1.70 Definition 1.71 Definition 2.1

Lean code for Definition3.36●5 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/GaloisRep/Maximal.lean
    complete
    def WeierstrassCurve.IsMaximalModGaloisRepresentation.{u_1} {F : Type u_1}
      [Field F] [DecidableEq (SeparableClosure F)] (W : WeierstrassCurve F)
      [W.IsElliptic] (ℓ : ℕ) : Prop
    def WeierstrassCurve.IsMaximalModGaloisRepresentation.{u_1}
      {F : Type u_1} [Field F]
      [DecidableEq (SeparableClosure F)]
      (W : WeierstrassCurve F) [W.IsElliptic]
      (ℓ : ℕ) : Prop
    The mod-`ℓ` Galois representation of `W` is **maximal** (LMFDB `ec.maximal_galois_rep`) if its
    image contains `SL₂(𝔽_ℓ) ∩ Aut_O(E[ℓ])`, the automorphisms of `E[ℓ]` of determinant `1` commuting
    with the geometric endomorphisms. Without potential complex multiplication this says that the image
    contains `SL₂(𝔽_ℓ)` (`isMaximalModGaloisRepresentation_iff_of_not_hasGeometricCM`). 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/GaloisRep/Maximal.lean
    complete
    def WeierstrassCurve.torsionGeometricEndCentralizer.{u_1} {F : Type u_1}
      [Field F] [DecidableEq (SeparableClosure F)] (W : WeierstrassCurve F)
      [W.IsElliptic] (ℓ : ℕ) :
      Subgroup
        (LinearMap.GeneralLinearGroup (ZMod ℓ)
          ↥(AddSubgroup.torsionBy
              (W.baseChange (SeparableClosure F)).toAffine.Point ↑ℓ))
    def WeierstrassCurve.torsionGeometricEndCentralizer.{u_1}
      {F : Type u_1} [Field F]
      [DecidableEq (SeparableClosure F)]
      (W : WeierstrassCurve F) [W.IsElliptic]
      (ℓ : ℕ) :
      Subgroup
        (LinearMap.GeneralLinearGroup (ZMod ℓ)
          ↥(AddSubgroup.torsionBy
              (W.baseChange
                    (SeparableClosure
                      F)).toAffine.Point
              ↑ℓ))
    `Aut_O(E[ℓ])`: the `𝔽_ℓ`-linear automorphisms of the `ℓ`-torsion of `W` over a separable
    closure that commute with the action of the geometric endomorphism ring `O`. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/GaloisRep/Maximal.lean
    complete
    theorem WeierstrassCurve.isMaximalModGaloisRepresentation_iff_of_not_hasGeometricCM.{u_1}
      {F : Type u_1} [Field F] [DecidableEq (SeparableClosure F)]
      (W : WeierstrassCurve F) [W.IsElliptic] (ℓ : ℕ)
      (h : ¬W.HasGeometricCM) :
      W.IsMaximalModGaloisRepresentation ℓ ↔
        (Units.map LinearMap.det).ker ≤ (W.modGaloisRepresentation ℓ).range
    theorem WeierstrassCurve.isMaximalModGaloisRepresentation_iff_of_not_hasGeometricCM.{u_1}
      {F : Type u_1} [Field F]
      [DecidableEq (SeparableClosure F)]
      (W : WeierstrassCurve F) [W.IsElliptic]
      (ℓ : ℕ) (h : ¬W.HasGeometricCM) :
      W.IsMaximalModGaloisRepresentation ℓ ↔
        (Units.map LinearMap.det).ker ≤
          (W.modGaloisRepresentation ℓ).range
    **Without potential complex multiplication, the mod-`ℓ` representation is maximal exactly when
    its image contains `SL₂(𝔽_ℓ)`**, that is, every automorphism of `E[ℓ]` of determinant `1`. 
  • abbrevdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/ComplexMultiplication.lean
    complete
    abbrev WeierstrassCurve.GeometricEnd.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) : Type u_1
    abbrev WeierstrassCurve.GeometricEnd.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) : Type u_1
    **The geometric endomorphism ring** of `W`: the endomorphisms of its base change to the
    separable closure `SeparableClosure F`. It contains the endomorphisms defined over `F`, through
    base change `TauCeti.Isogeny.Hom.mapRingHom`, and may be strictly larger. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/Torsion.lean
    complete
    def TauCeti.Isogeny.Hom.torsionRepresentation.{u_1} {F : Type u_1} [Field F]
      [DecidableEq F] (W : WeierstrassCurve.Affine F)
      [WeierstrassCurve.IsElliptic W] (N : ℕ) :
      TauCeti.Isogeny.Hom W W →+*
        Module.End (ZMod N) ↥(AddSubgroup.torsionBy W.Point ↑N)
    def TauCeti.Isogeny.Hom.torsionRepresentation.{u_1}
      {F : Type u_1} [Field F] [DecidableEq F]
      (W : WeierstrassCurve.Affine F)
      [WeierstrassCurve.IsElliptic W]
      (N : ℕ) :
      TauCeti.Isogeny.Hom W W →+*
        Module.End (ZMod N)
          ↥(AddSubgroup.torsionBy W.Point ↑N)
    **The action of the endomorphism ring on `N`-torsion.** This packages additivity and
    functoriality of `torsionLinearMap` as a ring homomorphism, ready to be written as matrices after
    choosing a basis of the torsion module whenever it is free. 
Definition3.37
Statement uses 8
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 5
Reverse dependency previews
Preview
Definition 3.23
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Minimal discriminant. (LMFDB)

The minimal discriminant (or minimal discriminant ideal) of an elliptic curve E over a number field K is the ideal \mathfrak{D}_{min} of the ring of integers of K given by

\mathfrak{D}_{\mathrm{min}} = \prod_{\mathfrak{p}}\mathfrak{p}^{e_{\mathfrak{p}}},

where the product is over all primes \mathfrak{p} of K, and \mathfrak{p}^{e_{\mathfrak{p}}} is the local minimal discriminant of E at \mathfrak{p}.

If E has a Weierstrass model which is a global minimal model then \mathfrak{D}_{\mathrm{min}} = (\Delta), the principal ideal generated by the discriminant \Delta of this model. In general, \mathfrak{D}_{\mathrm{min}} differs from the ideal generated by the discriminant of any Weierstrass model by the 12th power of an ideal.

Depends on: Definition 3.1 Definition 3.10 Definition 3.17 Definition 3.33 Definition 3.97 Definition 2.1 Definition 2.47 Definition 2.56

Lean code for Definition3.37●1 definition
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/DiscriminantIdeal.lean
    complete
    def WeierstrassCurve.minimalDiscriminantIdeal.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O] {K : Type u_2} [Field K]
      [Algebra O K] [IsFractionRing O K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    def WeierstrassCurve.minimalDiscriminantIdeal.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    **The minimal discriminant ideal** `𝔇_{E/K} = ∏ᵥ 𝔭ᵥ ^ v (Δ_min,ᵥ)`: the product over the
    height-one primes of `O` of the local minimal discriminants of `W`. The product is finite
    (`hasFiniteMulSupport_pow_localMinimalDiscriminantValuation`): after choosing an integral model,
    only finitely many primes divide its nonzero discriminant ideal, and every local minimal exponent
    is bounded by that ideal's multiplicity. 
Definition3.38
Statement uses 4
Statement dependency previews
Preview
Definition 1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 10
Reverse dependency previews
Preview
Definition 3.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Mordell-Weil group. (LMFDB)

For an elliptic curve E defined over a field K, the Mordell-Weil group of E/K is the group E(K) of K-rational points of E. It is a finitely-generated Abelian group.

This is a special case of the Mordell-Weil group of an abelian variety.

The Mordell-Weil Theorem, first proved by Mordell for elliptic curves defined over \Q and later generalized by Weil to abelian varieties A over general number fields K, states that, if K is a number field, then A(K) is a finitely generated abelian group. Its rank is called the Mordell-Weil rank of A over K.

The Mordell-Weil theorem implies in particular that the torsion subgroup E(K)_{\mathrm{tor}} of E(K) is finite, and thus that the torsion order of E, one of the BSD invariants, is finite.

Depends on: Definition 1.5 Definition 1.22 Definition 3.1 Definition 2.1

Lean code for Definition3.38●1 definition
  • inductive(2 constructors, 3 parameters)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean
    complete
    inductive WeierstrassCurve.Affine.Point.{r} {R : Type r} [CommRing R]
      (W' : WeierstrassCurve.Affine R) : Type r
    inductive WeierstrassCurve.Affine.Point.{r}
      {R : Type r} [CommRing R]
      (W' : WeierstrassCurve.Affine R) :
      Type r
    A nonsingular point on a Weierstrass curve `W` in affine coordinates. This is either the unique
    point at infinity `WeierstrassCurve.Affine.Point.zero` or a nonsingular affine point
    `WeierstrassCurve.Affine.Point.some (x, y)` satisfying the Weierstrass equation of `W`. 
    WeierstrassCurve.Affine.Point.zero.{r} {R : Type r}
      [CommRing R] {W' : WeierstrassCurve.Affine R} : W'.Point
    WeierstrassCurve.Affine.Point.some.{r} {R : Type r}
      [CommRing R] {W' : WeierstrassCurve.Affine R} (x y : R)
      (h : W'.Nonsingular x y) : W'.Point
Definition3.39
Statement uses 3
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.51
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Mordell-Weil theorem. (LMFDB)

For an elliptic curve E defined over a number field F, the Mordell-Weil theorem states that the set E(F) of F-rational points on E is a finitely generated Abelian group.

This group is called the Mordell-Weil group of E/K.

Depends on: Definition 3.1 Definition 3.38 Definition 2.1

Lean code for Definition3.39●1 theorem
  • theoremdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/FinitelyGenerated.lean
    complete
    theorem WeierstrassCurve.Affine.fg_point_of_numberField.{u_2} {F : Type u_2}
      [Field F] [NumberField F] [DecidableEq F]
      {W : WeierstrassCurve.Affine F}
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)] :
      AddGroup.FG W.Point
    theorem WeierstrassCurve.Affine.fg_point_of_numberField.{u_2}
      {F : Type u_2} [Field F] [NumberField F]
      [DecidableEq F]
      {W : WeierstrassCurve.Affine F}
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)] :
      AddGroup.FG W.Point
    **The Mordell–Weil theorem**: the group `E(K)` of `K`-rational points of an elliptic curve `E`
    over a number field `K` is finitely generated.
    
    The square on the left-hand side is completed by an admissible change of variables, possible since
    `K` has characteristic zero, and the finiteness hypotheses of `fg_point` for the resulting model
    are the class number theorem and Dirichlet's unit theorem. 
Definition3.40
Statement uses 4
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.9
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Multiplicative reduction. (LMFDB)

An elliptic curve E defined over a number field K is said to have multiplicative reduction at a prime \mathfrak p of K if the reduction of E modulo \mathfrak p has a nodal singularity.

The case of multiplicative reduction is further subdivided into split multiplicative reduction and nonsplit multiplicative reduction.

Depends on: Definition 3.1 Definition 3.42 Definition 3.92 Definition 2.1

Lean code for Definition3.40●1 definition
  • class(extends 1, 3 methods)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    class WeierstrassCurve.HasMultiplicativeReduction.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K]
      (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.HasMultiplicativeReduction.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K) : Prop
    A minimal Weierstrass equation has multiplicative reduction if and only if
    the valuation of its discriminant is less than 1 and the valuation of `a₄` equals 1. 
    • WeierstrassCurve.IsMinimal R W
    val_Δ_maximal : MaximalFor (fun C => WeierstrassCurve.IsIntegral R (C • W)) (fun C => WeierstrassCurve.valuation_Δ_aux R (C • W)) 1
    Inherited from
    1. WeierstrassCurve.IsMinimal
    badReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.Δ < 1
    multiplicativeReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.c₄ = 1
Definition3.41
Statement uses 6
Statement dependency previews
Preview
Definition 1.76
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Mordell-Weil generators. (LMFDB)

The Mordell-Weil group E(K) of an elliptic curve E over a number field K is a finitely generated abelian group, explicitly described by giving a \Z-basis for the group, equivalently, a (minimal) set of Mordell-Weil generators, each of which is a rational point on the curve.

The generators consist of r non-torsion generators, where r is the rank of E(K), and up to two torsion generators, which generate the torsion subgroup E(K)_{\textrm{tor}}.

Depends on: Definition 3.1 Definition 3.38 Definition 3.82 Definition 3.95 Definition 1.76 Definition 2.1

Lean code for Definition3.41●5 declarations
  • structure(4 fields)defined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/MordellWeilGenerators.lean
    complete
    structure WeierstrassCurve.Affine.IsMordellWeilGenerators.{u_1} {F : Type u_1}
      [Field F] [DecidableEq F] {W : WeierstrassCurve.Affine F} {r s : ℕ}
      (P : Fin r → W.Point) (T : Fin s → W.Point) : Prop
    structure WeierstrassCurve.Affine.IsMordellWeilGenerators.{u_1}
      {F : Type u_1} [Field F] [DecidableEq F]
      {W : WeierstrassCurve.Affine F}
      {r s : ℕ} (P : Fin r → W.Point)
      (T : Fin s → W.Point) : Prop
    The families `P` and `T` of points of `W` are **Mordell–Weil generators** of `E(F)` (LMFDB
    `ec.mw_generators`), with **non-torsion generators** `P` and **torsion generators** `T`: the
    classes of the `P i` form a `ℤ`-basis of `E(F)/E(F)_tors`, the `T j` form a `ℤ`-basis of the
    torsion subgroup `E(F)_tors` (`WeierstrassCurve.Affine.IsTorsionBasis`), and no `ℤ`-basis of
    `E(F)_tors` has fewer than `s` points. Together the `P i` and the `T j` thus form a minimal
    `ℤ`-basis of `E(F)`. 
    linearIndependent : LinearIndependent ℤ (⇑(Submodule.torsion ℤ W.Point).mkQ ∘ P)
    span_eq_top : Submodule.span ℤ (Set.range (⇑(Submodule.torsion ℤ W.Point).mkQ ∘ P)) = ⊤
    isTorsionBasis : WeierstrassCurve.Affine.IsTorsionBasis T
    le_of_isTorsionBasis : ∀ (t : ℕ) (T' : Fin t → W.Point), WeierstrassCurve.Affine.IsTorsionBasis T' → s ≤ t
  • structure(2 fields)defined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/MordellWeilGenerators.lean
    complete
    structure WeierstrassCurve.Affine.IsTorsionBasis.{u_1} {F : Type u_1} [Field F]
      [DecidableEq F] {W : WeierstrassCurve.Affine F} {s : ℕ}
      (T : Fin s → W.Point) : Prop
    structure WeierstrassCurve.Affine.IsTorsionBasis.{u_1}
      {F : Type u_1} [Field F] [DecidableEq F]
      {W : WeierstrassCurve.Affine F} {s : ℕ}
      (T : Fin s → W.Point) : Prop
    The family `T` of points of `W` is a **`ℤ`-basis of the torsion subgroup** `E(F)_tors`: the
    `T j` generate `E(F)_tors`, and an integral combination of them vanishes only when each of its terms
    does, so that `E(F)_tors` is the direct sum of the cyclic subgroups generated by the `T j`. 
    closure_eq_torsion : AddSubgroup.closure (Set.range T) = AddCommGroup.torsion W.Point
    zsmul_eq_zero_of_sum_eq_zero : ∀ (b : Fin s → ℤ), ∑ j, b j • T j = 0 → ∀ (j : Fin s), b j • T j = 0
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/MordellWeilGenerators.lean
    complete
    theorem WeierstrassCurve.Affine.exists_isMordellWeilGenerators.{u_1}
      {F : Type u_1} [Field F] [DecidableEq F]
      {W : WeierstrassCurve.Affine F} [Module.Finite ℤ W.Point] :
      ∃ r s P T, WeierstrassCurve.Affine.IsMordellWeilGenerators P T
    theorem WeierstrassCurve.Affine.exists_isMordellWeilGenerators.{u_1}
      {F : Type u_1} [Field F] [DecidableEq F]
      {W : WeierstrassCurve.Affine F}
      [Module.Finite ℤ W.Point] :
      ∃ r s P T,
        WeierstrassCurve.Affine.IsMordellWeilGenerators
          P T
    **Existence of Mordell–Weil generators**: if `E(F)` is finitely generated, for instance over a
    number field by the Mordell–Weil theorem, then it has Mordell–Weil generators. 
  • abbrevdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/PointModTorsion/Basic.lean
    complete
    abbrev WeierstrassCurve.Affine.PointModTorsion.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [DecidableEq F] : Type u_1
    abbrev WeierstrassCurve.Affine.PointModTorsion.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [DecidableEq F] : Type u_1
    **The points modulo torsion**, the Mordell-Weil group with its torsion divided out. 
  • theoremdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/FinitelyGenerated.lean
    complete
    theorem WeierstrassCurve.Affine.fg_point_of_numberField.{u_2} {F : Type u_2}
      [Field F] [NumberField F] [DecidableEq F]
      {W : WeierstrassCurve.Affine F}
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)] :
      AddGroup.FG W.Point
    theorem WeierstrassCurve.Affine.fg_point_of_numberField.{u_2}
      {F : Type u_2} [Field F] [NumberField F]
      [DecidableEq F]
      {W : WeierstrassCurve.Affine F}
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)] :
      AddGroup.FG W.Point
    **The Mordell–Weil theorem**: the group `E(K)` of `K`-rational points of an elliptic curve `E`
    over a number field `K` is finitely generated.
    
    The square on the left-hand side is completed by an admissible change of variables, possible since
    `K` has characteristic zero, and the finiteness hypotheses of `fg_point` for the resulting model
    are the class number theorem and Dirichlet's unit theorem. 
Definition3.42
Statement uses 2
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.4
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Non-split multiplicative reduction. (LMFDB)

An elliptic curve E defined over a number field K is said to have non-split multiplicative reduction at a prime \mathfrak{p} of K if the reduction of E modulo \mathfrak{p} has a nodal singularity with tangent slopes not defined over the residue field at \mathfrak{p}.

Depends on: Definition 3.1 Definition 2.1

Lean code for Definition3.42●1 definition
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    def WeierstrassCurve.IsNonsplitMultiplicativeReduction.{u, v} (R : Type v)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u}
      [Field K] [Algebra R K] [IsFractionRing R K] (W : WeierstrassCurve K)
      [WeierstrassCurve.IsMinimal R W] : Prop
    def WeierstrassCurve.IsNonsplitMultiplicativeReduction.{u,
        v}
      (R : Type v) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R] {K : Type u}
      [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K)
      [WeierstrassCurve.IsMinimal R W] : Prop
    A minimal Weierstrass curve over `K` has **non-split multiplicative reduction** (LMFDB
    `ec.nonsplit_multiplicative_reduction`) if it has multiplicative reduction that is not split. 
Definition3.43
Statement uses 4
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Obstruction class of an elliptic curve. (LMFDB)

Let E be an elliptic curve defined over a number field K. The obstruction class of E is an ideal class of K which is trivial if and only if E has a global minimal model.

Depends on: Definition 3.1 Definition 3.17 Definition 2.1 Definition 2.24

Lean code for Definition3.43●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Class.lean
    complete
    def WeierstrassCurve.globalMinimalityClass.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O] {K : Type u_2} [Field K]
      [Algebra O K] [IsFractionRing O K] (E : WeierstrassCurve K)
      [E.IsElliptic] : ClassGroup O
    def WeierstrassCurve.globalMinimalityClass.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (E : WeierstrassCurve K)
      [E.IsElliptic] : ClassGroup O
    **The curve-level global-minimality obstruction.** It is the defect class of any integral
    equation obtained from `E`; the change-of-variables formula makes the choice immaterial. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Class.lean
    complete
    def WeierstrassCurve.weierstrassDefectClass.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O] {K : Type u_2} [Field K]
      [Algebra O K] [IsFractionRing O K] (W : WeierstrassCurve O)
      [(W.baseChange K).IsElliptic] : ClassGroup O
    def WeierstrassCurve.weierstrassDefectClass.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve O)
      [(W.baseChange K).IsElliptic] :
      ClassGroup O
    **The positive Weierstrass defect class** `[𝔍_W]` of an integral equation `W` over `O`.
    
    This convention records the excess of the equation's discriminant over the minimal discriminant.
    It is inverse to `weierstrassClass`, the orientation used in Silverman VIII.8. 
Definition3.44
Statement uses 3
Statement dependency previews
Preview
Definition 1.43
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Tate module of an elliptic curve. (LMFDB)

Let p \in \mathbb{Z}_{\geq 0} be a prime and E an elliptic curve defined over a field K. The p-adic Tate module of E is the inverse limit

T_p(E) = \lim_{\xleftarrow[n \in \mathbb{N}]{}} E[p^n].

Here for m\in\mathbb{Z}_{\geq 0}, E[m] denotes the m-torsion subgroup of E, which is the kernel of the multiplication-by-m endomorphism of E.

If K has characteristic not equal to p, then T_p(E) is a free \Z_p-module of rank 2. It carries an action of the absolute Galois group of K, and thus has an associated Galois representation.

This is a special case of the Tate module of an abelian variety.

Depends on: Definition 1.43 Definition 3.11 Definition 1.84

Lean code for Definition3.44●2 definitions
  • defdefined in TauCeti/Algebra/Module/Torsion/TateModule.lean
    complete
    def TauCeti.TateModule.{u_1} (p : ℕ) (A : Type u_1) [AddCommGroup A] :
      Type u_1
    def TauCeti.TateModule.{u_1} (p : ℕ)
      (A : Type u_1) [AddCommGroup A] :
      Type u_1
    The `p`-adic Tate module of an abelian group: compatible families of `p^n`-torsion points. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateModule/Galois.lean
    complete
    def WeierstrassCurve.tateModuleGaloisRepresentation.{u_1, u_2}
      {F : Type u_1} {K : Type u_2} [Field F] [Field K] [DecidableEq K]
      [Algebra F K] (W : WeierstrassCurve F) (ℓ : ℕ) [Fact (Nat.Prime ℓ)] :
      Representation ℤ_[ℓ] Gal(K/F)
        (TauCeti.TateModule ℓ (W.baseChange K).toAffine.Point)
    def WeierstrassCurve.tateModuleGaloisRepresentation.{u_1,
        u_2}
      {F : Type u_1} {K : Type u_2} [Field F]
      [Field K] [DecidableEq K] [Algebra F K]
      (W : WeierstrassCurve F) (ℓ : ℕ)
      [Fact (Nat.Prime ℓ)] :
      Representation ℤ_[ℓ] Gal(K/F)
        (TauCeti.TateModule ℓ
          (W.baseChange K).toAffine.Point)
    **The `ℓ`-adic Galois representation** of `W`: an `F`-automorphism `σ` of `K` acts on the
    Tate module `T_ℓ E` of `W` over `K` by applying `σ` to the coordinates of every point of every
    level `E[ℓ ^ n]`. 
Definition3.45
Statement uses 10
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Global period of an elliptic curve. (LMFDB)

The global period \Omega(E/K) of an elliptic curve defined over a number field K is a product of local factors \Omega_v(E_v/K_v), one for each infinite place v of K. Here, K_v denotes the completion of K at v (so K_v=\R for a real place and K_v=\C for a complex place), and E_v denotes the base change of E to K_v.

Fixing a Weierstrass model for E with coefficients a_i\in K, a model for E_v is given by the Weierstrass equation with coefficients a_{i,v}, the images of a_i under v in K_v. Associated to this model we have a discriminant \Delta(E_v) and an invariant differential \omega_v=dx/(2y+a_{1,v}x+a_{3,v}).

For a real place given by an embedding v:K\to\R, we define

\Omega_v(E_v) = \left|\int_{E_v(\R)} \omega_E\right|.

In terms of a basis of the period lattice of E_v of the form [x,yi] (when \Delta(E_v)>0) or [2x,x+yi] (when \Delta(E_v)<0), where x and y are positive real numbers, we have \Omega_v(E_v)=2x.

For a complex place given by an embedding v:K\to\C, we define

\Omega_v(E_v) = \left|\int_{E_v(\C)} \omega_E\wedge\overline{\omega_E}\right|.

In terms of a basis [w_1,w_2] of the period lattice of E_v, where \Im(w_2/w_1)>0, we have \Omega_v(E_v)=2\Im(\overline{w_1}w_2), which is double the covolume of the period lattice.

When E has a global minimal model, we have

\Omega(E/K) = \prod_{v}\Omega_v(E_v).

In general, given an arbitrary model for E with discriminant \Delta(E), we have

\Omega(E/K) = \left|\frac{N(\Delta(E))}{N(\mathfrak{d}(E))}\right|^{1/12}\prod_{v}\Omega_v(E_v),

where \mathfrak{d} is the minimal discriminant ideal of E and N(\mathfrak{d}) denotes its norm. This quantity is independent of the model of E.

Depends on: Definition 3.1 Definition 3.5 Definition 3.10 Definition 3.17 Definition 3.37 Definition 3.71 Definition 3.97 Definition 2.1 Definition 2.17 Definition 2.44

Lean code for Definition3.45●5 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/GlobalPeriod.lean
    complete
    def WeierstrassCurve.globalPeriod.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic] [NumberField K] : ℝ
    def WeierstrassCurve.globalPeriod.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic]
      [NumberField K] : ℝ
    The **global period** `Ω(E/K) = |N(Δ) / N(𝔡)| ^ (1/12) ∏_v Ω_v(E_v)` (LMFDB `ec.period`) of an
    elliptic curve over a number field `K`, where `Δ` is the discriminant of the equation `W`, `𝔡` the
    minimal discriminant ideal, `N` the norm and the product runs over the infinite places of `K`. On a
    global minimal model it is `∏_v Ω_v(E_v)`, and it does not depend on the model. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/GlobalPeriod.lean
    complete
    def WeierstrassCurve.localPeriod.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) (v : NumberField.InfinitePlace K) : ℝ
    def WeierstrassCurve.localPeriod.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K)
      (v : NumberField.InfinitePlace K) : ℝ
    The **local period** `Ω_v(E_v)` (LMFDB `ec.period`) of a Weierstrass curve over a number field
    at an infinite place `v`: the real period `|∫_{E_v(ℝ)} ω|` of the curve embedded by `v` when `v`
    is real, and the complex period `|∫_{E_v(ℂ)} ω ∧ ω̄|` of the curve embedded by Mathlib's chosen
    complex embedding of `v` when `v` is complex. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/ComplexPeriod.lean
    complete
    def WeierstrassCurve.complexPeriod (W : WeierstrassCurve ℂ) : ℝ
    def WeierstrassCurve.complexPeriod
      (W : WeierstrassCurve ℂ) : ℝ
    The **complex period** `Ω(W) = |∫_{E(ℂ)} ω ∧ ω̄|` (LMFDB `ec.period`) of a Weierstrass curve
    over `ℂ`, the local factor of the global period at a complex place: twice the covolume of the
    period lattice, `4 ∫_ℂ dA(x) / |Ψ₂Sq(x)|`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/RealPeriod.lean
    complete
    def WeierstrassCurve.realPeriod (W : WeierstrassCurve ℝ) : ℝ
    def WeierstrassCurve.realPeriod
      (W : WeierstrassCurve ℝ) : ℝ
    The **real period** `Ω(W)` of a Weierstrass curve over `ℝ`, defined as twice the real value of
    `WeierstrassCurve.realPeriodLIntegral`. When that integral is finite, for instance for an elliptic
    curve (`WeierstrassCurve.ofReal_realPeriod`), this is `Ω(W) = 2 ∫_{Ψ₂Sq(x) > 0} dx / √Ψ₂Sq(x)`;
    when it diverges, `Ω(W) = 0`. The motivation is that this integral computes `∫ |ω|` over the real
    points, `ω = dx / (2y + a₁x + a₃)` being the invariant differential and the factor `2` counting the
    two real points over each `x`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/DiscriminantIdeal.lean
    complete
    def WeierstrassCurve.minimalDiscriminantIdeal.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O] {K : Type u_2} [Field K]
      [Algebra O K] [IsFractionRing O K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    def WeierstrassCurve.minimalDiscriminantIdeal.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    **The minimal discriminant ideal** `𝔇_{E/K} = ∏ᵥ 𝔭ᵥ ^ v (Δ_min,ᵥ)`: the product over the
    height-one primes of `O` of the local minimal discriminants of `W`. The product is finite
    (`hasFiniteMulSupport_pow_localMinimalDiscriminantValuation`): after choosing an integral model,
    only finitely many primes divide its nonzero discriminant ideal, and every local minimal exponent
    is bounded by that ideal's multiplicity. 
Definition3.46
Statement uses 5
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Potential good reduction. (LMFDB)

An elliptic curve E defined over a number field K is said to have potential good reduction if E has everywhere good reduction over a finite extension of K.

This is equivalent to the j-invariant of E being integral.

Depends on: Definition 3.1 Definition 3.19 Definition 3.30 Definition 2.1 Definition 2.28

Lean code for Definition3.46●1 definition
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/PotentialGoodReduction.lean
    complete
    def WeierstrassCurve.HasPotentialGoodReduction.{u, v} (R : Type v)
      [CommRing R] {K : Type u} [Field K] [Algebra R K]
      (W : WeierstrassCurve K) : Prop
    def WeierstrassCurve.HasPotentialGoodReduction.{u,
        v}
      (R : Type v) [CommRing R] {K : Type u}
      [Field K] [Algebra R K]
      (W : WeierstrassCurve K) : Prop
    **Potential good reduction**: after some finite extension `L` of `K`, at some discrete
    valuation ring `S` with fraction field `L` dominating `R`, a minimal equation of `W` has good
    reduction. The maps `R → S → L` and `R → K → L` are required to agree, so that `S` lies over `R`.
    The field `L` and the ring `S` are taken in the universe of `K`.
    
    Over a complete `R`, the integral closure of `R` in `L` is the only such ring `S`, so this is the
    usual notion of good reduction over the ring of integers of a finite extension. 
Definition3.47
Statement uses 2
Statement dependency previews
Preview
Definition 3.55
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Elliptic curve over \mathbb Q. (LMFDB)

An elliptic curve E over \mathbb{Q} has a Weierstrass equation of the form

E : y^2 = x^3 + ax + b with a, b \in \mathbb{Z} such that its discriminant

\Delta := -16(4a^3 + 27b^2 ) \not = 0.

Note that such an equation is not unique and E has a unique minimal Weierstrass equation.

Depends on: Definition 3.55 Definition 3.66

Lean code for Definition3.47●1 definition
  • class(1 method)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean
    complete
    class WeierstrassCurve.IsElliptic.{u} {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) : Prop
    class WeierstrassCurve.IsElliptic.{u}
      {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) : Prop
    `WeierstrassCurve.IsElliptic` is a typeclass which asserts that a Weierstrass curve is an
    elliptic curve: that its discriminant is a unit. Note that this definition is only mathematically
    accurate for certain rings whose Picard group has trivial 12-torsion, such as a field or a PID. 
    isUnit : IsUnit W.Δ
Definition3.48
Statement uses 3
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

abc quality. (LMFDB)

Given a triple a,b,c of nonzero coprime integers, the quality of the triple is defined as

Q = \frac{\log \max(|a|, |b|, |c|)}{\log \operatorname{rad}(abc)},

where \operatorname{rad}(abc) is the product of the primes dividing abc. The abc conjecture stipulates that for any \epsilon > 0 there are only finitely many relatively prime triples a,b,c with quality larger than 1+\epsilon.

The abc quality of an elliptic curve E is the quality of an a,b,c triple determined by its j-invariant, namely the one defined by writing \frac{j}{1728} = \frac{a}{c} in lowest terms and setting b = c - a. Note that the abc quality is undefined for j=0 and j=1728.

The reason for defining the quality of E in this way comes from the equivalence of the abc conjecture with the modified Szpiro conjecture. For elliptic curves with small conductor, j-invariants often have unusually large quality.

Depends on: Definition 3.1 Definition 3.30 Definition 3.53

Lean code for Definition3.48●1 definition
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/AbcQuality.lean
    complete
    def WeierstrassCurve.abcQuality (E : WeierstrassCurve ℚ) [E.IsElliptic]
      (_h : E.j ≠ 0 ∧ E.j ≠ 1728) : ℝ
    def WeierstrassCurve.abcQuality
      (E : WeierstrassCurve ℚ) [E.IsElliptic]
      (_h : E.j ≠ 0 ∧ E.j ≠ 1728) : ℝ
    **The abc quality** of an elliptic curve `E` over `ℚ`: with `j / 1728 = a / c` in lowest terms
    and `b = c - a`, the quality `log max(|a|, |b|, |c|) / log rad(a b c)` of the abc triple
    `(a, b, c)`. The hypothesis `j ≠ 0 ∧ j ≠ 1728` is exactly `a b c ≠ 0`; without it the quotient
    would be `0` by division by zero. 
Definition3.49
Statement uses 7
Statement dependency previews
Preview
Definition 1.22
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Analytic rank of an elliptic curve over \Q. (LMFDB)

The analytic rank of an elliptic curve E is the analytic rank of its L-function L(E,s). The weak form of the BSD conjecture implies that the analytic rank is equal to the rank of the Mordell-Weil group of E.

For elliptic curves E over \Q, it is known that L(E,s) satisfies the Hasse-Weil conjecture, and hence that the parity of the analytic rank is always compatible with the sign of the functional equation.

In general, analytic ranks stored in the LMFDB are only upper bounds on the true analytic rank (they could be incorrect if L(E,s) had a zero very close to but not on the central point). For elliptic curves over \Q of analytic rank less than 2 this upper bound is necessarily tight, due to parity; for analytic ranks 2 and 3 is also tight due to results of Kolyvagin; Murty and Murty; Bump, Friedberg and Hoffstein; Coates and Wiles; Gross and Zagier which together say that when the analytic rank is 0 or 1 then it equals the Mordell-Weil rank.

Depends on: Definition 1.22 Definition 3.1 Definition 3.38 Definition 1.109 Definition 1.112 Definition 1.117 Definition 1.123

Lean code for Definition3.49●5 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    def WeierstrassCurve.analyticRank.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) : ℕ
    def WeierstrassCurve.analyticRank.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) : ℕ
    The **analytic rank** (LMFDB `ec.q.analytic_rank`) of a Weierstrass curve over a number field:
    the analytic rank of its L-function `L(E, s)`, its order of vanishing at the central point
    `s = 1`. It is the analytic rank of any analytic L-function of `W` (`analyticRank_eq`), and takes
    the junk value `0` if `L(E, s)` has no analytic continuation of the LMFDB's form. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    def WeierstrassCurve.IsAnalyticLFunction.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) (L : AnalyticLFunction) :
      Prop
    def WeierstrassCurve.IsAnalyticLFunction.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K)
      (L : AnalyticLFunction) : Prop
    An analytic L-function `L` is the **analytic L-function of** a Weierstrass curve `W` over a
    number field: its arithmetic normalisation of weight `1` is the L-series of `W`, that is, its
    Dirichlet coefficients `aₙ / √n` come from the coefficients `aₙ` of `WeierstrassCurve.LFunction`.
    By the modularity theorem, every elliptic curve over `ℚ` has one. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.analyticRank_eq.{u_1} {K : Type u_1} [Field K]
      [NumberField K] {W : WeierstrassCurve K} {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) : W.analyticRank = L.analyticRank
    theorem WeierstrassCurve.analyticRank_eq.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.analyticRank = L.analyticRank
    The analytic rank of a Weierstrass curve is the analytic rank of any of its analytic
    L-functions. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.analyticRank_eq_analyticOrderNatAt.{u_1} {K : Type u_1}
      [Field K] [NumberField K] {W : WeierstrassCurve K}
      {L : AnalyticLFunction} (hL : W.IsAnalyticLFunction L) :
      W.analyticRank = analyticOrderNatAt (L.arithmeticNormalization 1) 1
    theorem WeierstrassCurve.analyticRank_eq_analyticOrderNatAt.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.analyticRank =
        analyticOrderNatAt
          (L.arithmeticNormalization 1) 1
    The analytic rank of a Weierstrass curve is the order of vanishing of its L-function at `s = 1`
    in the arithmetic normalisation. 
  • defdefined in Mathlib/AlgebraicGeometry/EllipticCurve/LFunction.lean
    complete
    def WeierstrassCurve.LFunction.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) : ArithmeticFunction ℤ
    def WeierstrassCurve.LFunction.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) :
      ArithmeticFunction ℤ
    The L-function of a Weierstrass curve `W` over a number field `K` as a formal Dirichlet series.
    
    For each prime ideal `p` of the ring of integers of `K` with norm `‖p‖` residue field `κ_p`,
    we define the local polynomial `fₚ(T)` as:
    * `fₚ = 1 - aₚ T + ‖p‖ T ^ 2` where `aₚ = ‖p‖ + 1 - |W(κ_p)|` if `W` has good reduction at `p`,
    * `fₚ = 1 - T` if `W` has split multiplicative reduction at `p`,
    * `fₚ = 1 + T` if `W` has nonsplit multiplicative reduction at `p`,
    * `fₚ = 1` if `W` has additive reduction at `p`.
    Then the L-function of `W` is the formal Dirichlet series defined as the product of `1 / fₚ(‖p‖⁻ˢ)`
    as `p` ranges over all prime ideals of the ring of integers of `K`.
    
Definition3.50
Statement uses 2
Statement dependency previews
Preview
Definition 1.91
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Analytic order of \Sha. (LMFDB)

The Tate-Shafarevic group \Sha of an elliptic curve E defined over \mathbb{Q} is a torsion group defined in terms of Galois cohomology, which is conjectured to be finite. Its order \#\Sha appears in the strong form of the Birch-Swinnerton-Dyer Conjecture for E. The value of the order which is predicted by the conjecture is called the Analytic Order of Sha, \Sha_{an}. <!--Note that the value of \Sha<sub>an</sub> predicted by the conjecture is always a square.-->

For elliptic curves of rank 0 or 1 it is a theorem that \Sha<sub>an</sub> is a positive rational number, and this rational number can be computed exactly; this exact computation has only been carried out for the curves in the database with rank 0 and conductor N\le 500000. These values are always in fact integer squares in all cases computed to date. For curves of rank 2 and above, there is no such theorem, and the values computed are simply floating point approximate values which happen to be very close to integers. In the LMFDB we store and display the rounded values in this case.

Depends on: Definition 3.1 Definition 1.91

Lean code for Definition3.50●5 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    def WeierstrassCurve.analyticShaOrder.{u_1} {K : Type u_1} [Field K]
      [NumberField K] [DecidableEq K] (W : WeierstrassCurve K)
      [W.IsElliptic] : ℝ
    def WeierstrassCurve.analyticShaOrder.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K] (W : WeierstrassCurve K)
      [W.IsElliptic] : ℝ
    The **analytic order of Ш** (LMFDB `ec.analytic_sha_order`, `ec.q.analytic_sha_order`) of an
    elliptic curve `E` over a number field `K`: the order of the Tate–Shafarevich group predicted by the
    Birch and Swinnerton-Dyer conjecture,
    
    `Ш_an = |d_K| ^ (1 / 2) (L⁽ʳ⁾(E, 1) / r!) #E(K)_tors ^ 2 / (Reg_NT(E / K) Ω(E / K) ∏_𝔭 c_𝔭)`,
    
    where `d_K` is the discriminant of `K`, `L⁽ʳ⁾(E, 1) / r!` is the special value
    `WeierstrassCurve.specialValue` at the analytic rank `r`, `Reg_NT(E / K)` is the Néron-Tate
    regulator, `Ω(E / K)` is the global period and the `c_𝔭` are the Tamagawa numbers. The special value
    is real, `L(E / K, s)` having real Dirichlet coefficients, and its real part is used. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    theorem WeierstrassCurve.analyticShaOrder_eq_of_isGlobalMinimal
      {E : WeierstrassCurve ℚ} [E.IsElliptic]
      (hE :
        WeierstrassCurve.IsGlobalMinimal (NumberField.RingOfIntegers ℚ) E) :
      E.analyticShaOrder =
        E.specialValue.re *
            ↑(Nat.card ↥(AddCommGroup.torsion E.toAffine.Point)) ^ 2 /
          (E.toAffine.regulator * (E.baseChange ℝ).realPeriod *
            ↑E.tamagawaProduct)
    theorem WeierstrassCurve.analyticShaOrder_eq_of_isGlobalMinimal
      {E : WeierstrassCurve ℚ} [E.IsElliptic]
      (hE :
        WeierstrassCurve.IsGlobalMinimal
          (NumberField.RingOfIntegers ℚ) E) :
      E.analyticShaOrder =
        E.specialValue.re *
            ↑(Nat.card
                  ↥(AddCommGroup.torsion
                      E.toAffine.Point)) ^
              2 /
          (E.toAffine.regulator *
              (E.baseChange ℝ).realPeriod *
            ↑E.tamagawaProduct)
    The analytic order of Ш over `ℚ` (LMFDB `ec.q.analytic_sha_order`), for a globally minimal
    equation: `Ш_an = (L⁽ʳ⁾(E, 1) / r!) #E(ℚ)_tors ^ 2 / (Reg(E / ℚ) Ω_E ∏_p c_p)`, where `Ω_E` is the
    real period of the equation. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    theorem WeierstrassCurve.BirchSwinnertonDyer.analyticShaOrder_eq.{u_1}
      {K : Type u_1} [Field K] [NumberField K] [DecidableEq K]
      {W : WeierstrassCurve K} [W.IsElliptic] (h : W.BirchSwinnertonDyer)
      (hc : W.tamagawaProduct ≠ 0) : W.analyticShaOrder = ↑(Nat.card ↥W.sha)
    theorem WeierstrassCurve.BirchSwinnertonDyer.analyticShaOrder_eq.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K] {W : WeierstrassCurve K}
      [W.IsElliptic]
      (h : W.BirchSwinnertonDyer)
      (hc : W.tamagawaProduct ≠ 0) :
      W.analyticShaOrder = ↑(Nat.card ↥W.sha)
    The Birch and Swinnerton-Dyer conjecture predicts that the analytic order of Ш is the order of
    Ш, given that the Tamagawa product does not vanish; the regulator does not, by
    `WeierstrassCurve.Affine.regulator_pos`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Sha.lean
    complete
    def WeierstrassCurve.sha.{u_1} {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) :
      AddSubgroup
        (TauCeti.ContCohomology.H1 (TauCeti.AbsoluteGaloisGroup K)
          W.PointCoeff)
    def WeierstrassCurve.sha.{u_1} {K : Type u_1}
      [Field K] [NumberField K]
      (W : WeierstrassCurve K) :
      AddSubgroup
        (TauCeti.ContCohomology.H1
          (TauCeti.AbsoluteGaloisGroup K)
          W.PointCoeff)
    The **Tate–Shafarevich group** `Ш(E / K)` (LMFDB `ec.analytic_sha_order`) of a Weierstrass curve
    over a number field `K`: the classes in `H¹(G_K, E(Kˢ))` whose restriction to
    `H¹(G_{K_v}, E(K_vˢ))` vanishes for every place `v` of `K`, finite or infinite, where `K_v` is the
    completion of `K` at `v`. The restrictions are taken along embeddings `Kˢ → K_vˢ` of separable
    closures, whose choice does not matter (`mem_sha_iff`). Its order `#Ш` is
    `Nat.card W.sha`, which takes the junk value `0` if `Ш` is infinite. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    def WeierstrassCurve.specialValue.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) : ℂ
    def WeierstrassCurve.specialValue.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) : ℂ
    The **special value** (LMFDB `ec.special_value`, `ec.q.special_value`) of a Weierstrass curve
    over a number field: the leading coefficient of its L-function `L(E, s)` at the central point
    `s = 1`, that is, the first nonzero value of `L⁽ʳ⁾(E, 1) / r!`
    (`specialValue_eq_iteratedDeriv`). It is the leading coefficient of any analytic L-function of
    `W` (`specialValue_eq`), and takes the junk value `0` if `L(E, s)` has no analytic continuation of
    the LMFDB's form. 
Definition3.51
Statement uses 11
Statement dependency previews
Preview
Definition 1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Birch and Swinnerton-Dyer conjecture. (LMFDB)

The Birch and Swinnerton-Dyer conjecture is one of the Millennium Prize Problems listed by the Clay Mathematics Institute. It relates the order of vanishing and the first non-zero Taylor series coefficient of the L-function associated to an elliptic curve E defined over \Q at the central point s=1 to certain arithmetic data, the BSD invariants of E.

Specifically, the BSD conjecture states that the order r of vanishing of L(E,s) at s=1 is equal to the rank of the Mordell-Weil group E(\Q), and that

<!-- comment: if you make the following display into a normal one using .. or .. then something about the html code for Sha stops it displaying properly-->

<p align="center"> \displaystyle \frac{1}{r!} L^{(r)}(E,1)= \displaystyle \frac{\# \Sha(E/\Q)\cdot \Omega_E \cdot \mathrm{Reg}(E/\Q) \cdot \prod_p c_p}{\#E(\Q)_{\rm tor}^2}. </p> The quantities appearing in this formula are the BSD invariants of E:

  • r is the rank of E(\Q) (a non-negative integer);

  • \#\Sha(E/\Q) is the order of the Tate-Shafarevich group

    of E (which is conjectured to always be finite, a positive integer);

  • \mathrm{Reg}(E/\Q) is the regulator of E/\Q;

  • \Omega_E is the real period of E/\Q (a positive real number);

  • c_p is the Tamagawa number of E at each prime p (a positive integer which is 1 for all but at most finitely many primes);

  • E(\Q)_{\rm tor} is the torsion order of E(\Q) (a positive integer).

There is a similar conjecture for abelian varieties, in which the real period is replaced by the covolume of the period lattice.

Depends on: Definition 1.5 Definition 3.1 Definition 3.3 Definition 3.39 Definition 3.72 Definition 3.82 Definition 3.85 Definition 3.93 Definition 3.94 Definition 1.109 Definition 1.112

Lean code for Definition3.51●5 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    def WeierstrassCurve.BirchSwinnertonDyer.{u_1} {K : Type u_1} [Field K]
      [NumberField K] [DecidableEq K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    def WeierstrassCurve.BirchSwinnertonDyer.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    The **Birch and Swinnerton-Dyer conjecture** (LMFDB `ec.bsdconjecture`, `ec.q.bsdconjecture`)
    for an elliptic curve `E` over a number field `K`: its L-function `L(E / K, s)` is an analytic
    L-function, whose analytic rank `r`, its order of vanishing at `s = 1`, is the rank of the
    Mordell-Weil group `E(K)`; the Tate–Shafarevich group `Ш(E / K)` is finite; and
    
    `L⁽ʳ⁾(E, 1) / r! = #Ш(E / K) Ω(E / K) Reg_NT(E / K) ∏_𝔭 c_𝔭 / (|d_K| ^ (1 / 2) #E(K)_tors ^ 2)`,
    
    where `Ω(E / K)` is the global period, `Reg_NT(E / K)` is the Néron-Tate regulator, the `c_𝔭` are
    the Tamagawa numbers and `d_K` is the discriminant of `K`. The existence of the analytic
    L-function, a theorem over `ℚ` by modularity, and the finiteness of Ш are implicit in the LMFDB's
    statement. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    theorem WeierstrassCurve.birchSwinnertonDyer_iff_of_isGlobalMinimal
      {E : WeierstrassCurve ℚ} [E.IsElliptic]
      (hE :
        WeierstrassCurve.IsGlobalMinimal (NumberField.RingOfIntegers ℚ) E) :
      E.BirchSwinnertonDyer ↔
        (∃ L, E.IsAnalyticLFunction L) ∧
          E.analyticRank = Module.finrank ℤ E.toAffine.Point ∧
            Finite ↥E.sha ∧
              E.specialValue =
                ↑(↑(Nat.card ↥E.sha) * (E.baseChange ℝ).realPeriod *
                        E.toAffine.regulator *
                      ↑E.tamagawaProduct /
                    ↑(Nat.card ↥(AddCommGroup.torsion E.toAffine.Point)) ^
                      2)
    theorem WeierstrassCurve.birchSwinnertonDyer_iff_of_isGlobalMinimal
      {E : WeierstrassCurve ℚ} [E.IsElliptic]
      (hE :
        WeierstrassCurve.IsGlobalMinimal
          (NumberField.RingOfIntegers ℚ) E) :
      E.BirchSwinnertonDyer ↔
        (∃ L, E.IsAnalyticLFunction L) ∧
          E.analyticRank =
              Module.finrank ℤ
                E.toAffine.Point ∧
            Finite ↥E.sha ∧
              E.specialValue =
                ↑(↑(Nat.card ↥E.sha) *
                          (E.baseChange
                              ℝ).realPeriod *
                        E.toAffine.regulator *
                      ↑E.tamagawaProduct /
                    ↑(Nat.card
                          ↥(AddCommGroup.torsion
                              E.toAffine.Point)) ^
                      2)
    The Birch and Swinnerton-Dyer conjecture over `ℚ` (LMFDB `ec.q.bsdconjecture`), for a globally
    minimal equation: `L⁽ʳ⁾(E, 1) / r! = #Ш(E / ℚ) Ω_E Reg(E / ℚ) ∏_p c_p / #E(ℚ)_tors ^ 2`, where `Ω_E`
    is the real period of the equation. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/Conjecture.lean
    complete
    theorem WeierstrassCurve.globalPeriod_eq_realPeriod_of_isGlobalMinimal
      {E : WeierstrassCurve ℚ} [E.IsElliptic]
      (hE :
        WeierstrassCurve.IsGlobalMinimal (NumberField.RingOfIntegers ℚ) E) :
      E.globalPeriod = (E.baseChange ℝ).realPeriod
    theorem WeierstrassCurve.globalPeriod_eq_realPeriod_of_isGlobalMinimal
      {E : WeierstrassCurve ℚ} [E.IsElliptic]
      (hE :
        WeierstrassCurve.IsGlobalMinimal
          (NumberField.RingOfIntegers ℚ) E) :
      E.globalPeriod =
        (E.baseChange ℝ).realPeriod
    Over `ℚ`, the global period of a globally minimal equation is its real period `Ω_E` (LMFDB
    `ec.q.real_period`). 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/Tamagawa.lean
    complete
    def WeierstrassCurve.tamagawaProduct.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) : ℕ
    def WeierstrassCurve.tamagawaProduct.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) : ℕ
    The **Tamagawa product** `∏_𝔭 c_𝔭(E)` (LMFDB `ec.tamagawa_number`) of a Weierstrass curve over
    a number field: the product of its Tamagawa numbers over all primes, a finite product for an
    elliptic curve (`WeierstrassCurve.hasFiniteMulSupport_tamagawaNumber`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/Regulator/Basic.lean
    complete
    def WeierstrassCurve.Affine.regulator.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)]
      [Module.Finite ℤ W.PointModTorsion] : ℝ
    def WeierstrassCurve.Affine.regulator.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)]
      [Module.Finite ℤ W.PointModTorsion] : ℝ
    **The regulator** of an elliptic curve whose points modulo torsion are finitely generated as a
    `ℤ`-module: the absolute determinant of the Gram matrix of the Néron-Tate pairing on any basis of
    that quotient. For a curve of rank zero this is the empty determinant, namely `1`. 
Definition3.52
Statement uses 3
Statement dependency previews
Preview
Definition 2.71
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Canonical height. (LMFDB)

Let E be an elliptic curve defined over \mathbb{Q}. The canonical height of a rational point P\in E(\mathbb{Q}) is computed by writing the x-coordinate x(nP)=A_n(P)/D_n(P) as a fraction in lowest terms and setting

\hat{h}(P) = \lim_{n\to\infty} \frac{1}{n^2}\log \max\bigl\{|A_n(P)|,|D_n(P)|\bigr\}.

(<EM>Note</EM>. Some sources define \hat{h} to be \frac12 of this quantity.)

Properties of \hat{h}: <UL> <LI> \hat{h}(P)=\log \max\bigl\{|A_1(P)|,|D_1(P)|\bigr\}+O(1) as P ranges over E(\mathbb{Q}). <LI> \hat{h}(P)\ge0; and \hat{h}(P)=0 if and only if P is a torsion point. <LI> \hat{h}:E(\mathbb{Q})\to\mathbb{R} extends to a positive definite quadratic form on E(\mathbb{Q})\otimes\mathbb{R}. </UL> The height pairing on E is the associated bilinear form \langle P,Q\rangle=\frac{1}{2}\bigl(\hat{h}(P+Q)-\hat{h}(P)-\hat{h}(Q)\bigr), which is used to compute the elliptic regulator of E. It is a symmetric positive definite bilinear form on E(\Q)\otimes\R.

For a number field K, the canonical height of P\in E(K) is given by \hat{h}(P)=\lim_{n\to\infty} n^{-2}h\bigl(x(nP)\bigr), where h is the Weil height.

Depends on: Definition 3.1 Definition 3.85 Definition 2.71

Lean code for Definition3.52●3 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/CanonicalHeight/Basic.lean
    complete
    def WeierstrassCurve.Affine.Point.canonicalHeight.{u_1} {F : Type u_1}
      [Field F] {W : WeierstrassCurve.Affine F}
      [Height.AdmissibleAbsValues F] [DecidableEq F] (P : W.Point) : ℝ
    def WeierstrassCurve.Affine.Point.canonicalHeight.{u_1}
      {F : Type u_1} [Field F]
      {W : WeierstrassCurve.Affine F}
      [Height.AdmissibleAbsValues F]
      [DecidableEq F] (P : W.Point) : ℝ
    **The canonical (Néron–Tate) height** `canonicalHeight P = lim h(2ⁿ P) / 4ⁿ`,
    normalised against the naïve height of the `x`-coordinate.
    
    The limit exists whenever the curve is elliptic
    (`Point.tendsto_naiveHeight_two_pow_nsmul_div_four_pow`); the definition itself needs no hypothesis
    beyond those making `2 ^ n • P` meaningful, so it is stated without one. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/CanonicalHeight/Basic.lean
    complete
    def WeierstrassCurve.Affine.canonicalHeightQuadratic.{u_1} {F : Type u_1}
      [Field F] (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F] [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)] :
      QuadraticMap ℤ W.Point ℝ
    def WeierstrassCurve.Affine.canonicalHeightQuadratic.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)] :
      QuadraticMap ℤ W.Point ℝ
    **The canonical height as a `ℤ`-quadratic map** with values in `ℝ`, which is what makes
    Mathlib's polarisation API available to it. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/CanonicalHeight/Basic.lean
    complete
    def WeierstrassCurve.Affine.neronTatePairing.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.Point ℝ
    def WeierstrassCurve.Affine.neronTatePairing.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.Point ℝ
    **The Néron–Tate pairing** `⟨P, Q⟩`, the bilinear form associated with the canonical height.
    It is Mathlib's `QuadraticMap.associated'`, the halved polar form. 
Definition3.53
Statement uses 3
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 7
Reverse dependency previews
Preview
Definition 3.48
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Conductor of an elliptic curve over \Q. (LMFDB)

The conductor N of an elliptic curve E defined over \Q is a positive integer divisible by the primes of bad reduction and no others. It has the form N=\prod p^{e_p}, where the exponent e_p is

For all primes p, there is an algorithm of Tate that simultaneously creates a local minimal Weierstrass equation and computes the exponent of the conductor. See:

<UL> <LI> J. Tate, Algorithm for determining the type of a singular fiber in an elliptic pencil, Modular functions of one variable, IV (Proc. Internat. Summer School, Univ. Antwerp, Antwerp, 1972), 33-52. <EM>Lecture Notes in Math.</EM>, Vol. <B>476</B>, Springer, Berlin, 1975.

<LI> J.H. Silverman, <EM>Advanced topics in the arithmetic of elliptic curves</EM>, GTM <B>151</B>, Springer-Verlag, New York, 1994.

</UL>

Depends on: Definition 3.1 Definition 3.2 Definition 3.40

Lean code for Definition3.53●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Conductor.lean
    complete
    def WeierstrassCurve.algorithmicConductor.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O]
      [∀ (v : IsDedekindDomain.HeightOneSpectrum O),
          PerfectField
            (IsLocalRing.ResidueField (Localization.AtPrime v.asIdeal))]
      {K : Type u_2} [Field K] [Algebra O K] [IsFractionRing O K]
      (W : WeierstrassCurve K) [W.IsElliptic] : Ideal O
    def WeierstrassCurve.algorithmicConductor.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O]
      [∀
          (v :
            IsDedekindDomain.HeightOneSpectrum
              O),
          PerfectField
            (IsLocalRing.ResidueField
              (Localization.AtPrime
                v.asIdeal))]
      {K : Type u_2} [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    **The algorithmic conductor** `∏ᵥ 𝔭ᵥ ^ fᵥ` of an elliptic curve over the fraction field of a
    Dedekind domain `O`: the product over the height-one primes of `O` of the prime powers whose
    exponents are the algorithmic Ogg exponents `fᵥ = v (Δ_min,ᵥ) − mᵥ + 1` read off Tate's algorithm.
    The product is finite (`hasFiniteMulSupport_pow_algorithmicOggExponent`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Curve.lean
    complete
    def WeierstrassCurve.algorithmicOggExponent.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K]
      [PerfectField (IsLocalRing.ResidueField R)] (W : WeierstrassCurve K)
      [W.IsElliptic] : ℕ
    def WeierstrassCurve.algorithmicOggExponent.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      [PerfectField
          (IsLocalRing.ResidueField R)]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : ℕ
    **The algorithmic Ogg exponent of an elliptic curve**, `v(Δ_min) − m + 1`, where `m` is the
    component count of the reduction symbol and `v(Δ_min)` the valuation of the minimal discriminant
    (`natCast_algorithmicOggExponent`). It is `0` at good reduction, `1` at multiplicative reduction
    and at least `2` at additive reduction. 
Definition3.54
Statement uses 6
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Cremona label. (LMFDB)

The Cremona label of an elliptic curve over \mathbb{Q} is a way of indexing the elliptic curves over \mathbb{Q}. It has the form 11a1 or 10050bf2. The first number represents the conductor, the letter or letters represent the isogeny class and the last number represents the isomorphism class within the isogeny class as it appears in Cremona's tables. In each isogeny class the curve with number 1 is the \Gamma_0(N)-optimal curve.<br> For more details, see "The elliptic curve database for conductors to 130000" by John Cremona in ANTS-VII proceedings, Lecture Notes in Computer Science, vol. 4076, 2006, 11-29.

In the Cremona labeling, it is somewhat difficult to describe the mechanisms for ordering isogeny classes or curves within a class, since these depend on the order in which the curves were computed (though for conductors over 230,000 the isogeny class labels coincide). Cremona labels are only available for conductors up to 500,000. For these reasons, within this site we also use the LMFDB label, whose definition is somewhat simpler. Note that the lack of internal punctuation distinguishes Cremona labels from LMFDB labels.

Depends on: Definition 3.1 Definition 3.24 Definition 3.25 Definition 3.29 Definition 3.53 Definition 3.70

Definition3.55
Statement uses 3
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Definition 3.47
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Discriminant of an elliptic curve over \Q. (LMFDB)

The discriminant \Delta of an elliptic curve E defined over \mathbb{Q} is a nonzero integer divisible exactly by the primes of bad reduction. It is the discriminant of the minimal Weierstrass equation of the curve.

Depends on: Definition 3.1 Definition 3.10 Definition 3.66

Lean code for Definition3.55●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/DiscriminantIdeal.lean
    complete
    def WeierstrassCurve.minimalDiscriminantIdeal.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O] {K : Type u_2} [Field K]
      [Algebra O K] [IsFractionRing O K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    def WeierstrassCurve.minimalDiscriminantIdeal.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    **The minimal discriminant ideal** `𝔇_{E/K} = ∏ᵥ 𝔭ᵥ ^ v (Δ_min,ᵥ)`: the product over the
    height-one primes of `O` of the local minimal discriminants of `W`. The product is finite
    (`hasFiniteMulSupport_pow_localMinimalDiscriminantValuation`): after choosing an integral model,
    only finitely many primes divide its nonzero discriminant ideal, and every local minimal exponent
    is bounded by that ideal's multiplicity. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Reduced.lean
    complete
    def WeierstrassCurve.reducedMinimalModel (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    def WeierstrassCurve.reducedMinimalModel
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    **The reduced minimal model** of an elliptic curve over `ℚ`: the unique reduced minimal
    equation in its variable-change orbit. It is characterised by
    `isReducedMinimal_reducedMinimalModel`, `exists_smul_eq_reducedMinimalModel` and
    `eq_reducedMinimalModel`, fixes reduced equations, and depends only on the
    `ℚ`-isomorphism class of `E` (`VariableChange.reducedMinimalModel_smul`). 
Definition3.56
Statement uses 5
Statement dependency previews
Preview
Definition 1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Endomorphism ring of an elliptic curve. (LMFDB)

The endomorphism ring \End(E) of an elliptic curve E is the ring of all endomorphisms of E defined over K. For endomorphisms defined over extensions, we speak of the geometric endomorphism ring of E.

For elliptic curves defined over \Q, this ring is always isomorphic to \Z consisting of the multiplication-by-m maps [m] \colon E\to E for m \in \Z.

This is a special case of the endomorphism ring of an abelian variety.

Depends on: Definition 1.5 Definition 1.15 Definition 3.1 Definition 3.11 Definition 3.16

Lean code for Definition3.56●3 definitions
  • structure(2 fields)defined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/Basic.lean
    complete
    structure TauCeti.Isogeny.Hom.{u_1} {F : Type u_1} [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) : Type u_1
    structure TauCeti.Isogeny.Hom.{u_1} {F : Type u_1}
      [Field F]
      (W₁ W₂ : WeierstrassCurve.Affine F) :
      Type u_1
    **The carrier of `Hom(W₁, W₂)`**: an `F`-linear multiplicative map out of the target
    coordinate ring, pointed wherever it is unital. Its zero map is the zero morphism's formal
    representative and its unital elements are the isogenies. 
    toNonUnitalAlgHom : W₂.CoordinateRing →ₙₐ[F] W₁.FunctionField
    The underlying multiplicative map. Not an `AlgHom`: unitality is what the zero map fails. 
    mapsInfinity_of_map_one : self.toNonUnitalAlgHom.MapsInfinityOfMapOne
    Pointedness, required only of the unital maps. 
  • abbrevdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/ComplexMultiplication.lean
    complete
    abbrev WeierstrassCurve.GeometricEnd.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) : Type u_1
    abbrev WeierstrassCurve.GeometricEnd.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) : Type u_1
    **The geometric endomorphism ring** of `W`: the endomorphisms of its base change to the
    separable closure `SeparableClosure F`. It contains the endomorphisms defined over `F`, through
    base change `TauCeti.Isogeny.Hom.mapRingHom`, and may be strictly larger. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Isogeny/Hom/ComplexMultiplication.lean
    complete
    def WeierstrassCurve.HasGeometricCM.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve F) [W.IsElliptic] : Prop
    def WeierstrassCurve.HasGeometricCM.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve F)
      [W.IsElliptic] : Prop
    **Geometric complex multiplication**: some endomorphism of `W` over a separable closure of `F`
    is not multiplication by an integer, so that the geometric endomorphism ring `W.GeometricEnd` is
    strictly larger than `ℤ`. 
Definition3.57
Statement uses 5
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Faltings height of an elliptic curve. (LMFDB)

The Faltings height of an elliptic curve E defined over \Q is the quantity

h_{\mathrm{Faltings}}(E) = -\frac{1}{2}\log(A),

where A is the covolume (that is, the area of a fundamental period parallelogram) of the Neron lattice of E.

The stable Faltings height of E is

h_{\mathrm{stable}}(E) = \frac{1}{12}(\log\mathrm{denom}(j)-\log(|\Delta|)) - \frac{1}{2}\log(A),

where j is the j-invariant of E, \Delta the discriminant of any model of E and A the covolume of the period lattice of that model. The stable height is independent of the model of E, and the unstable and stable heights are equal for semistable curves, for which \mathrm{denom}(j)=|\Delta|.

Depends on: Definition 3.1 Definition 3.10 Definition 3.30 Definition 3.71 Definition 3.89

Lean code for Definition3.57●4 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/FaltingsHeight.lean
    complete
    def WeierstrassCurve.faltingsHeight (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℝ
    def WeierstrassCurve.faltingsHeight
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℝ
    The **Faltings height** `h(E) = -(1/2) log A` (LMFDB `ec.q.faltings_height`) of an elliptic
    curve over `ℚ`, where `A` is the covolume of its Néron lattice, the period lattice of the invariant
    differential of its reduced minimal model. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/FaltingsHeight.lean
    complete
    def WeierstrassCurve.stableFaltingsHeight (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℝ
    def WeierstrassCurve.stableFaltingsHeight
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℝ
    The **stable Faltings height** `h_stable(E) = (1/12) (log denom(j) - log |Δ|) - (1/2) log A`
    (LMFDB `ec.q.faltings_height`) of an elliptic curve over `ℚ`, where `j` is its `j`-invariant, `Δ`
    the discriminant of the equation `E` and `A` the covolume of the period lattice of its invariant
    differential. It does not depend on the equation
    (`WeierstrassCurve.stableFaltingsHeight_variableChange`). 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/ComplexPeriod.lean
    complete
    def WeierstrassCurve.periodCovolume (W : WeierstrassCurve ℂ) : ℝ
    def WeierstrassCurve.periodCovolume
      (W : WeierstrassCurve ℂ) : ℝ
    The **covolume of the period lattice** `Λ` (LMFDB `ec.q.period_lattice`) of the invariant
    differential `ω = dx / (2y + a₁x + a₃)` of a Weierstrass curve over `ℂ`, the area of a fundamental
    parallelogram of `Λ`, defined as the area `∫_{E(ℂ)} (i/2) ω ∧ ω̄` of `E(ℂ) ≅ ℂ/Λ` computed in the
    `x`-coordinate: `2 ∫_ℂ dA(x) / |Ψ₂Sq(x)|`, the factor `2` counting the two points of `E(ℂ)` over
    each `x`. It is `0` when the integral diverges, which does not happen on an elliptic curve. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Reduced.lean
    complete
    def WeierstrassCurve.reducedMinimalModel (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    def WeierstrassCurve.reducedMinimalModel
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    **The reduced minimal model** of an elliptic curve over `ℚ`: the unique reduced minimal
    equation in its variable-change orbit. It is characterised by
    `isReducedMinimal_reducedMinimalModel`, `exists_smul_eq_reducedMinimalModel` and
    `eq_reducedMinimalModel`, fixes reduced equations, and depends only on the
    `ℚ`-isomorphism class of `E` (`VariableChange.reducedMinimalModel_smul`). 
Definition3.58
Statement uses 5
Statement dependency previews
Preview
Definition 1.96
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Faltings ratio. (LMFDB)

In each isogeny class of elliptic curves defined over \Q, there is a unique curve E_{\text{min}} whose Neron lattice is a sublattice of the Ne;ron lattices of all the curves in the class (G. Stevens, ); it is the unique curve of minimal Faltings height among the curves in the isogeny class.

The Faltings ratio of each curve E is the index of the Ne;ron lattice of E_{\text{min}} in that of E.

Depends on: Definition 3.1 Definition 3.24 Definition 3.57 Definition 3.71 Definition 1.96

Definition3.59
uses 0used by 0✓L∃∀N

Frey curve. (LMFDB)

Given a triple of integers A, B, C with A + B = C, the Frey curve (or Frey-Hellegouarch curve) associated to this triple is the elliptic curve

y^2 = x(x-A)(x+B).

Lean code for Definition3.59●1 definition
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/FreyCurve/Basic.lean
    complete
    def TauCeti.freyCurve.{u_1} {R : Type u_1} [CommRing R] (A B : R) :
      WeierstrassCurve R
    def TauCeti.freyCurve.{u_1} {R : Type u_1}
      [CommRing R] (A B : R) :
      WeierstrassCurve R
    **The Frey–Hellegouarch curve** `y² = x (x - A) (x + B)`, that is `a₂ = B - A` and
    `a₄ = -A B`, the other coefficients being `0`. Its roots `0`, `A` and `-B` differ by `A`, `B` and
    `A + B`. 
Definition3.60
uses 0used by 0✓L∃∀N

Integral points. (LMFDB)

The integral points on a given model of an elliptic curve E defined over \Q are the points P=(x,y) on the model that have integral coordinates x and y.

The number of integral points is finite, by a theorem of Siegel.

Lean code for Definition3.60●1 definition
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Affine/Point/Integral.lean
    complete
    def WeierstrassCurve.integralPoints (W : WeierstrassCurve ℤ)
      [(W.baseChange ℚ).IsElliptic] : Set (W.baseChange ℚ).toAffine.Point
    def WeierstrassCurve.integralPoints
      (W : WeierstrassCurve ℤ)
      [(W.baseChange ℚ).IsElliptic] :
      Set (W.baseChange ℚ).toAffine.Point
    The affine rational points with both coordinates integral. The point at infinity is excluded. 
Definition3.61
Statement uses 3
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

j-invariant of a rational elliptic curve. (LMFDB)

The j-invariant of an elliptic curve E defined over \mathbb{Q} is an invariant of the isomorphism class of E over \overline{\mathbb{Q}} . If the Weierstrass equation of E is y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6, then its j-invariant is given by

j= \frac{c_4^3}{\Delta} where

\begin{aligned} b_2 &= a_1^2 + 4 a_2\\ b_4 &= 2a_4 + a_1 a_3\\ b_6 &= a_3^2 + 4 a_6 \\ b_8 &= a_1^2 a_6 + 4 a_2 a_6 - a_1 a_3 a_4 + a_2 a_3^2 - a_4^2\\ c_4 &= b_2^2 - 24b_4 \\ c_6 &= -b_2^3 + 36 b_2 b_4 - 216 b_6\end{aligned}

and \Delta=-b_2^2b_8 - 8 b_4^3 -27 b_6 ^2 + 9 b_2 b_4 b_6

is the discriminant of E.

Depends on: Definition 3.1 Definition 3.55 Definition 3.97

Lean code for Definition3.61●1 definition
  • defdefined in Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean
    complete
    def WeierstrassCurve.j.{u} {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) [W.IsElliptic] : R
    def WeierstrassCurve.j.{u} {R : Type u}
      [CommRing R] (W : WeierstrassCurve R)
      [W.IsElliptic] : R
    The j-invariant `j` of an elliptic curve, which is invariant under isomorphisms over `R`.
    Note that to prove two equal elliptic curves have the same `j`, you need to use `simp_rw`,
    as `rw` cannot transfer instance `WeierstrassCurve.IsElliptic` automatically. 
Definition3.62
Statement uses 2
Statement dependency previews
Preview
Definition 3.66
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Kodaira symbol. (LMFDB)

The Kodaira symbol encodes the reduction type of an elliptic curve at a prime p. It describes the combinatorics of the special fiber of the Ne;ron model of the elliptic curve. The Ne;ron model is obtained from the minimal Weierstrass equation using Tate's algorithm. For an exact definition and properties, consult a text on elliptic curves.

Depends on: Definition 3.66 Definition 3.73

Lean code for Definition3.62●2 definitions
  • inductive(8 constructors)defined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Symbol.lean
    complete
    inductive TauCeti.ReductionSymbol : Type
    inductive TauCeti.ReductionSymbol : Type
    The reduction symbols output by Tate's algorithm. The parameterized families encode `Iₙ`
    and `Iₙ*`; their zero cases are `I₀` and `I₀*`. 
    TauCeti.ReductionSymbol.I (n : ℕ) : TauCeti.ReductionSymbol
    The `Iₙ` family, with `I₀` denoting good reduction. 
    TauCeti.ReductionSymbol.II : TauCeti.ReductionSymbol
    The additive reduction symbol `II`. 
    TauCeti.ReductionSymbol.III : TauCeti.ReductionSymbol
    The additive reduction symbol `III`. 
    TauCeti.ReductionSymbol.IV : TauCeti.ReductionSymbol
    The additive reduction symbol `IV`. 
    TauCeti.ReductionSymbol.IStar (n : ℕ) :
      TauCeti.ReductionSymbol
    The additive family `Iₙ*`, with `I₀*` at `n = 0`. 
    TauCeti.ReductionSymbol.IVStar : TauCeti.ReductionSymbol
    The additive reduction symbol `IV*`. 
    TauCeti.ReductionSymbol.IIIStar : TauCeti.ReductionSymbol
    The additive reduction symbol `III*`. 
    TauCeti.ReductionSymbol.IIStar : TauCeti.ReductionSymbol
    The additive reduction symbol `II*`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Curve.lean
    complete
    def WeierstrassCurve.reductionSymbol.{u_1, u_2} (R : Type u_1) [CommRing R]
      [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2} [Field K]
      [Algebra R K] [IsFractionRing R K]
      [PerfectField (IsLocalRing.ResidueField R)] (W : WeierstrassCurve K)
      [W.IsElliptic] : TauCeti.ReductionSymbol
    def WeierstrassCurve.reductionSymbol.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      [PerfectField
          (IsLocalRing.ResidueField R)]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : TauCeti.ReductionSymbol
    **The reduction symbol of an elliptic curve**: the symbol at which Tate's algorithm stops on a
    minimal equation of `W` over `R`. It does not depend on the minimal equation, on the changes of
    variables made by the algorithm, or on the uniformiser (`reductionSymbol_eq_of_isTateTerminal`). 
Definition3.63
Statement uses 6
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Label for an elliptic curve over \mathbb Q. (LMFDB)

The LMFDB label of an elliptic curve E over \mathbb{Q} is a way of indexing the elliptic curves over \mathbb{Q}. It has the form "11.a1" or "10050.bf2".

The label has three components: the conductor, the isogeny class label, and the isomorphism class index.

  1. The first component is the decimal representation of the conductor (a positive integer).

  2. The second component is the isogeny class label, a string which represents the isogeny class index, a non-negative integer encoded as in base 26 using the 26 symbols a,b,.., z. The isogeny classes of elliptic curves with the same conductor are sorted lexicographically by the q-expansions of the associated modular forms, and the isogeny class index of each isogeny class of fixed conductor is the index (starting at 0) of the class in this ordering.

  3. The third component is the decimal representation of the isomorphism class index, a positive integer giving the index of the coefficient vector [a_1, a_2, a_3, a_4, a_6] of the reduced minimal Weierstrass equation of E in a lexicographically sorted list of all the elliptic curves in the isogeny class.

The complete label is obtained by concatenating [conductor, ".", isogeny class label, isomorphism class index].

Note that this is not the same as the Cremona label, even though for certain curves they only differ in the insertion of the dot "." (for example, "37a1" and "37.a1" are the same curve). The presence of the punctuation "." distinguishes an LMFDB label from a Cremona label. Cremona labels are only defined for curves of conductor up to 500000.

Depends on: Definition 3.1 Definition 3.9 Definition 3.25 Definition 3.29 Definition 3.53 Definition 3.66

Lean code for Definition3.63●5 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Label/LMFDB.lean
    complete
    def WeierstrassCurve.lmfdbLabel (E : WeierstrassCurve ℚ) [E.IsElliptic] :
      String
    def WeierstrassCurve.lmfdbLabel
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : String
    The **LMFDB label** (LMFDB `ec.q.lmfdb_label`) of an elliptic curve `E` over `ℚ`: the conductor
    of `E` in decimal, a dot, the isogeny class label (`isogenyClassLetters` of
    `lmfdbIsogenyClassIndex`), and the isomorphism class index (`lmfdbIsomorphismClassIndex`) in
    decimal, as in `11.a1` or `10050.bf2`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Label/LMFDB.lean
    complete
    def WeierstrassCurve.lmfdbIsogenyClassIndex (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℕ
    def WeierstrassCurve.lmfdbIsogenyClassIndex
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℕ
    The **isogeny class index** (LMFDB `ec.q.lmfdb_label`) of an elliptic curve `E` over `ℚ`: the
    number of isogeny classes of elliptic curves over `ℚ` of the same conductor as `E` that come before
    the isogeny class of `E` when the classes are sorted lexicographically by the coefficients `(aₙ)` of
    the `L`-series of their curves (`WeierstrassCurve.LFunction`), which are the `q`-expansion
    coefficients of their modular forms. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Label/LMFDB.lean
    complete
    def WeierstrassCurve.isogenyClassLetters (n : ℕ) : String
    def WeierstrassCurve.isogenyClassLetters
      (n : ℕ) : String
    The **isogeny class label** (LMFDB `ec.q.lmfdb_label`) of an isogeny class index `n`: `n` in
    base `26` with the letters `a`, …, `z` as the digits `0`, …, `25`, so that `0`, `25`, `26` and `31`
    are `a`, `z`, `ba` and `bf`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Label/LMFDB.lean
    complete
    def WeierstrassCurve.lmfdbIsomorphismClassIndex (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℕ
    def WeierstrassCurve.lmfdbIsomorphismClassIndex
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℕ
    The **isomorphism class index** (LMFDB `ec.q.lmfdb_label`) of an elliptic curve `E` over `ℚ`:
    the position, counted from `1`, of `E` in its isogeny class when the curves of the class are sorted
    lexicographically by the coefficient vectors `[a₁, a₂, a₃, a₄, a₆]` (`coeffVector`) of their
    reduced minimal equations (`WeierstrassCurve.reducedMinimalModel`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Reduced.lean
    complete
    def WeierstrassCurve.reducedMinimalModel (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    def WeierstrassCurve.reducedMinimalModel
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    **The reduced minimal model** of an elliptic curve over `ℚ`: the unique reduced minimal
    equation in its variable-change orbit. It is characterised by
    `isReducedMinimal_reducedMinimalModel`, `exists_smul_eq_reducedMinimalModel` and
    `eq_reducedMinimalModel`, fixes reduced equations, and depends only on the
    `ℚ`-isomorphism class of `E` (`VariableChange.reducedMinimalModel_smul`). 
Definition3.64
Statement uses 6
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Manin constant for elliptic curves over \Q. (LMFDB)

Let E be an optimal elliptic curves of conductor N, let f be the modular form associated to E, and let \varphi:X_0(N)\to E be the associated modular parametrization. Let \omega_E be the Ne;ron differential on E. Then the pull-back \varphi^*\omega_E of \omega_E to X_0(N) satisfies

\varphi^*\omega_E = c \cdot 2\pi i f(z)dz

for some non-zero rational number c called the Manin constant of E. In fact c\in \Z, by a theorem of Edixhoven.

It is conjectured that c=1 for all optimal curves, and there are several results stating that c=1 if certain conditions hold: see Amod Agashe, Ken Ribet and William Stein: The Manin Constant, Pure and Applied Mathematics Quarterly, Vol. 2 no.2 (2006), pp. 617–636. In an appendix to that paper, John Cremona gives an algorithm for verifying that c=1 in individual cases, and proves that c=1 for all optimal elliptic curves over \Q in the database. Kestutis Cesnavicius proves c=1 for semistable elliptic curves over \Q, and more generally that v_p(c) = 0 if p^2 \nmid N in *The Manin constant in the semistable case*, Compositio Math. 154 (2018), 1889–1920.

For non-optimal elliptic curves E' over \Q, the Manin constant is defined, in terms of the Manin constant of the unique optimal curve isogenous to E'. Let \varphi:X_0(N)\to E and f be as above, and \psi:E\to E' an isogeny of least degree from E to E'. Then we obtain a parametrization \psi\circ\varphi:X_0(N)\to E' and define the Manin constant c' of E' to be the non-zero rational number such that

(\psi\circ\varphi)^*\omega_{E'} = c' \cdot 2\pi i f(z)dz.

This is an integer multiple of the Manin constant of E, since \psi^*\omega_{E'} is an integer multiple of \omega_E; the multiplier divides the degree of \psi but may be strictly less: it may equal 1.

Depends on: Definition 3.1 Definition 3.24 Definition 3.53 Definition 3.68 Definition 3.70 Definition 3.89

Definition3.65
Statement uses 8
Statement dependency previews
Preview
Definition 2.42
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

The minimal quadratic twist of an elliptic curve E defined over \mathbb{Q} is defined as follows.

  • First consider the finite set of all quadratic twists of E which have minimal conductor. If this set contains just one curve, it is the minimal quadratic twist.

  • Otherwise, sort the curves with minimal conductor into isogeny classes, and restrict attention to the curves whose class comes first in the LMFDB labelling; equivalently, sort the curves by the sequence of coefficients (a_n) of their L-function and restrict to the curve or curves with the first such sequence.

  • If E does not have Complex Multiplication (CM), then the minimal isogeny class contains a *unique* curve with the same j-invariant as E, and this curve is the minimal quadratic twist of E.

  • If E does have CM, then the minimal isogeny class contains exactly *two* curves with j-invariant j(E). In all but one case these two curves have distinct minimal discriminants, with the same sign, and we define the minimal quadratic twist to be the curve whose minimal discriminant has smallest absolute value.

  • The exception is for elliptic curves with j=66^3, which have CM by the imaginary quadratic order with discriminant -16. The minimal conductor is 32, and curves 32.a1 and 32.a2 (which are quadratic twists of each other by -1) both have minimal discriminant 2^9. The minimal quadratic twist for j=66^3 is defined to be 32.a1.

All elliptic curves E over \mathbb{Q} with j-invariant 1728 are quartic twists of each other. The smallest conductor of such a curve is 32. Both the curves 32.a3 and 32.a4 have j-invariant 1728, and they have minimal discriminants -2^{12} and 2^6 respectively. We define the minimal quartic twist (or just minimal twist) of every elliptic curve with j=1728 to be the curve 32.a3, which has smaller discriminant, and equation Y^2=X^3-X.

All elliptic curves E over \mathbb{Q} with j-invariant 0 are sextic twists of each other. The smallest conductor of such a curve is 27. Both the curves 27.a3 and 27.a4 have j-invariant 0, and they have minimal discriminants -3^9 and -3^3 respectively. We define the minimal sextic twist (or just minimal twist) of every elliptic curve with j=0 to be the curve 27.a4, which has smaller discriminant, and equation Y^2+Y=X^3.

The minimal twist of an elliptic curve E is its minimal quadratic twist, unless j(E)=0 or 1728, in which cases the minimal twist is its minimal sextic or quartic twist respectively. The minimal quadratic twist depends only on the j-invariant unless j=0 or 1728; in each of these cases, there are infinitely many different minimal quadratic twists, though only one minimal twist.

Depends on: Definition 3.1 Definition 3.8 Definition 3.25 Definition 3.30 Definition 3.37 Definition 3.53 Definition 3.96 Definition 2.42

Lean code for Definition3.65●5 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Twist/MinimalTwist.lean
    complete
    def WeierstrassCurve.IsMinimalTwist (E E' : WeierstrassCurve ℚ)
      [E.IsElliptic] : Prop
    def WeierstrassCurve.IsMinimalTwist
      (E E' : WeierstrassCurve ℚ)
      [E.IsElliptic] : Prop
    An elliptic curve `E'` over `ℚ` is a **minimal twist** (LMFDB `ec.q.minimal_twist`) of an
    elliptic curve `E` over `ℚ` if it is isomorphic to the curve `32.a3`, `y² = x³ - x`, when
    `j(E) = 1728` (the **minimal quartic twist**), to the curve `27.a4`, `y² + y = x³`, when `j(E) = 0`
    (the **minimal sextic twist**), and if it is a minimal quadratic twist of `E` otherwise. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Twist/MinimalTwist.lean
    complete
    def WeierstrassCurve.IsMinimalQuadraticTwist (E E' : WeierstrassCurve ℚ)
      [E.IsElliptic] : Prop
    def WeierstrassCurve.IsMinimalQuadraticTwist
      (E E' : WeierstrassCurve ℚ)
      [E.IsElliptic] : Prop
    An elliptic curve `E'` over `ℚ` is a **minimal quadratic twist** (LMFDB `ec.q.minimal_twist`)
    of an elliptic curve `E` over `ℚ` if it is a quadratic twist of `E` whose sorting key
    `minimalTwistKey` is least among the quadratic twists of `E`: its conductor is minimal, then among
    those of the same conductor its sequence `(aₙ)` of `L`-series coefficients is lexicographically
    minimal, then among those of the same conductor and `L`-series the absolute value of its minimal
    discriminant is minimal. Moreover, when `j(E) = 66³`, it is isomorphic to the curve `32.a1`,
    `y² = x³ - 11x - 14`, which settles the only tie that the sorting key leaves. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Twist/MinimalTwist.lean
    complete
    def WeierstrassCurve.IsQuadraticTwist (E E' : WeierstrassCurve ℚ) : Prop
    def WeierstrassCurve.IsQuadraticTwist
      (E E' : WeierstrassCurve ℚ) : Prop
    An elliptic curve `E'` over `ℚ` is a **quadratic twist** (LMFDB `ec.twists`) of `E` if it is
    isomorphic over `ℚ` to the twist `E^(d)` of `E` by some `d ∈ ℚ*`: the curve
    `y² = x³ + d b₂/4 x² + d² b₄/2 x + d³ b₆/4`, which is `E.quadraticTwistOf 0 (-d / 4)`, the twist by
    the trace `0` and the norm `-d/4` of `√d / 2`. It becomes isomorphic to `E` over `ℚ(√d)`, and `E` is
    the twist by `d = 1`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Twist/MinimalTwist.lean
    complete
    def WeierstrassCurve.minimalTwistKey (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : Lex (ℕ × Lex (Lex (ℕ → ℤ) × ℕ))
    def WeierstrassCurve.minimalTwistKey
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] :
      Lex (ℕ × Lex (Lex (ℕ → ℤ) × ℕ))
    The **sorting key** of an elliptic curve `E` over `ℚ` for minimal quadratic twists (LMFDB
    `ec.q.minimal_twist`): its conductor, then the sequence `(aₙ)` of the coefficients of its
    `L`-series, then the absolute value of its minimal discriminant, ordered lexicographically. The
    conductor is the norm of `WeierstrassCurve.algorithmicConductor` and the absolute value of the
    minimal discriminant that of `WeierstrassCurve.minimalDiscriminantIdeal`. 
  • defdefined in Mathlib/AlgebraicGeometry/EllipticCurve/LFunction.lean
    complete
    def WeierstrassCurve.LFunction.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) : ArithmeticFunction ℤ
    def WeierstrassCurve.LFunction.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) :
      ArithmeticFunction ℤ
    The L-function of a Weierstrass curve `W` over a number field `K` as a formal Dirichlet series.
    
    For each prime ideal `p` of the ring of integers of `K` with norm `‖p‖` residue field `κ_p`,
    we define the local polynomial `fₚ(T)` as:
    * `fₚ = 1 - aₚ T + ‖p‖ T ^ 2` where `aₚ = ‖p‖ + 1 - |W(κ_p)|` if `W` has good reduction at `p`,
    * `fₚ = 1 - T` if `W` has split multiplicative reduction at `p`,
    * `fₚ = 1 + T` if `W` has nonsplit multiplicative reduction at `p`,
    * `fₚ = 1` if `W` has additive reduction at `p`.
    Then the L-function of `W` is the formal Dirichlet series defined as the product of `1 / fₚ(‖p‖⁻ˢ)`
    as `p` ranges over all prime ideals of the ring of integers of `K`.
    
Definition3.66
uses 0
Used by 7
Reverse dependency previews
Preview
Definition 3.47
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Minimal Weierstrass equation over \mathbb Q. (LMFDB)

Every elliptic curve over \mathbb{Q} has an integral Weierstrass model (or equation) of the form y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6,

where a_1,a_2,a_3,a_4,a_6 are integers. Each such equation has a discriminant \Delta. A minimal Weierstrass equation is one for which |\Delta| is minimal among all Weierstrass models for the same curve. For elliptic curves over \mathbb{Q}, minimal models exist, and there is a unique reduced minimal model which satisfies the additional constraints a_1,a_3\in\{0,1\}, a_2\in\{-1,0,1\}.

Lean code for Definition3.66●3 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/GlobalMinimalModel.lean
    complete
    def WeierstrassCurve.IsGlobalMinimal.{u_1, u_2} (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2} [Field K] [Algebra O K]
      [IsFractionRing O K] (W : WeierstrassCurve K) [_hE : W.IsElliptic] :
      Prop
    def WeierstrassCurve.IsGlobalMinimal.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [_hE : W.IsElliptic] : Prop
    **A globally minimal Weierstrass equation** (LMFDB `ec.global_minimal_model`): `W` is minimal
    over the discrete valuation ring `Localization.AtPrime v.asIdeal` at every height-one prime `v` of
    `O`. Integrality over `O` is not assumed; it is the theorem `IsGlobalMinimal.isIntegral`. The
    ellipticity instance keeps the predicate to elliptic curves, the setting in which the invariants
    derived from it make sense; the definition itself does not consume it, which its binder name
    records. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Reduced.lean
    complete
    def WeierstrassCurve.IsReducedMinimal (W : WeierstrassCurve ℚ)
      [W.IsElliptic] : Prop
    def WeierstrassCurve.IsReducedMinimal
      (W : WeierstrassCurve ℚ)
      [W.IsElliptic] : Prop
    **A reduced minimal Weierstrass equation over `ℚ`**: globally minimal over `ℤ`, with the
    residual freedom of the changes of variables over `ℤ` pinned by `a₁, a₃ ∈ {0, 1}` and
    `a₂ ∈ {-1, 0, 1}`. Every elliptic curve over `ℚ` has exactly one such equation in its
    variable-change orbit (`existsUnique_reducedMinimal`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Reduced.lean
    complete
    def WeierstrassCurve.reducedMinimalModel (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    def WeierstrassCurve.reducedMinimalModel
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    **The reduced minimal model** of an elliptic curve over `ℚ`: the unique reduced minimal
    equation in its variable-change orbit. It is characterised by
    `isReducedMinimal_reducedMinimalModel`, `exists_smul_eq_reducedMinimalModel` and
    `eq_reducedMinimalModel`, fixes reduced equations, and depends only on the
    `ℚ`-isomorphism class of `E` (`VariableChange.reducedMinimalModel_smul`). 
Definition3.67
Statement uses 2
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Modular degree of an elliptic curve over \mathbb Q. (LMFDB)

The modular degree of an elliptic curve over \Q is the minimum degree of a modular parametrization of the curve.

Depends on: Definition 3.1 Definition 3.68

Definition3.68
uses 1
Used by 2
Reverse dependency previews
Preview
Definition 3.64
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
XL∃∀N

Modular parametrization of an elliptic curve over \mathbb Q. (LMFDB)

A modular parametrization of an elliptic curve E over \mathbb{Q} is a non-constant map X_0(N) \to E, where N is the conductor of E.

Depends on: Definition 3.1

Definition3.69
Statement uses 2
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Naive height. (LMFDB)

The naive height of an elliptic curve in short Weierstrass form

y^2 = x^3 + a_4 x + a_6

is the quantity \max(4\lvert a_4 \rvert^3, 27\lvert a_6 \rvert^2).

Depends on: Definition 3.1 Definition 3.97

Lean code for Definition3.69●3 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalPairModel.lean
    complete
    def WeierstrassCurve.minimalPairModel (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : E.MinimalPairModel
    def WeierstrassCurve.minimalPairModel
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : E.MinimalPairModel
    **A chosen minimal-pair model** of an elliptic curve over `ℚ`. Its equation and its height
    do not depend on the choice (`minimalPairModel_unique`, `naiveHeight_eq`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalPairModel.lean
    complete
    def WeierstrassCurve.naiveHeight (E : WeierstrassCurve ℚ) [E.IsElliptic] : ℕ
    def WeierstrassCurve.naiveHeight
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℕ
    **The naïve height of an elliptic curve over `ℚ`**: the height `max (4|A|³) (27B²)` of its
    minimal-pair equation `y² = x³ + Ax + B`. It can be computed from any minimal-pair model
    (`naiveHeight_eq`), is invariant under `ℚ`-isomorphism (`naiveHeight_variableChange`), and is the
    quantity by which tables of elliptic curves over `ℚ` are ordered. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalPairModel.lean
    complete
    def WeierstrassCurve.shortEquationHeight (W : WeierstrassCurve ℤ) : ℕ
    def WeierstrassCurve.shortEquationHeight
      (W : WeierstrassCurve ℤ) : ℕ
    **The height of a short Weierstrass equation** `y² = x³ + a₄x + a₆` over `ℤ`:
    `max (4|a₄|³) (27a₆²)`. The formula is stated for every Weierstrass equation over `ℤ`, but it is
    the height of the equation only when the equation is short, which is how it is used. It is a
    function of the equation, not of the curve it defines: over `ℚ`, the scaling `x = u²x'`,
    `y = u³y'` sends `(a₄, a₆)` to `(u⁻⁴a₄, u⁻⁶a₆)` and divides the same expression by `|u|¹²`. It
    becomes an invariant of the curve once the equation is pinned to the minimal pair, which is
    `naiveHeight`. 
Definition3.70
Statement uses 3
Statement dependency previews
Preview
Definition 3.25
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.54
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
XL∃∀N

Optimal elliptic curve over \mathbb Q. (LMFDB)

An elliptic curve over \Q is optimal if it is an optimal quotient of the corresponding modular curve. Every isogeny class contains a unique optimal curve. For more information, see William Stein's page on optimal quotients.

Optimal curves have a Cremona label whose last component is the number 1, with the exception of class 990h where the optimal curve is 990h3 (number 3). This is a historical accident and has no mathematical significance.

NB It has not yet been proved in all cases that the first curve in each class is optimal; however this is true for all isogeny classes of conductor {}\le400000, and for many others (for example whenever the isogeny class consists of only one curve). The current optimality status of each curve is shown on its home page.

Depends on: Definition 3.25 Definition 3.47 Definition 3.53

Definition3.71
Statement uses 6
Statement dependency previews
Preview
Definition 1.93
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Definition 3.45
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
XL∃∀N

Period lattice of an elliptic curve. (LMFDB)

For E an elliptic curve defined over \C by a Weierstrass equation with coefficients a_1,a_2,a_3,a_4,a_6, the period lattice of E is the set \Lambda of periods of the invariant differential dx/(2y+a_1x+a_3), which is a discrete lattice of rank 2 in \C. There is an isomorphism (of complex Lie groups) \C/\Lambda \cong E(\C) defined in terms of the Weierstrass \wp-function.

For elliptic curves defined over \R (and in particular, for those defined over \Q), the period lattice has one of two possible types depending on the sign of the discriminant \Delta of E:

  • If \Delta>0, then \Lambda is *rectangular*, with a \Z-basis of the form \left<x,yi\right>, where x and y are positive real numbers; in this case, E(\R) has two connected components.

  • If \Delta<0, then \Lambda has a \Z-basis of the form \left<2x,x+yi\right>, where x and y are positive real numbers; in this case, E(\R) has one connected component.

The real period of E is defined to be 2x in each case, so is equal to the smallest positive real period multiplied by the number of real components.

Note that the period lattice depends on the choice of Weierstrass model of E; different models have homothetic lattices. For elliptic curves defined over \Q, the period lattice associated to a global minimal model of E is called the N'e;ron lattice of E. The real period of the Ne;ron lattice is denoted \Omega_E, and appears in the Birch Swinnerton-Dyer conjecture for E.

Depends on: Definition 3.1 Definition 3.17 Definition 3.55 Definition 3.72 Definition 3.97 Definition 1.93

Definition3.72
Statement uses 3
Statement dependency previews
Preview
Definition 3.66
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.51
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Real period. (LMFDB)

For an elliptic curve E defined over \R with period lattice \Lambda, the real period \Omega is the least positive element of \Lambda\cap\R multiplied by the number of components of E(\R).

When an elliptic curve is defined by means of a Weierstrass equation, the period lattice \Lambda is the lattice of periods of the invariant differential dx/(2y+a_1x+a_3). Different Weierstrass models defining isomorphic curves have period lattices which are homothetic, meaning that they differ by a nonzero multiplicative constant. When we speak of the period lattice or the real period for an elliptic curve defined over \Q, we always mean the lattice and period associated with a minimal equation.

Depends on: Definition 3.66 Definition 3.97 Definition 3.98

Lean code for Definition3.72●3 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/RealPeriod.lean
    complete
    def WeierstrassCurve.realPeriod (W : WeierstrassCurve ℝ) : ℝ
    def WeierstrassCurve.realPeriod
      (W : WeierstrassCurve ℝ) : ℝ
    The **real period** `Ω(W)` of a Weierstrass curve over `ℝ`, defined as twice the real value of
    `WeierstrassCurve.realPeriodLIntegral`. When that integral is finite, for instance for an elliptic
    curve (`WeierstrassCurve.ofReal_realPeriod`), this is `Ω(W) = 2 ∫_{Ψ₂Sq(x) > 0} dx / √Ψ₂Sq(x)`;
    when it diverges, `Ω(W) = 0`. The motivation is that this integral computes `∫ |ω|` over the real
    points, `ω = dx / (2y + a₁x + a₃)` being the invariant differential and the factor `2` counting the
    two real points over each `x`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/RealPeriod.lean
    complete
    def WeierstrassCurve.realPeriodLIntegral (W : WeierstrassCurve ℝ) : ENNReal
    def WeierstrassCurve.realPeriodLIntegral
      (W : WeierstrassCurve ℝ) : ENNReal
    The integral `∫_{Ψ₂Sq(x) > 0} dx / √Ψ₂Sq(x)` of a Weierstrass curve over `ℝ`, where
    `Ψ₂Sq(x) = 4x³ + b₂x² + 2b₄x + b₆` is the square of `2y + a₁x + a₃` on the curve, as a value in
    `ℝ≥0∞`. It is finite for an elliptic curve (`WeierstrassCurve.realPeriodLIntegral_lt_top`), and
    whenever it is finite it is half the real period `WeierstrassCurve.realPeriod`
    (`WeierstrassCurve.ofReal_realPeriod`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Reduced.lean
    complete
    def WeierstrassCurve.reducedMinimalModel (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    def WeierstrassCurve.reducedMinimalModel
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : WeierstrassCurve ℚ
    **The reduced minimal model** of an elliptic curve over `ℚ`: the unique reduced minimal
    equation in its variable-change orbit. It is characterised by
    `isReducedMinimal_reducedMinimalModel`, `exists_smul_eq_reducedMinimalModel` and
    `eq_reducedMinimalModel`, fixes reduced equations, and depends only on the
    `ℚ`-isomorphism class of `E` (`VariableChange.reducedMinimalModel_smul`). 
Definition3.73
uses 1used by 1✓L∃∀N

Reduction type of an elliptic curve over \mathbb Q. (LMFDB)

The reduction type of an elliptic curve E defined over \mathbb{Q} at a prime p depends on the reduction \tilde E of E modulo p. This reduction is constructed by taking a minimal Weierstrass equation for E and reducing its coefficients modulo p to obtain a curves over \mathbb{F}_p. The reduced curve is either smooth (non-singular) or has a unique singular point.

E has good reduction at p if \tilde E is non-singular over \mathbb{F}_p. The reduction type is ordinary (ord) if \tilde E is ordinary (equivalently, if \tilde E(\overline{\F_p}) has non-trivial p-torsion) and supersingular (ss) otherwise. The coefficient a(p) of the L-function L(E,s) is divisible by p if the reduction is supersingular and not if it is ordinary.

E has bad reduction at p if \tilde E is singular over \mathbb{F}_p. In this case the reduction type is further classified according to the nature of the singularity. In all cases the singularity is a double point.

E has multiplicative reduction at p if \tilde E has a nodal singularity: the singular point is a node, with distinct tangents. It is called split if the two tangents are defined over \mathbb{F}_p and non-split otherwise. The coefficient a(p) of L(E,s) is 1 if the reduction is split and -1 if it is non-split.

E has additive reduction at p if \tilde E has a cuspidal singularity: the singular point is a cusp, with only one tangent. In this case a(p)=0.

Depends on: Definition 3.66

Lean code for Definition3.73●3 definitions
  • class(extends 2, 3 methods)defined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/OrdinaryReduction.lean
    complete
    class WeierstrassCurve.HasGoodOrdinaryReduction.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.HasGoodOrdinaryReduction.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    **Good ordinary reduction** at `p`: a minimal equation with good reduction whose reduction is
    ordinary at `p`, that is, has a nonzero `p`-torsion point over the algebraic closure of the residue
    field. It is meant for `p` the characteristic of the residue field. 
    • WeierstrassCurve.HasGoodReduction R W
    val_Δ_maximal : MaximalFor (fun C => WeierstrassCurve.IsIntegral R (C • W)) (fun C => WeierstrassCurve.valuation_Δ_aux R (C • W)) 1
    Inherited from
    1. WeierstrassCurve.HasGoodReduction
    2. WeierstrassCurve.IsMinimal
    goodReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.Δ = 1
    Inherited from
    1. WeierstrassCurve.HasGoodReduction
    isOrdinary_reduction : WeierstrassCurve.IsOrdinary p (WeierstrassCurve.reduction R W)
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    def WeierstrassCurve.IsNonsplitMultiplicativeReduction.{u, v} (R : Type v)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u}
      [Field K] [Algebra R K] [IsFractionRing R K] (W : WeierstrassCurve K)
      [WeierstrassCurve.IsMinimal R W] : Prop
    def WeierstrassCurve.IsNonsplitMultiplicativeReduction.{u,
        v}
      (R : Type v) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R] {K : Type u}
      [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K)
      [WeierstrassCurve.IsMinimal R W] : Prop
    A minimal Weierstrass curve over `K` has **non-split multiplicative reduction** (LMFDB
    `ec.nonsplit_multiplicative_reduction`) if it has multiplicative reduction that is not split. 
  • inductive(3 constructors)defined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    inductive WeierstrassCurve.ReductionType : Type
    inductive WeierstrassCurve.ReductionType : Type
    The **reduction type** (LMFDB `ec.reduction_type`) of an elliptic curve at a prime: **good**,
    **multiplicative** (split or non-split), or **additive**. 
    WeierstrassCurve.ReductionType.good :
      WeierstrassCurve.ReductionType
    WeierstrassCurve.ReductionType.multiplicative
      (split : Bool) : WeierstrassCurve.ReductionType
    WeierstrassCurve.ReductionType.additive :
      WeierstrassCurve.ReductionType
Definition3.74
Statement uses 4
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Regulator of elliptic curve. (LMFDB)

The regulator of an elliptic curve E defined over a number field K, denoted \operatorname{Reg}(E/K), is the volume of E(K)/E(K)_{tor} with respect to the height pairing \langle -,-\rangle associated to the canonical height \hat{h}, i.e. \langle P,Q\rangle = \frac{1}{2}(\hat{h}(P+Q)-\hat{h}(P)-\hat{h}(Q)).

If the Mordell-Weil group E(K) has rank r and P_1, \ldots, P_r \in E(K) generate E(K)/E(K)_{tor}, then

\operatorname{Reg}(E/K) = \left|\det (\langle P_i, P_j \rangle )_{1\leq i,j \leq r}\right|,

which is independent of the choice of generators.

Special cases are when E(K) has rank 0, in which case E(K)/E(K)_{tor}=0 and \operatorname{Reg}(E/K)=1, and when E(K) has rank 1, in which case \operatorname{Reg}(E/K) is equal to the canonical height \hat{h}(P) of a generator P.

Depends on: Definition 3.1 Definition 3.7 Definition 3.38 Definition 2.1

Lean code for Definition3.74●3 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/CanonicalHeight/Basic.lean
    complete
    def WeierstrassCurve.Affine.neronTatePairing.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.Point ℝ
    def WeierstrassCurve.Affine.neronTatePairing.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.Point ℝ
    **The Néron–Tate pairing** `⟨P, Q⟩`, the bilinear form associated with the canonical height.
    It is Mathlib's `QuadraticMap.associated'`, the halved polar form. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/PointModTorsion/Basic.lean
    complete
    def WeierstrassCurve.Affine.neronTatePairingModTorsion.{u_1} {F : Type u_1}
      [Field F] (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F] [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.PointModTorsion ℝ
    def WeierstrassCurve.Affine.neronTatePairingModTorsion.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.PointModTorsion ℝ
    **The Néron-Tate pairing on the points modulo torsion.** 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/Regulator/Basic.lean
    complete
    def WeierstrassCurve.Affine.regulator.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)]
      [Module.Finite ℤ W.PointModTorsion] : ℝ
    def WeierstrassCurve.Affine.regulator.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)]
      [Module.Finite ℤ W.PointModTorsion] : ℝ
    **The regulator** of an elliptic curve whose points modulo torsion are finitely generated as a
    `ℤ`-module: the absolute determinant of the Gram matrix of the Néron-Tate pairing on any basis of
    that quotient. For a curve of rank zero this is the empty determinant, namely `1`. 
Definition3.75
Statement uses 3
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Semistable elliptic curve. (LMFDB)

An elliptic curve is semistable if it has multiplicative reduction at every bad prime.

Depends on: Definition 3.1 Definition 3.4 Definition 3.84

Lean code for Definition3.75●1 definition
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Semistable.lean
    complete
    def WeierstrassCurve.IsSemistable.{u_3, u_4} (O : Type u_3) [CommRing O]
      [IsDedekindDomain O] {F : Type u_4} [Field F] [Algebra O F]
      [IsFractionRing O F] (W : WeierstrassCurve F) [_hE : W.IsElliptic] :
      Prop
    def WeierstrassCurve.IsSemistable.{u_3, u_4}
      (O : Type u_3) [CommRing O]
      [IsDedekindDomain O] {F : Type u_4}
      [Field F] [Algebra O F]
      [IsFractionRing O F]
      (W : WeierstrassCurve F)
      [_hE : W.IsElliptic] : Prop
    **Semistability over a Dedekind domain**: at every height-one prime, a local minimal equation
    has no additive reduction. Equivalently, the reduction is good or multiplicative everywhere.
    
    The predicate is stated on an elliptic equation but depends only on its `F`-isomorphism class, as
    proved by `isSemistable_smul`. The ellipticity instance excludes singular cubics, which have no
    reduction type in the good/multiplicative/additive trichotomy of elliptic curves. 
Definition3.76
Statement uses 4
Statement dependency previews
Preview
Definition 2.47
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Serre invariants. (LMFDB)

Let \bar \rho_{E,\ell} be the mod-\ell Galois representation of an elliptic curve E/\Q.

The Serre invariants (k,M) of \bar \rho_{E,\ell} consist of the Serre weight k and the Serre conductor M giving the weight and minimal level of a newform f\in S_{k}^{\textrm new}(\Gamma_1(M)) whose associated mod-\ell Galois representation is isomorphic to \bar \rho_{E,\ell}.

This means that a_p(E) and a_p(f) reduce to the same element of the residue field of a prime above \ell in the coefficient field of f (this residue field need not have degree one, but every a_p(f) must reduce to an element of \F_{\ell} in order for this condition to hold).

The modular form f is not uniquely determined, but the minimal level M arising among all such f is uniquely determined, and among those with level M, the weight is uniquely determined.

For all but finitely many primes \ell, including all \ell>7 of good reduction for E, the Serre invariants are (2,N), where N is the conductor of the elliptic curve. The primes \ell for which this does not hold are exceptional.

In general, the Serre weight k is divisible by 2 and the Serre conductor M divides N.

Depends on: Definition 4.46 Definition 4.83 Definition 3.13 Definition 2.47

Definition3.77
Statement uses 3
Statement dependency previews
Preview
Definition 1.120
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Special value of an elliptic curve L-function. (LMFDB)

The special value of an elliptic curve E/\Q is the first nonzero value of L^{(r)}(E,1)/r! for r\in \Z_{\ge 0}, where L(E,s) is the L-function of E in its arithmetic normalization.

The special value appears on the LHS of the formula in the Birch and Swinnerton-Dyer conjecture.

Depends on: Definition 3.1 Definition 3.51 Definition 1.120

Lean code for Definition3.77●4 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    def WeierstrassCurve.specialValue.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) : ℂ
    def WeierstrassCurve.specialValue.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) : ℂ
    The **special value** (LMFDB `ec.special_value`, `ec.q.special_value`) of a Weierstrass curve
    over a number field: the leading coefficient of its L-function `L(E, s)` at the central point
    `s = 1`, that is, the first nonzero value of `L⁽ʳ⁾(E, 1) / r!`
    (`specialValue_eq_iteratedDeriv`). It is the leading coefficient of any analytic L-function of
    `W` (`specialValue_eq`), and takes the junk value `0` if `L(E, s)` has no analytic continuation of
    the LMFDB's form. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.specialValue_eq_iteratedDeriv.{u_1} {K : Type u_1}
      [Field K] [NumberField K] {W : WeierstrassCurve K}
      {L : AnalyticLFunction} (hL : W.IsAnalyticLFunction L) :
      W.specialValue =
        iteratedDeriv W.analyticRank (L.arithmeticNormalization 1) 1 /
          ↑W.analyticRank.factorial
    theorem WeierstrassCurve.specialValue_eq_iteratedDeriv.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.specialValue =
        iteratedDeriv W.analyticRank
            (L.arithmeticNormalization 1) 1 /
          ↑W.analyticRank.factorial
    The special value of a Weierstrass curve is `L⁽ʳ⁾(E, 1) / r!`, where `r` is its analytic
    rank. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.iteratedDeriv_eq_zero_of_lt_analyticRank.{u_1}
      {K : Type u_1} [Field K] [NumberField K] {W : WeierstrassCurve K}
      {L : AnalyticLFunction} {k : ℕ} (hL : W.IsAnalyticLFunction L)
      (hk : k < W.analyticRank) :
      iteratedDeriv k (L.arithmeticNormalization 1) 1 = 0
    theorem WeierstrassCurve.iteratedDeriv_eq_zero_of_lt_analyticRank.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction} {k : ℕ}
      (hL : W.IsAnalyticLFunction L)
      (hk : k < W.analyticRank) :
      iteratedDeriv k
          (L.arithmeticNormalization 1) 1 =
        0
    The derivatives of `L(E, s)` of order less than the analytic rank vanish at `s = 1`. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.specialValue_eq.{u_1} {K : Type u_1} [Field K]
      [NumberField K] {W : WeierstrassCurve K} {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) : W.specialValue = L.leadingCoeff
    theorem WeierstrassCurve.specialValue_eq.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.specialValue = L.leadingCoeff
    The special value of a Weierstrass curve is the leading coefficient of any of its analytic
    L-functions. 
Definition3.78
Statement uses 4
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Szpiro ratio. (LMFDB)

The (modified) Szpiro ratio of an elliptic curve E is defined as

\sigma_m(E) = \frac{\log \max(|c_4|^3, |c_6|^2)}{\log N},

where N is the conductor of E and c_4 and c_6 are defined as for the j-invariant. The (modified) Szpiro conjecture is that, for any \epsilon > 0, there are only finitely many elliptic curves with Szpiro ratio larger than 6+\epsilon. In , Oesterlé proves that this conjecture is equivalent to the abc conjecture.

In Oesterlé's paper cited above, there is another conjecture, that the ratio

\frac{\log \Delta}{\log N},

also has the property of only taking values larger than 6+\epsilon finitely many times (here \Delta is the minimal discriminant of E). This conjecture is implied by the modified Szpiro conjecture (and thus the abc conjecture), but it is not currently known to be equivalent. All of the Szpiro ratios in the LMFDB are computed in terms of c_4 and c_6 rather than \Delta for this reason.

Depends on: Definition 3.1 Definition 3.37 Definition 3.53 Definition 3.61

Lean code for Definition3.78●4 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/SzpiroRatio.lean
    complete
    def WeierstrassCurve.algorithmicModifiedSzpiroRatio (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℝ
    def WeierstrassCurve.algorithmicModifiedSzpiroRatio
      (E : WeierstrassCurve ℚ)
      [E.IsElliptic] : ℝ
    The (modified) **Szpiro ratio** `σₘ(E) = log max (|c₄|³, c₆²) / log N` (LMFDB
    `ec.q.szpiro_ratio`) of an elliptic curve over `ℚ`, where `c₄` and `c₆` are the invariants of the
    reduced minimal model and `N` is the norm of the algorithmic conductor. The conductor of an
    elliptic curve over `ℚ` exceeds `1`, as there is no elliptic curve over `ℚ` with good reduction
    everywhere; that theorem is not formalised, and when `N = 1` the quotient is `0` by division by
    zero. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Szpiro.lean
    complete
    def WeierstrassCurve.algorithmicSzpiroRatio (E : WeierstrassCurve ℚ)
      [E.IsElliptic]
      (_h : 1 < Ideal.absNorm (WeierstrassCurve.algorithmicConductor ℤ E)) :
      ℝ
    def WeierstrassCurve.algorithmicSzpiroRatio
      (E : WeierstrassCurve ℚ) [E.IsElliptic]
      (_h :
        1 <
          Ideal.absNorm
            (WeierstrassCurve.algorithmicConductor
              ℤ E)) :
      ℝ
    **The Szpiro ratio** `log |Δ_min| / log N` of an elliptic curve over `ℚ`, where `|Δ_min|` is
    the norm of the minimal discriminant ideal over `ℤ` and `N` that of the algorithmic conductor. The
    hypothesis `1 < N` makes the denominator nonzero; without it the quotient would be `0` by division
    by zero. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Szpiro.lean
    complete
    def TauCeti.AlgorithmicModifiedSzpiroConjecture : Prop
    def TauCeti.AlgorithmicModifiedSzpiroConjecture :
      Prop
    **The modified Szpiro conjecture**, against the algorithmic conductor: for every `ε > 0` there
    is a constant `C` such that every elliptic curve over `ℚ` satisfies
    `max (|c₄|³, c₆²) ≤ C N ^ (6 + ε)`, where `c₄` and `c₆` are the invariants of the reduced minimal
    model and `N` is the norm of the algorithmic conductor. The invariants of any globally minimal
    equation have the same absolute values, as such equations differ by changes of variables over `ℤ`
    with `u = ±1`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/TateAlgorithm/Reduction/Conductor.lean
    complete
    def WeierstrassCurve.algorithmicConductor.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O]
      [∀ (v : IsDedekindDomain.HeightOneSpectrum O),
          PerfectField
            (IsLocalRing.ResidueField (Localization.AtPrime v.asIdeal))]
      {K : Type u_2} [Field K] [Algebra O K] [IsFractionRing O K]
      (W : WeierstrassCurve K) [W.IsElliptic] : Ideal O
    def WeierstrassCurve.algorithmicConductor.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O]
      [∀
          (v :
            IsDedekindDomain.HeightOneSpectrum
              O),
          PerfectField
            (IsLocalRing.ResidueField
              (Localization.AtPrime
                v.asIdeal))]
      {K : Type u_2} [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Ideal O
    **The algorithmic conductor** `∏ᵥ 𝔭ᵥ ^ fᵥ` of an elliptic curve over the fraction field of a
    Dedekind domain `O`: the product over the height-one primes of `O` of the prime powers whose
    exponents are the algorithmic Ogg exponents `fᵥ = v (Δ_min,ᵥ) − mᵥ + 1` read off Tate's algorithm.
    The product is finite (`hasFiniteMulSupport_pow_algorithmicOggExponent`). 
Definition3.79
Statement uses 4
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Torsion growth in number fields. (LMFDB)

Let E be an elliptic curve defined over \Q and let K be a number field. We say that there is torsion growth from \Q to K if the torsion subgroup E(K)_{\rm tor} of E(K) is strictly larger than E(\Q)_{\rm tor}.

If there is torsion growth in a field K then obviously the torsion also grows in every extension of K. We say that the torsion growth in K is primitive if E(K)_{\rm tor} is strictly larger than E(K')_{\rm tor} for all proper subfields K' \subsetneq K.

For every elliptic curve E there is torsion growth in at least one field of degree 2, 3, or 4, and torsion can only grow in fields whose degree is divisible by 2, 3, 5 or 7: see Theorem 7.2 of . Additionally, there is no primitive torsion growth in fields of degrees 22 or 26: see Lemma 2.11 of . Hence the only degrees less than 24 in which primitive torsion growth occurs are 2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21.

Depends on: Definition 3.1 Definition 3.95 Definition 2.1 Definition 2.12

Lean code for Definition3.79●4 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/TorsionGrowth.lean
    complete
    def WeierstrassCurve.HasTorsionGrowth.{u_1, u_2} {k : Type u_1} [Field k]
      [DecidableEq k] (W : WeierstrassCurve k) (K : Type u_2) [Field K]
      [DecidableEq K] [Algebra k K] : Prop
    def WeierstrassCurve.HasTorsionGrowth.{u_1,
        u_2}
      {k : Type u_1} [Field k] [DecidableEq k]
      (W : WeierstrassCurve k) (K : Type u_2)
      [Field K] [DecidableEq K]
      [Algebra k K] : Prop
    There is **torsion growth** from `k` to `K` (LMFDB `ec.q.torsion_growth`) if the torsion
    subgroup `E(K)_tors` is strictly larger than the image of `E(k)_tors` under base change. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/TorsionGrowth.lean
    complete
    def WeierstrassCurve.HasPrimitiveTorsionGrowth.{u_1, u_2} {k : Type u_1}
      [Field k] [DecidableEq k] (W : WeierstrassCurve k) (K : Type u_2)
      [Field K] [DecidableEq K] [Algebra k K] : Prop
    def WeierstrassCurve.HasPrimitiveTorsionGrowth.{u_1,
        u_2}
      {k : Type u_1} [Field k] [DecidableEq k]
      (W : WeierstrassCurve k) (K : Type u_2)
      [Field K] [DecidableEq K]
      [Algebra k K] : Prop
    The torsion growth in `K` is **primitive** (LMFDB `ec.q.torsion_growth`) if there is torsion
    growth from `k` to `K` and `E(K)_tors` is strictly larger than the image of `E(K')_tors` for every
    proper subfield `K'` of `K` containing `k`. Over `k = ℚ`, these are all the proper subfields of
    `K`. 
  • defdefined in Mathlib/GroupTheory/Torsion.lean
    complete
    def AddCommGroup.torsion.{u_1} (G : Type u_1) [AddCommGroup G] :
      AddSubgroup G
    def AddCommGroup.torsion.{u_1} (G : Type u_1)
      [AddCommGroup G] : AddSubgroup G
    The torsion additive subgroup of an additive abelian group. 
  • abbrevdefined in Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean
    complete
    abbrev WeierstrassCurve.Affine.Point.baseChange.{r, u, v} {R : Type r}
      (F : Type u) (K : Type v) [CommRing R] [Field F] [Field K]
      {W' : WeierstrassCurve.Affine R} [DecidableEq F] [DecidableEq K]
      [Algebra R F] [Algebra R K] [Algebra F K] [IsScalarTower R F K] :
      (W'.baseChange F).Point →+ (W'.baseChange K).Point
    abbrev WeierstrassCurve.Affine.Point.baseChange.{r,
        u, v}
      {R : Type r} (F : Type u) (K : Type v)
      [CommRing R] [Field F] [Field K]
      {W' : WeierstrassCurve.Affine R}
      [DecidableEq F] [DecidableEq K]
      [Algebra R F] [Algebra R K]
      [Algebra F K] [IsScalarTower R F K] :
      (W'.baseChange F).Point →+
        (W'.baseChange K).Point
    The group homomorphism on nonsingular points induced by the base change from `F` to `K`, where
    `W` is defined over a subring of a ring `S`, and `F` and `K` are field extensions of `S`. 
Definition3.80
uses 0used by 0✓L∃∀N

Torsion subgroup of an elliptic curve over \mathbb Q. (LMFDB)

If E is an elliptic curve defined over \mathbb{Q}, its torsion subgroup is the subgroup of the Mordell-Weil group E(\mathbb{Q}) consisting of all the rational points of finite order. It is a finite abelian group of order at most 16 (by a theorem of Mazur), which is a product of at most 2 cyclic factors. The "torsion structure" is the list of invariants of the group:

  • [] for the trivial group;

  • [n] for a cyclic group of order n (only n=2,3,4,5,6,7,8,9,10 or 12 occur for elliptic curves over \mathbb{Q});

  • [n_1,n_2] with n_1\mid n_2 for a product of cyclic groups of orders n_1 and n_2 (only [2,2m] for m=2,4,6 or 8 occur over \mathbb{Q}).

Lean code for Definition3.80●1 definition
  • defdefined in Mathlib/GroupTheory/Torsion.lean
    complete
    def AddCommGroup.torsion.{u_1} (G : Type u_1) [AddCommGroup G] :
      AddSubgroup G
    def AddCommGroup.torsion.{u_1} (G : Type u_1)
      [AddCommGroup G] : AddSubgroup G
    The torsion additive subgroup of an additive abelian group. 
Definition3.81
Statement uses 5
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

An elliptic curve E defined over a number field K is a \mathbb{Q}-curve if it is isogenous over \overline{K} to each of its Galois conjugates. Note that the isogenies need not be defined over K itself.

An elliptic curve which is the base change of a curve defined over \mathbb{Q} is a \mathbb{Q}-curve, but not all \mathbb{Q}-curves are base-change curves.

Elliptic curves with CM are all \mathbb{Q}-curves, as are all those whose j-invariant is in \mathbb{Q}.

Depends on: Definition 3.1 Definition 3.5 Definition 3.8 Definition 3.24 Definition 2.1

Lean code for Definition3.81●4 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/QCurve.lean
    complete
    def WeierstrassCurve.IsQCurve.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : Prop
    def WeierstrassCurve.IsQCurve.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) : Prop
    An elliptic curve `W` over a number field `K` is a **`ℚ`-curve** (LMFDB `ec.q_curve`) if it is
    isogenous over an algebraic closure `K̄` of `K` to each of its Galois conjugates: for every
    embedding `σ : K → K̄`, the curves `W^ι` and `W^σ` over `K̄` are isogenous, where `ι : K → K̄` is
    the inclusion. The isogenies need not be defined over `K`. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/QCurve.lean
    complete
    theorem WeierstrassCurve.isQCurve_baseChange.{u_1} {K : Type u_1} [Field K]
      [CharZero K] (E : WeierstrassCurve ℚ) : (E.baseChange K).IsQCurve
    theorem WeierstrassCurve.isQCurve_baseChange.{u_1}
      {K : Type u_1} [Field K] [CharZero K]
      (E : WeierstrassCurve ℚ) :
      (E.baseChange K).IsQCurve
    **The base change of a curve over `ℚ` is a `ℚ`-curve**: all its Galois conjugates are equal to
    it. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/QCurve.lean
    complete
    theorem WeierstrassCurve.isQCurve_of_j_eq_ratCast.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic] {q : ℚ} (hj : W.j = ↑q) :
      W.IsQCurve
    theorem WeierstrassCurve.isQCurve_of_j_eq_ratCast.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) [W.IsElliptic]
      {q : ℚ} (hj : W.j = ↑q) : W.IsQCurve
    **An elliptic curve with rational `j`-invariant is a `ℚ`-curve**: its Galois conjugates have
    the same `j`-invariant, so they are isomorphic to it over the algebraically closed field `K̄`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Isogeny/Basic.lean
    complete
    def WeierstrassCurve.IsIsogenous.{u_1} {K : Type u_1} [Field K]
      (W₁ W₂ : WeierstrassCurve K) : Prop
    def WeierstrassCurve.IsIsogenous.{u_1}
      {K : Type u_1} [Field K]
      (W₁ W₂ : WeierstrassCurve K) : Prop
    Two Weierstrass curves `W₁` and `W₂` over a field `K` are **isogenous** (LMFDB `ec.isogeny`)
    if there is an isogeny `W₁ → W₂` over `K`: a nonconstant morphism defined over `K` sending the
    point at infinity of `W₁` to that of `W₂` (`TauCeti.Isogeny`). 
Definition3.82
Statement uses 7
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 5
Reverse dependency previews
Preview
Definition 3.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Rank of an elliptic curve over a number field. (LMFDB)

The rank of an elliptic curve E defined over a number field K is the rank of its Mordell-Weil group E(K).

The Mordell-Weil Theorem says that E(K) is a finitely-generated abelian group, hence

E(K) \cong E(K)_{\rm tor} \times \Z^r

where E(K)_{\rm tor} is the finite torsion subgroup of E(K), and r\geq 0 is the rank.

Rank is an isogeny invariant: all curves in an isogeny class have the same rank.

Depends on: Definition 3.1 Definition 3.24 Definition 3.25 Definition 3.38 Definition 3.39 Definition 3.95 Definition 2.1

Lean code for Definition3.82●1 definition
  • defdefined in Mathlib/GroupTheory/Torsion.lean
    complete
    def CommGroup.freeRank.{u_1} (G : Type u_1) [CommGroup G] [Group.FG G] : ℕ
    def CommGroup.freeRank.{u_1} (G : Type u_1)
      [CommGroup G] [Group.FG G] : ℕ
    The free rank of a finitely generated abelian group is the rank of its free part. 
Definition3.83
Statement uses 7
Statement dependency previews
Preview
Definition 2.28
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Reduction of an elliptic curve. (LMFDB)

An elliptic curve E over a number field K is semistable if it has multiplicative reduction at every bad prime, and has potential good reduction if its j-invariant is integral.

If E has potential good reduction then it cannot be semistable unless it has everywhere good reduction.

Depends on: Definition 3.1 Definition 3.4 Definition 3.30 Definition 3.46 Definition 3.84 Definition 3.89 Definition 2.28

Lean code for Definition3.83●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/PotentialGoodReduction.lean
    complete
    def WeierstrassCurve.HasPotentialGoodReduction.{u, v} (R : Type v)
      [CommRing R] {K : Type u} [Field K] [Algebra R K]
      (W : WeierstrassCurve K) : Prop
    def WeierstrassCurve.HasPotentialGoodReduction.{u,
        v}
      (R : Type v) [CommRing R] {K : Type u}
      [Field K] [Algebra R K]
      (W : WeierstrassCurve K) : Prop
    **Potential good reduction**: after some finite extension `L` of `K`, at some discrete
    valuation ring `S` with fraction field `L` dominating `R`, a minimal equation of `W` has good
    reduction. The maps `R → S → L` and `R → K → L` are required to agree, so that `S` lies over `R`.
    The field `L` and the ring `S` are taken in the universe of `K`.
    
    Over a complete `R`, the integral closure of `R` in `L` is the only such ring `S`, so this is the
    usual notion of good reduction over the ring of integers of a finite extension. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Semistable.lean
    complete
    def WeierstrassCurve.IsSemistable.{u_3, u_4} (O : Type u_3) [CommRing O]
      [IsDedekindDomain O] {F : Type u_4} [Field F] [Algebra O F]
      [IsFractionRing O F] (W : WeierstrassCurve F) [_hE : W.IsElliptic] :
      Prop
    def WeierstrassCurve.IsSemistable.{u_3, u_4}
      (O : Type u_3) [CommRing O]
      [IsDedekindDomain O] {F : Type u_4}
      [Field F] [Algebra O F]
      [IsFractionRing O F]
      (W : WeierstrassCurve F)
      [_hE : W.IsElliptic] : Prop
    **Semistability over a Dedekind domain**: at every height-one prime, a local minimal equation
    has no additive reduction. Equivalently, the reduction is good or multiplicative everywhere.
    
    The predicate is stated on an elliptic equation but depends only on its `F`-isomorphism class, as
    proved by `isSemistable_smul`. The ellipticity instance excludes singular cubics, which have no
    reduction type in the good/multiplicative/additive trichotomy of elliptic curves. 
Definition3.84
Statement uses 5
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 5
Reverse dependency previews
Preview
Definition 3.31
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Reduction type. (LMFDB)

The reduction type of an elliptic curve E defined over a number field K at a prime \mathfrak{p} of K depends on the reduction \tilde E of E modulo \mathfrak{p}. Let \F_q be the ring of integers of K modulo \mathfrak{p}, a finite field of characteristic p.

E has good reduction at \mathfrak p if \tilde E is non-singular over \F_q. The reduction type is ordinary if \tilde E is ordinary (equivalently, \tilde E(\overline{\F_q}) has p-torsion) and supersingular otherwise.

On the other hand, if the reduction of E modulo \mathfrak{p} is singular, then E has bad reduction. There are two types of bad reduction are as follows.

E has multiplicative reduction at \mathfrak p if \tilde E has a nodal singularity. It is called split multiplicative reduction if the two tangents at the node are defined over \F_q and non-split multiplicative reduction otherwise.

E has additive reduction at \mathfrak p if \tilde E has a cuspidal singularity.

Depends on: Definition 3.1 Definition 3.4 Definition 3.19 Definition 2.1 Definition 2.56

Lean code for Definition3.84●3 definitions
  • class(extends 2, 3 methods)defined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/OrdinaryReduction.lean
    complete
    class WeierstrassCurve.HasGoodOrdinaryReduction.{u_1, u_2} (R : Type u_1)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2}
      [Field K] [Algebra R K] [IsFractionRing R K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.HasGoodOrdinaryReduction.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K] (p : ℕ)
      (W : WeierstrassCurve K) : Prop
    **Good ordinary reduction** at `p`: a minimal equation with good reduction whose reduction is
    ordinary at `p`, that is, has a nonzero `p`-torsion point over the algebraic closure of the residue
    field. It is meant for `p` the characteristic of the residue field. 
    • WeierstrassCurve.HasGoodReduction R W
    val_Δ_maximal : MaximalFor (fun C => WeierstrassCurve.IsIntegral R (C • W)) (fun C => WeierstrassCurve.valuation_Δ_aux R (C • W)) 1
    Inherited from
    1. WeierstrassCurve.HasGoodReduction
    2. WeierstrassCurve.IsMinimal
    goodReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.Δ = 1
    Inherited from
    1. WeierstrassCurve.HasGoodReduction
    isOrdinary_reduction : WeierstrassCurve.IsOrdinary p (WeierstrassCurve.reduction R W)
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    def WeierstrassCurve.IsNonsplitMultiplicativeReduction.{u, v} (R : Type v)
      [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {K : Type u}
      [Field K] [Algebra R K] [IsFractionRing R K] (W : WeierstrassCurve K)
      [WeierstrassCurve.IsMinimal R W] : Prop
    def WeierstrassCurve.IsNonsplitMultiplicativeReduction.{u,
        v}
      (R : Type v) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R] {K : Type u}
      [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K)
      [WeierstrassCurve.IsMinimal R W] : Prop
    A minimal Weierstrass curve over `K` has **non-split multiplicative reduction** (LMFDB
    `ec.nonsplit_multiplicative_reduction`) if it has multiplicative reduction that is not split. 
  • inductive(3 constructors)defined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    inductive WeierstrassCurve.ReductionType : Type
    inductive WeierstrassCurve.ReductionType : Type
    The **reduction type** (LMFDB `ec.reduction_type`) of an elliptic curve at a prime: **good**,
    **multiplicative** (split or non-split), or **additive**. 
    WeierstrassCurve.ReductionType.good :
      WeierstrassCurve.ReductionType
    WeierstrassCurve.ReductionType.multiplicative
      (split : Bool) : WeierstrassCurve.ReductionType
    WeierstrassCurve.ReductionType.additive :
      WeierstrassCurve.ReductionType
Definition3.85
Statement uses 7
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Regulator of an elliptic curve. (LMFDB)

The regulator of an elliptic curve E defined over a number field K, denoted \operatorname{Reg}(E/K), is the volume of E(K)/E(K)_{tor} with respect to the height pairing \langle -,-\rangle associated to the canonical height \hat{h}, i.e. \langle P,Q\rangle = \frac{1}{2}(\hat{h}(P+Q)-\hat{h}(P)-\hat{h}(Q)).

If the Mordell-Weil group E(K) has rank r and P_1, \ldots, P_r \in E(K) generate E(K)/E(K)_{\mathrm{tor}}, then

\operatorname{Reg}(E/K) = \left|\det (\langle P_i, P_j \rangle )_{1\leq i,j \leq r}\right|,

which is independent of the choice of generators.

Special cases are when E(K) has rank 0, in which case E(K)/E(K)_{\mathrm{tor}}=0 and \operatorname{Reg}(E/K)=1, and when E(K) has rank 1, in which case \operatorname{Reg}(E/K) is equal to the canonical height \hat{h}(P) of a generator P.

The canonical height used to define the regulator is usually *normalised* so that it is invariant under base change. Note that the regulator which appears in the Birch Swinnerton-Dyer conjecture is with respect to the non-normalised height; this is sometimes called the Neron-Tate regulator, and denoted \operatorname{Reg}_{\rm NT}(E/K). These are related by

\operatorname{Reg}_{\rm NT}(E/K) = d^r \operatorname{Reg}(E/K),

where d is the degree [K:\Q].

Depends on: Definition 3.1 Definition 3.5 Definition 3.7 Definition 3.38 Definition 3.82 Definition 2.1 Definition 2.12

Lean code for Definition3.85●4 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/Regulator.lean
    complete
    def WeierstrassCurve.Affine.normalizedRegulator.{u_1} {K : Type u_1}
      [Field K] [NumberField K] [DecidableEq K]
      (W : WeierstrassCurve.Affine K) [WeierstrassCurve.IsElliptic W] : ℝ
    def WeierstrassCurve.Affine.normalizedRegulator.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      [DecidableEq K]
      (W : WeierstrassCurve.Affine K)
      [WeierstrassCurve.IsElliptic W] : ℝ
    The **regulator** `Reg(E/K)` (LMFDB `ec.regulator`) of an elliptic curve over a number field
    `K`: the volume of `E(K)/E(K)_tors` for the height pairing of the normalised canonical height
    `ĥ / [K : ℚ]`, that is, the Néron–Tate regulator `WeierstrassCurve.Affine.regulator` divided by
    `[K : ℚ] ^ r`, where `r` is the rank of `E(K)`. This is the LMFDB normalisation, invariant under
    base change; the Néron–Tate regulator itself is the one in the conjecture of Birch and
    Swinnerton-Dyer. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/Regulator/Basic.lean
    complete
    def WeierstrassCurve.Affine.regulator.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)]
      [Module.Finite ℤ W.PointModTorsion] : ℝ
    def WeierstrassCurve.Affine.regulator.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)]
      [Module.Finite ℤ W.PointModTorsion] : ℝ
    **The regulator** of an elliptic curve whose points modulo torsion are finitely generated as a
    `ℤ`-module: the absolute determinant of the Gram matrix of the Néron-Tate pairing on any basis of
    that quotient. For a curve of rank zero this is the empty determinant, namely `1`. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/CanonicalHeight/Basic.lean
    complete
    def WeierstrassCurve.Affine.neronTatePairing.{u_1} {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F) [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.Point ℝ
    def WeierstrassCurve.Affine.neronTatePairing.{u_1}
      {F : Type u_1} [Field F]
      (W : WeierstrassCurve.Affine F)
      [Height.AdmissibleAbsValues F]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic
          (WeierstrassCurve.toAffine W)] :
      LinearMap.BilinMap ℤ W.Point ℝ
    **The Néron–Tate pairing** `⟨P, Q⟩`, the bilinear form associated with the canonical height.
    It is Mathlib's `QuadraticMap.associated'`, the halved polar form. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/CanonicalHeight/Basic.lean
    complete
    def WeierstrassCurve.Affine.Point.canonicalHeight.{u_1} {F : Type u_1}
      [Field F] {W : WeierstrassCurve.Affine F}
      [Height.AdmissibleAbsValues F] [DecidableEq F] (P : W.Point) : ℝ
    def WeierstrassCurve.Affine.Point.canonicalHeight.{u_1}
      {F : Type u_1} [Field F]
      {W : WeierstrassCurve.Affine F}
      [Height.AdmissibleAbsValues F]
      [DecidableEq F] (P : W.Point) : ℝ
    **The canonical (Néron–Tate) height** `canonicalHeight P = lim h(2ⁿ P) / 4ⁿ`,
    normalised against the naïve height of the `x`-coordinate.
    
    The limit exists whenever the curve is elliptic
    (`Point.tendsto_naiveHeight_two_pow_nsmul_div_four_pow`); the definition itself needs no hypothesis
    beyond those making `2 ^ n • P` meaningful, so it is stated without one. 
Definition3.86
Statement uses 4
Statement dependency previews
Preview
Definition 1.130
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Elliptic curve over a ring. (LMFDB)

An elliptic curve over a commutative ring R is an elliptic scheme E \to \operatorname{Spec} R.

For example, an elliptic curve over \Z[1/N] is the same as an elliptic curve over \Q with good reduction at all primes not dividing N. (More precisely, the latter is the generic fiber of the former.)

Depends on: Definition 3.1 Definition 3.19 Definition 3.87 Definition 1.130

Lean code for Definition3.86●2 definitions
  • structure(7 fields)defined in TauCeti/AlgebraicGeometry/EllipticCurve/Scheme/Geom/Basic.lean
    complete
    structure TauCeti.AlgebraicGeometry.EllipticCurveGeom.{u}
      (S : AlgebraicGeometry.Scheme) : Type (u + 1)
    structure TauCeti.AlgebraicGeometry.EllipticCurveGeom.{u}
      (S : AlgebraicGeometry.Scheme) :
      Type (u + 1)
    An **elliptic curve over a scheme** `S`, as a geometric object: a morphism
    `structureMap : carrier ⟶ S`, smooth of relative dimension one and proper, with a section `zero`,
    such that `structureMap` and `zero` admit a pointed Weierstrass atlas, so that Zariski-locally on
    `S` the curve is the projective model of an elliptic Weierstrass curve with `zero` the zero section
    `[0 : 1 : 0]`. The atlas appears under `Nonempty`, so no local equation is part of the data. 
    carrier : AlgebraicGeometry.Scheme
    The total space. 
    structureMap : self.carrier ⟶ S
    The structure morphism. 
    zero : S ⟶ self.carrier
    The zero section. 
    zero_comp : CategoryTheory.CategoryStruct.comp self.zero self.structureMap = CategoryTheory.CategoryStruct.id S
    The zero section is a section of the structure morphism. 
    smooth : AlgebraicGeometry.SmoothOfRelativeDimension 1 self.structureMap
    The structure morphism is smooth of relative dimension one. 
    proper : AlgebraicGeometry.IsProper self.structureMap
    The structure morphism is proper. 
    localModel : Nonempty (TauCeti.AlgebraicGeometry.PointedWeierstrassAtlas self.structureMap self.zero)
    A pointed Weierstrass atlas exists: Zariski-locally on `S`, the curve is the projective model
    of an elliptic Weierstrass curve, compatibly with the zero section. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Scheme/OfWeierstrass.lean
    complete
    def WeierstrassCurve.toEllipticCurveGeom.{u} {R : Type u} [CommRing R]
      (W : WeierstrassCurve R) [W.IsElliptic] :
      TauCeti.AlgebraicGeometry.EllipticCurveGeom
        (AlgebraicGeometry.Spec ↧R)
    def WeierstrassCurve.toEllipticCurveGeom.{u}
      {R : Type u} [CommRing R]
      (W : WeierstrassCurve R)
      [W.IsElliptic] :
      TauCeti.AlgebraicGeometry.EllipticCurveGeom
        (AlgebraicGeometry.Spec ↧R)
    The **elliptic curve over `Spec R` of an elliptic Weierstrass curve** `W` over `R`: the
    projective model `W.projModel`, with structure morphism `W.projModelOver` and zero section the
    point `[0 : 1 : 0]` (`W.projModelZero`). Its pointed Weierstrass atlas consists of a single chart
    over the whole base, whose isomorphism with the projective model is the identity. The total space
    is identified with `W.projModel` by `toEllipticCurveGeomIso`. 
Definition3.87
uses 0used by 1✓L∃∀N

Elliptic scheme. (LMFDB)

An elliptic scheme over a scheme S is a smooth proper morphism E \to S whose fibers are elliptic curves.

Lean code for Definition3.87●2 definitions
  • structure(7 fields)defined in TauCeti/AlgebraicGeometry/EllipticCurve/Scheme/Geom/Basic.lean
    complete
    structure TauCeti.AlgebraicGeometry.EllipticCurveGeom.{u}
      (S : AlgebraicGeometry.Scheme) : Type (u + 1)
    structure TauCeti.AlgebraicGeometry.EllipticCurveGeom.{u}
      (S : AlgebraicGeometry.Scheme) :
      Type (u + 1)
    An **elliptic curve over a scheme** `S`, as a geometric object: a morphism
    `structureMap : carrier ⟶ S`, smooth of relative dimension one and proper, with a section `zero`,
    such that `structureMap` and `zero` admit a pointed Weierstrass atlas, so that Zariski-locally on
    `S` the curve is the projective model of an elliptic Weierstrass curve with `zero` the zero section
    `[0 : 1 : 0]`. The atlas appears under `Nonempty`, so no local equation is part of the data. 
    carrier : AlgebraicGeometry.Scheme
    The total space. 
    structureMap : self.carrier ⟶ S
    The structure morphism. 
    zero : S ⟶ self.carrier
    The zero section. 
    zero_comp : CategoryTheory.CategoryStruct.comp self.zero self.structureMap = CategoryTheory.CategoryStruct.id S
    The zero section is a section of the structure morphism. 
    smooth : AlgebraicGeometry.SmoothOfRelativeDimension 1 self.structureMap
    The structure morphism is smooth of relative dimension one. 
    proper : AlgebraicGeometry.IsProper self.structureMap
    The structure morphism is proper. 
    localModel : Nonempty (TauCeti.AlgebraicGeometry.PointedWeierstrassAtlas self.structureMap self.zero)
    A pointed Weierstrass atlas exists: Zariski-locally on `S`, the curve is the projective model
    of an elliptic Weierstrass curve, compatibly with the zero section. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Scheme/Geom/Basic.lean
    complete
    def TauCeti.AlgebraicGeometry.IsLocallyWeierstrass.{u}
      {X S : AlgebraicGeometry.Scheme} (π : X ⟶ S) (zero : S ⟶ X)
      (hzero :
        CategoryTheory.CategoryStruct.comp zero π =
          CategoryTheory.CategoryStruct.id S) :
      Prop
    def TauCeti.AlgebraicGeometry.IsLocallyWeierstrass.{u}
      {X S : AlgebraicGeometry.Scheme}
      (π : X ⟶ S) (zero : S ⟶ X)
      (hzero :
        CategoryTheory.CategoryStruct.comp
            zero π =
          CategoryTheory.CategoryStruct.id
            S) :
      Prop
    **The local-model condition** for a morphism `π : X ⟶ S` with a section `zero`: every point of
    `S` has an affine open neighbourhood `U` with an elliptic Weierstrass curve `W` over `Γ(S, U)` and
    an isomorphism of the restriction `pullback π U.ι` of `X` to `U` with the projective model of `W`,
    lying over `U ≅ Spec Γ(S, U)` and carrying the section induced by `zero` to the zero section of the
    model. It holds if and only if a `PointedWeierstrassAtlas` exists:
    `nonempty_pointedWeierstrassAtlas_iff`. 
Definition3.88
Statement uses 6
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Semi-global minimal model. (LMFDB)

An elliptic curve E defined over a number field K of class number h(K) greater than 1 may not have a global minimal model. In this case there still exist semi-global minimal models for E which are local minimal models at all except one prime. At this prime, the discriminant valuation exceeds that of the minimal discriminant ideal by 12.

Depends on: Definition 3.1 Definition 3.10 Definition 3.34 Definition 3.37 Definition 2.1 Definition 2.6

Lean code for Definition3.88●2 definitions
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/GlobalMinimalModel.lean
    complete
    def WeierstrassCurve.IsSemiGlobalMinimal.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O] {K : Type u_2} [Field K]
      [Algebra O K] [IsFractionRing O K] (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    def WeierstrassCurve.IsSemiGlobalMinimal.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    **A semi-globally minimal Weierstrass equation** (LMFDB `ec.semi_global_minimal_model`): either
    `W` is globally minimal, or there is a height-one prime `v₀` of `O` at which `W` is integral and
    away from which it is minimal. Over a number field of class number greater than one a curve need
    not admit a globally minimal equation, but it always admits a semi-globally minimal one; that
    existence theorem is not proved here. The disjunct is load-bearing: over a field, whose
    height-one spectrum is empty, the existential alone is false while global minimality holds. 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/ObstructionExponent.lean
    complete
    def WeierstrassCurve.IsSharpSemiGlobalMinimalAt.{u_1, u_2} (O : Type u_1)
      [CommRing O] [IsDedekindDomain O] {K : Type u_2} [Field K]
      [Algebra O K] [IsFractionRing O K]
      (v₀ : IsDedekindDomain.HeightOneSpectrum O) (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    def WeierstrassCurve.IsSharpSemiGlobalMinimalAt.{u_1,
        u_2}
      (O : Type u_1) [CommRing O]
      [IsDedekindDomain O] {K : Type u_2}
      [Field K] [Algebra O K]
      [IsFractionRing O K]
      (v₀ :
        IsDedekindDomain.HeightOneSpectrum O)
      (W : WeierstrassCurve K)
      [W.IsElliptic] : Prop
    **A sharply semi-global model at `v₀`** is integral at `v₀`, minimal at every other
    height-one prime, and has discriminant defect exactly twelve at `v₀`. Unlike weak semi-global
    minimality, which permits any defect at its exceptional prime, this pins the defect to the
    smallest positive value, so the model's defect ideal is exactly `𝔭_{v₀}`. 
Definition3.89
Statement uses 3
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Definition 3.57
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Semistable elliptic curve. (LMFDB)

An elliptic curve is semistable if it has multiplicative reduction at every bad prime.

Depends on: Definition 3.1 Definition 3.4 Definition 3.84

Lean code for Definition3.89●1 definition
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/MinimalModel/Semistable.lean
    complete
    def WeierstrassCurve.IsSemistable.{u_3, u_4} (O : Type u_3) [CommRing O]
      [IsDedekindDomain O] {F : Type u_4} [Field F] [Algebra O F]
      [IsFractionRing O F] (W : WeierstrassCurve F) [_hE : W.IsElliptic] :
      Prop
    def WeierstrassCurve.IsSemistable.{u_3, u_4}
      (O : Type u_3) [CommRing O]
      [IsDedekindDomain O] {F : Type u_4}
      [Field F] [Algebra O F]
      [IsFractionRing O F]
      (W : WeierstrassCurve F)
      [_hE : W.IsElliptic] : Prop
    **Semistability over a Dedekind domain**: at every height-one prime, a local minimal equation
    has no additive reduction. Equivalently, the reduction is good or multiplicative everywhere.
    
    The predicate is stated on an elliptic equation but depends only on its `F`-isomorphism class, as
    proved by `isSemistable_smul`. The ellipticity instance excludes singular cubics, which have no
    reduction type in the good/multiplicative/additive trichotomy of elliptic curves. 
Definition3.90
Statement uses 6
Statement dependency previews
Preview
Definition 1.132
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Simplified equation. (LMFDB)

Every elliptic curve over a field k whose characteristic is not 2 or 3 has a simplified equation (or short Weierstrass model) of the form y^2 = x^3 + Ax + B. When k=\mathbb{Q} is the field of rational numbers, one can choose A and B to be integers.

For elliptic curves over \Q this model will necessarily have bad reduction at 2, even when E has good reduction at 2; it may also bad reduction at 3 even when the minimal model of E does not.

Depends on: Definition 3.1 Definition 3.4 Definition 3.19 Definition 3.66 Definition 1.132 Definition 1.134

Lean code for Definition3.90●1 definition
  • class(3 methods)defined in Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean
    complete
    class WeierstrassCurve.IsShortNF.{u_1} {R : Type u_1} [CommRing R]
      (W : WeierstrassCurve R) : Prop
    class WeierstrassCurve.IsShortNF.{u_1}
      {R : Type u_1} [CommRing R]
      (W : WeierstrassCurve R) : Prop
    A `WeierstrassCurve` is in short normal form, if its `a₁, a₂, a₃ = 0`.
    In other words it is `Y² = X³ + a₄X + a₆`.
    
    This is the normal form of characteristic ≠ 2 or 3, and
    also the normal form of characteristic = 3 and j = 0. 
    a₁ : W.a₁ = 0
    a₂ : W.a₂ = 0
    a₃ : W.a₃ = 0
Definition3.91
Statement uses 6
Statement dependency previews
Preview
Definition 1.109
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Special value of an elliptic curve L-function. (LMFDB)

The special value of an elliptic curve E defined over a number field K is the first nonzero value of L^{(r)}(E,1)/r! for r\in \Z_{\ge 0}, where L(E/K,s) is the L-function of E in its arithmetic normalization. It is also known as the leading coefficient of the L-function.

The special value appears in the Birch and Swinnerton-Dyer conjecture.

Depends on: Definition 3.1 Definition 3.6 Definition 1.109 Definition 1.119 Definition 1.120 Definition 2.1

Lean code for Definition3.91●5 declarations
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    def WeierstrassCurve.specialValue.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) : ℂ
    def WeierstrassCurve.specialValue.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) : ℂ
    The **special value** (LMFDB `ec.special_value`, `ec.q.special_value`) of a Weierstrass curve
    over a number field: the leading coefficient of its L-function `L(E, s)` at the central point
    `s = 1`, that is, the first nonzero value of `L⁽ʳ⁾(E, 1) / r!`
    (`specialValue_eq_iteratedDeriv`). It is the leading coefficient of any analytic L-function of
    `W` (`specialValue_eq`), and takes the junk value `0` if `L(E, s)` has no analytic continuation of
    the LMFDB's form. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.specialValue_eq.{u_1} {K : Type u_1} [Field K]
      [NumberField K] {W : WeierstrassCurve K} {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) : W.specialValue = L.leadingCoeff
    theorem WeierstrassCurve.specialValue_eq.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.specialValue = L.leadingCoeff
    The special value of a Weierstrass curve is the leading coefficient of any of its analytic
    L-functions. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.specialValue_eq_iteratedDeriv.{u_1} {K : Type u_1}
      [Field K] [NumberField K] {W : WeierstrassCurve K}
      {L : AnalyticLFunction} (hL : W.IsAnalyticLFunction L) :
      W.specialValue =
        iteratedDeriv W.analyticRank (L.arithmeticNormalization 1) 1 /
          ↑W.analyticRank.factorial
    theorem WeierstrassCurve.specialValue_eq_iteratedDeriv.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.specialValue =
        iteratedDeriv W.analyticRank
            (L.arithmeticNormalization 1) 1 /
          ↑W.analyticRank.factorial
    The special value of a Weierstrass curve is `L⁽ʳ⁾(E, 1) / r!`, where `r` is its analytic
    rank. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.iteratedDeriv_eq_zero_of_lt_analyticRank.{u_1}
      {K : Type u_1} [Field K] [NumberField K] {W : WeierstrassCurve K}
      {L : AnalyticLFunction} {k : ℕ} (hL : W.IsAnalyticLFunction L)
      (hk : k < W.analyticRank) :
      iteratedDeriv k (L.arithmeticNormalization 1) 1 = 0
    theorem WeierstrassCurve.iteratedDeriv_eq_zero_of_lt_analyticRank.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction} {k : ℕ}
      (hL : W.IsAnalyticLFunction L)
      (hk : k < W.analyticRank) :
      iteratedDeriv k
          (L.arithmeticNormalization 1) 1 =
        0
    The derivatives of `L(E, s)` of order less than the analytic rank vanish at `s = 1`. 
  • theoremdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/BSD/LFunction.lean
    complete
    theorem WeierstrassCurve.specialValue_ne_zero.{u_1} {K : Type u_1} [Field K]
      [NumberField K] {W : WeierstrassCurve K} {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) : W.specialValue ≠ 0
    theorem WeierstrassCurve.specialValue_ne_zero.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      {W : WeierstrassCurve K}
      {L : AnalyticLFunction}
      (hL : W.IsAnalyticLFunction L) :
      W.specialValue ≠ 0
    The special value of a Weierstrass curve with an analytic L-function is nonzero. 
Definition3.92
Statement uses 2
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Definition 3.4
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Split multiplicative reduction. (LMFDB)

An elliptic curve E defined over a number field K is said to have split multiplicative reduction at a prime \mathfrak{p} of K if the reduction of E modulo \mathfrak{p} has a nodal singularity with both tangent slopes defined over the residue field at \mathfrak{p}.

Depends on: Definition 3.1 Definition 2.1

Lean code for Definition3.92●1 definition
  • class(extends 2, 4 methods)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    class WeierstrassCurve.HasSplitMultiplicativeReduction.{u_1, u_2}
      (R : Type u_1) [CommRing R] [IsDomain R] [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K]
      (W : WeierstrassCurve K) : Prop
    class WeierstrassCurve.HasSplitMultiplicativeReduction.{u_1,
        u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K) : Prop
    A minimal Weierstrass equation has split multiplicative reduction if and only if
    the polynomial `c₄ T ^ 2 + a₁ c₄ T - (54 b₆ - 3 b₂ b₄ + a₂ c₄)` splits in the residue field.
    
    To see how this expression arises, note that the node `(x₀, y₀)` has second order Taylor expansion
    `(Y - y₀)^2 + a_1(X - x₀)(Y - y₀) - (3x₀ + a_2)(X - x₀)^2` where `x₀ = (18 b₆ - b₂ b₄) / c₄`. 
    • WeierstrassCurve.HasMultiplicativeReduction R W
    val_Δ_maximal : MaximalFor (fun C => WeierstrassCurve.IsIntegral R (C • W)) (fun C => WeierstrassCurve.valuation_Δ_aux R (C • W)) 1
    Inherited from
    1. WeierstrassCurve.HasMultiplicativeReduction
    2. WeierstrassCurve.IsMinimal
    badReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.Δ < 1
    Inherited from
    1. WeierstrassCurve.HasMultiplicativeReduction
    multiplicativeReduction : (IsDedekindDomain.HeightOneSpectrum.valuation K (IsDiscreteValuationRing.maximalIdeal R)) W.c₄ = 1
    Inherited from
    1. WeierstrassCurve.HasMultiplicativeReduction
    splitMultiplicativeReduction : (Polynomial.map (algebraMap R (IsLocalRing.ResidueField R))
        (Polynomial.C (WeierstrassCurve.integralModel R W).c₄ * Polynomial.X ^ 2 +
            Polynomial.C ((WeierstrassCurve.integralModel R W).a₁ * (WeierstrassCurve.integralModel R W).c₄) *
              Polynomial.X -
          Polynomial.C
            (54 * (WeierstrassCurve.integralModel R W).b₆ -
                3 * (WeierstrassCurve.integralModel R W).b₂ * (WeierstrassCurve.integralModel R W).b₄ +
              (WeierstrassCurve.integralModel R W).a₂ * (WeierstrassCurve.integralModel R W).c₄))).Splits
Definition3.93
Statement uses 3
Statement dependency previews
Preview
Definition 2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Definition 3.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Tamagawa number. (LMFDB)

The Tamagawa number of an elliptic curve E defined over a number field at a prime \mathfrak{p} of K is the index [E(K_{\mathfrak{p}}):E^0(K_{\mathfrak{p}})], where K_{\mathfrak{p}} is the completion of K at \mathfrak{p} and E^0(K_{\mathfrak{p}}) is the subgroup of E(K_{\mathfrak{p}}) consisting of all points whose reduction modulo \mathfrak{p} is smooth.

The Tamagawa number of E at \mathfrak{p} is usually denoted c_{\mathfrak{p}}(E). It is a positive integer, and equal to 1 if E has good reduction at \mathfrak{p} and may be computed in general using Tate's algorithm.

The product of the Tamagawa numbers over all primes is a positive integer known as the Tamagawa product.

Depends on: Definition 3.1 Definition 3.19 Definition 2.1

Lean code for Definition3.93●4 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/Tamagawa.lean
    complete
    def WeierstrassCurve.tamagawaNumber.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K)
      (p :
        IsDedekindDomain.HeightOneSpectrum (NumberField.RingOfIntegers K)) :
      ℕ
    def WeierstrassCurve.tamagawaNumber.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K)
      (p :
        IsDedekindDomain.HeightOneSpectrum
          (NumberField.RingOfIntegers K)) :
      ℕ
    The **Tamagawa number** `c_𝔭(E) = [E(K_𝔭) : E⁰(K_𝔭)]` (LMFDB `ec.tamagawa_number`) of a
    Weierstrass curve `W` over a number field `K` at a prime `𝔭`, where `E(K_𝔭)` is the group of points
    of Mathlib's chosen minimal equation, over the valuation ring of the completion `K_𝔭`, of the base
    change of `W` to `K_𝔭`, and `E⁰(K_𝔭)` is its subgroup of points whose reduction modulo `𝔭` is
    nonsingular. An infinite index would read `0`; the index is finite, but that is not formalised. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Arithmetic/Tamagawa.lean
    complete
    def WeierstrassCurve.tamagawaProduct.{u_1} {K : Type u_1} [Field K]
      [NumberField K] (W : WeierstrassCurve K) : ℕ
    def WeierstrassCurve.tamagawaProduct.{u_1}
      {K : Type u_1} [Field K] [NumberField K]
      (W : WeierstrassCurve K) : ℕ
    The **Tamagawa product** `∏_𝔭 c_𝔭(E)` (LMFDB `ec.tamagawa_number`) of a Weierstrass curve over
    a number field: the product of its Tamagawa numbers over all primes, a finite product for an
    elliptic curve (`WeierstrassCurve.hasFiniteMulSupport_tamagawaNumber`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Affine/Point/NonsingularReduction.lean
    complete
    def WeierstrassCurve.Affine.nonsingularReduction.{u_1, u_2} {F : Type u_1}
      {Γ₀ : Type u_2} [Field F] [LinearOrderedCommGroupWithZero Γ₀]
      (v : Valuation F Γ₀) (W : WeierstrassCurve.Affine F)
      [WeierstrassCurve.IsIntegral (↥v.valuationSubring) W]
      [DecidableEq F] : AddSubgroup W.Point
    def WeierstrassCurve.Affine.nonsingularReduction.{u_1,
        u_2}
      {F : Type u_1} {Γ₀ : Type u_2} [Field F]
      [LinearOrderedCommGroupWithZero Γ₀]
      (v : Valuation F Γ₀)
      (W : WeierstrassCurve.Affine F)
      [WeierstrassCurve.IsIntegral
          (↥v.valuationSubring) W]
      [DecidableEq F] : AddSubgroup W.Point
    **The subgroup `E₀(F)` of points with nonsingular reduction**: the points of `W(F)` whose
    reduction is a nonsingular point of the reduced curve. 
  • defdefined in Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean
    complete
    def WeierstrassCurve.minimal.{u_1, u_2} (R : Type u_1) [CommRing R]
      [IsDomain R] [IsDiscreteValuationRing R] {K : Type u_2} [Field K]
      [Algebra R K] [IsFractionRing R K] (W : WeierstrassCurve K) :
      WeierstrassCurve K
    def WeierstrassCurve.minimal.{u_1, u_2}
      (R : Type u_1) [CommRing R] [IsDomain R]
      [IsDiscreteValuationRing R]
      {K : Type u_2} [Field K] [Algebra R K]
      [IsFractionRing R K]
      (W : WeierstrassCurve K) :
      WeierstrassCurve K
    A minimal Weierstrass equation for a given Weierstrass curve over `K`. 
Definition3.94
Statement uses 4
Statement dependency previews
Preview
Definition 3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Torsion order of an elliptic curve. (LMFDB)

The torsion order of an elliptic curve E over a field K is the order of the torsion subgroup E(K)_{\text{tor}} of its Mordell-Weil group E(K).

The torsion subgroup E(K)_{\text{tor}} is the set of all points on E with coordinates in K having finite order in the group E(K). When K is a number field (for example, when K=\Q) it is a finite set, since by the Mordell-Weil Theorem, E(K) is finitely generated.

When K=\Q the torsion order n satisfies n\le16, by a theorem of Mazur.

Depends on: Definition 3.1 Definition 3.38 Definition 3.39 Definition 3.95

Lean code for Definition3.94●4 declarations
  • defdefined in Mathlib/GroupTheory/Torsion.lean
    complete
    def AddCommGroup.torsion.{u_1} (G : Type u_1) [AddCommGroup G] :
      AddSubgroup G
    def AddCommGroup.torsion.{u_1} (G : Type u_1)
      [AddCommGroup G] : AddSubgroup G
    The torsion additive subgroup of an additive abelian group. 
  • defdefined in Mathlib/SetTheory/Cardinal/Finite.lean
    complete
    def Nat.card.{u_3} (α : Type u_3) : ℕ
    def Nat.card.{u_3} (α : Type u_3) : ℕ
    `Nat.card α` is the cardinality of `α` as a natural number.
    If `α` is infinite, `Nat.card α = 0`. 
  • theoremdefined in Mathlib/NumberTheory/Height/EllipticCurve.lean
    complete
    theorem WeierstrassCurve.Affine.finite_torsion.{u_1} {F : Type u_1} [Field F]
      [Height.AdmissibleAbsValues F] {W : WeierstrassCurve.Affine F}
      [Northcott Height.logHeight₁] [DecidableEq F]
      [WeierstrassCurve.IsElliptic W] :
      Finite ↥(AddCommGroup.torsion W.Point)
    theorem WeierstrassCurve.Affine.finite_torsion.{u_1}
      {F : Type u_1} [Field F]
      [Height.AdmissibleAbsValues F]
      {W : WeierstrassCurve.Affine F}
      [Northcott Height.logHeight₁]
      [DecidableEq F]
      [WeierstrassCurve.IsElliptic W] :
      Finite ↥(AddCommGroup.torsion W.Point)
    The group of `F`-rational torsion points on an elliptic curve is finite when `F` is a field
    that has the Northcott property (e.g., a number field). 
  • inductive(2 constructors, 3 parameters)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean
    complete
    inductive WeierstrassCurve.Affine.Point.{r} {R : Type r} [CommRing R]
      (W' : WeierstrassCurve.Affine R) : Type r
    inductive WeierstrassCurve.Affine.Point.{r}
      {R : Type r} [CommRing R]
      (W' : WeierstrassCurve.Affine R) :
      Type r
    A nonsingular point on a Weierstrass curve `W` in affine coordinates. This is either the unique
    point at infinity `WeierstrassCurve.Affine.Point.zero` or a nonsingular affine point
    `WeierstrassCurve.Affine.Point.some (x, y)` satisfying the Weierstrass equation of `W`. 
    WeierstrassCurve.Affine.Point.zero.{r} {R : Type r}
      [CommRing R] {W' : WeierstrassCurve.Affine R} : W'.Point
    WeierstrassCurve.Affine.Point.some.{r} {R : Type r}
      [CommRing R] {W' : WeierstrassCurve.Affine R} (x y : R)
      (h : W'.Nonsingular x y) : W'.Point
Definition3.95
Statement uses 2
Statement dependency previews
Preview
Definition 3.38
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 6
Reverse dependency previews
Preview
Definition 3.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Torsion subgroup of an elliptic curve. (LMFDB)

For an elliptic curve E over a field K, the torsion subgroup of E over K is the subgroup E(K)_{\text{tor}} of the Mordell-Weil group E(K) consisting of points of finite order. For a number field K this is always a finite group, since by the Mordell-Weil Theorem E(K) is finitely generated.

The torsion subgroup is always either cyclic or a product of two cyclic groups. The torsion structure is the list of invariants of the group:

  • [] for the trivial group;

  • [n] for a cyclic group of order n>1;

  • [n_1,n_2] with n_1\mid n_2 for a product of non-trivial cyclic groups of orders n_1 and n_2.

For K=\Q the possible torsion structures are [n] for n\le10 and n=12, and [2,2n] for n=1,2,3,4.

Depends on: Definition 3.38 Definition 3.39

Lean code for Definition3.95●1 definition
  • defdefined in Mathlib/GroupTheory/Torsion.lean
    complete
    def AddCommGroup.torsion.{u_1} (G : Type u_1) [AddCommGroup G] :
      AddSubgroup G
    def AddCommGroup.torsion.{u_1} (G : Type u_1)
      [AddCommGroup G] : AddSubgroup G
    The torsion additive subgroup of an additive abelian group. 
Definition3.96
Statement uses 6
Statement dependency previews
Preview
Definition 1.44
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Twists of elliptic curves. (LMFDB)

A twist of an elliptic curve E defined over a field K is another elliptic curve E', also defined over K, which is isomorphic to E over the algebraic closure of K.

Two elliptic curves are twists if an only if they have the same j-invariant.

For elliptic curves E with j(E)\not=0, 1728, the only twists of E are its quadratic twists E^{(d)}. Provided that the characteristic of K is not 2, the nontrivial quadratic twists of E are in bijection with the nontrivial elements d of K^*/(K^*)^2, and E^{(d)} is isomorphic to E over the quadratic extension K(\sqrt{d}).

Over fields of characteristic not 2 or 3, elliptic curves with j-invariant 1728 also admit quartic twists, parametrised by K^*/(K^*)^4, and elliptic curves with j-invariant 0 also admit sextic twists, parametrised by K^*/(K^*)^6. Elliptic curves E over fields K of characteristic 2 and 3 with j(E)=0=1728 have nonabelian automorphism groups, and their twists are more complicated to describe, being in all cases parametrised by H^1(\Gal(\overline{K}/K), \Aut(E)).

Elliptic curve twists are a special case of twists of abelian varieties.

Depends on: Definition 1.44 Definition 3.1 Definition 3.30 Definition 1.57 Definition 1.132 Definition 1.134

Lean code for Definition3.96●5 definitions
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Twist/Basic.lean
    complete
    def WeierstrassCurve.IsTwist.{u_1} {K : Type u_1} [Field K]
      (W W' : WeierstrassCurve K) : Prop
    def WeierstrassCurve.IsTwist.{u_1}
      {K : Type u_1} [Field K]
      (W W' : WeierstrassCurve K) : Prop
    A Weierstrass curve `W'` over a field `K` is a **twist** (LMFDB `ec.twists`) of `W` if it is
    isomorphic to `W` over an algebraic closure `K̄` of `K`: a change of variables over `K̄` carries
    `W` to `W'`. Two elliptic curves are twists of each other exactly when they have the same
    `j`-invariant (`isTwist_iff_j_eq`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/QuadraticTwist/Basic.lean
    complete
    def WeierstrassCurve.quadraticTwist.{u_1, u_3} {K : Type u_1} [Field K]
      (E : WeierstrassCurve K) (L : Type u_3) [Field L] [Algebra K L]
      [Algebra.IsQuadraticExtension K L] [Algebra.IsSeparable K L] :
      WeierstrassCurve K
    def WeierstrassCurve.quadraticTwist.{u_1, u_3}
      {K : Type u_1} [Field K]
      (E : WeierstrassCurve K) (L : Type u_3)
      [Field L] [Algebra K L]
      [Algebra.IsQuadraticExtension K L]
      [Algebra.IsSeparable K L] :
      WeierstrassCurve K
    **The quadratic twist of `E` by the separable quadratic extension `L/K`**: the twist by the
    trace and norm of a generator of `L/K`. The choice of generator is harmless —
    `exists_quadraticTwist_eq` names one, and `exists_smul_quadraticTwist_eq` says every other gives
    the same curve up to a change of variables over `K`.
    
    Separability is not decoration. On a purely inseparable quadratic extension the trace form
    vanishes, so `t = 0` and — in characteristic `2`, the only characteristic where such an extension
    exists — the discriminant `D = t² - 4n` is `0`, and the model is singular for every `E` and
    barely depends on `E`. This is a different failure from the one the module docstring gives for
    refusing a twist-by-a-generator constructor, which is `(t, n) = (0, 1)` and so `D = -4`: there
    the parameters cease to reflect the extension but the twist stays generically nonsingular. The
    two coincide only in characteristic `2`. Choosing the generator by
    `Algebra.IsQuadraticExtension.exists_discrim_ne_zero` rules this case out, so the *twist
    parameters* never degenerate. That is all it can rule out: `E` is arbitrary here, so a singular
    `E` still gives a singular twist. Nonsingularity of the result needs `E` elliptic too, which is
    `isElliptic_quadraticTwist`. 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Twist/QuarticSextic.lean
    complete
    def WeierstrassCurve.quarticTwist.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) (D : K) : WeierstrassCurve K
    def WeierstrassCurve.quarticTwist.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) (D : K) :
      WeierstrassCurve K
    The **quartic twist** (LMFDB `ec.twists`) of a Weierstrass curve `W` by `D`: the curve
    `y² = x³ - 27 c₄ D x`. Over a field of characteristic not `2` or `3`, the curve
    `y² = x³ - 27 c₄ x - 54 c₆` is a model of `W`, so when `j(W) = 1728`, that is `c₆ = 0`, the quartic
    twist by `1` is a model of `W`. The quartic twists of such a `W` by `D ≠ 0` are then its twists,
    parametrised by `K*/(K*)⁴` (`exists_smul_quarticTwist_eq_quarticTwist_iff`). 
  • defdefined in LeanBridge/ForMathlib/AlgebraicGeometry/EllipticCurve/Twist/QuarticSextic.lean
    complete
    def WeierstrassCurve.sexticTwist.{u_1} {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) (D : K) : WeierstrassCurve K
    def WeierstrassCurve.sexticTwist.{u_1}
      {K : Type u_1} [Field K]
      (W : WeierstrassCurve K) (D : K) :
      WeierstrassCurve K
    The **sextic twist** (LMFDB `ec.twists`) of a Weierstrass curve `W` by `D`: the curve
    `y² = x³ - 54 c₆ D`. Over a field of characteristic not `2` or `3`, the curve
    `y² = x³ - 27 c₄ x - 54 c₆` is a model of `W`, so when `j(W) = 0`, that is `c₄ = 0`, the sextic
    twist by `1` is a model of `W`. The sextic twists of such a `W` by `D ≠ 0` are then its twists,
    parametrised by `K*/(K*)⁶` (`exists_smul_sexticTwist_eq_sexticTwist_iff`). 
  • defdefined in TauCeti/AlgebraicGeometry/EllipticCurve/Twist/Cocycle.lean
    complete
    def WeierstrassCurve.VariableChange.twistCohomologyClass.{u_1, u_2}
      {K : Type u_1} [Field K] {W : WeierstrassCurve K} {L : Type u_2}
      [Field L] [Algebra K L] {V : WeierstrassCurve K}
      [Algebra.IsAlgebraic K L] (C : WeierstrassCurve.VariableChange L)
      (hC : C • V.baseChange L = W.baseChange L) :
      TauCeti.NonabelianH1 Gal(L/K) (W.AutCoeff L)
    def WeierstrassCurve.VariableChange.twistCohomologyClass.{u_1,
        u_2}
      {K : Type u_1} [Field K]
      {W : WeierstrassCurve K} {L : Type u_2}
      [Field L] [Algebra K L]
      {V : WeierstrassCurve K}
      [Algebra.IsAlgebraic K L]
      (C : WeierstrassCurve.VariableChange L)
      (hC :
        C • V.baseChange L = W.baseChange L) :
      TauCeti.NonabelianH1 Gal(L/K)
        (W.AutCoeff L)
    The nonabelian cohomology class associated to a pointed trivialisation. 
Definition3.97
uses 1
Used by 13
Reverse dependency previews
Preview
Definition 3.10
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Weierstrass equation or model. (LMFDB)

A Weierstrass equation or Weierstrass model over a field k is a plane curve E of the form

y^2 + a_1xy + a_3y = x^3 + a_2 x^2 + a_4 x + a_6,

with a_1, a_2, a_3, a_4, a_6 \in k.

The Weierstrass coefficients of this model E are the five coefficients a_i. These are often displayed as a list [a_1, a_2, a_3, a_4, a_6].

It is common not to distinguish between the affine curve defined by a Weierstrass equation and its projective closure, which contains exactly one additional point at infinity, [0:1:0].

A Weierstrass model is smooth if and only if its discriminant \Delta is nonzero. In this case, the plane curve E together with the point at infinity as base point, define an elliptic curve defined over k.

Two smooth Weierstrass models define isomorphic elliptic curves if and only if they are isomorphic as Weierstrass models.

Depends on: Definition 3.1

Lean code for Definition3.97●1 definition
  • structure(5 fields)defined in Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean
    complete
    structure WeierstrassCurve.{u} (R : Type u) : Type u
    structure WeierstrassCurve.{u} (R : Type u) : Type u
    A Weierstrass curve `Y² + a₁XY + a₃Y = X³ + a₂X² + a₄X + a₆` with parameters `aᵢ`. 
    a₁ : R
    The `a₁` coefficient of a Weierstrass curve. 
    a₂ : R
    The `a₂` coefficient of a Weierstrass curve. 
    a₃ : R
    The `a₃` coefficient of a Weierstrass curve. 
    a₄ : R
    The `a₄` coefficient of a Weierstrass curve. 
    a₆ : R
    The `a₆` coefficient of a Weierstrass curve. 
Definition3.98
Statement uses 2
Statement dependency previews
Preview
Definition 3.29
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Isomorphism between Weierstrass models. (LMFDB)

Two Weierstrass models E, E' over a field K with Weierstrass coefficients [a_1,a_2,a_3,a_4,a_6] and [a'_1,a'_2,a'_3,a'_4,a'_6] are isomorphic over K if there exist u\in K^* and r,s,t\in K such that

\begin{aligned} u a_1' &= a_1+2s, \\ u^2a_2' &= a_2-sa_1+3r-s^2, \\ u^3a_3' &= a_3+ra_1+2t, \\ u^4a_4' &= a_4-sa_3+2ra_2-(t+rs)a_1+3r^2-2st, \\ u^6a_6' &= a_6+ra_4+r^2a_2+r^3-ta_3-t^2-rta_1. \\ \end{aligned}

The set of transformations with parameters [u,r,s,t]\in K^*\times K^3 form the group of Weierstrass isomorphisms, which acts on both the set of all Weierstrass models over K and also on the subset of smooth models, preserving the point at infinity. The discriminants \Delta, \Delta' of the two models are related by

u^{12}\Delta' = \Delta.

In the smooth case such a Weierstrass isomorphism [u,r,s,t] induces an isomorphism between the two elliptic curves E, E' they define. In terms of affine coordinates this is given by

(x,y) \mapsto (x',y')

where

\begin{aligned} x &= u^2x' + r \\ y &= u^3y' + su^2x' + t \\ \end{aligned}

Depends on: Definition 3.29 Definition 3.97

Lean code for Definition3.98●1 definition
  • structure(4 fields)defined in Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean
    complete
    structure WeierstrassCurve.VariableChange.{u} (R : Type u) [CommRing R] : Type u
    structure WeierstrassCurve.VariableChange.{u}
      (R : Type u) [CommRing R] : Type u
    An admissible linear change of variables of Weierstrass curves defined over a ring `R` given by
    a tuple `(u, r, s, t)` for some `u` in `Rˣ` and some `r, s, t` in `R`. As a matrix, it is
    $$\begin{pmatrix} u^2 & 0 & r \cr u^2s & u^3 & t \cr 0 & 0 & 1 \end{pmatrix}.$$
    In other words, this is the change of variables `(X, Y) ↦ (u²X + r, u³Y + u²sX + t)`.
    When `R` is a field, any two isomorphic Weierstrass equations are related by this. 
    u : Rˣ
    The `u` coefficient of an admissible linear change of variables, which must be a unit. 
    r : R
    The `r` coefficient of an admissible linear change of variables. 
    s : R
    The `s` coefficient of an admissible linear change of variables. 
    t : R
    The `t` coefficient of an admissible linear change of variables.