Base change of affine elliptic curves #
Mathlib carries ellipticity through WeierstrassCurve.map. This module exposes the same instance
for the canonical affine base-change spelling W⁄A, so consumers of the point and function-field
base-change APIs do not have to unfold that abbreviation. It also records that base change along
the identity algebra map returns the original curve, together with the resulting identification
WeierstrassCurve.Affine.Point.equivBaseChangeSelf of the point groups of W and W⁄F, and a
coordinate descent lemma for points whose abscissa is already rational.
This is infrastructure for the base-change lane of
TauCetiRoadmap/EllipticCurves/README.md, Layer 0.5.
Base changing along the identity algebra map returns the curve itself. Stated over a
commutative ring: it is a formal map identity and uses nothing about R beyond its ring
structure.
The points of W are the points of its base change along the identity: the transport of
the point group along baseChange_self. Point-group facts stated for W⁄F, the form base-change
statements produce, are read on W itself through it.
Instances For
equivBaseChangeSelf keeps the coordinates of an affine point.
The y-coordinate of a point with rational x is rational whenever the Weierstrass
equation at that x has one rational solution: the two roots of the resulting monic quadratic
sum to minus its linear coefficient, so the other one is rational as well.
Base change preserves ellipticity, in the (W⁄A).toAffine spelling used by the affine
point API.