Documentation

Mathlib.NumberTheory.FunctionField

Function fields #

This file defines a function field and the ring of integers corresponding to it.

Main definitions #

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 IsScalarTower F[X] (FractionRing F[X]) K in definitions, adding them back in lemmas when they are needed.

References #

Tags #

function field, ring of integers

@[reducible, inline]
abbrev FunctionField (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra (RatFunc F) K] :

K is a function field over the field F if it is a finite extension of the field of rational functions in one variable over F.

Note that K can be a function field over multiple, non-isomorphic, F.

Equations
Instances For
    theorem functionField_iff (F : Type u_1) (K : Type u_2) [Field F] [Field K] (Ft : Type u_3) [Field Ft] [Algebra (Polynomial F) Ft] [IsFractionRing (Polynomial F) Ft] [Algebra (RatFunc F) K] [Algebra Ft K] [Algebra (Polynomial F) K] [IsScalarTower (Polynomial F) Ft K] [IsScalarTower (Polynomial F) (RatFunc F) K] :

    K is a function field over F iff it is a finite extension of F(t).

    noncomputable def FunctionField.ringOfIntegers (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra (Polynomial F) K] :

    The function field analogue of NumberField.ringOfIntegers: FunctionField.ringOfIntegers F K is the integral closure of F[X] in K.

    We don't actually assume K is a function field over F in the definition, only when proving its properties.

    Equations
    Instances For
      @[deprecated RatFunc.inftyValuationDef (since := "2026-04-14")]

      Alias of RatFunc.inftyValuationDef.

      Equations
      Instances For
        @[deprecated RatFunc.InftyValuation.map_zero' (since := "2026-04-14")]

        Alias of RatFunc.InftyValuation.map_zero'.

        @[deprecated RatFunc.InftyValuation.map_one' (since := "2026-04-14")]

        Alias of RatFunc.InftyValuation.map_one'.

        @[deprecated RatFunc.InftyValuation.map_mul' (since := "2026-04-14")]

        Alias of RatFunc.InftyValuation.map_mul'.

        @[deprecated RatFunc.InftyValuation.map_add_le_max' (since := "2026-04-14")]

        Alias of RatFunc.InftyValuation.map_add_le_max'.

        @[deprecated RatFunc.inftyValuation_of_nonzero (since := "2026-04-14")]

        Alias of RatFunc.inftyValuation_of_nonzero.

        @[deprecated RatFunc.inftyValuation (since := "2026-04-14")]

        Alias of RatFunc.inftyValuation.

        Equations
        Instances For
          @[deprecated RatFunc.inftyValuation_apply (since := "2026-04-14")]

          Alias of RatFunc.inftyValuation_apply.

          @[deprecated RatFunc.inftyValuation.C (since := "2026-04-14")]
          theorem FunctionField.inftyValuation.C (F : Type u_1) [Field F] [DecidableEq (RatFunc F)] {k : F} (hk : k 0) :

          Alias of RatFunc.inftyValuation.C.

          @[deprecated RatFunc.inftyValuation.X (since := "2026-04-14")]

          Alias of RatFunc.inftyValuation.X.

          @[deprecated RatFunc.inftyValuation.X_zpow (since := "2026-04-14")]

          Alias of RatFunc.inftyValuation.X_zpow.

          @[deprecated RatFunc.inftyValuation.X_inv (since := "2026-04-14")]

          Alias of RatFunc.inftyValuation.X_inv.

          @[deprecated RatFunc.inftyValuation.polynomial (since := "2026-04-14")]

          Alias of RatFunc.inftyValuation.polynomial.

          @[deprecated RatFunc.inftyValued (since := "2026-04-14")]

          Alias of RatFunc.inftyValued.

          Equations
          Instances For
            @[deprecated RatFunc.inftyValued.def (since := "2026-04-14")]

            Alias of RatFunc.inftyValued.def.

            @[deprecated RatFunc.CompletionAtInfty (since := "2026-04-14")]

            Alias of RatFunc.CompletionAtInfty.

            Equations
            Instances For
              @[implicit_reducible, deprecated "Use the anonymous `Valued` instance on `RatFunc.CompletionAtInfty`" (since := "2026-04-14")]
              Equations
              @[deprecated RatFunc.valuedCompletionAtInfty.def (since := "2026-04-14")]

              Alias of RatFunc.valuedCompletionAtInfty.def.

              theorem FunctionField.isAlgebraic_X_over_adjoin_transcendental {F : Type u_3} {K : Type u_4} [Field F] [Field K] [Algebra (RatFunc F) K] [FunctionField F K] [Algebra F K] [IsScalarTower F (RatFunc F) K] {y : K} (hy : Transcendental F y) :
              IsAlgebraic (↥Fy) ((algebraMap (RatFunc F) K) RatFunc.X)
              theorem FunctionField.finiteDimensional_of_adjoin_transcendental {F : Type u_3} {K : Type u_4} [Field F] [Field K] [Algebra (RatFunc F) K] [FunctionField F K] [Algebra F K] [IsScalarTower F (RatFunc F) K] {y : K} (hy : Transcendental F y) :
              FiniteDimensional (↥Fy) K