The zeros of a function of an algebraic function field are few #
A nonzero element x of a function field F / k has, at every place P, an order ord_P x,
and the places where that order is nonzero are the zeros and the poles of x. This file proves
that a function has only finitely many of each, and quantifies the statement: the zeros of x,
counted with multiplicity ord_P x and weighted by the residue degree deg P, number at most
[F : k(x)]. This is Stichtenoth, Algebraic Function Fields and Codes, 2nd ed. (GTM 254),
Proposition 1.3.3 and Corollary 1.3.4.
The finiteness statement is what makes the divisor theory possible at all: without it the
principal divisor div x = ∑_P ord_P x · P of a function is not a finitely supported formal sum
and does not lie in Place k F →₀ ℤ.
Main results #
TauCeti.Place.sum_ord_mul_degree_le_finrank: Stichtenoth, Proposition 1.3.3. For any finite setSof places at whichxhas positive order,∑ P ∈ S, ord_P x · deg P ≤ [F : k(x)].TauCeti.Place.card_le_finrank_of_forall_ord_pos: in particularxhas at most[F : k(x)]zeros.TauCeti.Place.finite_setOf_ord_pos_of_finiteDimensional: finiteness of the zeros whenF / k(x)is finite-dimensional.TauCeti.Place.finite_setOf_ord_pos,TauCeti.Place.finite_setOf_ord_negandTauCeti.Place.finite_setOf_ord_ne_zero: Stichtenoth, Corollary 1.3.4. Every element of an algebraic function field has finitely many zeros and finitely many poles. Each of the three is a statement about the totalized order functionord_P, and so is stated for everyx : F: forx ≠ 0it is Corollary 1.3.4 as Stichtenoth states it, while atx = 0the junk valueord_P 0 = 0makes all three sets empty and the statement degenerate.
Implementation notes #
Proposition 1.3.3 is proved exactly as in Stichtenoth, by exhibiting ∑ P ∈ S, ord_P x · deg P
elements of F that are linearly independent over k(x). For each place P of S choose
- a uniformizer
t_P(TauCeti.Place.exists_ord_eq_one_and_forall_mem_ord_eq_zero) which is a unit at every other place ofS, and - lifts
u_{P,j}of ak-basis of the residue fieldF_P(TauCeti.Place.exists_residue_eq_and_forall_mem_ord_eq) whose order at every other placeQofSis at leastord_Q x;
the family is then u_{P,j} · t_P ^ a for 0 ≤ a < ord_P x. Both choices are weak
approximation, and both are what make the places of S interact: a relation among the family
is grouped by place, and the group belonging to one place P₀ is seen to have order exactly
a₀ < ord_{P₀} x at P₀, where a₀ is the least exponent surviving the clearing of a common
factor x, while every other group has order at least ord_{P₀} x there. The two are
incompatible, so no relation exists.
As in TauCeti.FieldTheory.FunctionField.Place.Degree, the relation is taken over the
polynomial subalgebra k[x] = Algebra.adjoin k {x} and upgraded by
LinearIndependent.iff_fractionRing; the common power of x is cleared by
TauCeti.Polynomial.exists_common_X_pow_factor. Orders are compared in the multiplicative form
P.valuation, which is free of the junk value ord_P 0 = 0, so no term of a sum has to be
proved nonzero.
Provenance #
The mathematics is Stichtenoth's and the Lean development is independent. The separate
vaca22/riemann-roch-function-fields project (Guanghao Li, Apache-2.0) carries a complete
function-field Riemann–Roch development by the same Stichtenoth route; no code is copied or
adapted from it here. In particular, this file uses Tau Ceti's normalized-ℤᵐ⁰-valuation
TauCeti.Place API.
References #
- H. Stichtenoth, Algebraic Function Fields and Codes, 2nd ed., GTM 254, Springer, 2009, Proposition 1.3.3 and Corollary 1.3.4.
The order of a two-parameter polynomial combination at a single place #
The two lemmas of this section are the local computations of Stichtenoth's Proposition 1.3.3:
the value of P on ∑ a, ∑ j, p_{a,j}(x) · u_j · t ^ a when P is the place the family
belongs to, and when it is one of the others.
Proposition 1.3.3 #
Stichtenoth, Proposition 1.3.3: the zeros of x, counted with multiplicity and weighted
by their residue degrees, number at most [F : k(x)]. The statement is for an arbitrary finite
set S of zeros of x; that there are only finitely many of them is the corollary
TauCeti.Place.finite_setOf_ord_pos.
A function of a function field has at most [F : k(x)] zeros: the degree-weighted count of
TauCeti.Place.sum_ord_mul_degree_le_finrank, read with every weight replaced by 1.
Corollary 1.3.4: the zeros and the poles are finite in number #
The places at which x has positive order are finite in number whenever F / k(x) is
finite-dimensional. For x ≠ 0 these places are the zeros of x; at x = 0 the set is empty,
by the junk value ord_P 0 = 0.
Stichtenoth, Corollary 1.3.4: an element of an algebraic function field has only
finitely many zeros. The set is the support of the totalized order function ord_P on the
positive side, so the statement holds for every x : F; it is Corollary 1.3.4 for x ≠ 0,
while at x = 0 the junk value ord_P 0 = 0 empties it, the zero function having in truth a
zero at every place.
Stichtenoth, Corollary 1.3.4: an element of an algebraic function field has only
finitely many poles. A pole of x is a zero of x⁻¹. As for the zeros, the set is a side of
the support of the totalized ord_P and the statement is Corollary 1.3.4 for x ≠ 0; at
x = 0, where ord_P 0 = 0, it is empty, as the zero function indeed has no pole.
Stichtenoth, Corollary 1.3.4: the places at which an element of an algebraic function
field has nonzero order are finite in number. This is the finiteness that makes the principal
divisor div x = ∑_P ord_P x · P of a nonzero x a finitely supported formal sum; 0 has no
principal divisor, and the statement at x = 0 is the degenerate one that the junk value
ord_P 0 = 0 has empty support.