Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.TateAlgorithm.Additive

Tate's algorithm: the additive normal form and the non-minimality test #

Let R be a discrete valuation ring with uniformiser ϖ and perfect residue field k. Once Step 2 of Tate's algorithm has moved the singular point of the reduction to the origin (WeierstrassCurve.exists_map_residue_variableChange_isSingular_zero), the reduction is additive exactly when ϖ ∣ b₂, and the algorithm then runs three divisibility tests:

If all three fail, Step 6 changes coordinates over R so that

ϖ ∣ a₁, ϖ ∣ a₂, ϖ² ∣ a₃, ϖ² ∣ a₄, ϖ³ ∣ a₆,

which is the normal form from which the cubic T³ + (a₂/ϖ) T² + (a₄/ϖ²) T + a₆/ϖ³ of Steps 6–8 is read. This file proves that Step 6 succeeds, with a change of variables y ↦ y + s x + t fixing x. Each of its two halves completes a square modulo ϖ: first T² + a₁ T − a₂, whose discriminant is b₂, then T² + (a₃/ϖ) T − a₆/ϖ², whose discriminant is b₆/ϖ². A quadratic with vanishing discriminant over the perfect field k has a double root in k, which lifts to R (TauCeti.IsLocalRing.exists_add_two_mul_mem_maximalIdeal_and_sub_mul_sub_sq_mem_maximalIdeal); in characteristic 2 this is a square root, which is where perfectness enters. The conditions on a₃ and a₄ that Step 2 provides are not needed as hypotheses: ϖ ∣ a₃ follows from b₆ = a₃² + 4 a₆, and ϖ² ∣ a₄ in the normal form from b₈ ≡ −a₄² (mod ϖ³).

The algorithm stops at Step 11 when ϖⁱ ∣ aᵢ for every i. The substitution x ↦ ϖ² x, y ↦ ϖ³ y then divides each aᵢ by ϖⁱ and the discriminant by ϖ¹², so the equation was not minimal; WeierstrassCurve.not_isMinimal_baseChange_of_pow_dvd records this. Conversely, every non-minimal equation is carried to this form by a translation over R (WeierstrassCurve.exists_variableChange_pow_dvd_a₁_a₂_a₃_a₄_a₆_of_not_isMinimal): a change of variables to an integral model of smaller discriminant has ϖ ∣ u, and its translation part is integral. So an equation with nonzero discriminant is minimal exactly when no translation over R brings it to the form of Step 11.

Main results #

References #

