Documentation

LeanPool.RiemannRochFunctionFields.Genus.Basic

Genus, Riemann inequality, and the index of specialty #

This file defines the genus of a function field and the specialty index i(D).

Main definitions #

Main results #

@[instance_reducible]

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

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

    The defect deg D + 1 − ℓ(D).

    Equations
    Instances For

      Stichtenoth 1.4.11 for the chart variable X_K (equality; ≤ half proved in Polar.lean).

      theorem FunctionField.Chart.defect_mono' (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] {D D' : DivisorA k K} (h : D ≤ D') :
      defect k K D ≤ defect k K D'

      Monotonicity of the defect along divisor domination.

      Defect is unchanged by adding a principal divisor.

      theorem FunctionField.Chart.le_add_principal_of_memRRspace (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₀ D₁ : DivisorA k K} {f : K} (hf : f ≠ 0) (hmem : memRRspace k K (D₁ - D₀) f) :

      From membership in L(D₁ - D₀), the pole divisor of f moves D₀ below D₁ + (f).

      theorem FunctionField.Chart.ell_sub_effective_sub_ge (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] {D E : DivisorA k K} (hE : IsEffective k K E) :
      ↑(ell k K (D + E)) - deg k K E ≤ ↑(ell k K D)

      ℓ(D + E) − deg E ≤ ℓ(D) for effective E.

      theorem FunctionField.Chart.defect_le_of_family (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] (B C : DivisorA k K) (c₀ : ℤ) (hmono : ∀ (r : ℕ), defect k K (C + r • B) ≤ c₀) (hgrow : ∀ (m : ℤ), ∃ (r : ℕ), m ≤ ↑(ell k K (C + r • B))) (D : DivisorA k K) :
      defect k K D ≤ c₀

      Every defect is bounded by c₀ once the pole family has defect ≤ c₀ and grows in rank.

      Along the chart pole family, every defect is at most deg C + 1 − n.

      theorem FunctionField.Chart.exists_max_defect (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] [IsFullConstantField k K] :
      ∃ (g : ℕ), (∀ (D : DivisorA k K), defect k K D ≤ ↑g) ∧ ∃ (D : DivisorA k K), defect k K D = ↑g

      Riemann's bounded-defect theorem: the integer defects have a nonnegative maximum.

      noncomputable def FunctionField.Chart.genus (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] [IsFullConstantField k K] :

      The genus of the function field K/k.

      Equations
      Instances For
        theorem FunctionField.Chart.riemann_ineq (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] [IsFullConstantField k K] (D : DivisorA k K) :
        ↑(ell k K D) ≥ deg k K D + 1 - ↑(genus k K)
        theorem FunctionField.Chart.exists_defect_eq (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] [IsFullConstantField k K] :
        ∃ (D : DivisorA k K), defect k K D = ↑(genus k K)
        theorem FunctionField.Chart.genus_le_of_family (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] [IsFullConstantField k K] (B C : DivisorA k K) (c₀ : ℤ) (hmono : ∀ (r : ℕ), defect k K (C + r • B) ≤ c₀) (hgrow : ∀ (m : ℤ), ∃ (r : ℕ), m ≤ ↑(ell k K (C + r • B))) :
        ↑(genus k K) ≤ c₀

        Riemann's inequality along a growing pole family: the genus is at most c₀.

        The index of specialty i(D) = ℓ(D) − (deg D + 1 − g).

        Equations
        Instances For
          theorem FunctionField.Chart.indexOfSpecialty_eq (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] [IsFullConstantField k K] (D : DivisorA k K) :
          ↑(indexOfSpecialty k K D) = ↑(ell k K D) - (deg k K D + 1 - ↑(genus k K))
          theorem FunctionField.Chart.polar_deg_pos (k : Type u_1) (K : Type u_2) [Field k] [Field K] [Algebra k K] [Algebra (Polynomial k) K] [Algebra (RatFunc k) K] [IsScalarTower k (Polynomial k) K] [IsScalarTower (Polynomial k) (RatFunc k) K] [FunctionField k K] [Algebra.IsSeparable (RatFunc k) K] {x : K} (hx : ¬IsAlgebraic k x) :
          0 < deg k K (polarDivisor k K x)

          The genus of the rational function field RatFunc k is zero.