The place at infinity is the only place of F(W) where x has a pole #
FunctionField/InfinityPlace/Basic.lean builds the valuation W.infinityPlace of the function
field of an affine Weierstrass curve and computes v_∞ x = exp 2, so x has a pole there. This
file proves the converse, and with it the uniqueness of that place: a valuation of F(W) which
is trivial on F and gives x a value greater than 1 is equivalent to W.infinityPlace.
Equivalence of valuations is the right conclusion — the hypothesis does not see the value group,
and a valuation is only ever determined up to equivalence by its valuation ring.
The route has three steps, and none of them needs a Riemann–Roch theorem or a normalisation.
- On the rational functions the values are forced. Restricting
valongF(x) → F(W)gives a valuation ofF(x), trivial onF, withv x > 1; Mathlib's Ostrowski file evaluates such a valuation outright,v A = (v x) ^ A.intDegree(RatFunc.valuation_eq_valuation_X_zpow_intDegree_of_one_lt_valuation_X). So the pole order of a rational function is its degree, forvand forv_∞alike. - The Weierstrass equation fixes
v y. Readingy (y + a₁x + a₃) = x³ + a₂x² + a₄x + a₆throughv, the cubic on the right has value(v x) ^ 3by the previous step, while the left factory + a₁x + a₃has valuemax (v y) (v x); a value ofyat mostv xwould make the left-hand side at most(v x) ^ 2. Hencev x < v yand(v y) ^ 2 = (v x) ^ 3. This is the familiarord_∞ x = -2,ord_∞ y = -3— but as a consequence ofv x > 1, over any value group, so it is available before the place is known. - Every function is
A + B yand the two terms never cancel.F(W)is spanned by1andyoverF(x), so a function isA + B ywithA, Brational. Squaring, the two values are(v x) ^ (2 · deg A)and(v x) ^ (2 · deg B + 3), whose exponents differ in parity, so they are never equal and the valuation of the sum is the larger of the two. Hencev (A + B y) ≤ 1holds exactly whendeg A ≤ 0and2 · deg B + 3 ≤ 0— a condition on two integers with no mention ofv. Two valuations satisfying the hypothesis therefore have the same integers, so they are equivalent.
Main results #
WeierstrassCurve.Affine.isEquiv_infinityPlace_of_one_lt: the uniqueness theorem — a valuation ofF(W)trivial onFat whichxhas a pole is equivalent toW.infinityPlace.WeierstrassCurve.Affine.val_algebraMap_eq_zpow_intDegreeandWeierstrassCurve.Affine.val_algebraMap_eq_pow_natDegree: the value of a rational function, and of a polynomial, inx, as a power ofv x;val_algebraMap_le_powis the bound that also covers the zero polynomial.WeierstrassCurve.Affine.val_X_lt_val_mk_YandWeierstrassCurve.Affine.val_mk_Y_sq:v x < v yand(v y) ^ 2 = (v x) ^ 3— the pole orders2and3, for any suchv.WeierstrassCurve.Affine.val_add_mul_mk_Y_le_one_iff: the criterion the theorem is proved by, worth stating because it computes the valuation ring of every suchvin closed form.WeierstrassCurve.Affine.exists_ratFunc_add_mul_mk_Y: every function isA + B ywithAandBrational — the spanning half of the quadratic extension, in the form these arguments use.WeierstrassCurve.Affine.mk_Y_mul_add_eq: the Weierstrass equation, read in the function field.WeierstrassCurve.Affine.one_lt_infinityPlace_X:1 < v_∞ x, the instance of the hypothesis thatW.infinityPlaceitself satisfies.
The hypotheses are exactly v.IsTrivialOn F and 1 < v x: no ellipticity, no nonsingularity, no
perfect or algebraically closed base field, and no Dedekind hypothesis on the coordinate ring. The
Weierstrass equation is the only geometry used, and it holds for singular cubics too.
What is deliberately not here #
The affine-place classification. The complementary case v x ≤ 1 requires the coordinate
ring, whereas this file uses only the Weierstrass equation. The downstream file
Affine/FunctionField/PointPlace.lean proves that case with the generic affine-model place API,
packages the infinity valuation as TauCeti.Place.infinity, and combines both cases into the
point--place dictionary.
No divisor group. The downstream point--place file supplies a unified normalized place type and its degree. Building divisors as finite formal sums of all such places remains separate work.
Roadmap #
TauCetiRoadmap/EllipticCurves/README.md, Layer 0 (the function field, places, and divisors).
Its §Places asks for "the places of W.FunctionField over K" with W.infinityPlace singled out
as the one place beyond the affine ones; this is the statement that pins it down, and it is what
turns a valuation produced by some construction — the restriction of v_∞ along an isogeny, in
Isogeny/InfinityPlace.lean — into the place at infinity. The dual-isogeny milestone of Layer 1
names that step: "an unpointed induced-place map for finite function-field embeddings, with the
named criterion MapsInfinity λ ↔ λ_*(O₂) = O₃".
Provenance #
Not a port, and no code from an external formalisation is copied or adapted here. The one
substantial input is Mathlib's
RatFunc.valuation_eq_valuation_X_zpow_intDegree_of_one_lt_valuation_X (María Inés de
Frutos-Fernández, Xavier Généreux, from the Ostrowski file for K(X)), which does
the rational-function half; the rest is the Weierstrass equation and the quadratic extension.
References #
- H. Stichtenoth, Algebraic Function Fields and Codes, second edition, I.1–I.2.
- J. Silverman, The Arithmetic of Elliptic Curves, II.2.
A rational function in x is valued at its degree: v A = (v x) ^ deg A. This is
Mathlib's evaluation of a valuation of F(x) with v X > 1, restricted along F(x) → F(W).
A polynomial in x is valued at its degree: v p = (v x) ^ natDegree p.
The degree bound form, which also covers p = 0: a polynomial of degree at most n in x
has value at most (v x) ^ n.
The Weierstrass equation, in the function field:
y * (y + (a₁X + a₃)) = X³ + a₂X² + a₄X + a₆. Grouping the two left-hand terms as a product is
what makes the valuation of the left-hand side a product of two values, which is how the pole
orders of x and y are compared below.
Every function is A + B y with A and B rational functions of x. Clearing a
polynomial denominator reduces to the coordinate ring, where Mathlib's basis {1, Y} supplies the
decomposition.
y has a higher pole than x.
The pole orders of x and y are in the ratio 2 : 3: (v y) ^ 2 = (v x) ^ 3. Once
v x < v y is known, the second factor of the Weierstrass equation has value v y.
The valuation ring of v, in closed form: A + B y lies in it exactly when
deg A ≤ 0 and 2 deg B + 3 ≤ 0. The two summands never have the same value — after squaring,
their exponents have opposite parities — so the valuation of the sum is the larger of the two, and
the resulting condition mentions v nowhere.
x has a pole at the place at infinity: 1 < v_∞ x, since v_∞ x = exp 2. This is the
instance of the uniqueness theorem's hypothesis satisfied by W.infinityPlace itself.
The place at infinity is the only place of F(W) at which x has a pole: a valuation of
the function field which is trivial on the base field and satisfies 1 < v x is equivalent to
W.infinityPlace. Both valuations satisfy val_add_mul_mk_Y_le_one_iff, whose right-hand side is
a condition on two integers, so their valuation rings agree.