Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.TateAlgorithm.Terminal

Tate's algorithm: the stopping conditions, and termination #

Tate's algorithm reads the reduction symbol of a minimal Weierstrass equation over a discrete valuation ring R with uniformiser ϖ and perfect residue field k. It alternates changes of variables over R with divisibility tests, and stops as soon as one test succeeds. This file records the test at which the algorithm stops as a predicate on an integral equation, WeierstrassCurve.IsTateTerminal W ϖ s, and proves that the algorithm terminates: every minimal equation is carried by a change of variables over R to an equation on which one of the stopping tests succeeds.

The stopping conditions are stated on the coefficients of W without dividing by ϖ. With the residue cubic P(T) = T³ + (a₂/ϖ) T² + (a₄/ϖ²) T + a₆/ϖ³ of the Step 6 normal form, they are:

The equation must be minimal for the algorithm to stop: on a non-minimal equation the triple-root branch may reach Step 11, which rescales the equation and starts again. Minimality is used only there.

The algorithmic Ogg exponent v(Δ) − m + 1 of a symbol with m components (TauCeti.ReductionSymbol.algorithmicOggExponent) is 0 at I₀ and 1 at Iₙ, since there v(Δ) = n; at every additive symbol the stopping conditions force v(Δ) > m, so the exponent is at least 2.

Main definitions #

Main results #

The output of the algorithm is not shown here to be independent of the choices made along the way.

References #

The stopping conditions of Tate's algorithm. W.IsTateTerminal ϖ s says that Tate's algorithm, run on the integral equation W with uniformiser ϖ, stops with output s without a further change of variables. The conditions are those listed in the module docstring; for Iₙ* the stage n = 2k + 1 or n = 2k + 2 is the normal form IsTateOddStage ϖ k or IsTateEvenStage ϖ k of the subprocedure of Step 7.