theorem WeierstrassCurve.exists_variableChange_dvd_a₁_a₂_a₃_a₄_a₆ {R : Type u_1} [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {ϖ : R} [PerfectField (IsLocalRing.ResidueField R)] (hϖ : Irreducible ϖ) (W : WeierstrassCurve R) (hb₂ : ϖ ∣ W.b₂) (ha₆ : ϖ ^ 2 ∣ W.a₆) (hb₆ : ϖ ^ 3 ∣ W.b₆) (hb₈ : ϖ ^ 3 ∣ W.b₈) :
∃ (s : R) (t : R), ϖ ∣ ({ u := 1, r := 0, s := s, t := t } • W).a₁ ∧ ϖ ∣ ({ u := 1, r := 0, s := s, t := t } • W).a₂ ∧ ϖ ^ 2 ∣ ({ u := 1, r := 0, s := s, t := t } • W).a₃ ∧ ϖ ^ 2 ∣ ({ u := 1, r := 0, s := s, t := t } • W).a₄ ∧ ϖ ^ 3 ∣ ({ u := 1, r := 0, s := s, t := t } • W).a₆

Tate's algorithm, Step 6. Over a discrete valuation ring with uniformiser ϖ and perfect residue field, let W be a Weierstrass equation over R on which Steps 3–5 do not stop: ϖ ∣ b₂, ϖ² ∣ a₆, ϖ³ ∣ b₈ and ϖ³ ∣ b₆. (After Step 2, ϖ ∣ b₂ says the reduction is additive; the normal form of Step 2 itself is not assumed.) Then a change of variables y ↦ y + s x + t with s, t ∈ R carries W to an equation with ϖ ∣ a₁, ϖ ∣ a₂, ϖ² ∣ a₃, ϖ² ∣ a₄ and ϖ³ ∣ a₆.

theorem WeierstrassCurve.not_isMinimal_baseChange_of_pow_dvd {R : Type u_1} [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {ϖ : R} {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (hϖ : Irreducible ϖ) (W : WeierstrassCurve R) (hΔ : W.Δ ≠ 0) (h₁ : ϖ ∣ W.a₁) (h₂ : ϖ ^ 2 ∣ W.a₂) (h₃ : ϖ ^ 3 ∣ W.a₃) (h₄ : ϖ ^ 4 ∣ W.a₄) (h₆ : ϖ ^ 6 ∣ W.a₆) :

Tate's algorithm, Step 11. If a Weierstrass equation over a discrete valuation ring R has nonzero discriminant and ϖ ∣ a₁, ϖ² ∣ a₂, ϖ³ ∣ a₃, ϖ⁴ ∣ a₄, ϖ⁶ ∣ a₆, then its base change to the fraction field K is not minimal over R: the substitution x ↦ ϖ² x, y ↦ ϖ³ y divides each aᵢ by ϖⁱ, so the result is again integral, and divides the discriminant by ϖ¹².

theorem WeierstrassCurve.exists_variableChange_pow_dvd_a₁_a₂_a₃_a₄_a₆_of_not_isMinimal {R : Type u_1} [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {ϖ : R} {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (hϖ : Irreducible ϖ) (W : WeierstrassCurve R) (h : ¬IsMinimal R (W.baseChange K)) :
∃ (r : R) (s : R) (t : R), ϖ ∣ ({ u := 1, r := r, s := s, t := t } • W).a₁ ∧ ϖ ^ 2 ∣ ({ u := 1, r := r, s := s, t := t } • W).a₂ ∧ ϖ ^ 3 ∣ ({ u := 1, r := r, s := s, t := t } • W).a₃ ∧ ϖ ^ 4 ∣ ({ u := 1, r := r, s := s, t := t } • W).a₄ ∧ ϖ ^ 6 ∣ ({ u := 1, r := r, s := s, t := t } • W).a₆

The converse of Step 11 of Tate's algorithm. If the base change of a Weierstrass equation over R to the fraction field K is not minimal over R, then a translation x ↦ x + r, y ↦ y + s x + t with r, s, t ∈ R carries it to an equation with ϖ ∣ a₁, ϖ² ∣ a₂, ϖ³ ∣ a₃, ϖ⁴ ∣ a₄ and ϖ⁶ ∣ a₆.

theorem WeierstrassCurve.isMinimal_baseChange_iff_forall_not_pow_dvd_a₁_a₂_a₃_a₄_a₆ {R : Type u_1} [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {ϖ : R} {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (hϖ : Irreducible ϖ) (W : WeierstrassCurve R) (hΔ : W.Δ ≠ 0) :
IsMinimal R (W.baseChange K) ↔ ∀ (C : VariableChange R), ¬(ϖ ∣ (C • W).a₁ ∧ ϖ ^ 2 ∣ (C • W).a₂ ∧ ϖ ^ 3 ∣ (C • W).a₃ ∧ ϖ ^ 4 ∣ (C • W).a₄ ∧ ϖ ^ 6 ∣ (C • W).a₆)

Step 11 of Tate's algorithm decides minimality. A Weierstrass equation over R with nonzero discriminant is minimal over the fraction field exactly when no change of variables over R carries it to an equation with ϖ ∣ a₁, ϖ² ∣ a₂, ϖ³ ∣ a₃, ϖ⁴ ∣ a₄ and ϖ⁶ ∣ a₆.

theorem WeierstrassCurve.pow_three_dvd_Δ_of_dvd_b₂_of_dvd_a₃_of_dvd_a₄_of_sq_dvd_a₆ {R : Type u_1} [CommRing R] (W : WeierstrassCurve R) (ϖ : R) (hb₂ : ϖ ∣ W.b₂) (h₃ : ϖ ∣ W.a₃) (h₄ : ϖ ∣ W.a₄) (h₆ : ϖ ^ 2 ∣ W.a₆) :
ϖ ^ 3 ∣ W.Δ

If the Step 3 test fails (ϖ² ∣ a₆), the discriminant is divisible by ϖ³. The coefficient conditions are those of the Step 2 normal form.

theorem WeierstrassCurve.sq_dvd_b₄_of_dvd_b₂_of_sq_dvd_b₆_of_pow_three_dvd_b₈ {R : Type u_1} [CommRing R] (W : WeierstrassCurve R) (ϖ : R) [IsDomain R] (hϖ : Prime ϖ) (hb₂ : ϖ ∣ W.b₂) (hb₆ : ϖ ^ 2 ∣ W.b₆) (hb₈ : ϖ ^ 3 ∣ W.b₈) :
ϖ ^ 2 ∣ W.b₄

At Step 4, the failed b₈ test forces ϖ² ∣ b₄ from 4 b₈ = b₂ b₆ - b₄². No restriction on the residue characteristic is needed.

theorem WeierstrassCurve.pow_four_dvd_Δ_of_dvd_b₂_of_sq_dvd_b₆_of_pow_three_dvd_b₈ {R : Type u_1} [CommRing R] (W : WeierstrassCurve R) (ϖ : R) [IsDomain R] (hϖ : Prime ϖ) (hb₂ : ϖ ∣ W.b₂) (hb₆ : ϖ ^ 2 ∣ W.b₆) (hb₈ : ϖ ^ 3 ∣ W.b₈) :
ϖ ^ 4 ∣ W.Δ

If the Step 4 test fails (ϖ³ ∣ b₈), then ϖ⁴ divides the discriminant. The ϖ² ∣ b₆ hypothesis already follows from the failed Step 3 test.

theorem WeierstrassCurve.pow_five_dvd_Δ_of_dvd_b₂_of_pow_three_dvd_b₆_of_pow_three_dvd_b₈ {R : Type u_1} [CommRing R] (W : WeierstrassCurve R) (ϖ : R) [IsDomain R] (hϖ : Prime ϖ) (hb₂ : ϖ ∣ W.b₂) (hb₆ : ϖ ^ 3 ∣ W.b₆) (hb₈ : ϖ ^ 3 ∣ W.b₈) :
ϖ ^ 5 ∣ W.Δ

If the Step 5 test also fails (ϖ³ ∣ b₆), then ϖ⁵ divides the discriminant. This is the discriminant bound at the entry to Step 6, before its normalising change of variables.