Documentation

LeanPool.MarkoffModP.RiemannRoch.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

    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.

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

    Equations
    Instances For
      noncomputable def MarkoffRiemannRoch.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.

        noncomputable def MarkoffRiemannRoch.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
        • One or more equations did not get rendered due to their size.
        Instances For

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

          The support of a divisor.

          Equations
          Instances For

            A divisor is effective when all coefficients are nonnegative.

            Equations
            Instances For
              theorem MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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 MarkoffRiemannRoch.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)