Mordell's theorem: is a finitely generated abelian group
OpenBSD.mordellWiles, p. 1: "In 1922 Mordell [15] proved that this group is finitely generated, thus fulfilling an implicit assumption of Poincaré. Theorem. If is an elliptic curve over , then for some integer , where is a finite abelian group. The integer is called the rank of ."
Let be an elliptic curve over , given by a Weierstrass equation with and non-zero discriminant. Then the abelian group of rational points (rational solutions together with the point at infinity, under the chord-and-tangent law) is finitely generated: there are finitely many points such that every rational point is an integer combination .
By the structure theorem for finitely generated abelian groups this is equivalent to Wiles' formulation with finite. The theorem is what makes the rank a well-defined natural number, and hence what gives the Birch and Swinnerton-Dyer conjecture its meaning. Its proof (Mordell 1922; Weil 1929 over number fields) combines the weak Mordell–Weil theorem, the finiteness of , with the theory of heights and the descent argument.
Formalization Note Module.Finite ℤ of the additive group of points is finite generation as an abelian group. The hypothesis IsElliptic is ; no minimality or integrality of the model is assumed, and none is needed since the group of points is invariant under change of Weierstrass equation. The platform already contains the descent step (finite index of implies finite generation) as WeierstrassCurve.Affine.Point.addGroup_fg_of_finiteIndex, so what remains is the weak Mordell–Weil theorem.
import Definitions.Def_BSD import Mathlib
namespace BSD
theorem mordell (W : WeierstrassCurve ℚ) [W.IsElliptic] :
Module.Finite ℤ W.toAffine.Point := by sorry
end BSDRead-back
What the Lean code literally says, in plain math · claude-fable-5-1
Read-back
Declaration. BSD.mordell is a theorem (a proposition, currently with a placeholder proof) whose statement is: for every Weierstrass curve over the field of rational numbers satisfying the typeclass hypothesis " is elliptic", the abelian group of nonsingular affine-coordinate points of (including the point at infinity) is finitely generated as a -module. Nothing from the bundle Definitions.Def_BSD (BSD.IsLFunction, BSD.rank) is used; every notion below is the Mathlib one.
Binders and hypotheses.
- — an explicit, universally quantified variable of type
WeierstrassCurve ℚ. Literally, is any ordered quintuple of rational numbers
thought of as the equation
There is no hypothesis that the are integers, that the model is minimal, reduced, or in short Weierstrass form, or anything else about the coefficients beyond item 2.
[W.IsElliptic]— a typeclass (Prop-valued) hypothesis whose single field asserts that the discriminant is a unit of the coefficient ring. Over the field , "unit" means exactly . Here is the specific polynomial in the defined in Mathlib (with the LMFDB sign convention):
This hypothesis is satisfiable (e.g. gives ), so the theorem is not vacuous; conversely, quintuples with are simply excluded from the statement.
No other hypotheses appear. In particular the theorem is only about points with coordinates in itself; no field extension or base change is involved.
The set of points . W.toAffine is literally the same quintuple , merely relabelled as "a Weierstrass curve viewed in affine coordinates" (the conversion is a definitional identity). Its type of points, W.toAffine.Point, is an inductive type with exactly two kinds of elements:
- a single distinguished element (the "point at infinity", the constructor with no data); and
- for each pair together with a proof that is nonsingular on , one element . Two such elements are equal iff their and agree (the proof component is irrelevant by proof irrelevance).
Here " is nonsingular on " is the conjunction of two conditions:
i.e. the point lies on the curve and at least one of the two partial derivatives of the defining polynomial is nonzero there. So singular rational points on the cubic are literally excluded from the type. (Mathlib separately proves that, under the hypothesis of item 2 and over a nontrivial ring, the Equation alone already implies Nonsingularity, so in the presence of item 2 the type consists of together with all rational solutions of the Weierstrass equation.)
The type is never empty: always belongs to it, even if the equation has no rational solutions.
The group structure. The additive commutative group structure on W.toAffine.Point that the statement uses is Mathlib's instance WeierstrassCurve.Affine.Point.instAddCommGroup, which exists because is a field with decidable equality. Concretely it is the chord–tangent law given by explicit formulas:
- .
- Negation: and .
- Addition: . For , : if and (i.e. ), then ; otherwise with
Associativity and commutativity are theorems in Mathlib (proved via the ideal class group of the affine coordinate ring); the statement being audited simply inherits this structure. The -module structure is the canonical one on any additive commutative group: is added to itself times for and .
The conclusion Module.Finite ℤ W.toAffine.Point. By definition, this is the proposition that the top submodule of the -module is finitely generated, i.e.
equivalently: there exist finitely many points (with ) such that every point of can be written as with . Mathlib records that for an additive commutative group this is the same as being a finitely generated group.
What the statement does and does not say. In full:
For every with (formula above), the abelian group consisting of the point at infinity together with all rational solutions of that satisfy the nonsingularity condition, under the chord–tangent addition above, is finitely generated.
The statement makes no claim about the rank of this group, its torsion, the number of generators, or any structure theorem; the degenerate case in which the group is (no rational affine points) is included and is trivially finitely generated (take or ). It says nothing about curves with , about points over any field other than , or about any projective/Jacobian coordinate model.
Confirmed by the mission captain (proposal self-audit).