Function fields #
This file defines a function field and the ring of integers corresponding to it.
Main definitions #
FunctionField Fq Fstates thatFis a function field over the (finite) fieldFq, i.e. it is a finite extension of the field of rational functions in one variable overFq.FunctionField.ringOfIntegersdefines the ring of integers corresponding to a function field as the integral closure ofFq[X]in the function field.FunctionField.inftyValuation: The place at infinity onFq(t)is the nonarchimedean valuation onFq(t)with uniformizer1/t.FunctionField.FqtInfty: The completionFq((t⁻¹))ofFq(t)with respect to the valuation at infinity.
Implementation notes #
The definitions that involve a field of fractions choose a canonical field of fractions,
but are independent of that choice. We also omit assumptions like Finite Fq or
IsScalarTower Fq[X] (FractionRing Fq[X]) F in definitions,
adding them back in lemmas when they are needed.
References #
- [D. Marcus, Number Fields][marcus1977number]
- [J.W.S. Cassels, A. Fröhlich, Algebraic Number Theory][cassels1967algebraic]
- [P. Samuel, Algebraic Theory of Numbers][samuel1967]
Tags #
function field, ring of integers
F is a function field over the finite field Fq if it is a finite
extension of the field of rational functions in one variable over Fq.
Note that F can be a function field over multiple, non-isomorphic, Fq.
Equations
- FunctionField Fq F = FiniteDimensional (RatFunc Fq) F
Instances For
F is a function field over Fq iff it is a finite extension of Fq(t).
Alias of FunctionField.algebraMap_injective.
The function field analogue of NumberField.ringOfIntegers:
FunctionField.ringOfIntegers Fq Fqt F is the integral closure of Fq[t] in F.
We don't actually assume F is a function field over Fq in the definition,
only when proving its properties.
Equations
- FunctionField.ringOfIntegers Fq F = integralClosure (Polynomial Fq) F
Instances For
The place at infinity on Fq(t) #
The valuation at infinity is the nonarchimedean valuation on Fq(t) with uniformizer 1/t.
Explicitly, if f/g ∈ Fq(t) is a nonzero quotient of polynomials, its valuation at infinity is
Multiplicative.ofAdd(degree(f) - degree(g)).
Equations
- FunctionField.inftyValuationDef Fq r = if r = 0 then 0 else ↑(Multiplicative.ofAdd r.intDegree)
Instances For
The valuation at infinity on Fq(t).
Equations
- FunctionField.inftyValuation Fq = { toFun := FunctionField.inftyValuationDef Fq, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ }
Instances For
The valued field Fq(t) with the valuation at infinity.
Equations
Instances For
The completion Fq((t⁻¹)) of Fq(t) with respect to the valuation at infinity.
Equations
Instances For
Equations
- FunctionField.instInhabitedFqtInfty Fq = { default := 0 }
The valuation at infinity on k(t) extends to a valuation on FqtInfty.