Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.FormalGroup.AdicPoint

Points of a Weierstrass formal group in an adic ideal #

Let I be an adic ideal of a complete linearly topologised ring O. The elements of I form an additive commutative group under evaluation of the Weierstrass formal group law: addition is F(t₁, t₂) and negation is the formal inverse ι(t). This file packages that group as WeierstrassCurve.FormalGroupPoint W I.

The wrapper is necessary because the subtype I already carries the ordinary addition inherited from O, whereas the addition here is the generally different formal-group operation. The assumption that I is adic is carried as Fact (IsAdic I): it makes every parameter evaluable and keeps addition and negation inside I.

This is only the parameter group. Mapping it into the points of the Weierstrass curve uses WeierstrassCurve.formalPoint; proving that map additive requires comparing the formal law with the geometric chord-and-tangent law.

Main definitions #

Main results #

References #

Provenance #

The packaging follows Michael Stoll's elliptic-curve development (github.com/MichaelStollBayreuth/EllipticCurves @ 66889eada51a, Apache-2.0), file EllipticCurves/Mathlib/Chabauty/FormalGroupLaw/Points.lean, definition ChabautyColeman.FormalGroupLaw.Points and its AddCommMonoid instance. That source treats a multivariable formal group law on the maximal ideal of a local ring and does not construct inverses. Here the one-dimensional Weierstrass law is evaluated on an arbitrary adic ideal, and its already-constructed formal inverse upgrades the result to an additive commutative group.

structure WeierstrassCurve.FormalGroupPoint {O : Type u_1} [CommRing O] (W : WeierstrassCurve O) (I : Ideal O) :
Type u_1

A point of the formal group of a Weierstrass curve, with parameter in the adic ideal I.

This is a newtype rather than the ideal subtype itself: I already uses the ordinary addition of O, while FormalGroupPoint W I uses evaluation of W.formalAdd.

  • val : O

    The parameter of a formal-group point.

  • property : self.val ∈ I

    The parameter belongs to the ideal on which the formal law is evaluated.

Instances For
    theorem WeierstrassCurve.FormalGroupPoint.ext {O : Type u_1} {inst✝ : CommRing O} {W : WeierstrassCurve O} {I : Ideal O} {x y : W.FormalGroupPoint I} (val : x.val = y.val) :
    x = y
    theorem WeierstrassCurve.FormalGroupPoint.ext_iff {O : Type u_1} {inst✝ : CommRing O} {W : WeierstrassCurve O} {I : Ideal O} {x y : W.FormalGroupPoint I} :
    x = y ↔ x.val = y.val
    @[instance_reducible]

    A formal-group point coerces to its parameter in the coefficient ring.

    Equations
    @[simp]
    theorem WeierstrassCurve.FormalGroupPoint.coe_mk {O : Type u_1} [CommRing O] {W : WeierstrassCurve O} {I : Ideal O} (t : O) (ht : t ∈ I) :
    { val := t, property := ht }.val = t

    The parameter of a formal-group point constructed from t is t.

    @[simp]
    theorem WeierstrassCurve.FormalGroupPoint.coe_inj {O : Type u_1} [CommRing O] {W : WeierstrassCurve O} {I : Ideal O} {P Q : W.FormalGroupPoint I} :
    P.val = Q.val ↔ P = Q

    Two formal-group points are equal exactly when their parameters are equal.

    A parameter in an adic ideal is an admissible evaluation point for a power series.

    @[instance_reducible]

    The zero parameter is the identity formal-group point.

    Equations
    @[simp]
    @[instance_reducible]

    Addition of formal-group points is evaluation of the Weierstrass formal group law.

    Equations
    @[instance_reducible]

    Negation of a formal-group point is evaluation of the formal inverse.

    Equations
    @[instance_reducible]

    The elements of an adic ideal form an additive commutative group under the evaluated Weierstrass formal group law.

    Equations