Documentation

LeanPool.RiemannRochFunctionFields.FunctionField.Divisor

Divisor degree and order on a function field #

This file completes the coordinate divisor API needed for Riemann–Roch spaces and adeles: place degrees, global degree, and the partial order on DivisorA.

Main definitions #

The partial order on DivisorA is the pointwise order on Finsupp from Mathlib (Finsupp.le_def); no new order instance is introduced here.

@[instance_reducible]

The classical decidable equality on k(X) used by the coordinate places.

Equations
Instances For
    noncomputable def FunctionField.Chart.placeDegree (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] (v : PlaceA k K) :

    The degree of a coordinate place: the residue field dimension over k.

    Equations
    Instances For
      theorem FunctionField.Chart.placeDegree_pos (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] (v : PlaceA k K) :
      0 < placeDegree k K v

      Every coordinate place has strictly positive degree.

      At an infinite coordinate place, the place degree is its inertia degree over the unique place at infinity of k(X).

      At a finite coordinate place, the place degree is the degree of the prime below times its inertia degree.

      The relative ideal norm of a finite coordinate prime has exponent equal to its inertia degree; unlike Mathlib's perfect-field version, this uses only the standing separability hypothesis.

      Over the finite chart of k(X), the weighted prime-factor degree of a principal polynomial ideal is the polynomial degree.

      Over the infinity chart of k(X), the number of prime factors of a nonzero principal ideal is the negative rational-function degree of its generator.

      Compatibility of integral norm on the finite chart with the field norm after passing to fraction fields.

      Compatibility of integral norm with field norm on the infinity chart.

      noncomputable def FunctionField.Chart.finiteIdealWeight (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] (P : Ideal (ringOfIntegers k K)) :

      The ideal-valued weight whose restriction to finite height-one primes is placeDegree.

      Equations
      Instances For
        noncomputable def FunctionField.Chart.infiniteIdealWeight (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (RatFunc k) K] (P : Ideal (infiniteIntegers k K)) :

        The ideal-valued weight whose restriction to infinite height-one primes is placeDegree.

        Equations
        Instances For

          The finite-chart contribution of a principal divisor is the degree at infinity of the field norm.

          The infinite-chart contribution of a principal divisor is the negative degree at infinity of the field norm.

          The valuation subring at a coordinate place.

          Equations
          Instances For
            noncomputable def FunctionField.Chart.deg (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] (D : DivisorA k K) :

            The global degree of a divisor.

            Equations
            Instances For

              Product formula: the global degree of a principal divisor is zero.

              def FunctionField.Chart.support (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] (D : DivisorA k K) :

              The support of a divisor.

              Equations
              Instances For
                def FunctionField.Chart.IsEffective (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] (D : DivisorA k K) :

                A divisor is effective when all coefficients are nonnegative.

                Equations
                Instances For
                  theorem FunctionField.Chart.deg_zero (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] :
                  deg k K 0 = 0
                  theorem FunctionField.Chart.deg_add (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] (D₁ D₂ : DivisorA k K) :
                  deg k K (D₁ + D₂) = deg k K D₁ + deg k K D₂
                  theorem FunctionField.Chart.deg_neg (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] (D : DivisorA k K) :
                  deg k K (-D) = -deg k K D
                  theorem FunctionField.Chart.deg_sub (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] (D D' : DivisorA k K) :
                  deg k K (D - D') = deg k K D - deg k K D'
                  theorem FunctionField.Chart.deg_nsmul (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] {D : DivisorA k K} (n : ) :
                  deg k K (n D) = n * deg k K D
                  theorem FunctionField.Chart.deg_nsmul_effective (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] {D : DivisorA k K} (n : ) (_hD : IsEffective k K D) :
                  deg k K (n D) = n * deg k K D
                  theorem FunctionField.Chart.deg_nonneg (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] {D : DivisorA k K} (hD : IsEffective k K D) :
                  0 deg k K D

                  Effective divisors have nonnegative degree.

                  theorem FunctionField.Chart.eq_zero_of_effective_deg_zero (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] {D : DivisorA k K} (hD : IsEffective k K D) (hdeg : deg k K D = 0) :
                  D = 0

                  An effective divisor of degree zero is the zero divisor.

                  theorem FunctionField.Chart.deg_single (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] (v : PlaceA k K) (n : ) :
                  deg k K (Finsupp.single v n) = n * (placeDegree k K v)
                  theorem FunctionField.Chart.deg_mono (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] {D D' : DivisorA k K} (h : D D') :
                  deg k K D deg k K D'

                  The degree map is monotone for the pointwise order on divisors.

                  theorem FunctionField.Chart.deg_nonpos (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] {D : DivisorA k K} (hD : D 0) :
                  deg k K D 0

                  A nonpositive divisor has nonpositive degree.

                  theorem FunctionField.Chart.le_iff_sub_effective (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] {D D' : DivisorA k K} :
                  D D' IsEffective k K (D' - D)