Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Isogeny.Hom.PointMap

The action of a morphism on points #

A morphism f : Hom W₁ W₂ of elliptic curves is recorded by its tautological point, a point of W₂ over the function field of W₁. Its value at a point P of W₁ is the reduction of that point at the place of P (WeierstrassCurve.Affine.reductionOfDegreeEqOne). This file defines that map, Hom.pointMap, and proves the facts that make it the action of f on points:

Rigidity. A nonzero morphism has finite fibres on points. Thus two morphisms agreeing on infinitely many points are equal. Over a separably closed field the points are infinitely many, and a morphism is determined by its action on them.

Rigidity yields additivity of composition in the inner variable wherever the outer morphism acts additively on points. That every morphism does, and hence that composition is additive in the inner morphism over every field, is proved in Isogeny/Hom/Ring.lean.

Main definitions #

Main results #

References #

noncomputable def TauCeti.Isogeny.Hom.pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (f : Hom W₁ W₂) (P : W₁.Point) :
W₂.Point

The action of a morphism on points: f sends P to the reduction of its tautological point at the place of P. For an isogeny this is the point under P (pointMap_ofIsogeny_eq_iff), and the zero morphism sends every point to O.

Equations
Instances For

    The image of P is the point congruent to the tautological point at the place of P.

    @[simp]

    The zero morphism sends every point to O.

    @[simp]
    theorem TauCeti.Isogeny.Hom.add_pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (f g : Hom W₁ W₂) (P : W₁.Point) :
    (f + g).pointMap P = f.pointMap P + g.pointMap P

    The action on points is additive in the morphism.

    @[simp]
    theorem TauCeti.Isogeny.Hom.neg_pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (f : Hom W₁ W₂) (P : W₁.Point) :
    @[simp]
    theorem TauCeti.Isogeny.Hom.sub_pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (f g : Hom W₁ W₂) (P : W₁.Point) :
    (f - g).pointMap P = f.pointMap P - g.pointMap P
    @[simp]
    theorem TauCeti.Isogeny.Hom.zsmul_pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (n : ℤ) (f : Hom W₁ W₂) (P : W₁.Point) :
    (n • f).pointMap P = n • f.pointMap P
    @[simp]
    theorem TauCeti.Isogeny.Hom.nsmul_pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (n : ℕ) (f : Hom W₁ W₂) (P : W₁.Point) :
    (n • f).pointMap P = n • f.pointMap P
    @[simp]

    Every morphism sends O to O.

    @[simp]

    The identity morphism fixes every point.

    An isogeny sends a point to the point under it. If the place of P restricts along φ^* to the place of Q, then φ sends P to Q.

    The place of the image of P is the restriction of the place of P along the pullback of the isogeny, expressed as equivalence of valuations.

    An isogeny sends P to Q exactly when the place of P restricts to the place of Q along its pullback.

    An isogeny sends P to Q exactly when the place of P restricts to the place of Q.

    For a separable isogeny over a separably closed field the action on points is the class-group point map, both sending P to the point under it. In particular it is additive in the point there.

    @[simp]
    theorem TauCeti.Isogeny.Hom.comp_pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ W₃ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] [WeierstrassCurve.IsElliptic W₃] (g : Hom W₂ W₃) (f : Hom W₁ W₂) (P : W₁.Point) :
    (g.comp f).pointMap P = g.pointMap (f.pointMap P)

    A composite acts on points by composition.

    theorem TauCeti.Isogeny.Hom.pow_pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] (f : Hom W₁ W₁) (n : ℕ) (P : W₁.Point) :
    (f ^ n).pointMap P = f.pointMap^[n] P

    A power of an endomorphism acts by iterating its action on points.

    theorem TauCeti.Isogeny.Hom.finite_setOf_pointMap_eq {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] {f : Hom W₁ W₂} (hf : f ≠ 0) (Q : W₂.Point) :
    {P : W₁.Point | f.pointMap P = Q}.Finite

    A nonzero morphism has finite fibres on points.

    Rigidity: two morphisms agreeing on infinitely many points are equal.

    theorem TauCeti.Isogeny.Hom.ext_pointMap {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] [Infinite W₁.Point] {f g : Hom W₁ W₂} (h : ∀ (P : W₁.Point), f.pointMap P = g.pointMap P) :
    f = g

    Rigidity: when W₁ has infinitely many points, a morphism is determined by its action on them. Over a separably closed field this is always the case.

    theorem TauCeti.Isogeny.Hom.ext_pointMap_of_prime_zsmul_eq_zero {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] [IsSepClosed F] {f g : Hom W₁ W₂} (h : ∀ (p : ℕ), Nat.Prime p → ↑p ≠ 0 → ∀ (P : W₁.Point), ↑p • P = 0 → f.pointMap P = g.pointMap P) :
    f = g

    Rigidity on torsion: over a separably closed field, two morphisms agreeing on the ℓ-torsion points for every prime ℓ other than the characteristic are equal. The ℓ-torsion alone has ℓ ² points, so the agreement set is infinite.

    theorem TauCeti.Isogeny.Hom.comp_add_of_pointMap_add {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ W₃ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] [WeierstrassCurve.IsElliptic W₃] [Infinite W₁.Point] (h : Hom W₂ W₃) (hadd : ∀ (P Q : W₂.Point), h.pointMap (P + Q) = h.pointMap P + h.pointMap Q) (f g : Hom W₁ W₂) :
    h.comp (f + g) = h.comp f + h.comp g

    Composition is additive in the inner morphism when the source has infinitely many points and the outer morphism acts additively on points.