Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.MinimalPairModel

The minimal-pair short equation of an elliptic curve over ℚ, and its naïve height #

An elliptic curve E over ℚ has infinitely many short Weierstrass equations y² = x³ + Ax + B: the scaling x = u²x', y = u³y' replaces (A, B) by (u⁻⁴A, u⁻⁶B) for every u ∈ ℚˣ. Among the equations with A, B ∈ ℤ exactly one is a minimal pair, meaning that no prime ℓ has both ℓ⁴ ∣ A and ℓ⁶ ∣ B; the residual freedom u = ±1 acts trivially on it. This file constructs that equation, proves it unique, and defines the naïve height of E as max (4|A|³) (27B²) computed from it. The height is the quantity by which tables of elliptic curves over ℚ are ordered, and the bounded-height finiteness theorem is what makes such a table finite.

Main definitions #

Main results #

Design #

References #

Provenance #

naiveHeight is adapted from LeanBridge (github.com/CBirkbeck/LeanBridge, Apache-2.0), file LeanBridge/ForMathlib/4-EC.lean at JaneShi99/LeanBridge@d84dd305 (branch formalize/ec-defs), by Jane Shi, where it is the ℚ-valued expression max (4|a₄|³) (27a₆²) on any short equation over ℚ. Here it is ℕ-valued and pinned to the minimal-pair equation over ℤ; the minimal-pair normal form, the bundled model, and the existence, uniqueness and finiteness theorems are new.

The height of an integral short equation #

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.

Equations
Instances For
    @[simp]

    shortEquationHeight, unfolded. This is the interface to WeierstrassCurve.shortEquationHeight outside its defining module.

    The height of a short equation is monotone in |a₄| and |a₆|.

    The height of a short equation bounds its discriminant: Δ = -16(4a₄³ + 27a₆²) has |Δ| ≤ 32 · max (4|a₄|³) (27a₆²).

    The minimal-pair normal form #

    The minimal-pair normal form of an integral short equation: W is short, and no prime ℓ has both ℓ⁴ ∣ a₄ and ℓ⁶ ∣ a₆. This is the condition that kills the scaling freedom (a₄, a₆) ↦ (u⁴a₄, u⁶a₆) of short equations over ℤ, so that the equation, and with it shortEquationHeight, is determined by the curve (minimalPairModel_unique). It is a condition on the pair (a₄, a₆), not minimality of the Weierstrass equation in the sense of WeierstrassCurve.IsMinimal: at 2 and 3 the two notions differ.

    Equations
    Instances For
      @[simp]
      theorem WeierstrassCurve.isMinimalPairNF_iff {W : WeierstrassCurve ℤ} :
      W.IsMinimalPairNF ↔ W.IsShortNF ∧ ∀ (ℓ : ℕ), Nat.Prime ℓ → ¬(↑ℓ ^ 4 ∣ W.a₄ ∧ ↑ℓ ^ 6 ∣ W.a₆)

      The minimal-pair normal form, unfolded. This is the interface to WeierstrassCurve.IsMinimalPairNF outside its defining module.

      A minimal-pair equation is short.

      theorem WeierstrassCurve.IsMinimalPairNF.not_dvd_and_dvd {W : WeierstrassCurve ℤ} (h : W.IsMinimalPairNF) {ℓ : ℕ} (hℓ : Nat.Prime ℓ) :
      ¬(↑ℓ ^ 4 ∣ W.a₄ ∧ ↑ℓ ^ 6 ∣ W.a₆)

      No prime ℓ has both ℓ⁴ ∣ a₄ and ℓ⁶ ∣ a₆ for a minimal-pair equation.

      theorem WeierstrassCurve.IsMinimalPairNF.of_forall_not_dvd {W : WeierstrassCurve ℤ} [W.IsShortNF] (h : ∀ (ℓ : ℕ), Nat.Prime ℓ → ¬(↑ℓ ^ 4 ∣ W.a₄ ∧ ↑ℓ ^ 6 ∣ W.a₆)) :

      A short equation over ℤ such that no prime ℓ has both ℓ⁴ ∣ a₄ and ℓ⁶ ∣ a₆ is in minimal-pair normal form.

      The only integers x with x⁴ ∣ a₄ and x⁶ ∣ a₆ for a minimal pair are ±1. This is the form in which the minimal-pair condition is consumed: it rules out every scaling of the equation but the sign.

      theorem WeierstrassCurve.IsMinimalPairNF.eq_of_intCast_eq_pow_mul {W W' : WeierstrassCurve ℤ} (hW : W.IsMinimalPairNF) (hW' : W'.IsMinimalPairNF) {q : ℚ} (h₄ : ↑W'.a₄ = q ^ 4 * ↑W.a₄) (h₆ : ↑W'.a₆ = q ^ 6 * ↑W.a₆) :
      W' = W

      Two minimal-pair equations related by a rational scaling coincide. If (a₄', a₆') = (q⁴a₄, q⁶a₆) for some q ∈ ℚ and both pairs are minimal, then q = ±1 and the equations are equal.

      Bundled minimal-pair models #

      A minimal-pair model of an elliptic curve E over ℚ: a minimal-pair short equation over ℤ whose base change is isomorphic to E over ℚ. The equation is unique (minimalPairModel_unique), so the type is a subsingleton. A change of variables realising the isomorphism is available as MinimalPairModel.variableChange; it is not part of the data, since it is unique only up to the automorphisms of E.

      Instances For

        A change of variables carrying the base change of the model to E, chosen from MinimalPairModel.isomorphic. It is not unique: composing it with an automorphism of E gives another.

        Equations
        Instances For
          @[simp]

          The chosen change of variables carries the base change of the model to E.

          The base change of a minimal-pair model is an elliptic curve, being isomorphic to E.

          The height of a minimal-pair model: the shortEquationHeight of its equation.

          Equations
          Instances For
            @[simp]

            MinimalPairModel.height, unfolded. This is the interface to WeierstrassCurve.MinimalPairModel.height outside its defining module.

            The height of a minimal-pair model depends only on its equation.

            Existence #

            Existence of a minimal-pair model: every elliptic curve over ℚ is isomorphic over ℚ to the base change of a minimal-pair short equation over ℤ.

            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).

            Equations
            Instances For

              Uniqueness, and the naïve height of a curve #

              Uniqueness of the minimal-pair equation: any two minimal-pair models of E have the same equation, not merely isomorphic ones. Together with existence, this makes the height of the equation an invariant of the curve.

              Minimal-pair models of E form a subsingleton: their only data is the equation, and that is unique.

              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.

              Equations
              Instances For

                Every minimal-pair model computes the naïve height of the curve.

                The naïve height is invariant under an admissible change of variables over ℚ.

                Finiteness #

                There are only finitely many short equations over ℤ of bounded height: the bound max (4|a₄|³) (27a₆²) ≤ H leaves |a₄|, |a₆| ≤ H, and the two coefficients determine a short equation.

                There are only finitely many minimal-pair short equations of bounded height. The statement is about equations over ℤ in minimal-pair normal form: the set of all rational equations of a single curve is infinite, so finiteness of bounded-height ℚ-isomorphism classes is a consequence of this statement, not a statement about terms E : WeierstrassCurve ℚ.