Documentation

TauCeti.FieldTheory.FunctionField.Place.Extension.IntegralBasis.Basic

Local integral bases of extensions of algebraic function fields #

Let F' / F be a finite separable extension and let P be a place of F / k. Its local integral closure

𝒪'_P = integralClosure 𝒪_P F'

is a finite free module over the discrete valuation ring 𝒪_P, of rank [F' : F]. Choosing a basis of that module and extending scalars from 𝒪_P to its fraction field F gives a basis of F' / F consisting of elements integral over 𝒪_P. This is the local integral basis of Stichtenoth, Algebraic Function Fields and Codes, 2nd ed., Corollary 3.3.5.

The local model 𝒪_P ⊆ 𝒪'_P and its fraction-field, localization, Dedekind, finiteness, and separability infrastructure are supplied by TauCeti/FieldTheory/FunctionField/Place/Extension/Basic.lean.

The freeness and rank calculation are specializations of Mathlib's generic integral-closure theorems IsIntegralClosure.module_free and IsIntegralClosure.rank. The point of this file is the function-field interface: the basis is indexed by Fin [F' : F], its vectors are visibly integral, and their 𝒪_P-span inside F' is exactly 𝒪'_P. These are the forms used by the subsequent constructions of the complementary module and different.

The basis material is the place-local analogue of Mathlib's NumberField.integralBasis API in Mathlib.NumberTheory.NumberField.Basic, and is built the same way: TauCeti.Place.finrank_integralClosure matches NumberField.RingOfIntegers.rank, TauCeti.Place.localIntegralBasis matches NumberField.integralBasis, TauCeti.Place.localIntegralBasis_apply and TauCeti.Place.localIntegralBasis_repr_algebraMap match NumberField.integralBasis_apply and NumberField.integralBasis_repr_apply, and TauCeti.Place.isIntegralBasis_localizationLocalization plays the role of NumberField.mem_span_integralBasis.

Main definitions #

Main results #

References #

Integral bases at a place #

def TauCeti.Place.IsIntegralBasis {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) {ι : Type u_1} (b : Module.Basis ι F F') :

An F-basis of F' is an integral basis at P when its 𝒪_P-span is exactly the integral closure 𝒪'_P inside F' (Stichtenoth, Section III.3).

Equations
Instances For
    theorem TauCeti.Place.isIntegralBasis_iff_isIntegral_iff_repr_mem {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) {ι : Type u_1} (b : Module.Basis ι F F') :
    IsIntegralBasis F' P b ↔ ∀ (x : F'), IsIntegral (↥P.integers) x ↔ ∀ (i : ι), (b.repr x) i ∈ P.integers

    A basis is an integral basis at P exactly when integrality over 𝒪_P is equivalent to all of its coordinates lying in 𝒪_P.

    theorem TauCeti.Place.IsIntegralBasis.isIntegral {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) {ι : Type u_1} {b : Module.Basis ι F F'} (hb : IsIntegralBasis F' P b) (i : ι) :
    IsIntegral (↥P.integers) (b i)

    Every vector of an integral basis at P is integral over 𝒪_P.

    theorem TauCeti.Place.IsIntegralBasis.mem_span_iff_isIntegral {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) {ι : Type u_1} {b : Module.Basis ι F F'} (hb : IsIntegralBasis F' P b) {x : F'} :

    Membership in the integral span of an integral basis at P is the same as integrality over 𝒪_P.

    theorem TauCeti.Place.IsIntegralBasis.isIntegral_iff_repr_mem {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) {ι : Type u_1} {b : Module.Basis ι F F'} (hb : IsIntegralBasis F' P b) {x : F'} :
    IsIntegral (↥P.integers) x ↔ ∀ (i : ι), (b.repr x) i ∈ P.integers

    Integrality over 𝒪_P, expressed in the coordinate normal form supplied by an integral basis at P.

    theorem TauCeti.Place.IsIntegralBasis.of_isIntegral_of_isIntegral_traceDual {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] {ι : Type u_1} [Finite ι] [DecidableEq ι] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] (P : Place k F) (b : Module.Basis ι F F') (hb : ∀ (i : ι), IsIntegral (↥P.integers) (b i)) (hbdual : ∀ (i : ι), IsIntegral (↥P.integers) (b.traceDual i)) :

    If an F-basis of F' and its trace-dual basis are integral over 𝒪_P, then the basis is an integral basis at P.

    The local integral closure #

    Extending any 𝒪_P-basis of the local integral closure 𝒪'_P to the fraction fields gives an integral basis at P. This is Stichtenoth, Corollary 3.3.5.

    theorem TauCeti.Place.finrank_integralClosure {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) [FiniteDimensional F F'] [Algebra.IsSeparable F F'] :

    The rank of the local integral closure is the degree of the field extension: rank_{𝒪_P} 𝒪'_P = [F' : F].

    A local integral basis #

    noncomputable def TauCeti.Place.integralClosureFinBasis {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) [FiniteDimensional F F'] [Algebra.IsSeparable F F'] :

    An 𝒪_P-basis of the local integral closure 𝒪'_P, indexed by the degree [F' : F].

    Equations
    Instances For
      noncomputable def TauCeti.Place.localIntegralBasis {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) [FiniteDimensional F F'] [Algebra.IsSeparable F F'] :

      A local integral basis at P (Stichtenoth, Corollary 3.3.5): extend an 𝒪_P-basis of the local integral closure 𝒪'_P to the fraction fields. The resulting F-basis of F' is indexed by Fin [F' : F], and its 𝒪_P-span is exactly 𝒪'_P.

      Equations
      Instances For
        @[simp]
        theorem TauCeti.Place.localIntegralBasis_apply {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) [FiniteDimensional F F'] [Algebra.IsSeparable F F'] (i : Fin (Module.finrank F F')) :

        A vector of the local integral basis is the image in F' of the corresponding vector of the 𝒪_P-basis of 𝒪'_P.

        @[simp]
        theorem TauCeti.Place.localIntegralBasis_repr_algebraMap {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) [FiniteDimensional F F'] [Algebra.IsSeparable F F'] (x : ↥(integralClosure (↥P.integers) F')) (i : Fin (Module.finrank F F')) :
        ((localIntegralBasis F' P).repr ↑x) i = (algebraMap (↥P.integers) F) (((integralClosureFinBasis F' P).repr x) i)

        The coordinates of an integral element in the local integral basis are the images in F of its coordinates in the 𝒪_P-basis of 𝒪'_P.

        theorem TauCeti.Place.isIntegralBasis_localIntegralBasis {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) [FiniteDimensional F F'] [Algebra.IsSeparable F F'] :

        The chosen localIntegralBasis is an integral basis at P: its 𝒪_P-span is exactly the local integral closure 𝒪'_P. This is the existence statement of Stichtenoth, Corollary 3.3.5.

        @[simp]
        theorem TauCeti.Place.isIntegral_iff_repr_mem {k : Type u} {F : Type v} (F' : Type v') [Field k] [Field F] [Field F'] [Algebra k F] [Algebra F F'] (P : Place k F) [FiniteDimensional F F'] [Algebra.IsSeparable F F'] {x : F'} :
        IsIntegral (↥P.integers) x ↔ ∀ (i : Fin (Module.finrank F F')), ((localIntegralBasis F' P).repr x) i ∈ P.integers

        An element of F' is integral over 𝒪_P exactly when all of its coordinates in the local integral basis lie in 𝒪_P (Stichtenoth, Corollary 3.3.5).