Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Isogeny.Neg

Negation #

The involution (x, y) ↦ (x, -y - a₁x - a₃) of a Weierstrass curve is negation for the group law. Its pullback on functions is CoordinateRing.conj, the conjugation of the coordinate ring over F[X], so negation is an isogeny of W with itself, an involution, and of degree one.

Postcomposing with it negates on the hom carrier, which is the Neg structure the carrier's additive group is built from. That this pullback really is negation, and not just some involution of degree one, is tautologicalPoint_negPullback: its tautological point is the negated generic point.

Main definitions #

Main results #

The MapsInfinity condition says each x of the coordinate ring is integral over the pulled-back copy. Conjugation is an equivalence, so every function is the pullback of its own conjugate — the algebraic form of "negation fixes the point at infinity".

References #

The negation coordinate pullback: an element of the coordinate ring is sent to its conjugate over F[X], viewed in the function field.

Equations
Instances For

    Negation maps the point at infinity to itself.

    noncomputable def TauCeti.Isogeny.negIsogeny {F : Type u_1} [Field F] (W : WeierstrassCurve.Affine F) :

    Negation, as an isogeny W ⟶ W.

    Equations
    Instances For
      @[simp]

      The negation isogeny's pullback is conjugation.

      @[simp]

      Negation is an involution.

      @[simp]

      Negation has degree one, so it is an automorphism of W fixing the point at infinity.

      @[simp]

      Negation's tautological point is the negated generic point. This is what identifies negIsogeny as negation: read at the generic point of W, it is the group law's inverse.

      @[instance_reducible]
      noncomputable instance TauCeti.Isogeny.Hom.instNeg {F : Type u_1} [Field F] {W₁ W₂ : WeierstrassCurve.Affine F} :
      Neg (Hom W₁ W₂)

      Negation on the hom carrier, by postcomposition with the negation isogeny. This is the Neg structure of the carrier's additive group; the addition is not built here.

      Equations
      theorem TauCeti.Isogeny.Hom.neg_def {F : Type u_1} [Field F] {W₁ W₂ : WeierstrassCurve.Affine F} (f : Hom W₁ W₂) :

      The equation lemma for negation: the definition's body is not exposed across the module boundary, so this is how downstream modules compute with it.

      @[simp]
      theorem TauCeti.Isogeny.Hom.neg_zero {F : Type u_1} [Field F] {W₁ W₂ : WeierstrassCurve.Affine F} :
      -0 = 0

      The zero map is its own negative.

      @[simp]
      theorem TauCeti.Isogeny.Hom.neg_ofIsogeny {F : Type u_1} [Field F] {W₁ W₂ : WeierstrassCurve.Affine F} (φ : Isogeny W₁ W₂) :

      Negating a nonzero element postcomposes the underlying isogeny.

      @[instance_reducible]
      noncomputable instance TauCeti.Isogeny.Hom.instInvolutiveNeg {F : Type u_1} [Field F] {W₁ W₂ : WeierstrassCurve.Affine F} :
      InvolutiveNeg (Hom W₁ W₂)

      Negation on the carrier is an involution, because it is on the curve.

      Equations
      @[simp]
      theorem TauCeti.Isogeny.Hom.neg_comp {F : Type u_1} [Field F] {W₁ W₂ W₃ : WeierstrassCurve.Affine F} (g : Hom W₂ W₃) (f : Hom W₁ W₂) :
      (-g).comp f = -g.comp f

      Negation passes through composition on the left.

      @[simp]
      theorem TauCeti.Isogeny.Hom.degree_neg {F : Type u_1} [Field F] {W₁ W₂ : WeierstrassCurve.Affine F} (f : Hom W₁ W₂) :

      Negation preserves degrees, negation itself having degree one.