Instances For
    @[simp]
    theorem WeierstrassCurve.isTateTerminal_I_add_one {R : Type u_1} [CommRing R] {W : WeierstrassCurve R} {ϖ : R} {n : ℕ} :
    W.IsTateTerminal ϖ (TauCeti.ReductionSymbol.I (n + 1)) ↔ ϖ ∣ W.a₃ ∧ ϖ ∣ W.a₄ ∧ ϖ ∣ W.a₆ ∧ ¬ϖ ∣ W.b₂ ∧ ϖ ^ (n + 1) ∣ W.Δ ∧ ¬ϖ ^ (n + 2) ∣ W.Δ
    @[simp]
    theorem WeierstrassCurve.isTateTerminal_IStar_zero {R : Type u_1} [CommRing R] {W : WeierstrassCurve R} {ϖ : R} :
    W.IsTateTerminal ϖ (TauCeti.ReductionSymbol.IStar 0) ↔ ϖ ∣ W.a₁ ∧ ϖ ∣ W.a₂ ∧ ϖ ^ 2 ∣ W.a₃ ∧ ϖ ^ 2 ∣ W.a₄ ∧ ϖ ^ 3 ∣ W.a₆ ∧ ¬ϖ ^ 7 ∣ { a := 1, b := W.a₂, c := W.a₄, d := W.a₆ }.discr
    @[simp]
    theorem WeierstrassCurve.isTateTerminal_IStar_add_one {R : Type u_1} [CommRing R] {W : WeierstrassCurve R} {ϖ : R} {n : ℕ} :
    W.IsTateTerminal ϖ (TauCeti.ReductionSymbol.IStar (n + 1)) ↔ (∃ (k : ℕ), n = 2 * k ∧ IsTateOddStage ϖ k W ∧ ¬ϖ ^ (2 * k + 5) ∣ W.b₆) ∨ ∃ (k : ℕ), n = 2 * k + 1 ∧ IsTateEvenStage ϖ k W ∧ ¬ϖ ^ (2 * k + 7) ∣ discrim W.a₂ W.a₄ W.a₆

    Both branches of the stopping test for Iₙ* satisfy the normal form of stage 1 of the subprocedure: ϖ ∣ a₁, ϖ ∥ a₂, ϖ² ∣ a₃, ϖ³ ∣ a₄ and ϖ⁴ ∣ a₆.

    The stopping test at I*_{2k+1} is the odd stage k with ϖ^(2k+5) ∤ b₆.

    The stopping test at I*_{2k+2} is the even stage k with ϖ^(2k+7) ∤ a₄² − 4 a₂ a₆.

    theorem WeierstrassCurve.isTateTerminal_map_iff {R : Type u_1} [CommRing R] {W : WeierstrassCurve R} {ϖ : R} {S : Type u_2} [CommRing S] (f : R →+* S) (hf : ∀ (n : ℕ) (x : R), f ϖ ^ n ∣ f x ↔ ϖ ^ n ∣ x) {s : TauCeti.ReductionSymbol} :
    (W.map f).IsTateTerminal (f ϖ) s ↔ W.IsTateTerminal ϖ s

    The stopping conditions are read along a ring map that reflects divisibility by powers of the uniformiser. If f ϖ ^ n ∣ f x ↔ ϖ ^ n ∣ x for all n and x, then Tate's algorithm stops on W.map f with uniformiser f ϖ exactly where it stops on W with uniformiser ϖ. For instance the cast from ℤ to a discrete valuation ring with uniformiser a prime p reflects divisibility by powers of p (Nat.Prime.pow_dvd_intCast_iff), so the symbol of an integral equation over ℤ can be computed over ℤ.

    At a stopping symbol other than Iₙ with m components, ϖ^(m+1) divides the discriminant. This is the bound that makes the algorithmic Ogg exponent at least 2 there.

    At a stopping symbol other than Iₙ, the equation is in the additive normal form of Step 2 of Tate's algorithm: ϖ divides b₂, a₃, a₄ and a₆.

    theorem WeierstrassCurve.IsTateTerminal.dvd_c₄ {R : Type u_1} [CommRing R] {W : WeierstrassCurve R} {ϖ : R} {s : TauCeti.ReductionSymbol} (h : W.IsTateTerminal ϖ s) (hs : ∀ (n : ℕ), s ≠ TauCeti.ReductionSymbol.I n) :
    ϖ ∣ W.c₄

    At a stopping symbol other than Iₙ, ϖ divides c₄. In the additive normal form ϖ divides b₂ and b₄, and c₄ = b₂² − 24 b₄.

    At a stopping symbol other than I₀, the uniformiser is nonzero. If ϖ = 0, the divisibility conditions force the relevant coefficients to vanish, and then the stopping test ¬ 0 ^ k ∣ _ fails.

    theorem WeierstrassCurve.IsTateTerminal.prime_and_not_dvd_of_IVStar {R : Type u_1} [CommRing R] {W : WeierstrassCurve R} {ϖ : R} (hϖ : (Ideal.span {ϖ}).IsPrime) (h : W.IsTateTerminal ϖ TauCeti.ReductionSymbol.IVStar) {A₃ A₆ : R} (h₃ : W.a₃ = ϖ ^ 2 * A₃) (h₆ : W.a₆ = ϖ ^ 4 * A₆) :
    Prime ϖ ∧ ¬ϖ ∣ A₃ ^ 2 + 4 * A₆

    At the symbol IV*, the residue quadratic has distinct roots. If (ϖ) is a prime ideal, a₃ = ϖ² A₃ and a₆ = ϖ⁴ A₆, then the test ϖ⁵ ∤ b₆ = ϖ⁴ (A₃² + 4 A₆) says that ϖ is prime and does not divide the discriminant A₃² + 4 A₆ of T² + A₃ T − A₆.

    Tate's algorithm stops at a symbol other than I₀ exactly when ϖ divides the discriminant.

    theorem WeierstrassCurve.pow_seven_dvd_discr_iff {R : Type u_1} [CommRing R] [IsDomain R] [IsDiscreteValuationRing R] {ϖ : R} {W : WeierstrassCurve R} (hϖ : Irreducible ϖ) {A₂ A₄ A₆ : R} (hA₂ : W.a₂ = ϖ * A₂) (hA₄ : W.a₄ = ϖ ^ 2 * A₄) (hA₆ : W.a₆ = ϖ ^ 3 * A₆) :
    ϖ ^ 7 ∣ { a := 1, b := W.a₂, c := W.a₄, d := W.a₆ }.discr ↔ { a := 1, b := (IsLocalRing.residue R) A₂, c := (IsLocalRing.residue R) A₄, d := (IsLocalRing.residue R) A₆ }.discr = 0

    The I₀* test is the residue-cubic test. If a₂ = ϖ A₂, a₄ = ϖ² A₄ and a₆ = ϖ³ A₆, then ϖ⁷ divides the discriminant of T³ + a₂ T² + a₄ T + a₆ exactly when the residue cubic T³ + A₂ T² + A₄ T + A₆ over the residue field has zero discriminant.

    At the symbol Iₙ, the discriminant has valuation n.

    The algorithmic Ogg exponent at an additive symbol is at least 2. If Tate's algorithm stops on W with a symbol other than Iₙ, and n is the valuation of the discriminant, then n − m + 1 ≥ 2, where m is the component count of the symbol.

    Termination #

    Tate's algorithm terminates. Over a discrete valuation ring with uniformiser ϖ and perfect residue field, a Weierstrass equation over R with nonzero discriminant that is minimal over the fraction field K is carried by a change of variables over R to an equation on which one of the stopping tests of Tate's algorithm succeeds.