Module

Order.lean

Nyll.AlgebraicCurves.Differentials.Order
16 declarations indexed from sourceView source ↗

Differentials, residues, and divisor correspondences

Uniformizer differentials, their coefficients, and differential orders at places of a function field.

Imports2
Imported by68

Declarations

AlgebraicCurve.Place.uniformizer
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
def uniformizer : F
AlgebraicCurve.Place.ord_uniformizer
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem ord_uniformizer : v.ord v.uniformizer = 1
AlgebraicCurve.Place.uniformizer_ne_zero
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem uniformizer_ne_zero : v.uniformizer ≠ 0
AlgebraicCurve.Place.dCoord

The Kähler differential of the chosen uniformizer.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
def dCoord : Ω[F⁄K]
AlgebraicCurve.Place.DCoordGenerates

The differential of the uniformizer spans the space of field differentials.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
class DCoordGenerates : Prop where
  /-- The singleton uniformizer differential spans the whole differential module. -/
  span_eq_top : Submodule.span F {v.dCoord} = ⊤
AlgebraicCurve.Place.dCoord_ne_zero
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem dCoord_ne_zero [v.DCoordGenerates] [Nontrivial Ω[F⁄K]] : v.dCoord ≠ 0
AlgebraicCurve.Place.differentialCoeff

A chosen coefficient expressing the differential as a multiple of the uniformizer differential, or zero when no coefficient exists.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
def differentialCoeff (ω : Ω[F⁄K]) : F
AlgebraicCurve.Place.exists_eq_smul_dCoord
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem exists_eq_smul_dCoord [v.DCoordGenerates] (ω : Ω[F⁄K]) :
    ∃ f : F, ω = f • v.dCoord
AlgebraicCurve.Place.differentialCoeff_smul_dCoord
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem differentialCoeff_smul_dCoord [v.DCoordGenerates] (ω : Ω[F⁄K]) :
    v.differentialCoeff ω • v.dCoord = ω
AlgebraicCurve.Place.differentialCoeff_unique
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem differentialCoeff_unique [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
    {ω : Ω[F⁄K]} {f : F} (hf : ω = f • v.dCoord) : v.differentialCoeff ω = f
AlgebraicCurve.Place.differentialCoeff_dCoord
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem differentialCoeff_dCoord [v.DCoordGenerates] [Nontrivial Ω[F⁄K]] :
    v.differentialCoeff v.dCoord = 1
AlgebraicCurve.Place.differentialCoeff_zero
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem differentialCoeff_zero [v.DCoordGenerates] [Nontrivial Ω[F⁄K]] :
    v.differentialCoeff (0 : Ω[F⁄K]) = 0
AlgebraicCurve.Place.differentialCoeff_smul
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem differentialCoeff_smul [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
    (c : F) (ω : Ω[F⁄K]) :
    v.differentialCoeff (c • ω) = c * v.differentialCoeff ω
AlgebraicCurve.Place.ordDifferential

The order of the differential coefficient at this place.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
def ordDifferential (ω : Ω[F⁄K]) : ℤ
AlgebraicCurve.Place.gate_ordDifferential_dCoord
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem gate_ordDifferential_dCoord [v.DCoordGenerates] [Nontrivial Ω[F⁄K]] :
    v.ordDifferential v.dCoord = 0
AlgebraicCurve.Place.ordDifferential_smul
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

open KaehlerDifferential
noncomputable section
namespace AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
namespace Place
variable {K F}
variable (v : Place K F)
theorem ordDifferential_smul [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
    {c : F} (hc : c ≠ 0) {ω : Ω[F⁄K]} (hω : v.differentialCoeff ω ≠ 0) :
    v.ordDifferential (c • ω) = v.ord c + v.ordDifferential ω