The singular points of a Weierstrass model #
A Weierstrass model has at most one singular point. This file introduces the predicate for it and proves that uniqueness, over any reduced commutative ring.
Singularity is taken to be the Jacobian criterion: the equation and both of its formal partial
derivatives vanish. That is what makes sense over an arbitrary commutative ring, and over a field
it is Mathlib's condition, whose Nonsingular carries the note that it "is only mathematically
accurate for fields".
Over a general commutative ring uniqueness is not available, but the cube of the difference of the
x-coordinates and the fourth power of the difference of the y-coordinates vanish, so the two
points differ by a nilpotent in each coordinate; reducedness is exactly what turns that into
equality. Every statement here holds in any characteristic, including two and three.
Main definitions #
WeierstrassCurve.Affine.IsSingular: the equation and both formal partials vanish at a point.
Main results #
WeierstrassCurve.Affine.isSingular_iff'andWeierstrassCurve.Affine.isSingular_iff: the coefficient-level restatements, the second as the two equalitiesNonsingularnegates.WeierstrassCurve.Affine.isSingular_zero: singularity at the origin isa₃ = a₄ = a₆ = 0.WeierstrassCurve.Affine.equation_iff_of_isSingular: the equation expanded at a singular point(x₁, y₁)has no constant or linear terms.WeierstrassCurve.Affine.equation_iff_of_isSingular_zero: so the equation of a model singular at the origin isy² + a₁ x y = x³ + a₂ x².WeierstrassCurve.Affine.c₄_eq_b₂_sq_of_isSingular_zero: at such a model,c₄ = b₂².WeierstrassCurve.Affine.isSingular_iff_variableChange: singularity at a point is singularity at the origin of the model translated there.WeierstrassCurve.Affine.isSingular_iff_equation_and_not_nonsingular: the comparison with Mathlib'sNonsingular.WeierstrassCurve.Affine.IsSingular.map,map_isSingular,IsSingular.baseChangeandbaseChange_isSingular: singularity is carried along a coefficient map or a base change, and reflected by an injective one.WeierstrassCurve.Affine.exists_isSingular_of_Δ_eq_zero: over a perfect field, vanishing of the discriminant produces a rational singular point.WeierstrassCurve.Affine.Δ_eq_zero_iff_exists_isSingular: the resulting characterization of singular Weierstrass models over a perfect field.WeierstrassCurve.Affine.pow_sub_eq_zero_of_isSingular_of_isSingular: two singular points satisfy(x₂ - x₁) ^ 3 = 0and(y₂ - y₁) ^ 4 = 0.WeierstrassCurve.Affine.isNilpotent_sub_of_isSingular_of_isSingular: so each coordinate difference is nilpotent.WeierstrassCurve.Affine.subsingleton_singular: over a reduced ring they coincide, so a Weierstrass model has at most one singular point.
References #
A point of a Weierstrass model where the equation and both formal partial derivatives vanish — the Jacobian criterion for singularity, which makes sense over any commutative ring.
Over a field this is W.Equation x y ∧ ¬ W.Nonsingular x y, recorded as
isSingular_iff_equation_and_not_nonsingular. It is stated separately because Mathlib's
Nonsingular carries the note that it "is only mathematically accurate for fields", so over a
general ring the three vanishing conditions are what one can actually say.
Equations
- W.IsSingular x y = (W.Equation x y ∧ Polynomial.evalEval x y W.polynomialX = 0 ∧ Polynomial.evalEval x y W.polynomialY = 0)
Instances For
The equation expanded at a singular point: at a singular point (x₁, y₁) the constant
and linear terms of the equation vanish, so it reads
(y - y₁)² + a₁ (x - x₁) (y - y₁) = (x - x₁)³ + (3 x₁ + a₂) (x - x₁)².
For a model singular at the origin, c₄ is the square of b₂, the discriminant of the
tangent quadratic T² + a₁ T - a₂.
The Jacobian criterion is Mathlib's singularity condition, Nonsingular being the
conjunction of the equation with the negation of both partials vanishing.
Singularity at a point is singularity at the origin of the model translated there,
parallel to equation_iff_variableChange and nonsingular_iff_variableChange.
Singularity is carried along a coefficient map.
An injective coefficient map reflects singularity as well.
Singularity is carried along a base change.
A singular point forces the discriminant to vanish.
A Weierstrass model of discriminant zero over a perfect field has a rational singular point. The perfectness hypothesis is used only for the inseparable residual cases in characteristics two and three; in particular, the theorem applies to every finite field.
Over a perfect field, a Weierstrass model is singular exactly when its discriminant vanishes.
Two singular points of a Weierstrass model have (x₂ - x₁) ^ 3 = 0 and
(y₂ - y₁) ^ 4 = 0. The nilpotence and equality forms below follow from these.
Each coordinate difference of two singular points of a Weierstrass model is nilpotent.
Over a reduced ring a Weierstrass model has at most one singular point.
A Weierstrass model over a reduced ring has at most one singular point, in Mathlib's vocabulary.