Module

WeilOfKaehler_omegaSpace_le_canonical.lean

Nyll.AlgebraicCurves.Cohomology.RiemannRoch.WeilOfKaehler_omegaSpace_le_canonical
11 declarations indexed from sourceView source ↗

Weil Of Kaehler omega Space le canonical

Declarations

AlgebraicCurve.Place.ord_nonneg_of_mem
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F)
theorem _root_.AlgebraicCurve.Place.ord_nonneg_of_mem {f : F} (hf : f ∈
  v.toValuationSubring) : 0 ≤ v.ord f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical.AlgebraicCurve.kaehlerResidueTerm_single_of_ne
Source context 14 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section SingleEval
variable [HasCanonicalLocalResidueKStar K F]
open scoped Classical in
theorem kaehlerResidueTerm_single_of_ne {ω : Ω[F⁄K]} {v : Place K F} {g : F}
    {w : Place K F} (hw : w ≠ v) :
    kaehlerResidueTerm ω (Pi.single v g) w = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical.AlgebraicCurve.weilOfKaehler_single_s6
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section SingleEval
variable [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
  [Nontrivial Ω[F⁄K]]
open scoped Classical in
theorem weilOfKaehler_single_s6 {ω : Ω[F⁄K]} (hω : ω ≠ 0) (v : Place K F) (g : F) :
    weilOfKaehler K F hω (adeleSingle v g)
      = Algebra.trace K v.ResidueField (v.localResidue (g * v.differentialCoeff ω))
AlgebraicCurve.Place.localResidue_mul_uniformizer_inv
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section SimplePoleProbe
variable [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F)
theorem _root_.AlgebraicCurve.Place.localResidue_mul_uniformizer_inv (c :
  v.toValuationSubring) :
    v.localResidue ((c : F) * v.uniformizer⁻¹) = IsLocalRing.residue _ c
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical.AlgebraicCurve.simplePoleProbe

A single-place adele probing the residue coefficient of the specified differential.

Source context 14 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section SimplePoleProbe
variable [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
  [Nontrivial Ω[F⁄K]]
def simplePoleProbe {ω : Ω[F⁄K]} (_hω : ω ≠ 0) (v : Place K F)
    (c : v.toValuationSubring) : adeleSpace K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical.AlgebraicCurve.weilOfKaehler_simplePoleProbe
Source context 14 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section SimplePoleProbe
variable [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
  [Nontrivial Ω[F⁄K]]
theorem weilOfKaehler_simplePoleProbe {ω : Ω[F⁄K]} (hω : ω ≠ 0) (v : Place K F)
    (c : v.toValuationSubring) :
    weilOfKaehler K F hω (simplePoleProbe hω v c)
      = Algebra.trace K v.ResidueField (IsLocalRing.residue _ c)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical.AlgebraicCurve.simplePoleProbe_mem_adeleBdd
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section SimplePoleProbe
variable [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
  [Nontrivial Ω[F⁄K]]
open scoped Classical in
omit [HasCanonicalLocalResidueKStar K F] [Nontrivial Ω[F⁄K]] in
theorem simplePoleProbe_mem_adeleBdd {ω : Ω[F⁄K]} (hω : ω ≠ 0) (v : Place K F)
    (c : v.toValuationSubring) {D : Divisor K F} (hDv : canonicalDivisorOf hω v < D v) :
    (simplePoleProbe hω v c : Place K F → F) ∈ adeleBdd D
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical.AlgebraicCurve.Place.exists_trace_residue_ne_zero
Source context 12 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open scoped _root_.AlgebraicCurve.Place in
theorem Place.exists_trace_residue_ne_zero [HasSeparableResidue K F] (v : Place K F) :
    ∃ c : v.toValuationSubring,
      Algebra.trace K v.ResidueField (IsLocalRing.residue _ c) ≠ 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical.AlgebraicCurve.trace_residueField_eq_zero_of_weilOfKaehler_mem
Source context 13 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section Maximality
variable [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
  [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
theorem trace_residueField_eq_zero_of_weilOfKaehler_mem {ω : Ω[F⁄K]} (hω : ω ≠ 0)
    {D : Divisor K F} (hD : weilOfKaehler K F hω ∈ omegaSpace D)
    {v : Place K F} (hDv : canonicalDivisorOf hω v < D v) :
    (Algebra.trace K v.ResidueField : _ →ₗ[K] K) = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical.AlgebraicCurve.weilOfKaehler_omegaSpace_le_canonical_s6
Source context 13 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section Maximality
variable [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
  [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
theorem weilOfKaehler_omegaSpace_le_canonical_s6 [HasSeparableResidue K F]
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) {D : Divisor K F}
    (hD : weilOfKaehler K F hω ∈ omegaSpace D) :
    D ≤ canonicalDivisorOf hω
AlgebraicCurve.weilOfKaehler_omegaSpace_le_canonical
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs.WeilOfKaehler_omegaSpace_le_canonical
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem _root_.AlgebraicCurve.weilOfKaehler_omegaSpace_le_canonical {K F : Type*} [Field K] [Field
  F] [Algebra K F] [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)] [∀
  v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]] [HasSeparableResidue K F]
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) {D : Divisor K F}
    (hD : weilOfKaehler K F hω ∈ omegaSpace D) :
    D ≤ canonicalDivisorOf hω