LeanPool.EcTateLean.Algebra.EllipticCurve.Model #
Imported Lean Pool material for LeanPool.EcTateLean.Algebra.EllipticCurve.Model.
A model of a (possibly singular) elliptic curve is given
by a invariants $$a₁, a₂, a₃, a₄, a₆$$ which represent the curve
$$ y^2 + a₁ xy + a₃ y = x^ 3 + a₂ x ^ 2 + a₄ x + a₆ $$
- a1 : R
The
a₁coefficient of the Weierstrass model. - a2 : R
The
a₂coefficient of the Weierstrass model. - a3 : R
The
a₃coefficient of the Weierstrass model. - a4 : R
The
a₄coefficient of the Weierstrass model. - a6 : R
The
a₆coefficient of the Weierstrass model.
Instances For
Equations
- instInhabitedModel = { default := instInhabitedModel.default }
Equations
- One or more equations did not get rendered due to their size.
Instances For
A change of coordinates (u, r, s, t) of a Weierstrass model, with u a
unit and r, s, t ring elements.
- u : Rˣ
The scaling unit of the change of coordinates.
- r : R
The
x-translation of the change of coordinates. - s : R
The
xy-shear of the change of coordinates. - t : R
The
y-translation of the change of coordinates.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
The change-of-coordinates transformations with trivial scaling unit u = 1.
Equations
- Model.rstTransform = { urst : Model.urstTransform R // urst.u = 1 }
Instances For
The Weierstrass polynomial of e evaluated at a point P = (x, y), i.e.
the difference of the two sides of the Weierstrass equation.
Equations
Instances For
The discriminant equals (minus) the standard order-a6 generator of the elimination ideal
of the Weierstrass and partial-derivative polynomials. This identity (verified with
Singular.jl, part of OSCAR) is the negative of the a6-resultant polynomial below.
Equations
- ValidModel.instRepr = { reprPrec := fun (e : ValidModel R) (x : ℕ) => repr e.toModel }
The valid model obtained from e by the change of coordinates (1, r, s, t).
Equations
- ValidModel.rstIso r s t e = { toModel := Model.rstIso r s t e.toModel, discr_not_zero := ⋯ }
Instances For
The change of coordinates (1, r, s, t) applied to the valid model e, with
the triple rst = (r, s, t) packaged as a single argument.
Equations
- e.rstTriple rst = ValidModel.rstIso rst.1 rst.2.1 rst.2.2 e
Instances For
A point P is a singular point of the model e when the Weierstrass
polynomial and both of its partial derivatives vanish at P.
Equations
- e.isSingularPoint P = (e.weierstrass P = 0 ∧ e.dweierstrassDx P = 0 ∧ e.dweierstrassDy P = 0)
Instances For
Proposition 1.5.4 of Elliptic Curve Handbook, Ian Connell February, 1999, https://www.math.rug.nl/~top/ian.pdf
Equations
- One or more equations did not get rendered due to their size.
Instances For
Proposition 1.5.4 of Elliptic Curve Handbook, Ian Connell February, 1999, https://www.math.rug.nl/~top/ian.pdf
Equations
Instances For
The model obtained from e by the change of coordinates that moves its
singular point to the origin.