Documentation

EllipticCurves.ReductionAtPrime

Reduction of points modulo a prime of the base ring #

Source: MichaelStollBayreuth/EllipticCurves at commit 3f8c39c0fc4c0fd0a40e693aa2a9bbda08d9ee1f. Exact-pin changes are documented in PORTING.md.

Let E be an elliptic curve over the fraction field K of a Dedekind domain R, let v be a maximal ideal (height-one prime) of R, and let W₀ be an integral model of E over R (hE : W₀.map (algebraMap R K) = E) whose reduction modulo v is again elliptic — good reduction at v, the instance hypothesis [(redCurve v W₀).IsElliptic]. This file defines the reduced curve redCurve v W₀ over the residue field R ⧸ v.asIdeal and the reduction homomorphism redHom v hE : E(K) →+ E_red(R ⧸ v.asIdeal) — a point with v-integral coordinates maps to their residues (via residueHom v), a point with a pole at v maps to 0 — with no completions in the definitions or statements.

The completion K_v enters only through proofs: adicRed_pointMap identifies red v hE with the reduction map adicRed of the base-changed curve over K_v (where the formal-group machinery of EllipticCurves.WeierstrassFormalGroup lives), and additivity, injectivity on torsion, and preservation of the order of torsion points are transported back along it.

Main definitions and statements #

@[reducible, inline]

The reduction E_red of the integral model W₀ modulo the prime v, a Weierstrass curve over the residue field R ⧸ v.asIdeal: the base change of W₀ along algebraMap R (R ⧸ v.asIdeal) = Ideal.Quotient.mk v.asIdeal. Good reduction of W₀ at v is the instance hypothesis [(redCurve v W₀).IsElliptic].

