Function fields #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines a function field and the ring of integers corresponding to it.
Main definitions #
function_field Fq F
states thatF
is a function field over the (finite) fieldFq
, i.e. it is a finite extension of the field of rational functions in one variable overFq
.function_field.ring_of_integers
defines the ring of integers corresponding to a function field as the integral closure ofFq[X]
in the function field.function_field.infty_valuation
: The place at infinity onFq(t)
is the nonarchimedean valuation onFq(t)
with uniformizer1/t
.function_field.Fqt_infty
: 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
is_scalar_tower Fq[X] (fraction_ring Fq[X]) F
in definitions,
adding them back in lemmas when they are needed.
References #
- D. Marcus, Number Fields
- J.W.S. Cassels, A. Frölich, Algebraic Number Theory
- [P. Samuel, Algebraic Theory of Numbers][samuel1970algebraic]
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
.
F
is a function field over Fq
iff it is a finite extension of Fq(t)
.
The function field analogue of number_field.ring_of_integers
:
function_field.ring_of_integers 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
- function_field.ring_of_integers Fq F = integral_closure (polynomial Fq) F
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.of_add(degree(f) - degree(g))
.
Equations
- function_field.infty_valuation_def Fq r = ite (r = 0) 0 ↑(⇑multiplicative.of_add r.int_degree)
The valuation at infinity on Fq(t)
.
Equations
- function_field.infty_valuation Fq = {to_monoid_with_zero_hom := {to_fun := function_field.infty_valuation_def Fq (λ (a b : ratfunc Fq), _inst_3 a b), map_zero' := _, map_one' := _, map_mul' := _}, map_add_le_max' := _}
The valued field Fq(t)
with the valuation at infinity.
Equations
The completion Fq((t⁻¹))
of Fq(t)
with respect to the valuation at infinity.
Equations
Instances for function_field.Fqt_infty
Equations
- function_field.Fqt_infty.field Fq = let _inst : valued (ratfunc Fq) (with_zero (multiplicative ℤ)) := function_field.infty_valued_Fqt Fq in uniform_space.completion.field
Equations
- function_field.Fqt_infty.inhabited Fq = {default := 0}
The valuation at infinity on k(t)
extends to a valuation on Fqt_infty
.