The places of the rational function field #
The rational function field k(x) is the base case of the theory of algebraic function fields,
and this file determines all of its places. Besides the finite places P_p coming from the
height-one primes of k[X] — supplied in general by
TauCeti.FieldTheory.FunctionField.Place.Adic — there is exactly one further place, the place at
infinity P_∞, packaged here from Mathlib's RatFunc.inftyValuation. Its order function is
ord_∞ f = -f.intDegree, its residue field is k, and the finite place of a height-one prime
generated by a monic irreducible polynomial q has residue field k[X] / (q), hence degree
q.natDegree.
That these are all the places is Mathlib's Ostrowski theorem for k(X),
RatFunc.valuation_isEquiv_infty_or_adic, read in place vocabulary: because the valuation of a
place is normalized, equivalence of valuations is equality of places, and the Xor of Ostrowski
becomes the bijection TauCeti.Place.ratFuncEquiv.
Main definitions #
TauCeti.Place.infty: the place at infinity ofk(x).TauCeti.Place.inftyResidueFieldEquiv: the identification of its residue field withk.TauCeti.Place.adicOfIrreducible: the finite place of an irreducible polynomialq, withTauCeti.Place.adicOfIrreducibleResidueFieldEquividentifying its residue field withk[X]/(q).TauCeti.Place.ratFuncEquivandTauCeti.Place.ratFuncEquivMonicIrreducible: the classification of the places ofk(x), indexed by the height-one primes ofk[X]and by the monic irreducible polynomials respectively.TauCeti.Place.ratFuncDegreeOneEquiv: the rational places ofk(x)areℙ¹(k) = k ∪ {∞}.
Main results #
TauCeti.Place.ord_infty:ord_∞ f = -f.intDegree, withTauCeti.Place.isUniformizer_inftyexhibitingx⁻¹as a prime element there.TauCeti.Place.degree_infty: the place at infinity is rational,deg P_∞ = 1(Stichtenoth, Proposition 1.2.1(c)).TauCeti.Place.degree_ofPrime_eq_natDegreeandTauCeti.Place.degree_adicOfIrreducible: a finite place whose prime is generated byqhas degreeq.natDegree, and each height-one prime ofk[X]has such a generator, unique once it is required to be monic (Stichtenoth, Proposition 1.2.1(a));TauCeti.Place.isUniformizer_adicOfIrreducibleexhibitsqas a prime element there.TauCeti.Place.eq_infty_or_exists_eq_ofPrime,TauCeti.Place.eq_infty_or_exists_eq_adicOfIrreducibleandTauCeti.Place.ratFuncEquiv: these are all the places ofk(x), and they are pairwise distinct (Stichtenoth, Theorem 1.2.2);TauCeti.Place.adicOfIrreducible_eq_adicOfIrreducible_iffsays a finite place remembers exactly the associate class of its polynomial.TauCeti.Place.exists_algebraMap_notMem_integers_iff_eq_infty: the place at infinity is the only place ofk(x)at which a polynomial has a pole.TauCeti.Place.eq_infty_or_exists_eq_adicOfIrreducible_X_sub_CandTauCeti.Place.ratFuncDegreeOneEquiv: the degree-one places areℙ¹(k) = k ∪ {∞}(Stichtenoth, Corollary 1.2.3).
That k is the exact field of constants of k(x) — Proposition 1.2.1(d) — is
TauCeti.algebraicClosure_ratFunc.
Implementation notes #
RatFunc.inftyValuation is stated for a fixed DecidableEq (RatFunc k) instance. The place at
infinity fixes that instance to Classical.decEq, and TauCeti.Place.valuation_infty transports
the identification to any other instance, all such instances being equal.
References #
- H. Stichtenoth, Algebraic Function Fields and Codes, 2nd ed., GTM 254, Springer, 2009, Section I.2.
- The valuation at infinity that this file packages as a place is
Mathlib/FieldTheory/RatFunc/Valuation.lean(Anne Baanen, Ashvni Narayanan), and the Ostrowski theorem that the classification repackages isMathlib/NumberTheory/RatFunc/Ostrowski.lean(María Inés de Frutos-Fernández, Xavier Généreux).
The place at infinity #
The place at infinity of the rational function field: the normalized valuation with
v_∞ f = exp (f.intDegree) for f ≠ 0, for which x⁻¹ is a prime element (Stichtenoth,
Proposition 1.2.1(c)).
Equations
- TauCeti.Place.infty k = { valuation := RatFunc.inftyValuation k, valuation_surjective := ⋯, isTrivialOn := ⋯ }
Instances For
x⁻¹ is a prime element for the place at infinity (Stichtenoth, Proposition 1.2.1(c)).
The residue field at infinity #
A rational function that is regular at infinity agrees there, to first order, with a
constant: if deg f ≤ 0 then some c : k has deg (f - c) < 0. This is the surjectivity of the
constants onto the residue field at infinity, in valuation form.
The canonical k-algebra equivalence from k to the residue field at infinity.
Equations
Instances For
The finite places #
The residue field of a finite place of k(x) is k[X] / (q) for a generator q of its
prime, so its degree is the degree of q (Stichtenoth, Proposition 1.2.1(a)).
The finite places, indexed by irreducible polynomials #
The finite place of k(x) attached to an irreducible polynomial q ∈ k[X]: the place of the
height-one prime (q) (Stichtenoth, Proposition 1.2.1(a)). Every finite place is of this form,
for a q that is unique once it is required to be monic.
Equations
Instances For
The defining equation of TauCeti.Place.adicOfIrreducible: it is the place of the height-one
prime (q). This is deliberately not a simp lemma, since adicOfIrreducible is the simp
normal form here: TauCeti.Place.valuation_adicOfIrreducible,
TauCeti.Place.degree_adicOfIrreducible and the classification lemmas all rewrite it
directly.
An irreducible polynomial is a prime element for its own finite place.
The degree of the finite place of an irreducible polynomial is the degree of the polynomial (Stichtenoth, Proposition 1.2.1(a)).
Two irreducible polynomials define the same finite place exactly when they are
associated (Stichtenoth, Proposition 1.2.1(a)): the place remembers the prime (q), and
nothing more.
The residue field of the finite place of an irreducible polynomial q is k[X] / (q)
(Stichtenoth, Proposition 1.2.1(a)).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The classification #
No finite place of k(x) is the place at infinity.
The finite place of an irreducible polynomial is not the place at infinity.
Every place of the rational function field is either the place at infinity or the place of
a height-one prime of k[X] (Stichtenoth, Theorem 1.2.2). This repackages Mathlib's
Ostrowski theorem RatFunc.valuation_isEquiv_infty_or_adic: normalization turns its equivalences
of valuations into equalities of places.
Stichtenoth, Theorem 1.2.2, in the vocabulary of TauCeti.Place.adicOfIrreducible: every
place of k(x) is the place at infinity or the finite place of an irreducible polynomial.
The place at infinity is the only place of k(x) infinite on the polynomial model: at
every other place x is regular, hence so is every polynomial, while ord_∞ x = -1. This
identifies the places at infinity of the affine model k[X] ⊆ k(x), in the form
TauCeti.Place.compl_range_ofPrime takes.
A place of k(x) has valuation greater than one on a polynomial exactly when it is the
place at infinity. This is the simp-normal form of
exists_algebraMap_notMem_integers_iff_eq_infty.
The places of the rational function field (Stichtenoth, Theorem 1.2.2): they are the
height-one primes of k[X], each of which has a unique monic irreducible generator by
IsDedekindDomain.HeightOneSpectrum.existsUnique_monic_irreducible_span, together with one
further point, the place at infinity.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The places of k(x), indexed by polynomials (Stichtenoth, Theorem 1.2.2): they are the
monic irreducible polynomials of k[X] together with the place at infinity. This is
TauCeti.Place.ratFuncEquiv composed with
IsDedekindDomain.HeightOneSpectrum.monicIrreducibleEquiv.
Equations
Instances For
The rational places #
Distinct constants give distinct places: X - a is recovered from the place it generates.
A rational place of k(x) is the place at infinity or the place of a linear polynomial
(Stichtenoth, Corollary 1.2.3): a monic irreducible generator of degree one is an X - a.
The rational places of k(x) are ℙ¹(k) = k ∪ {∞} (Stichtenoth, Corollary 1.2.3): a
place of k(x) has degree one exactly when it is the place at infinity or the place of a linear
polynomial X - a.
Equations
- TauCeti.Place.ratFuncDegreeOneEquiv k = Equiv.ofBijective (fun (a : Option k) => a.elim ⟨TauCeti.Place.infty k, ⋯⟩ fun (b : k) => ⟨TauCeti.Place.adicOfIrreducible ⋯, ⋯⟩) ⋯