Equations
Instances For

    The reduction map, defined over K #

    The definition of red needs three facts about a point of E(K) with v-integral x-coordinate: its y-coordinate is v-integral, the residues of its coordinates satisfy the reduced Weierstrass equation, and (under good reduction) they are a nonsingular point of E_red. The first is transported from the completion (integral_of_not_mem); the others are proved directly from residueHom.

    The y-coordinate of a point of E(K) whose x-coordinate is v-integral is itself v-integral.

    The residues of the coordinates of a v-integral point of E(K) satisfy the reduced Weierstrass equation.

    Under good reduction, the residues of the coordinates of a v-integral point of E(K) are a nonsingular point of the reduced curve.

    noncomputable def WeierstrassCurve.Affine.red {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] :
    E.Point(redCurve v W₀).Point

    The reduction map E(K) → E_red(R ⧸ v.asIdeal) at the prime v, for an integral model W₀ of E over R with good reduction at v: a point with v-integral coordinates reduces coordinatewise (via residueHom v), and a point with a pole at v (the kernel of reduction) maps to the point at infinity.

    Equations
    Instances For
      @[simp]
      theorem WeierstrassCurve.Affine.red_zero {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] :
      red v hE 0 = 0
      theorem WeierstrassCurve.Affine.red_some_of_le {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] {x y : K} {h : E.Nonsingular x y} (hx : (IsDedekindDomain.HeightOneSpectrum.valuation K v) x 1) :
      red v hE (Point.some x y h) = Point.some (v.residueHom x, hx) (v.residueHom y, )

      Unfolding lemma for red at a v-integral point.

      theorem WeierstrassCurve.Affine.red_some_of_not_le {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] {x y : K} {h : E.Nonsingular x y} (hx : ¬(IsDedekindDomain.HeightOneSpectrum.valuation K v) x 1) :
      red v hE (Point.some x y h) = 0

      Unfolding lemma for red at a point with a pole at v.

      Transport from the completion #

      The following identifies red v hE with the reduction map adicRed of the base-changed curve over the completion K_v, along the base change of points E(K) → E(K_v) and the residue field isomorphism R ⧸ v.asIdeal ≃+* 𝒪_v ⧸ 𝔪_v. All group-theoretic properties of red follow. The group structures on the point sets require decidable equality of the base fields ([DecidableEq K], [DecidableEq (R ⧸ v.asIdeal)] in the public statements); the corresponding instances on the completion and its residue field appear only in private lemmas and are discharged with classical in the proofs of the public ones.

      @[instance_reducible]

      The R-algebra structure on the residue field of the completed valuation ring.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        The reduction homomorphism and its behaviour on torsion #

        theorem WeierstrassCurve.Affine.red_add {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] [DecidableEq (R v.asIdeal)] [DecidableEq K] [WeierstrassCurve.IsElliptic E] [CharZero K] (P Q : E.Point) :
        red v hE (P + Q) = red v hE P + red v hE Q

        The reduction map is additive.

        The reduction homomorphism E(K) →+ E_red(R ⧸ v.asIdeal) at a prime v of good reduction.

        Equations
        Instances For
          theorem WeierstrassCurve.Affine.eq_zero_of_isOfFinAddOrder_of_red_eq_zero {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] [DecidableEq K] [WeierstrassCurve.IsElliptic E] [CharZero K] {p : } (hp : Nat.Prime p) (hpmem : p v.asIdeal) (hpram : pv.asIdeal ^ (p - 1)) {P : E.Point} (hP : IsOfFinAddOrder P) (h0 : red v hE P = 0) :
          P = 0

          Reduction is injective on torsion: a torsion point of E(K) reducing to 0 at a prime v of good reduction is 0, provided the residue characteristic p satisfies (p : R) ∈ v.asIdeal and (p : R) ∉ v.asIdeal ^ (p - 1) — that is, e ≤ p - 2 for the ramification index e of v over p (e.g. p odd and v unramified).

          theorem WeierstrassCurve.Affine.nsmul_eq_zero_of_red_nsmul_eq_zero {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] [DecidableEq (R v.asIdeal)] [DecidableEq K] [WeierstrassCurve.IsElliptic E] [CharZero K] {p : } (hp : Nat.Prime p) (hpmem : p v.asIdeal) (hpram : pv.asIdeal ^ (p - 1)) {P : E.Point} (hP : IsOfFinAddOrder P) {m : } (h : m red v hE P = 0) :
          m P = 0

          If the reduction at a good prime v of a torsion point is annihilated by m, then so is the point itself (hypotheses on the residue characteristic as in eq_zero_of_isOfFinAddOrder_of_red_eq_zero).

          theorem WeierstrassCurve.Affine.addOrderOf_red {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] [DecidableEq (R v.asIdeal)] [DecidableEq K] [WeierstrassCurve.IsElliptic E] [CharZero K] {p : } (hp : Nat.Prime p) (hpmem : p v.asIdeal) (hpram : pv.asIdeal ^ (p - 1)) {P : E.Point} (hP : IsOfFinAddOrder P) :

          Reduction preserves the order of a torsion point (hypotheses on the residue characteristic as in eq_zero_of_isOfFinAddOrder_of_red_eq_zero).

          theorem WeierstrassCurve.Affine.addOrderOf_dvd_natCard_red {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : IsDedekindDomain.HeightOneSpectrum R) {E : Affine K} {W₀ : WeierstrassCurve R} (hE : W₀.map (algebraMap R K) = E) [WeierstrassCurve.IsElliptic (redCurve v W₀)] [DecidableEq K] [WeierstrassCurve.IsElliptic E] [CharZero K] {p : } (hp : Nat.Prime p) (hpmem : p v.asIdeal) (hpram : pv.asIdeal ^ (p - 1)) {P : E.Point} (hP : IsOfFinAddOrder P) :

          The order of a torsion point of E(K) divides the number of points of the reduction at a good prime v (hypotheses on the residue characteristic as in eq_zero_of_isOfFinAddOrder_of_red_eq_zero). This is nontrivial only when the residue field is finite, which makes E_red(R ⧸ v.asIdeal) a finite group.