Module

FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.lean

Nyll.AlgebraicCurves.Cohomology.RiemannRoch.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
281 declarations indexed from sourceView source ↗

Function-field Riemann-Roch from the residue theorem over algebraically closed constants. Transcendence towers, pole corrections and residue pairings supply the genus and duality arguments.

Declarations

AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37.lg37_completion

The adic completion of the valuation subring at its maximal ideal.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
namespace ModularCurve
namespace Lg37
open _root_.AlgebraicCurve
open ModularCurve.Ldgr36Si
open ModularCurve.Ldgr36Rc
open ModularCurve.Ldgr35Cs
section CompletionCarrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
abbrev lg37_completion (v : Place K F) : Type _
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37.lg37_residueHat

The residue homomorphism from the completed valuation subring.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
namespace ModularCurve
namespace Lg37
open _root_.AlgebraicCurve
open ModularCurve.Ldgr36Si
open ModularCurve.Ldgr36Rc
open ModularCurve.Ldgr35Cs
section CompletionCarrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def lg37_residueHat (v : Place K F) :
    lg37_completion v →+* v.ResidueField
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37.lg37_residueHat_algebraMap
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
namespace ModularCurve
namespace Lg37
open _root_.AlgebraicCurve
open ModularCurve.Ldgr36Si
open ModularCurve.Ldgr36Rc
open ModularCurve.Ldgr35Cs
section CompletionCarrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem lg37_residueHat_algebraMap (v : Place K F) (x : v.toValuationSubring) :
    lg37_residueHat v
        (algebraMap v.toValuationSubring (lg37_completion v) x)
      = IsLocalRing.residue v.toValuationSubring x
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37.Lg37CompletionSection

An algebra section of the residue map from the completed valuation subring.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
namespace ModularCurve
namespace Lg37
open _root_.AlgebraicCurve
open ModularCurve.Ldgr36Si
open ModularCurve.Ldgr36Rc
open ModularCurve.Ldgr35Cs
section CompletionCarrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
structure Lg37CompletionSection (v : Place K F) where
  /-- The algebra lift from the residue field to the completed valuation subring. -/
  lift : v.ResidueField →ₐ[K] lg37_completion v
  /-- The residue map composed with the algebra lift is the identity. -/
  residueHat_lift : ∀ a, lg37_residueHat v (lift a) = a
AlgebraicCurve.Place.ord_nonneg_of_mem
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section SinglePlace
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem _root_.AlgebraicCurve.Place.ord_nonneg_of_mem {f : F} (hf : f ∈
    v.toValuationSubring) : 0 ≤ v.ord f
AlgebraicCurve.Place.mem_of_ord_nonneg
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section SinglePlace
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.mem_of_ord_nonneg {f : F} (hf : f ≠ 0) (h : 0 ≤ v.ord
    f) :
    f ∈ v.toValuationSubring
AlgebraicCurve.Place.mem_iff_ord_nonneg
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section SinglePlace
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.mem_iff_ord_nonneg {f : F} (hf : f ≠ 0) :
    f ∈ v.toValuationSubring ↔ 0 ≤ v.ord f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.exists_ord_pos
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section SinglePlace
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem exists_ord_pos : ∃ f : F, f ≠ 0 ∧ 0 < v.ord f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.algebraMap_ne_zero
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Restrict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F'] [Algebra F F']
theorem algebraMap_ne_zero {f : F} (hf : f ≠ 0) : algebraMap F F' f ≠ 0
AlgebraicCurve.Place.comap_algebraMap_ne_top
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Restrict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F'] [Algebra F F']
variable (w : Place K F')
theorem _root_.AlgebraicCurve.Place.comap_algebraMap_ne_top [Algebra.IsIntegral F F'] :
    w.toValuationSubring.comap (algebraMap F F') ≠ ⊤
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.mem_comap_iff_ord_nonneg
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Restrict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F'] [Algebra F F']
variable (w : Place K F')
open _root_.AlgebraicCurve.Place
variable {w} in
theorem mem_comap_iff_ord_nonneg {f : F} (hf : f ≠ 0) :
    f ∈ w.toValuationSubring.comap (algebraMap F F') ↔
      0 ≤ w.ord (algebraMap F F' f)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.isUnit_mk_comap_iff
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Restrict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F'] [Algebra F F']
variable (w : Place K F')
open _root_.AlgebraicCurve.Place
variable {w} in
variable {w} in
theorem isUnit_mk_comap_iff {f : F} (hf : f ≠ 0)
    (hmem : f ∈ w.toValuationSubring.comap (algebraMap F F')) :
    IsUnit (⟨f, hmem⟩ : w.toValuationSubring.comap (algebraMap F F')) ↔
      w.ord (algebraMap F F' f) = 0
AlgebraicCurve.Place.exists_ord_algebraMap_pos
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Restrict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F'] [Algebra F F']
variable (w : Place K F')
open _root_.AlgebraicCurve.Place
variable {w} in
variable {w} in
theorem _root_.AlgebraicCurve.Place.exists_ord_algebraMap_pos [Algebra.IsIntegral F F'] :
    ∃ f : F, f ≠ 0 ∧ 0 < w.ord (algebraMap F F' f)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.ramificationIndex_set_nonempty
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Restrict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F'] [Algebra F F']
variable (w : Place K F')
open _root_.AlgebraicCurve.Place
variable {w} in
variable {w} in
open _root_.AlgebraicCurve.Place
variable [Algebra.IsIntegral F F']
theorem ramificationIndex_set_nonempty :
    {n : ℕ | 0 < n ∧ ∃ f : F, f ≠ 0 ∧ w.ord (algebraMap F F' f) = n}.Nonempty
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.isPrincipalIdealRing_comap
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Restrict
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F'] [Algebra F F']
variable (w : Place K F')
open _root_.AlgebraicCurve.Place
variable {w} in
variable {w} in
open _root_.AlgebraicCurve.Place
variable [Algebra.IsIntegral F F']
theorem isPrincipalIdealRing_comap :
    IsPrincipalIdealRing (w.toValuationSubring.comap (algebraMap F F'))
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Divisor.degree_eq_sum_support
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Divisor
open _root_.AlgebraicCurve.Divisor
open _root_.AlgebraicCurve.Divisor
section Pullback
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [Algebra.IsIntegral F F']
theorem degree_eq_sum_support (D : Divisor K F) :
    degree D = ∑ v ∈ D.support, D v * (v.deg : ℤ)
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open scoped _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
section PlaceInfty
variable [DecidableEq (RatFunc K)]
instance : Nontrivial (MonoidWithZeroHom.valueGroup (MonoidWithZeroHom.ofClass
  (RatFunc.inftyValuation K)))
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.placeInfty

The place at infinity of the rational function field.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open scoped _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
section PlaceInfty
variable [DecidableEq (RatFunc K)]
def placeInfty : Place K (RatFunc K) where
  toValuationSubring := (RatFunc.inftyValuation K).valuationSubring
  algebraMap_mem' a := by
    rw [Valuation.mem_valuationSubring_iff]
    exact Valuation.IsTrivialOn.valuation_algebraMap_le_one (v := RatFunc.inftyValuation K) a
  ne_top' := by
    simp only [ne_eq, Valuation.valuationSubring_eq_top_iff, not_not]
    infer_instance
  isPrincipalIdealRing' :=
    (Valuation.valuationSubring_isDiscreteValuationRing
      (RatFunc.inftyValuation K)).toIsPrincipalIdealRing
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.placeInfty_toValuationSubring
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open scoped _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
section PlaceInfty
variable [DecidableEq (RatFunc K)]
theorem placeInfty_toValuationSubring :
    (placeInfty K).toValuationSubring = (RatFunc.inftyValuation K).valuationSubring
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.inftyValuation_isEquiv_adicValuation
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open scoped _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
section PlaceInfty
variable [DecidableEq (RatFunc K)]
theorem inftyValuation_isEquiv_adicValuation :
    (RatFunc.inftyValuation K).IsEquiv (placeInfty K).adicValuation
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.eq_ofHeightOneSpectrum_or_eq_placeInfty
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open scoped _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
theorem eq_ofHeightOneSpectrum_or_eq_placeInfty [DecidableEq (RatFunc K)]
    (v : Place K (RatFunc K)) :
    (∃ w : HeightOneSpectrum K[X], v = Place.ofHeightOneSpectrum w) ∨ v = placeInfty K
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.exists_sub_algebraMap_intDegree_neg
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open scoped _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section DegInfty
variable (K) [DecidableEq (RatFunc K)]
theorem exists_sub_algebraMap_intDegree_neg {x : RatFunc K}
    (hx : RatFunc.inftyValuation K x ≤ 1) :
    ∃ c : K, x - algebraMap K (RatFunc K) c = 0 ∨
      (x - algebraMap K (RatFunc K) c).intDegree < 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.deg_placeInfty
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open scoped _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section DegInfty
variable (K) [DecidableEq (RatFunc K)]
theorem deg_placeInfty : (placeInfty K).deg = 1
AlgebraicCurve.Place.uniformizerSubring
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
def _root_.AlgebraicCurve.Place.uniformizerSubring : v.toValuationSubring
AlgebraicCurve.Place.coe_uniformizerSubring
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.coe_uniformizerSubring : (v.uniformizerSubring : F) =
    v.uniformizer
AlgebraicCurve.Place.irreducible_uniformizerSubring
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.irreducible_uniformizerSubring : Irreducible
    v.uniformizerSubring
AlgebraicCurve.Place.uniformizerSubring_mem_maximalIdeal
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.uniformizerSubring_mem_maximalIdeal :
    v.uniformizerSubring ∈ IsLocalRing.maximalIdeal v.toValuationSubring
AlgebraicCurve.Place.uniformizer_mem
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.uniformizer_mem : v.uniformizer ∈ v.toValuationSubring
AlgebraicCurve.Place.simplePoleSubmodule
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.simplePoleSubmodule : Submodule K F where
  carrier := {f | v.uniformizer * f ∈ v.toValuationSubring}
  add_mem' {f g} hf hg := by
    simpa only [Set.mem_ofPred_eq, mul_add] using add_mem hf hg
  zero_mem' := by simpa only [Set.mem_ofPred_eq, mul_zero] using zero_mem _
  smul_mem' c f hf := by
    change v.uniformizer * (c • f) ∈ v.toValuationSubring
    rw [Algebra.smul_def, mul_left_comm]
    exact mul_mem (v.algebraMap_mem' c) hf
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.mem_simplePoleSubmodule
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem mem_simplePoleSubmodule {f : F} :
    f ∈ v.simplePoleSubmodule ↔ v.uniformizer * f ∈ v.toValuationSubring
AlgebraicCurve.Place.mem_simplePoleSubmodule_of_mem
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.mem_simplePoleSubmodule_of_mem {f : F} (hf : f ∈
    v.toValuationSubring) :
    f ∈ v.simplePoleSubmodule
AlgebraicCurve.Place.simplePoleMulUniformizer
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.simplePoleMulUniformizer : v.simplePoleSubmodule →ₗ[K]
    v.toValuationSubring where
  toFun f := ⟨v.uniformizer * f.1, f.2⟩
  map_add' f g := Subtype.ext (mul_add _ _ _)
  map_smul' c f := Subtype.ext <| by
    change v.uniformizer * ((c • f : v.simplePoleSubmodule) : F)
        = ((c • ⟨v.uniformizer * f.1, f.2⟩ : v.toValuationSubring) : F)
    simp only [Algebra.smul_def, MulMemClass.coe_mul, v.coe_algebraMap, Submodule.coe_smul,
      mul_left_comm]
AlgebraicCurve.Place.simplePoleResidueAux
Source context 32 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.simplePoleResidueAux : v.simplePoleSubmodule →ₗ[K]
    v.ResidueField
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.simplePoleResidueAux_apply
Source context 33 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem simplePoleResidueAux_apply (f : v.simplePoleSubmodule) :
    v.simplePoleResidueAux f = IsLocalRing.residue _ ⟨v.uniformizer * f.1, f.2⟩
AlgebraicCurve.Place.simplePoleResidueAux_eq_zero_of_mem
Source context 33 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.simplePoleResidueAux_eq_zero_of_mem {f : F} (hf : f ∈
    v.toValuationSubring) :
    v.simplePoleResidueAux ⟨f, v.mem_simplePoleSubmodule_of_mem hf⟩ = 0
AlgebraicCurve.Place.localResidueExtend
Source context 34 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.localResidueExtend : F →ₗ[K] v.ResidueField
AlgebraicCurve.Place.localResidueExtend_apply_of_mem
Source context 35 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.localResidueExtend_apply_of_mem {f : F} (hf : f ∈
    v.simplePoleSubmodule) :
    v.localResidueExtend f = v.simplePoleResidueAux ⟨f, hf⟩
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T1.mp72a102_t1_maximalIdealHat

The ideal in the completion generated by the valuation subring maximal ideal.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace Mp72a102T1
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Ldgr37Ch
open Mp72a101T2
open scoped _root_.Polynomial
attribute [local instance 2000] RatFunc.instAlgebraOfPolynomial
section Engine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
abbrev mp72a102_t1_maximalIdealHat (v : Place K F) :
    Ideal (lg37_completion v)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T1.mp72a102_t1_isScalarTower
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace Mp72a102T1
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Ldgr37Ch
open Mp72a101T2
open scoped _root_.Polynomial
attribute [local instance 2000] RatFunc.instAlgebraOfPolynomial
section Engine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t1_isScalarTower (v : Place K F) :
    IsScalarTower K v.toValuationSubring (lg37_completion v)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T1.mp72a102_t1_isAdicComplete_maximalIdealHat
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace Mp72a102T1
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Ldgr37Ch
open Mp72a101T2
open scoped _root_.Polynomial
attribute [local instance 2000] RatFunc.instAlgebraOfPolynomial
section Engine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t1_isAdicComplete_maximalIdealHat (v : Place K F) :
    IsAdicComplete (mp72a102_t1_maximalIdealHat v) (lg37_completion v)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T1.mp72a102_t1_henselianRing_completion
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace Mp72a102T1
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Ldgr37Ch
open Mp72a101T2
open scoped _root_.Polynomial
attribute [local instance 2000] RatFunc.instAlgebraOfPolynomial
section Engine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t1_henselianRing_completion (v : Place K F) :
    HenselianRing (lg37_completion v) (mp72a102_t1_maximalIdealHat v)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T1.mp72a102_t1_maximalIdealHat_le_ker_residueHat
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace Mp72a102T1
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Ldgr37Ch
open Mp72a101T2
open scoped _root_.Polynomial
attribute [local instance 2000] RatFunc.instAlgebraOfPolynomial
section Engine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t1_maximalIdealHat_le_ker_residueHat (v : Place K F) :
    mp72a102_t1_maximalIdealHat v ≤ RingHom.ker (lg37_residueHat v)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T1.mp72a102_t1_exists_completion_root_of_residue_root
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace Mp72a102T1
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Ldgr37Ch
open Mp72a101T2
open scoped _root_.Polynomial
attribute [local instance 2000] RatFunc.instAlgebraOfPolynomial
section Engine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t1_exists_completion_root_of_residue_root
    (v : Place K F) {p : K[X]} (hpmon : p.Monic) (hpsep : p.Separable)
    {rbar : v.ResidueField} (hrbar : Polynomial.aeval rbar p = 0) :
    ∃ α : lg37_completion v,
      Polynomial.aeval α p = 0 ∧ lg37_residueHat v α = rbar
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2.mp72a102_t2_residueHat_algebraMap_base
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace Mp72a102T2
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Ldgr39Hf ModularCurve.Ldgr35Cs
open Mp72a101T2
open scoped _root_.Polynomial
section ResidueCalculus
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t2_residueHat_algebraMap_base (v : Place K F) (c : K) :
    lg37_residueHat v (algebraMap K (lg37_completion v) c)
      = algebraMap K v.ResidueField c
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2.mp72a102_t2_residueHatAlgHom

The completed residue homomorphism viewed as an algebra homomorphism.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace Mp72a102T2
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Ldgr39Hf ModularCurve.Ldgr35Cs
open Mp72a101T2
open scoped _root_.Polynomial
section ResidueCalculus
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def mp72a102_t2_residueHatAlgHom (v : Place K F) :
    lg37_completion v →ₐ[K] v.ResidueField where
  toRingHom := lg37_residueHat v
  commutes' := mp72a102_t2_residueHat_algebraMap_base v
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [Algebra.IsIntegral F F']
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (w : Place K F')
instance : IsLocalHom (restrictInclusion F w) where
  map_nonunit a ha := by
    have hord : w.ord (algebraMap F F' (a : F)) = 0 := by
      have h := w.ord_coe_unit ha.unit
      rwa [IsUnit.unit_spec, coe_restrictInclusion] at h
    have ha0 : (a : F) ≠ 0 := by
      rintro h0
      obtain ⟨b, hb⟩ := isUnit_iff_exists_inv.mp ha
      have hb' : algebraMap F F' (a : F) * (b : F') = 1 := congrArg Subtype.val hb
      rw [h0, map_zero, zero_mul] at hb'
      exact zero_ne_one hb'
    exact (isUnit_mk_comap_iff ha0 a.2).mpr hord
AlgebraicCurve.Place.isUnit_mk_of_ord_eq_zero
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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.isUnit_mk_of_ord_eq_zero {f : F} (hf : f ≠ 0) (h :
    v.ord f = 0) :
    IsUnit (⟨f, v.mem_of_ord_nonneg hf h.ge⟩ : v.toValuationSubring)
AlgebraicCurve.Place.residue_ne_zero_of_ord_eq_zero
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.residue_ne_zero_of_ord_eq_zero {f : F} (hf : f ≠ 0) (h
    : v.ord f = 0) :
    residue v.toValuationSubring (⟨f, v.mem_of_ord_nonneg hf h.ge⟩ : v.toValuationSubring)
      ≠ 0
AlgebraicCurve.Place.IsRational
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.IsRational : Prop
AlgebraicCurve.Place.residueInv
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.residueInv : v.ResidueField → K
AlgebraicCurve.Place.algebraMap_residueInv
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.algebraMap_residueInv (hv : v.IsRational) (x :
    v.ResidueField) :
    algebraMap K v.ResidueField (v.residueInv x) = x
AlgebraicCurve.Place.evalAt
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurves.Cohomology.RiemannRoch.Proofs in
open _root_.Classical FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Classical in
def _root_.AlgebraicCurve.Place.evalAt (f : F) : K
AlgebraicCurve.Place.evalAt_of_mem
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.evalAt_of_mem {f : F} (hf : f ∈ v.toValuationSubring) :
    v.evalAt f = v.residueInv (residue v.toValuationSubring ⟨f, hf⟩)
AlgebraicCurve.Place.algebraMap_evalAt
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.algebraMap_evalAt (hv : v.IsRational) {f : F} (hf : f
    ∈ v.toValuationSubring) :
    algebraMap K v.ResidueField (v.evalAt f)
      = residue v.toValuationSubring (⟨f, hf⟩ : v.toValuationSubring)
AlgebraicCurve.Place.evalAt_ne_zero
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.evalAt_ne_zero (hv : v.IsRational) {f : F} (hf : f ≠
    0) (h : v.ord f = 0) :
    v.evalAt f ≠ 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Divisor.degree_nonneg_of_nonneg
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.CongruenceSubgroup
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable {D E : Divisor K F}
open scoped _root_.AlgebraicCurve.Divisor in
theorem Divisor.degree_nonneg_of_nonneg [IsCurveOver K F]
    {D : Divisor K F} (hD : ∀ v, 0 ≤ D v) : 0 ≤ Divisor.degree D
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.lSpace_eq_bot_of_degree_neg
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.CongruenceSubgroup
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable {D E : Divisor K F}
theorem lSpace_eq_bot_of_degree_neg [IsCurveOver K F]
    (hD : Divisor.degree D < 0) : LSpace D = ⊥
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.ell_eq_zero_of_degree_neg
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.CongruenceSubgroup
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable {D E : Divisor K F}
theorem ell_eq_zero_of_degree_neg [IsCurveOver K F] (hD : Divisor.degree D < 0) :
    ell D = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty_eq_zero_of_intDegree_eq_zero
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
section PlaceInfty
variable [DecidableEq (RatFunc K)]
theorem ord_placeInfty_eq_zero_of_intDegree_eq_zero {f : RatFunc K} (hf : f ≠ 0)
    (h : f.intDegree = 0) : (placeInfty K).ord f = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty_eq_intDegree_mul
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
section PlaceInfty
variable [DecidableEq (RatFunc K)]
theorem ord_placeInfty_eq_intDegree_mul {f : RatFunc K} (hf : f ≠ 0) :
    (placeInfty K).ord f = f.intDegree * (placeInfty K).ord (RatFunc.X)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty_X
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
section PlaceInfty
variable [DecidableEq (RatFunc K)]
theorem ord_placeInfty_X : (placeInfty K).ord (RatFunc.X : RatFunc K) = -1
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.chartHom
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Chart
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable {R : Type*} [CommRing R] [IsDedekindDomain R] [Algebra R F] [IsFractionRing R F]
variable (w : Place K F)
def chartHom (hw : ∀ r : R, algebraMap R F r ∈ w.toValuationSubring) :
    R →+* w.toValuationSubring
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.inv_algebraMap_mem
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Chart
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable {R : Type*} [CommRing R] [IsDedekindDomain R] [Algebra R F] [IsFractionRing R F]
variable (w : Place K F)
omit [IsDedekindDomain R] [IsFractionRing R F] in
theorem inv_algebraMap_mem (hw : ∀ r : R, algebraMap R F r ∈ w.toValuationSubring)
    {s : R} (hs : IsUnit (chartHom w hw s)) :
    (algebraMap R F s)⁻¹ ∈ w.toValuationSubring
AlgebraicCurve.Place.poleSubmodule
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
def _root_.AlgebraicCurve.Place.poleSubmodule (n : ℕ) : Submodule K F where
  carrier := {f | v.uniformizer ^ n * f ∈ v.toValuationSubring}
  add_mem' {f g} hf hg := by
    simpa only [Set.mem_ofPred_eq, mul_add] using add_mem hf hg
  zero_mem' := by simpa only [Set.mem_ofPred_eq, mul_zero] using zero_mem _
  smul_mem' c f hf := by
    change v.uniformizer ^ n * (c • f) ∈ v.toValuationSubring
    rw [Algebra.smul_def, mul_left_comm]
    exact mul_mem (v.algebraMap_mem' c) hf
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.mem_poleSubmodule
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
theorem mem_poleSubmodule {n : ℕ} {f : F} :
    f ∈ v.poleSubmodule n ↔ v.uniformizer ^ n * f ∈ v.toValuationSubring
AlgebraicCurve.Place.uniformizer_pow_ne_zero
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.uniformizer_pow_ne_zero (n : ℕ) : (v.uniformizer ^ n :
    F) ≠ 0
AlgebraicCurve.Place.ord_uniformizer_pow
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.ord_uniformizer_pow (n : ℕ) : v.ord (v.uniformizer ^
    n) = (n : ℤ)
AlgebraicCurve.Place.poleSubmodule_one
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.poleSubmodule_one : v.poleSubmodule 1 =
    v.simplePoleSubmodule
AlgebraicCurve.Place.mem_poleSubmodule_iff_ord
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.mem_poleSubmodule_iff_ord {n : ℕ} {f : F} (hf : f ≠ 0) :
    f ∈ v.poleSubmodule n ↔ -(n : ℤ) ≤ v.ord f
AlgebraicCurve.Place.poleSubmodule_mono
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.poleSubmodule_mono : Monotone v.poleSubmodule
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.gate_poleSubmodule_strictMono
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem gate_poleSubmodule_strictMono (v : Place K F) (n : ℕ) :
    (v.uniformizer ^ (n + 1))⁻¹ ∈ v.poleSubmodule (n + 1) ∧
      (v.uniformizer ^ (n + 1))⁻¹ ∉ v.poleSubmodule n
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_zero_depth
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section General
variable {R : Type*} [CommRing R] (I : Ideal R)
theorem mp72a102_t3_evalₐ_zero_depth (z : AdicCompletion I R) :
    AdicCompletion.evalₐ I 0 z = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_algebraMap
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section General
variable {R : Type*} [CommRing R] (I : Ideal R)
theorem mp72a102_t3_evalₐ_algebraMap (n : ℕ) (r : R) :
    AdicCompletion.evalₐ I n (algebraMap R (AdicCompletion I R) r)
      = Ideal.Quotient.mk (I ^ n) r
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_factor
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section General
variable {R : Type*} [CommRing R] (I : Ideal R)
theorem mp72a102_t3_evalₐ_factor {m n : ℕ} (hmn : m ≤ n) (z : AdicCompletion I R) :
    Ideal.Quotient.factor (Ideal.pow_le_pow_right hmn) (AdicCompletion.evalₐ I n z)
      = AdicCompletion.evalₐ I m z
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_exists_rep_of_evalₐ_eq_zero
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section General
variable {R : Type*} [CommRing R] (I : Ideal R)
theorem mp72a102_t3_exists_rep_of_evalₐ_eq_zero {n : ℕ} {z : AdicCompletion I R}
    (h : AdicCompletion.evalₐ I n z = 0) :
    ∃ w ∈ I ^ n, AdicCompletion.evalₐ I (n + 1) z = Ideal.Quotient.mk (I ^ (n + 1)) w
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_succ_mul_eq_zero
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section General
variable {R : Type*} [CommRing R] (I : Ideal R)
theorem mp72a102_t3_evalₐ_succ_mul_eq_zero {n : ℕ} {r : R} (hr : r ∈ I)
    {z : AdicCompletion I R} (h : AdicCompletion.evalₐ I n z = 0) :
    AdicCompletion.evalₐ I (n + 1) (algebraMap R (AdicCompletion I R) r * z) = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_one_eq_zero_of_evalOneₐ
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section General
variable {R : Type*} [CommRing R] (I : Ideal R)
theorem mp72a102_t3_evalₐ_one_eq_zero_of_evalOneₐ {z : AdicCompletion I R}
    (h : AdicCompletion.evalOneₐ I z = 0) : AdicCompletion.evalₐ I 1 z = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalDepth_add
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section Carrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t3_evalDepth_add (v : Place K F) (n : ℕ)
    (x y : lg37_completion v) :
    AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n (x + y)
      = AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n x
        + AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n y
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalDepth_mul
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section Carrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t3_evalDepth_mul (v : Place K F) (n : ℕ)
    (x y : lg37_completion v) :
    AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n (x * y)
      = AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n x
        * AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n y
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_residueHat_congr_of_depth_one
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section Carrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t3_residueHat_congr_of_depth_one (v : Place K F)
    {x y : lg37_completion v}
    (h : AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) 1 x
        = AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) 1 y) :
    lg37_residueHat v x = lg37_residueHat v y
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalDepth_one_eq_zero_of_residueHat
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section Carrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t3_evalDepth_one_eq_zero_of_residueHat (v : Place K F)
    {x : lg37_completion v} (hx : lg37_residueHat v x = 0) :
    AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) 1 x = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_eq_uniformizer_mul_of_mem_maximalIdeal
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section Carrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t3_eq_uniformizer_mul_of_mem_maximalIdeal (v : Place K F)
    {w : v.toValuationSubring} (hw : w ∈ maximalIdeal v.toValuationSubring) :
    ∃ u : v.toValuationSubring, w = v.uniformizerSubring * u
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_exists_uniformizer_factor
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section Carrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t3_exists_uniformizer_factor (v : Place K F)
    {x : lg37_completion v} (hx : lg37_residueHat v x = 0) (n : ℕ) :
    ∃ u : v.toValuationSubring,
      AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n
        (x - algebraMap v.toValuationSubring (lg37_completion v) v.uniformizerSubring
          * algebraMap v.toValuationSubring (lg37_completion v) u) = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_sigma_taylor_expansion
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace ModularCurve
namespace Mp72a102T3
open _root_.AlgebraicCurve
section Carrier
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a102_t3_sigma_taylor_expansion (v : Place K F)
    (S : Lg37CompletionSection v) (n : ℕ) (x : lg37_completion v) :
    ∃ a : ℕ → v.ResidueField,
      AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n
        (x - ∑ i ∈ Finset.range n, S.lift (a i)
          * algebraMap v.toValuationSubring (lg37_completion v)
              v.uniformizerSubring ^ i) = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Section.residueFieldAdjoinRootEquiv

Present a residue field by adjoining its given primitive integral generator.

Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.IntermediateField
namespace ModularCurve
namespace KwNo6Section
section GenericIso
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
def residueFieldAdjoinRootEquiv {ᾱ : v.ResidueField} (hint : IsIntegral K ᾱ)
    (htop : K⟮ᾱ⟯ = ⊤) :
    AdjoinRoot (minpoly K ᾱ) ≃ₐ[K] v.ResidueField
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Section.residueFieldAdjoinRootEquiv_root
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.IntermediateField
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.IntermediateField
namespace ModularCurve
namespace KwNo6Section
section GenericIso
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem residueFieldAdjoinRootEquiv_root {ᾱ : v.ResidueField} (hint : IsIntegral K ᾱ)
    (htop : K⟮ᾱ⟯ = ⊤) :
    residueFieldAdjoinRootEquiv v hint htop (AdjoinRoot.root (minpoly K ᾱ)) = ᾱ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Section.sectionOfPrimitiveRoot

Construct a section of the completed residue map from a lift of a primitive root.

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.IntermediateField
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.IntermediateField
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.IntermediateField
namespace ModularCurve
namespace KwNo6Section
section GenericSection
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
def sectionOfPrimitiveRoot {ᾱ : v.ResidueField} (hint : IsIntegral K ᾱ)
    (htop : K⟮ᾱ⟯ = ⊤) (αhat : lg37_completion v)
    (hroot : (aeval αhat) (minpoly K ᾱ) = 0)
    (hres : lg37_residueHat v αhat = ᾱ) :
    Lg37CompletionSection v where
  lift :=
    (AdjoinRoot.liftAlgHom (minpoly K ᾱ) (Algebra.ofId K (lg37_completion v)) αhat
      (by rw [aeval_def] at hroot; exact hroot)).comp
      (residueFieldAdjoinRootEquiv v hint htop).symm.toAlgHom
  residueHat_lift a := by
    have hres' : lg37_residueHat v αhat
        = residueFieldAdjoinRootEquiv v hint htop (AdjoinRoot.root (minpoly K ᾱ)) :=
      hres.trans (residueFieldAdjoinRootEquiv_root v hint htop).symm
    have hkey : (mp72a102_t2_residueHatAlgHom v).comp
          (AdjoinRoot.liftAlgHom (minpoly K ᾱ) (Algebra.ofId K (lg37_completion v)) αhat
            (by rw [aeval_def] at hroot; exact hroot))
        = (residueFieldAdjoinRootEquiv v hint htop).toAlgHom := by
      refine AdjoinRoot.algHom_ext ?_
      exact (congrArg (mp72a102_t2_residueHatAlgHom v)
        (AdjoinRoot.liftAlgHom_root (minpoly K ᾱ) (Algebra.ofId K (lg37_completion v)) αhat
          (by rw [aeval_def] at hroot; exact hroot))).trans hres'
    have h1 := DFunLike.congr_fun hkey ((residueFieldAdjoinRootEquiv v hint htop).symm a)
    rw [AlgHom.comp_apply] at h1
    have h2 : (residueFieldAdjoinRootEquiv v hint htop).toAlgHom
        ((residueFieldAdjoinRootEquiv v hint htop).symm a) = a :=
      (residueFieldAdjoinRootEquiv v hint htop).apply_symm_apply a
    exact h1.trans h2
AlgebraicCurve.Place.ord_sub_evalAt_pos
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem _root_.AlgebraicCurve.Place.ord_sub_evalAt_pos (hrat : v.IsRational) {f : F} (hf :
    f ∈ v.toValuationSubring)
    (hne : f - algebraMap K F (v.evalAt f) ≠ 0) :
    0 < v.ord (f - algebraMap K F (v.evalAt f))
AlgebraicCurve.Place.isRational_of_deg_eq_one
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open scoped _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem _root_.AlgebraicCurve.Place.isRational_of_deg_eq_one (h : v.deg = 1) :
    v.IsRational
AlgebraicCurve.Place.mk_mem_maximalIdeal_iff
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
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.mk_mem_maximalIdeal_iff {f : F} (hf : f ∈
    v.toValuationSubring) :
    (⟨f, hf⟩ : v.toValuationSubring) ∈ IsLocalRing.maximalIdeal v.toValuationSubring
      ↔ f = 0 ∨ 0 < v.ord f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.one_le_deg
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem one_le_deg [IsCurveOver K F] (P : Place K F) : 1 ≤ P.deg
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.lSpaceShiftEquiv

Multiply by the inverse function to shift the divisor defining a Riemann-Roch space.

Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def lSpaceShiftEquiv (D : Divisor K F) {g : F} (hg : g ≠ 0)
    {Dg : Divisor K F} (hDg : ∀ v, Dg v = v.ord g) :
    LSpace D ≃ₗ[K] LSpace (D + Dg) where
  toFun h := ⟨(h : F) * g⁻¹, by
    rw [mem_lSpace_iff_ord]
    rcases eq_or_ne (h : F) 0 with hh0 | hh0
    · left; rw [hh0, zero_mul]
    · right; intro v
      rw [Finsupp.add_apply, hDg, v.ord_mul hh0 (inv_ne_zero hg), v.ord_inv]
      have := (mem_lSpace_iff_ord.mp h.2).resolve_left hh0 v
      linarith⟩
  invFun k := ⟨(k : F) * g, by
    rw [mem_lSpace_iff_ord]
    rcases eq_or_ne (k : F) 0 with hk0 | hk0
    · left; rw [hk0, zero_mul]
    · right; intro v
      have := (mem_lSpace_iff_ord.mp k.2).resolve_left hk0 v
      rw [Finsupp.add_apply, hDg] at this
      rw [v.ord_mul hk0 hg]
      linarith⟩
  map_add' h₁ h₂ := by apply Subtype.ext; push_cast; ring
  map_smul' c h := by
    apply Subtype.ext
    simp only [RingHom.id_apply, SetLike.val_smul, Algebra.smul_def]
    ring
  left_inv h := by
    apply Subtype.ext
    change (h : F) * g⁻¹ * g = (h : F)
    rw [mul_assoc, inv_mul_cancel₀ hg, mul_one]
  right_inv k := by
    apply Subtype.ext
    change (k : F) * g * g⁻¹ = (k : F)
    rw [mul_assoc, mul_inv_cancel₀ hg, mul_one]
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.eq_ord_of_addHom_of_nonneg_iff
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Uniqueness
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (w : Place K F)
theorem eq_ord_of_addHom_of_nonneg_iff (φ : F → ℤ)
    (hmul : ∀ x y, x ≠ 0 → y ≠ 0 → φ (x * y) = φ x + φ y)
    (hone : ∃ t, t ≠ 0 ∧ φ t = 1)
    (hiff : ∀ x, x ≠ 0 → (0 ≤ φ x ↔ x ∈ w.toValuationSubring))
    {x : F} (hx : x ≠ 0) : φ x = w.ord x
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section Setup
variable (v : Place K F)
instance (priority := 100) : IsScalarTower v.toValuationSubring F F'
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.neg_log_valuation_fiberCenter_eq_ord
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ValuationDictionary
variable {v : Place K F} {w : Place K F'}
theorem neg_log_valuation_fiberCenter_eq_ord (hw : w.restrict F = v) {x : F'} (hx : x ≠ 0) :
    -log ((fiberCenter F' v hw).valuation F' x) = w.ord x
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.le_ord_iff_mem_pow_fiberCenter
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ValuationDictionary
variable {v : Place K F} {w : Place K F'}
theorem le_ord_iff_mem_pow_fiberCenter (hw : w.restrict F = v)
    {c : integralClosureAt F' v} (hc : c ≠ 0) (n : ℕ) :
    (n : ℤ) ≤ w.ord (algebraMap (integralClosureAt F' v) F' c) ↔
      c ∈ (fiberCenter F' v hw).asIdeal ^ n
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.ramificationIndex_eq_ramificationIdx_fiberCenter
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ValuationDictionary
variable {v : Place K F} {w : Place K F'}
theorem ramificationIndex_eq_ramificationIdx_fiberCenter (hw : w.restrict F = v) :
    w.ramificationIndex F =
      (IsLocalRing.maximalIdeal v.toValuationSubring).ramificationIdx'
        (fiberCenter F' v hw).asIdeal
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.toValuationSubringOfRestrictEq

Map the integral closure into a valuation subring above the given place.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
def toValuationSubringOfRestrictEq (hw : w.restrict F = v) :
    integralClosureAt F' v →+* w.toValuationSubring
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.residueOfCenter

The residue map on the integral closure at a place.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
def residueOfCenter (hw : w.restrict F = v) :
    integralClosureAt F' v →+* w.ResidueField
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.residueOfCenter_apply
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
omit [FiniteDimensional F F'] in
theorem residueOfCenter_apply (hw : w.restrict F = v) (c : integralClosureAt F' v) :
    residueOfCenter hw c = IsLocalRing.residue w.toValuationSubring
      (toValuationSubringOfRestrictEq hw c)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.ker_residueOfCenter
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
theorem ker_residueOfCenter (hw : w.restrict F = v) :
    RingHom.ker (residueOfCenter hw) = (fiberCenter F' v hw).asIdeal
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.surjective_residueOfCenter
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
theorem surjective_residueOfCenter (hw : w.restrict F = v) :
    Function.Surjective (residueOfCenter hw)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.residueFieldEquivQuotientCenter

Identify the quotient at the fibre center with the residue field above it.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
def residueFieldEquivQuotientCenter (hw : w.restrict F = v) :
    integralClosureAt F' v ⧸ (fiberCenter F' v hw).asIdeal ≃+* w.ResidueField
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.placeCongrEquiv

Transport valuation subrings along equality of places.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
def placeCongrEquiv {u u' : Place K F} (h : u = u') :
    u.toValuationSubring ≃+* u'.toValuationSubring where
  toFun x := ⟨x.1, h ▸ x.2⟩
  invFun x := ⟨x.1, h.symm ▸ x.2⟩
  left_inv _ := rfl
  right_inv _ := rfl
  map_mul' _ _ := rfl
  map_add' _ _ := rfl
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.restrictResidueFieldEquiv

Identify residue fields using equality of a restricted place with the base place.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
def restrictResidueFieldEquiv (hw : w.restrict F = v) :
    (w.restrict F).ResidueField ≃+* IsLocalRing.ResidueField v.toValuationSubring
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.inertiaDeg_eq_inertiaDeg_fiberCenter
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section ResidueDictionary
variable {v : Place K F} {w : Place K F'}
theorem inertiaDeg_eq_inertiaDeg_fiberCenter (hw : w.restrict F = v) :
    w.inertiaDeg F =
      (fiberCenter F' v hw).asIdeal.inertiaDeg v.toValuationSubring
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.sum_ramificationIndex_mul_inertiaDeg
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
  [FiniteDimensional F F'] [Algebra.IsSeparable F F']
attribute [local instance 0] valuationSubringAlgebra
section Assembly
variable (v : Place K F)
theorem sum_ramificationIndex_mul_inertiaDeg [HasPrincipalDivisors K F'] :
    ∑ w ∈ v.fiber F', (w.ramificationIndex F : ℤ) * (w.inertiaDeg F : ℤ)
      = (Module.finrank F F' : ℤ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.instSumRamificationInertia
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
instance instSumRamificationInertia {K F F' : Type*} [Field K] [Field F] [Field F']
    [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
    [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [HasPrincipalDivisors K F'] :
    SumRamificationInertia K F F'
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff

A Taylor coefficient in the completed valuation subring for the chosen residue section.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def aCoeff (v : Place K F) (S : Lg37CompletionSection v)
    (n : ℕ) (x : lg37_completion v) : v.ResidueField
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a103T2.mp72a103_t2_evalDepth_of_uniformizer_mul
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace Mp72a103T2
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Mp72a102T3
open Mp72a102T2
section Calculus
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a103_t2_evalDepth_of_uniformizer_mul (v : Place K F) {n : ℕ}
    {z : lg37_completion v}
    (h : AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) (n + 1)
        (algebraMap v.toValuationSubring (lg37_completion v)
            v.uniformizerSubring * z) = 0) :
    AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n z = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a103T2.mp72a103_t2_lift_eq_zero_of_depth_one
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace Mp72a103T2
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Mp72a102T3
open Mp72a102T2
section Calculus
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a103_t2_lift_eq_zero_of_depth_one (v : Place K F)
    (S : Lg37CompletionSection v) {c : v.ResidueField}
    (h : AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) 1 (S.lift c) = 0) :
    c = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a103T2.mp72a103_t2_taylor_coeff_eq_zero_of_depth
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.IsLocalRing
open _root_.Polynomial
open scoped _root_.Polynomial
namespace Mp72a103T2
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open ModularCurve.Lg37 ModularCurve.Mp72a102T3
open Mp72a102T2
section Calculus
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mp72a103_t2_taylor_coeff_eq_zero_of_depth (v : Place K F)
    (S : Lg37CompletionSection v) :
    ∀ (n : ℕ) (a : ℕ → v.ResidueField),
      AdicCompletion.evalₐ (maximalIdeal v.toValuationSubring) n
        (∑ i ∈ Finset.range n, S.lift (a i)
          * algebraMap v.toValuationSubring (lg37_completion v)
              v.uniformizerSubring ^ i) = 0 →
      ∀ i < n, a i = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.Place.eq_algebraMap_of_forall_ord_nonneg
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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 [HasPrincipalDivisors K F]
theorem eq_algebraMap_of_forall_ord_nonneg (v₀ : Place K F) (hrat : v₀.IsRational)
    (hdeg : v₀.deg ≠ 0) {g : F} (hg : g ≠ 0) (hord : ∀ v : Place K F, 0 ≤ v.ord g) :
    ∃ c : K, g = algebraMap K F c
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.constantsAreBase_of_exists_isRational
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem constantsAreBase_of_exists_isRational [HasPrincipalDivisors K F]
    (v₀ : Place K F) (hrat : v₀.IsRational) (hdeg : v₀.deg ≠ 0) :
    ConstantsAreBase K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.constantsAreBase_of_deg_eq_one
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem constantsAreBase_of_deg_eq_one [HasPrincipalDivisors K F]
    (v₀ : Place K F) (hdeg : v₀.deg = 1) :
    ConstantsAreBase K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Submodule.nestedComapMapMkQEquiv

Identify the nested quotient image with the corresponding quotient of the middle submodule.

Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace Submodule
open _root_.Submodule
open _root_.Submodule
variable {K X : Type*} [Field K] [AddCommGroup X] [Module K X]
def nestedComapMapMkQEquiv {A B C : Submodule K X} (_hAB : A ≤ B) (hBC : B ≤ C) :
    ((B.comap C.subtype).map (A.comap C.subtype).mkQ : Submodule K _)
      ≃ₗ[K] B ⧸ A.comap B.subtype
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Submodule.finrank_quotient_chain
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace Submodule
open _root_.Submodule
open _root_.Submodule
variable {K X : Type*} [Field K] [AddCommGroup X] [Module K X]
theorem finrank_quotient_chain {A B C : Submodule K X} (hAB : A ≤ B) (hBC : B ≤ C)
    [hCB : Module.Finite K (C ⧸ B.comap C.subtype)]
    [hBA : Module.Finite K (B ⧸ A.comap B.subtype)] :
    Module.Finite K (C ⧸ A.comap C.subtype) ∧
      finrank K (C ⧸ A.comap C.subtype)
        = finrank K (C ⧸ B.comap C.subtype) + finrank K (B ⧸ A.comap B.subtype)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.adeleBddQuotSingleEquivResidueField

Identify the one-place bounded adele quotient with the residue field at that place.

Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def adeleBddQuotSingleEquivResidueField (D : Divisor K F) (P : Place K F) :
    (adeleBdd D ⧸ (adeleBdd (D - Finsupp.single P 1)).comap (adeleBdd D).subtype)
      ≃ₗ[K] P.ResidueField
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.finrank_adeleBdd_quotient_single
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem finrank_adeleBdd_quotient_single [IsCurveOver K F] (D : Divisor K F) (P : Place K F) :
    Module.Finite K
        (adeleBdd D ⧸ (adeleBdd (D - Finsupp.single P 1)).comap (adeleBdd D).subtype) ∧
      finrank K
          (adeleBdd D ⧸ (adeleBdd (D - Finsupp.single P 1)).comap (adeleBdd D).subtype)
        = P.deg
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.finrank_adeleBdd_quotient
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem finrank_adeleBdd_quotient [IsCurveOver K F] {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂) :
    Module.Finite K (adeleBdd D₂ ⧸ (adeleBdd D₁).comap (adeleBdd D₂).subtype) ∧
      (finrank K (adeleBdd D₂ ⧸ (adeleBdd D₁).comap (adeleBdd D₂).subtype) : ℤ)
        = Divisor.degree D₂ - Divisor.degree D₁
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.module_finite_adeleBdd_quotient
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem module_finite_adeleBdd_quotient [IsCurveOver K F] {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂) :
    Module.Finite K (adeleBdd D₂ ⧸ (adeleBdd D₁).comap (adeleBdd D₂).subtype)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.finrank_adeleBdd_quotient_eq
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem finrank_adeleBdd_quotient_eq [IsCurveOver K F] {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂) :
    (finrank K (adeleBdd D₂ ⧸ (adeleBdd D₁).comap (adeleBdd D₂).subtype) : ℤ)
      = Divisor.degree D₂ - Divisor.degree D₁
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.lSpaceQuotientToAdeleBddQuotient

The map induced by the diagonal function embedding between the Riemann-Roch and bounded adele quotients.

Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def lSpaceQuotientToAdeleBddQuotient {D₁ D₂ : Divisor K F} (_hD : D₁ ≤ D₂) :
    (LSpace D₂ ⧸ (LSpace D₁).comap (LSpace D₂).subtype)
      →ₗ[K] (adeleBdd D₂ ⧸ (adeleBdd D₁).comap (adeleBdd D₂).subtype)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.lSpaceQuotientToAdeleBddQuotient_injective
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem lSpaceQuotientToAdeleBddQuotient_injective {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂) :
    Function.Injective (lSpaceQuotientToAdeleBddQuotient hD)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.ell_sub_ell_le_degree_sub_degree
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem ell_sub_ell_le_degree_sub_degree [IsCurveOver K F] {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂)
    [FiniteDimensional K (LSpace D₂)] :
    (ell D₂ : ℤ) - (ell D₁ : ℤ) ≤ Divisor.degree D₂ - Divisor.degree D₁
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.adeleBdd_inf_sup_globalSub
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem adeleBdd_inf_sup_globalSub {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂) :
    adeleBdd D₂ ⊓ (adeleBdd D₁ ⊔ globalSub K F)
      = adeleBdd D₁ ⊔ adeleBdd D₂ ⊓ globalSub K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilDualityAdelic_of_residueRows
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F)
theorem weilDualityAdelic_of_residueRows (hΩℓ : WeilOmegaEllAgrees K F) :
    WeilDualityAdelic K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Submodule.comap_subtype_sup_of_le_of_le
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace Submodule
open _root_.Submodule
open _root_.Submodule
variable {K X : Type*} [Field K] [AddCommGroup X] [Module K X]
theorem comap_subtype_sup_of_le_of_le {S T C : Submodule K X} (hS : S ≤ C) (hT : T ≤ C) :
    S.comap C.subtype ⊔ T.comap C.subtype = (S ⊔ T).comap C.subtype
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.globalSub_le_adeleSpace
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem globalSub_le_adeleSpace [HasPrincipalDivisors K F] :
    globalSub K F ≤ adeleSpace K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.adeleBdd_sup_globalSub_le_adeleSpace
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem adeleBdd_sup_globalSub_le_adeleSpace [HasPrincipalDivisors K F] (D : Divisor K F) :
    adeleBdd D ⊔ globalSub K F ≤ adeleSpace K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.adeleBddPrincipal_eq_comap
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem adeleBddPrincipal_eq_comap [HasPrincipalDivisors K F] (D : Divisor K F) :
    adeleBddPrincipal K F D = (adeleBdd D ⊔ globalSub K F).comap (adeleSpace K F).subtype
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.finiteDimensional_lSpace
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section FiniteLSpace
variable [IsCurveOver K F] [Nonempty (Place K F)]
omit [Nonempty (Place K F)] in
theorem finiteDimensional_lSpace [hL0 : FiniteDimensional K (LSpace (0 : Divisor K F))]
    (D : Divisor K F) : FiniteDimensional K (LSpace D)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.range_lSpaceQuotientToAdeleBddQuotient
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem range_lSpaceQuotientToAdeleBddQuotient {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂) :
    LinearMap.range (lSpaceQuotientToAdeleBddQuotient hD)
      = ((adeleBdd D₁ ⊔ globalSub K F).comap (adeleBdd D₂).subtype).map
          ((adeleBdd D₁).comap (adeleBdd D₂).subtype).mkQ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.finrank_adeleBddSup_quotient
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem finrank_adeleBddSup_quotient [IsCurveOver K F] [Nonempty (Place K F)]
    {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂) [hL : FiniteDimensional K (LSpace D₂)] :
    Module.Finite K (↥(adeleBdd D₂ ⊔ globalSub K F)
        ⧸ (adeleBdd D₁ ⊔ globalSub K F).comap (adeleBdd D₂ ⊔ globalSub K F).subtype) ∧
      (finrank K (↥(adeleBdd D₂ ⊔ globalSub K F)
          ⧸ (adeleBdd D₁ ⊔ globalSub K F).comap (adeleBdd D₂ ⊔ globalSub K F).subtype) : ℤ)
        = (Divisor.degree D₂ - ell D₂) - (Divisor.degree D₁ - ell D₁)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.adeleBddSup_eq_of_degree_sub_ell_eq
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section Index
variable [IsCurveOver K F] [Nonempty (Place K F)]
theorem adeleBddSup_eq_of_degree_sub_ell_eq {D₁ D₂ : Divisor K F} (hD : D₁ ≤ D₂)
    [FiniteDimensional K (LSpace D₂)]
    (heq : Divisor.degree D₂ - ell D₂ = Divisor.degree D₁ - ell D₁) :
    adeleBdd D₂ ⊔ globalSub K F = adeleBdd D₁ ⊔ globalSub K F
AlgebraicCurve.RiemannGenusReachedAt.eq_of_ge
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace RiemannGenusReachedAt
open scoped _root_.AlgebraicCurve.RiemannGenusReachedAt in
theorem _root_.AlgebraicCurve.RiemannGenusReachedAt.eq_of_ge [IsCurveOver K F] [Nonempty
    (Place K F)]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀)
    {D : Divisor K F} (hD : D₀ ≤ D) :
    Divisor.degree D - ell D = γ - 1
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.adeleSpace_eq_of_genusReached
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open _root_.AlgebraicCurve
theorem adeleSpace_eq_of_genusReached [IsCurveOver K F] [Nonempty (Place K F)]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀) :
    adeleSpace K F = adeleBdd D₀ ⊔ globalSub K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.indexOfSpecialty_eq_of_genusReached
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open _root_.AlgebraicCurve
theorem indexOfSpecialty_eq_of_genusReached [IsCurveOver K F] [Nonempty (Place K F)]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀) (D : Divisor K F) :
    Module.Finite K (adeleSpace K F ⧸ adeleBddPrincipal K F D) ∧
      (indexOfSpecialty D : ℤ) = (ell D : ℤ) - (Divisor.degree D + 1 - γ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.riemannIndexFormula_of_genusReached
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open _root_.AlgebraicCurve
theorem riemannIndexFormula_of_genusReached
    (hg : ∀ [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)],
      RiemannGenusReached K F (genus K F)) :
    RiemannIndexFormula K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.gate_riemannInequality_of_genusReached
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open _root_.AlgebraicCurve
theorem gate_riemannInequality_of_genusReached [IsCurveOver K F] [Nonempty (Place K F)]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀) (D : Divisor K F) :
    Divisor.degree D + 1 - γ ≤ (ell D : ℤ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.adeleSpaceMul_add
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem adeleSpaceMul_add [HasPrincipalDivisors K F] (f g : F) :
    adeleSpaceMul K F (f + g) = adeleSpaceMul K F f + adeleSpaceMul K F g
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.adeleSpaceMul_zero
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem adeleSpaceMul_zero [HasPrincipalDivisors K F] :
    adeleSpaceMul K F (0 : F) = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilSmul_add_left
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem weilSmul_add_left [HasPrincipalDivisors K F] (f g : F)
    (φ : Module.Dual K (adeleSpace K F)) :
    weilSmul K F (f + g) φ = weilSmul K F f φ + weilSmul K F g φ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilSmul_zero_left
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem weilSmul_zero_left [HasPrincipalDivisors K F]
    (φ : Module.Dual K (adeleSpace K F)) :
    weilSmul K F (0 : F) φ = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilSmul_neg_left
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem weilSmul_neg_left [HasPrincipalDivisors K F] (f : F)
    (φ : Module.Dual K (adeleSpace K F)) :
    weilSmul K F (-f) φ = -weilSmul K F f φ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilSmul_sub_left
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem weilSmul_sub_left [HasPrincipalDivisors K F] (f g : F)
    (φ : Module.Dual K (adeleSpace K F)) :
    weilSmul K F (f - g) φ = weilSmul K F f φ - weilSmul K F g φ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilSmul_eq_zero_iff_left
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem weilSmul_eq_zero_iff_left [HasPrincipalDivisors K F]
    {f : F} {φ : Module.Dual K (adeleSpace K F)} (hφ : φ ≠ 0) :
    weilSmul K F f φ = 0 ↔ f = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilSmul_left_injective
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem weilSmul_left_injective [HasPrincipalDivisors K F]
    {φ : Module.Dual K (adeleSpace K F)} (hφ : φ ≠ 0) :
    Function.Injective (fun f : F => weilSmul K F f φ) := by
  intro f g hfg
  have hsub : weilSmul K F (f - g) φ = 0 := by
    rw [weilSmul_sub_left, sub_eq_zero]; exact hfg
  exact sub_eq_zero.mp ((weilSmul_eq_zero_iff_left hφ).mp hsub)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.doubleResiduePairing

The sum of the two residue pairings on the product of the corresponding Riemann-Roch spaces.

Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
def doubleResiduePairing [HasPrincipalDivisors K F] (W D : Divisor K F)
    {φ μ : Module.Dual K (adeleSpace K F)}
    (hφ : φ ∈ omegaSpace W) (hμ : μ ∈ omegaSpace W) :
    LSpace (W - D) × LSpace (W - D) →ₗ[K] omegaSpace D
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.doubleResiduePairing_apply_coe
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem doubleResiduePairing_apply_coe [HasPrincipalDivisors K F] (W D : Divisor K F)
    {φ μ : Module.Dual K (adeleSpace K F)}
    (hφ : φ ∈ omegaSpace W) (hμ : μ ∈ omegaSpace W) (g h : LSpace (W - D)) :
    (doubleResiduePairing K F W D hφ hμ (g, h) : Module.Dual K (adeleSpace K F))
      = weilSmul K F (g : F) φ + weilSmul K F (h : F) μ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.doubleResiduePairing_injective
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem doubleResiduePairing_injective [HasPrincipalDivisors K F] (W D : Divisor K F)
    {φ μ : Module.Dual K (adeleSpace K F)}
    (hφ : φ ∈ omegaSpace W) (hμ : μ ∈ omegaSpace W)
    (hφ0 : φ ≠ 0) (hindep : ∀ f : F, μ ≠ weilSmul K F f φ) :
    Function.Injective (doubleResiduePairing K F W D hφ hμ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.two_mul_ell_le_indexOfSpecialty
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem two_mul_ell_le_indexOfSpecialty [HasPrincipalDivisors K F] (W D : Divisor K F)
    {φ μ : Module.Dual K (adeleSpace K F)}
    (hφ : φ ∈ omegaSpace W) (hμ : μ ∈ omegaSpace W)
    (hφ0 : φ ≠ 0) (hindep : ∀ f : F, μ ≠ weilSmul K F f φ)
    [Module.Finite K (omegaSpace (K := K) (F := F) D)]
    [Module.Finite K (LSpace (K := K) (F := F) (W - D))] :
    2 * ell (W - D) ≤ indexOfSpecialty D
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.degree_add_one_sub_genus_le_ell_of_riemannIndexFormula
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem degree_add_one_sub_genus_le_ell_of_riemannIndexFormula
    [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
    (hRI : RiemannIndexFormula K F) (D : Divisor K F) :
    Divisor.degree D + 1 - (genus K F : ℤ) ≤ (ell D : ℤ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.omegaSpace_finite_of_riemannIndexFormula
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem omegaSpace_finite_of_riemannIndexFormula
    [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
    (hRI : RiemannIndexFormula K F) {D : Divisor K F}
    (hpos : 0 < (ell D : ℤ) - Divisor.degree D - 1 + (genus K F : ℤ)) :
    Module.Finite K (omegaSpace (K := K) (F := F) D)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.lSpace_finite_of_riemannIndexFormula
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem lSpace_finite_of_riemannIndexFormula
    [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
    (hRI : RiemannIndexFormula K F) {D : Divisor K F}
    (hpos : 0 < Divisor.degree D + 1 - (genus K F : ℤ)) :
    Module.Finite K (LSpace (K := K) (F := F) D)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.exists_weilSmul_eq_of_riemannIndexFormula
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem exists_weilSmul_eq_of_riemannIndexFormula
    [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)] [Nonempty (Place K F)]
    (hRI : RiemannIndexFormula K F)
    {φ μ : Module.Dual K (adeleSpace K F)} {W : Divisor K F}
    (hφ : φ ∈ omegaSpace W) (hμ : μ ∈ omegaSpace W) (hφ0 : φ ≠ 0) :
    ∃ f : F, μ = weilSmul K F f φ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilDifferentialRankOne_of_riemannIndexFormula
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem weilDifferentialRankOne_of_riemannIndexFormula
    [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)] [Nonempty (Place K F)]
    (hRI : RiemannIndexFormula K F) :
    WeilDifferentialRankOne K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.ResiduePairingSurjective

Surjectivity of the residue pairing for a nonzero differential functional with maximal divisor.

Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
  [Nontrivial Ω[F⁄K]]
variable (K F)
variable {K F}
variable (K F)
variable {K F}
variable (K F)
def ResiduePairingSurjective : Prop
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.omegaSpace_finite_of_genusReached
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section Finiteness
variable [IsCurveOver K F] [Nonempty (Place K F)]
  [FiniteDimensional K (LSpace (0 : Divisor K F))]
theorem omegaSpace_finite_of_genusReached
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀) (D : Divisor K F) :
    Module.Finite K (omegaSpace (K := K) (F := F) D)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.exists_weilSmul_eq_of_genusReached
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section ParametricRankOne
variable [IsCurveOver K F] [Nonempty (Place K F)]
  [FiniteDimensional K (LSpace (0 : Divisor K F))]
theorem exists_weilSmul_eq_of_genusReached
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀)
    {φ μ : Module.Dual K (adeleSpace K F)} {W : Divisor K F}
    (hφ : φ ∈ omegaSpace W) (hμ : μ ∈ omegaSpace W) (hφ0 : φ ≠ 0) :
    ∃ f : F, μ = weilSmul K F f φ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilDifferentialRankOne_of_genusReached
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section ParametricRankOne
variable [IsCurveOver K F] [Nonempty (Place K F)]
  [FiniteDimensional K (LSpace (0 : Divisor K F))]
theorem weilDifferentialRankOne_of_genusReached
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀) :
    WeilDifferentialRankOne K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.residuePairing_surjective_of_rankOne_max
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem residuePairing_surjective_of_rankOne_max [HasPrincipalDivisors K F]
    (hRankOne : WeilDifferentialRankOne K F)
    {W : Divisor K F} {φ : Module.Dual K (adeleSpace K F)}
    (hφ : φ ∈ omegaSpace W) (hφ0 : φ ≠ 0)
    (hWmax : ∀ E : Divisor K F, φ ∈ omegaSpace E → E ≤ W) (D : Divisor K F) :
    Function.Surjective (residuePairing K F W D hφ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.stichtenothGenus_nonneg
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section Identification
variable [IsCurveOver K F] [Nonempty (Place K F)]
  [FiniteDimensional K (LSpace (0 : Divisor K F))]
  [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
  [HasCanonicalLocalResidueKStar K F]
omit [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
  [HasCanonicalLocalResidueKStar K F] in
theorem stichtenothGenus_nonneg
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀)
    (hC : ConstantsAreBase K F) : 0 ≤ γ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.genus_eq_degree_div
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section Identification
variable [IsCurveOver K F] [Nonempty (Place K F)]
  [FiniteDimensional K (LSpace (0 : Divisor K F))]
  [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
  [HasCanonicalLocalResidueKStar K F]
omit [Nonempty (Place K F)] [FiniteDimensional K (LSpace (0 : Divisor K F))]
  [∀ v : Place K F, v.DCoordGenerates] [HasCanonicalLocalResidueKStar K F] in
theorem genus_eq_degree_div :
    ∃ (ω₀ : Ω[F⁄K]) (hω₀ : ω₀ ≠ 0),
      genus K F = (Divisor.degree (canonicalDivisorOf hω₀) + 2).toNat / 2
AlgebraicCurve.Place.uniformizer_pow_inv_mem_poleSubmodule_self
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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.uniformizer_pow_inv_mem_poleSubmodule_self (m : ℕ) :
    (v.uniformizer ^ (m + 2))⁻¹ ∈ v.poleSubmodule (m + 2)
AlgebraicCurve.Place.higherPoleMonomial_sum_mem_poleSubmodule
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.higherPoleMonomial_sum_mem_poleSubmodule {s : Finset
    ℕ} {N : ℕ}
    (hs : ∀ m ∈ s, m < N) (c : ℕ → K) :
    ∑ m ∈ s, c m • (v.uniformizer ^ (m + 2))⁻¹ ∈ v.poleSubmodule (N + 1)
AlgebraicCurve.Place.higherPoleMonomial_coeff_eq_zero_of_mem
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.higherPoleMonomial_coeff_eq_zero_of_mem (s : Finset ℕ)
    (c : ℕ → K)
    (hmem : ∑ m ∈ s, c m • (v.uniformizer ^ (m + 2))⁻¹ ∈ v.poleSubmodule 1) :
    ∀ m ∈ s, c m = 0
AlgebraicCurve.Place.linearIndependent_higherPoleMonomial_mkQ
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.linearIndependent_higherPoleMonomial_mkQ :
    LinearIndependent K
      (fun m : ℕ => (v.poleSubmodule 1).mkQ ((v.uniformizer ^ (m + 2))⁻¹)) := by
  rw [linearIndependent_iff']
  intro s c hsum m hm
  refine v.higherPoleMonomial_coeff_eq_zero_of_mem s c ?_ m hm
  have h := hsum
  simp only [← map_smul, ← map_sum] at h
  rwa [Submodule.mkQ_apply, Submodule.Quotient.mk_eq_zero] at h
AlgebraicCurve.Place.higherPoleCorrectionAux
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.higherPoleCorrectionAux :
    Submodule.span K
        (Set.range fun m : ℕ => (v.poleSubmodule 1).mkQ ((v.uniformizer ^ (m + 2))⁻¹))
      →ₗ[K] v.ResidueField :=
  (Basis.span v.linearIndependent_higherPoleMonomial_mkQ).constr K
    (fun m => v.localResidueExtend ((v.uniformizer ^ (m + 2))⁻¹))
AlgebraicCurve.Place.higherPoleCorrection
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.higherPoleCorrection : F →ₗ[K] v.ResidueField
AlgebraicCurve.Place.higherPoleCorrection_apply_of_mem
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.higherPoleCorrection_apply_of_mem {f : F} (hf : f ∈
    v.poleSubmodule 1) :
    v.higherPoleCorrection f = 0
AlgebraicCurve.Place.higherPoleCorrection_uniformizer_pow_inv
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.higherPoleCorrection_uniformizer_pow_inv (m : ℕ) :
    v.higherPoleCorrection ((v.uniformizer ^ (m + 2))⁻¹)
      = v.localResidueExtend ((v.uniformizer ^ (m + 2))⁻¹)
AlgebraicCurve.Place.canonicalLocalResidueDataKOfExtend
Source context 32 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.canonicalLocalResidueDataKOfExtend :
    v.CanonicalLocalResidueDataK where
  res := v.localResidueExtend - v.higherPoleCorrection
  res_of_mem f hf := by
    have h1 : f ∈ v.poleSubmodule 1 :=
      v.poleSubmodule_one ▸ v.mem_simplePoleSubmodule_of_mem hf
    rw [LinearMap.sub_apply, v.higherPoleCorrection_apply_of_mem h1, sub_zero,
      v.localResidueExtend_apply_of_mem (v.mem_simplePoleSubmodule_of_mem hf),
      v.simplePoleResidueAux_eq_zero_of_mem hf]
  res_simplePole f hf := by
    have h1 : f ∈ v.poleSubmodule 1 := v.poleSubmodule_one ▸ hf
    rw [LinearMap.sub_apply, v.higherPoleCorrection_apply_of_mem h1, sub_zero,
      v.localResidueExtend_apply_of_mem hf, simplePoleResidueAux_apply]
  res_higherPoleMonomial n hn := by
    obtain ⟨m, rfl⟩ := Nat.exists_eq_add_of_le hn
    rw [show 1 + m + 1 = m + 2 from by omega, LinearMap.sub_apply,
      v.higherPoleCorrection_uniformizer_pow_inv m, sub_self]
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_zero
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem aCoeff_zero (v : Place K F) (S : Lg37CompletionSection v)
    (x : lg37_completion v) :
    aCoeff v S 0 x = lg37_residueHat v x
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_add
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem aCoeff_add (v : Place K F) (S : Lg37CompletionSection v) (m : ℕ)
    (x y : lg37_completion v) :
    aCoeff v S m (x + y) = aCoeff v S m x + aCoeff v S m y
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_smul
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem aCoeff_smul (v : Place K F) (S : Lg37CompletionSection v) (m : ℕ) (c : K)
    (x : lg37_completion v) :
    aCoeff v S m (algebraMap K (lg37_completion v) c * x)
      = algebraMap K v.ResidueField c * aCoeff v S m x
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_shift
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem aCoeff_shift (v : Place K F) (S : Lg37CompletionSection v) (n : ℕ)
    (x : lg37_completion v) :
    aCoeff v S (n + 1)
        (algebraMap v.toValuationSubring (lg37_completion v) v.uniformizerSubring * x)
      = aCoeff v S n x
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_shift_pow
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem aCoeff_shift_pow (v : Place K F) (S : Lg37CompletionSection v) (n k : ℕ)
    (x : lg37_completion v) :
    aCoeff v S (n + k)
        ((algebraMap v.toValuationSubring (lg37_completion v) v.uniformizerSubring) ^ k
          * x)
      = aCoeff v S n x
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_one_eq_zero
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem aCoeff_one_eq_zero (v : Place K F) (S : Lg37CompletionSection v)
    {n : ℕ} (hn : 1 ≤ n) : aCoeff v S n 1 = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.clearPow_mem
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem clearPow_mem (v : Place K F) (f : F) {N : ℕ} (hN : (-v.ord f).toNat ≤ N) :
    v.uniformizer ^ (N + 1) * f ∈ v.toValuationSubring
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.clearedHat

Embed a function in the completion after clearing its pole with a uniformizer power.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def clearedHat (v : Place K F) (f : F) {N : ℕ} (hN : (-v.ord f).toNat ≤ N) :
    lg37_completion v
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar

The residue coefficient extracted from the pole-cleared completed function.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def resStar (v : Place K F) (S : Lg37CompletionSection v) (f : F) :
    v.ResidueField
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_clearedHat_of_le
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem aCoeff_clearedHat_of_le (v : Place K F) (S : Lg37CompletionSection v) (f : F)
    {N : ℕ} (hN : (-v.ord f).toNat ≤ N) :
    aCoeff v S N (clearedHat v f hN) = resStar v S f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_add
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem resStar_add (v : Place K F) (S : Lg37CompletionSection v) (f g : F) :
    resStar v S (f + g) = resStar v S f + resStar v S g
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_smul
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem resStar_smul (v : Place K F) (S : Lg37CompletionSection v) (c : K) (f : F) :
    resStar v S (c • f) = c • resStar v S f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.resStarₗ

The residue coefficient map as a linear map over the base field.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def resStarₗ (v : Place K F) (S : Lg37CompletionSection v) :
    F →ₗ[K] v.ResidueField where
  toFun := resStar v S
  map_add' := resStar_add v S
  map_smul' c f := by rw [RingHom.id_apply]; exact resStar_smul v S c f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_simplePole
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem resStar_simplePole (v : Place K F) (S : Lg37CompletionSection v) (f : F)
    (hf : v.uniformizer * f ∈ v.toValuationSubring) :
    resStar v S f = IsLocalRing.residue _ ⟨v.uniformizer * f, hf⟩
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_of_mem
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem resStar_of_mem (v : Place K F) (S : Lg37CompletionSection v) {f : F}
    (hf : f ∈ v.toValuationSubring) : resStar v S f = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_higherPoleMonomial
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem resStar_higherPoleMonomial (v : Place K F) (S : Lg37CompletionSection v)
    {n : ℕ} (hn : 1 ≤ n) : resStar v S (v.uniformizer ^ (n + 1))⁻¹ = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.KwNo6Pin.canonicalLocalResidueDataKStar

Canonical local residue data constructed from the completed residue section.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.Mp72a102T3 Mp72a103T2 Mp72a102T1
open ModularCurve.KwNo6Section
namespace ModularCurve
namespace KwNo6Pin
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
def canonicalLocalResidueDataKStar (v : Place K F)
    (S : Lg37CompletionSection v) : v.CanonicalLocalResidueDataK where
  res := resStarₗ v S
  res_of_mem _f hf := resStar_of_mem v S hf
  res_simplePole f hf := resStar_simplePole v S f hf
  res_higherPoleMonomial _n hn := resStar_higherPoleMonomial v S hn
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.mem_lSpace_of_weilSmul_mem_omegaSpace
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mem_lSpace_of_weilSmul_mem_omegaSpace [HasPrincipalDivisors K F]
    {W D : Divisor K F} {φ : Module.Dual K (adeleSpace K F)}
    (hWmax : ∀ E : Divisor K F, φ ∈ omegaSpace E → E ≤ W)
    {f : F} (hfφ : weilSmul K F f φ ∈ omegaSpace D) :
    f ∈ LSpace (W - D)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.residuePairing_surjective
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem residuePairing_surjective [HasPrincipalDivisors K F]
    (hRk1 : WeilDifferentialRankOne K F) (W D : Divisor K F)
    {φ : Module.Dual K (adeleSpace K F)} (hφ : φ ∈ omegaSpace W) (hφ0 : φ ≠ 0)
    (hWmax : ∀ E : Divisor K F, φ ∈ omegaSpace E → E ≤ W) :
    Function.Surjective (residuePairing K F W D hφ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.residuePairingSurjective_of_weilDifferentialRankOne
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem residuePairingSurjective_of_weilDifferentialRankOne [HasPrincipalDivisors K F]
    (hRk1 : WeilDifferentialRankOne K F) : ResiduePairingSurjective K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.residuePairingSurjective_of_riemannIndexFormula
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem residuePairingSurjective_of_riemannIndexFormula
    [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)] [Nonempty (Place K F)]
    (hRI : RiemannIndexFormula K F) : ResiduePairingSurjective K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.weilOfKaehlerK_mem_omegaSpace_of_residueTheoremK
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
section CanonicalKResidueTerm
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section SupportMachinery
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
variable (K F)
variable {K F}
omit [HasCanonicalLocalResidueKStar K F] in
theorem weilOfKaehlerK_mem_omegaSpace_of_residueTheoremK [HasPrincipalDivisors K F]
    (hRT : ResidueTheoremK K F) (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) :
    weilOfKaehlerK Rfam hω ∈ omegaSpace (canonicalDivisorOf hω)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.simplePoleProbe

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

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.simplePoleProbe_mem_adeleBdd
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.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 _root_.AlgebraicCurves.Cohomology.RiemannRoch.Proofs in
open scoped _root_.Classical FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.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
AlgebraicCurve.Place.exists_trace_residue_ne_zero
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace Place
open scoped _root_.AlgebraicCurve.Place in
theorem _root_.AlgebraicCurve.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.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.exists_riemannGenusReachedAt_of_bounded
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem exists_riemannGenusReachedAt_of_bounded
    [IsCurveOver K F] [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (hbdd : RiemannGenusBounded K F) :
    ∃ (γ : ℤ) (D₀ : Divisor K F), RiemannGenusReachedAt γ D₀
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.stichtenothGenusExists_of_bounded
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem stichtenothGenusExists_of_bounded
    [IsCurveOver K F] [Nonempty (Place K F)]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (hbdd : RiemannGenusBounded K F) :
    StichtenothGenusExists K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.completionSection_nonempty_generic
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.IsLocalRing
open _root_.AlgebraicCurve
open ModularCurve.Lg37 ModularCurve.KwNo6Section ModularCurve.KwNo6Pin
open Mp72a102T1
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem completionSection_nonempty_generic (v : Place K F)
    [FiniteDimensional K v.ResidueField] [Algebra.IsSeparable K v.ResidueField] :
    Nonempty (Lg37CompletionSection v)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.mul_mem_lSpace_add
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem mul_mem_lSpace_add {D E : Divisor K F} {f g : F}
    (hf : f ∈ LSpace D) (hg : g ∈ LSpace E) :
    f * g ∈ LSpace (D + E)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.pow_mem_lSpace_nsmul
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem pow_mem_lSpace_nsmul {B : Divisor K F} {f : F} (hf : f ∈ LSpace B) (j : ℕ) :
    f ^ j ∈ LSpace (j • B)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.PoleDivisorPackage

A function with a controlled effective pole divisor and a family independent over its powers.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
structure PoleDivisorPackage (K F : Type*) [Field K] [Field F] [Algebra K F] where
  /-- The function whose powers generate the prescribed independent family. -/
  x : F
  /-- The divisor bounding the poles of the chosen function. -/
  B : Divisor K F
  /-- The pole bound divisor is effective. -/
  hB_eff : 0 ≤ B
  /-- The function belongs to the Riemann-Roch space of its pole bound. -/
  hx_mem : x ∈ LSpace B
  /-- The degree of the pole bound divisor. -/
  n : ℕ
  /-- The degree of the pole bound divisor is positive. -/
  hn_pos : 0 < n
  /-- The degree of the pole bound divisor equals the chosen natural number. -/
  degB_eq : Divisor.degree B = n
  /-- The common multiple of the pole divisor bounding the auxiliary family. -/
  c : ℕ
  /-- The auxiliary family of functions. -/
  u : Fin n → F
  /-- Each auxiliary function lies in the common bounded Riemann-Roch space. -/
  hu_mem : ∀ i, u i ∈ LSpace (c • B)
  /-- The products of coordinate powers with the auxiliary family are linearly independent. -/
  lin_indep : LinearIndependent K (fun p : ℕ × Fin n => x ^ p.1 * u p.2)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.HasPoleDivisorPackage

Existence of a function and independent family with the specified pole divisor bounds.

Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
def HasPoleDivisorPackage : Prop
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.PoleDivisorPackage.pow_mul_u_mem_lSpace
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
namespace PoleDivisorPackage
variable (P : PoleDivisorPackage K F)
theorem pow_mul_u_mem_lSpace (j : ℕ) (i : Fin P.n) :
    P.x ^ j * P.u i ∈ LSpace ((j + P.c) • P.B)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.PoleDivisorPackage.pow_mul_u_mem_lSpace_of_le
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
namespace PoleDivisorPackage
variable (P : PoleDivisorPackage K F)
theorem pow_mul_u_mem_lSpace_of_le {j m : ℕ} (hjm : j + P.c ≤ m) (i : Fin P.n) :
    P.x ^ j * P.u i ∈ LSpace (m • P.B)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.PoleDivisorPackage.ell_nsmul_poleDivisor_ge
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
namespace PoleDivisorPackage
variable (P : PoleDivisorPackage K F)
theorem ell_nsmul_poleDivisor_ge [IsCurveOver K F]
    [FiniteDimensional K (LSpace (0 : Divisor K F))] {m : ℕ} (hm : P.c ≤ m) :
    (P.n : ℤ) * (m - P.c + 1) ≤ ell (m • P.B)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.PoleDivisorPackage.degree_nsmul_sub_ell_le
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
namespace PoleDivisorPackage
variable (P : PoleDivisorPackage K F)
theorem degree_nsmul_sub_ell_le [IsCurveOver K F]
    [FiniteDimensional K (LSpace (0 : Divisor K F))] {m : ℕ} (hm : P.c ≤ m) :
    Divisor.degree (m • P.B) - ell (m • P.B) ≤ (P.n : ℤ) * (P.c - 1)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.PoleDivisorPackage.ell_nsmul_sub_pos
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem PoleDivisorPackage.ell_nsmul_sub_pos [IsCurveOver K F]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (P : PoleDivisorPackage K F) {A : Divisor K F} (hA : 0 ≤ A) {m : ℕ} (hm : P.c ≤ m)
    (hbig : Divisor.degree A < (P.n : ℤ) * (m - P.c + 1)) :
    0 < ell (m • P.B - A)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.PoleDivisorPackage.degree_sub_ell_le
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem PoleDivisorPackage.degree_sub_ell_le [IsCurveOver K F] [Nonempty (Place K F)]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (P : PoleDivisorPackage K F) (D : Divisor K F) :
    Divisor.degree D - ell D ≤ (P.n : ℤ) * (P.c - 1)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.riemannGenusBounded_of_poleDivisorPackage
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem riemannGenusBounded_of_poleDivisorPackage [IsCurveOver K F] [Nonempty (Place K F)]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (P : PoleDivisorPackage K F) :
    RiemannGenusBounded K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.stichtenothGenusExists_of_poleDivisorPackage
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem stichtenothGenusExists_of_poleDivisorPackage [IsCurveOver K F] [Nonempty (Place K F)]
    [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (P : PoleDivisorPackage K F) :
    StichtenothGenusExists K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.stichtenothGenusExists_of_hasPoleDivisorPackage
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable (K F) in
theorem stichtenothGenusExists_of_hasPoleDivisorPackage [IsCurveOver K F]
    [Nonempty (Place K F)] [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (h : HasPoleDivisorPackage K F) :
    StichtenothGenusExists K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower

A transcendental coordinate with a distinguished degree-one pole place and regularity elsewhere.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
structure TranscendenceTower (K E F : Type*) [Field K] [Field E] [Field F]
    [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F] where
  /-- The transcendental coordinate in the intermediate field. -/
  x : E
  /-- The powers of the coordinate are linearly independent over the base field. -/
  hx_indep : LinearIndependent K (fun j : ℕ => x ^ j)
  /-- The distinguished pole place of the coordinate. -/
  v : Place K E
  /-- The distinguished place has degree one. -/
  hvdeg : v.deg = 1
  /-- The coordinate has a simple pole at the distinguished place. -/
  hxv : v.ord x = -1
  /-- The coordinate is regular at every other place. -/
  hxreg : ∀ u : Place K E, u ≠ v → 0 ≤ u.ord x
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.x_ne_zero
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
omit [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F] in
theorem x_ne_zero : T.x ≠ 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.xF

The transcendental coordinate mapped into the extension field.

Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
omit [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F] in
abbrev xF : F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.poleDivisor

The pullback to the extension field of the distinguished pole place.

Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
def poleDivisor : Divisor K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.poleDivisor_apply
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
omit [FiniteDimensional E F] in
theorem poleDivisor_apply (w : Place K F) :
    T.poleDivisor w = (w.ramificationIndex E : ℤ) * (Finsupp.single T.v 1) (w.restrict E)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.poleDivisor_nonneg
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
omit [FiniteDimensional E F] in
theorem poleDivisor_nonneg : 0 ≤ T.poleDivisor
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.xF_mem_lSpace_poleDivisor
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
omit [FiniteDimensional E F] in
theorem xF_mem_lSpace_poleDivisor : T.xF ∈ LSpace T.poleDivisor
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.degree_poleDivisor_eq_finrank
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
theorem degree_poleDivisor_eq_finrank :
    Divisor.degree T.poleDivisor = (Module.finrank E F : ℤ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.mem_lSpace_nsmul_poleDivisor_of_regular_outside
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
omit [FiniteDimensional E F] in
theorem mem_lSpace_nsmul_poleDivisor_of_regular_outside {f : F}
    (hreg : ∀ w : Place K F, w.restrict E ≠ T.v → 0 ≤ w.ord f)
    {c : ℕ} (hc : ∀ w ∈ T.v.fiber F, -(c : ℤ) ≤ w.ord f) :
    f ∈ LSpace (c • T.poleDivisor)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.exists_forall_mem_lSpace_nsmul_poleDivisor
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
namespace TranscendenceTower
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (T : TranscendenceTower K E F)
omit [FiniteDimensional E F] in
theorem exists_forall_mem_lSpace_nsmul_poleDivisor {n : ℕ} (u : Fin n → F)
    (hreg : ∀ i, ∀ w : Place K F, w.restrict E ≠ T.v → 0 ≤ w.ord (u i)) :
    ∃ c : ℕ, ∀ i, u i ∈ LSpace (c • T.poleDivisor)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.IntegralBasisInLSpace

A linearly independent extension-field family lying in a common bounded Riemann-Roch space.

Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
structure IntegralBasisInLSpace (T : TranscendenceTower K E F) where
  /-- The common multiple of the pole divisor bounding the family. -/
  c : ℕ
  /-- The family indexed by the extension-field dimension. -/
  u : Fin (Module.finrank E F) → F
  /-- The family is linearly independent over the intermediate field. -/
  hu_indep : LinearIndependent E u
  /-- Each family member lies in the specified bounded Riemann-Roch space. -/
  hu_mem : ∀ i, u i ∈ LSpace (c • T.poleDivisor)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.HasIntegralBasisInLSpace

Existence of a bounded linearly independent family for the specified transcendence tower.

Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
def HasIntegralBasisInLSpace (T : TranscendenceTower K E F) : Prop
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.IntegralBasisInLSpace.ofRegularOutside

Bound a family regular outside the distinguished place in a common Riemann-Roch space.

Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
def IntegralBasisInLSpace.ofRegularOutside (T : TranscendenceTower K E F)
    (u : Fin (Module.finrank E F) → F) (hu_indep : LinearIndependent E u)
    (hreg : ∀ i, ∀ w : Place K F, w.restrict E ≠ T.v → 0 ≤ w.ord (u i)) :
    IntegralBasisInLSpace T where
  c := (T.exists_forall_mem_lSpace_nsmul_poleDivisor u hreg).choose
  u := u
  hu_indep := hu_indep
  hu_mem := (T.exists_forall_mem_lSpace_nsmul_poleDivisor u hreg).choose_spec
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.HasIntegralBasisRegularOutside

Existence of a linearly independent family regular away from places over the distinguished pole.

Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
variable (K E F) in
def HasIntegralBasisRegularOutside (T : TranscendenceTower K E F) : Prop
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.hasIntegralBasisInLSpace_of_regularOutside
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
variable (K E F) in
omit [FiniteDimensional E F] in
theorem hasIntegralBasisInLSpace_of_regularOutside (T : TranscendenceTower K E F)
    (h : HasIntegralBasisRegularOutside K E F T) :
    HasIntegralBasisInLSpace K E F T
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.linearIndependent_pow_mul
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
variable (K E F) in
omit [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F] in
theorem linearIndependent_pow_mul {x : E} {n : ℕ} {u : Fin n → F}
    (hx : LinearIndependent K (fun j : ℕ => x ^ j)) (hu : LinearIndependent E u) :
    LinearIndependent K (fun p : ℕ × Fin n => (algebraMap E F x) ^ p.1 * u p.2) := by
  have heq : (fun p : ℕ × Fin n => (algebraMap E F x) ^ p.1 * u p.2)
      = (fun p : ℕ × Fin n => (x ^ p.1) • u p.2) := by
    funext p
    rw [Algebra.smul_def, map_pow]
  rw [heq]
  exact linearIndependent_smul (R := K) (S := E) (A := F) hx hu
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.PoleDivisorPackage.ofTranscendenceTower

Construct the pole divisor data from a transcendence tower and its bounded independent family.

Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
variable (K E F) in
def PoleDivisorPackage.ofTranscendenceTower (T : TranscendenceTower K E F)
    (IB : IntegralBasisInLSpace T) :
    PoleDivisorPackage K F where
  x := T.xF
  B := T.poleDivisor
  hB_eff := T.poleDivisor_nonneg
  hx_mem := T.xF_mem_lSpace_poleDivisor
  n := Module.finrank E F
  hn_pos := Module.finrank_pos
  degB_eq := T.degree_poleDivisor_eq_finrank
  c := IB.c
  u := IB.u
  hu_mem := IB.hu_mem
  lin_indep := linearIndependent_pow_mul T.hx_indep IB.hu_indep
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.hasPoleDivisorPackage_of_transcendenceTower
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
variable (K E F) in
theorem hasPoleDivisorPackage_of_transcendenceTower
    (T : TranscendenceTower K E F) (IB : IntegralBasisInLSpace T) :
    HasPoleDivisorPackage K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.hasPoleDivisorPackage_of_hasIntegralBasisInLSpace
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
variable (K E F) in
theorem hasPoleDivisorPackage_of_hasIntegralBasisInLSpace
    (T : TranscendenceTower K E F) (h : HasIntegralBasisInLSpace K E F T) :
    HasPoleDivisorPackage K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.hasPoleDivisorPackage_of_hasIntegralBasisRegularOutside
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
variable (K E F) in
theorem hasPoleDivisorPackage_of_hasIntegralBasisRegularOutside
    (T : TranscendenceTower K E F) (h : HasIntegralBasisRegularOutside K E F T) :
    HasPoleDivisorPackage K F
AlgebraicCurve.Place.mem_of_isIntegral
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (w : Place K F)
theorem _root_.AlgebraicCurve.Place.mem_of_isIntegral {f : F} (hf : _root_.IsIntegral
    w.toValuationSubring f) :
    f ∈ w.toValuationSubring
AlgebraicCurve.Place.mem_of_isIntegral_of_algebraMap_mem
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (w : Place K F)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.mem_of_isIntegral_of_algebraMap_mem {A : Type*}
    [CommRing A] [Algebra A F]
    (hA : ∀ a : A, algebraMap A F a ∈ w.toValuationSubring)
    {f : F} (hf : _root_.IsIntegral A f) : f ∈ w.toValuationSubring
AlgebraicCurve.Place.mem_of_isIntegral_of_restrict
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Bridge
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable {A : Type*} [CommRing A] [Algebra A E] [Algebra A F] [IsScalarTower A E F]
namespace Place
open scoped _root_.AlgebraicCurve.Place in
theorem _root_.AlgebraicCurve.Place.mem_of_isIntegral_of_restrict [Algebra.IsIntegral E F]
    (w : Place K F)
    {u : Place K E} (hw : w.restrict E = u)
    (hA : ∀ a : A, algebraMap A E a ∈ u.toValuationSubring)
    {f : F} (hf : _root_.IsIntegral A f) : f ∈ w.toValuationSubring
AlgebraicCurve.Place.ord_nonneg_of_isIntegral_of_restrict
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Bridge
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable {A : Type*} [CommRing A] [Algebra A E] [Algebra A F] [IsScalarTower A E F]
open _root_.AlgebraicCurve
namespace Place
open scoped _root_.AlgebraicCurve.Place in
theorem _root_.AlgebraicCurve.Place.ord_nonneg_of_isIntegral_of_restrict
    [Algebra.IsIntegral E F] (w : Place K F)
    {u : Place K E} (hw : w.restrict E = u)
    (hA : ∀ a : A, algebraMap A E a ∈ u.toValuationSubring)
    {f : F} (hf : _root_.IsIntegral A f) : 0 ≤ w.ord f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.RegularOutside

Regularity of the chosen subalgebra away from the distinguished pole place.

Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Bridge
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable {A : Type*} [CommRing A] [Algebra A E] [Algebra A F] [IsScalarTower A E F]
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (A) in
def TranscendenceTower.RegularOutside (T : TranscendenceTower K E F) : Prop
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.ord_nonneg_of_isIntegral_of_regularOutside
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Bridge
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable {A : Type*} [CommRing A] [Algebra A E] [Algebra A F] [IsScalarTower A E F]
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (A) in
theorem TranscendenceTower.ord_nonneg_of_isIntegral_of_regularOutside
    [Algebra.IsIntegral E F] (T : TranscendenceTower K E F) (hA : T.RegularOutside A)
    {f : F} (hf : _root_.IsIntegral A f) :
    ∀ w : Place K F, w.restrict E ≠ T.v → 0 ≤ w.ord f
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.HasRegularFractionSubring

Existence of a fraction subalgebra regular away from the distinguished pole place.

Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
def HasRegularFractionSubring (T : TranscendenceTower K E F) : Prop
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.linearIndependent_reindex_basis
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
omit [FiniteDimensional E F] [Algebra.IsSeparable E F] in
theorem linearIndependent_reindex_basis {s : Finset F} (b : Basis s E F) :
    LinearIndependent E (fun i : Fin (Module.finrank E F) =>
      b ((Fintype.equivFinOfCardEq (Module.finrank_eq_card_basis b).symm).symm i)) :=
  b.linearIndependent.comp _ (Equiv.injective _)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.hasIntegralBasisRegularOutside_of_isFractionRing
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
omit [HasPrincipalDivisors K F] in
theorem hasIntegralBasisRegularOutside_of_isFractionRing
    {A : Type*} [CommRing A] [IsDomain A] [Algebra A E] [IsFractionRing A E]
    [Algebra A F] [IsScalarTower A E F]
    (T : TranscendenceTower K E F) (hA : T.RegularOutside A) :
    HasIntegralBasisRegularOutside K E F T
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.hasIntegralBasisRegularOutside_of_hasRegularFractionSubring
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
omit [HasPrincipalDivisors K F] in
theorem hasIntegralBasisRegularOutside_of_hasRegularFractionSubring
    (T : TranscendenceTower K E F) (h : HasRegularFractionSubring K E F T) :
    HasIntegralBasisRegularOutside K E F T
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.hasPoleDivisorPackage_of_hasRegularFractionSubring
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
theorem hasPoleDivisorPackage_of_hasRegularFractionSubring
    (T : TranscendenceTower K E F) (h : HasRegularFractionSubring K E F T) :
    HasPoleDivisorPackage K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.stichtenothGenusExists_of_hasRegularFractionSubring
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
omit [HasPrincipalDivisors K F] in
theorem stichtenothGenusExists_of_hasRegularFractionSubring [IsCurveOver K F]
    [Nonempty (Place K F)] [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (T : TranscendenceTower K E F) (h : HasRegularFractionSubring K E F T) :
    StichtenothGenusExists K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.TranscendenceTower.adjoin_x_regularOutside
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
omit [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F] in
theorem TranscendenceTower.adjoin_x_regularOutside (T : TranscendenceTower K E F) :
    ∀ u : Place K E, u ≠ T.v →
      ∀ a ∈ Algebra.adjoin K {T.x}, a ∈ u.toValuationSubring
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.hasRegularFractionSubring_of_adjoin_x_isFractionRing
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
omit [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F] in
theorem hasRegularFractionSubring_of_adjoin_x_isFractionRing
    (T : TranscendenceTower K E F)
    (hfrac : IsFractionRing (Algebra.adjoin K {T.x}) E) :
    HasRegularFractionSubring K E F T
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.stichtenothGenusExists_of_adjoin_x_isFractionRing
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Headline
variable {K E F : Type*} [Field K] [Field E] [Field F]
  [Algebra K E] [Algebra K F] [Algebra E F] [IsScalarTower K E F]
variable [FiniteDimensional E F] [Algebra.IsSeparable E F] [HasPrincipalDivisors K F]
variable (K E F) in
omit [HasPrincipalDivisors K F] in
theorem stichtenothGenusExists_of_adjoin_x_isFractionRing [IsCurveOver K F]
    [Nonempty (Place K F)] [FiniteDimensional K (LSpace (0 : Divisor K F))]
    (T : TranscendenceTower K E F)
    (hfrac : IsFractionRing (Algebra.adjoin K {T.x}) E) :
    StichtenothGenusExists K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.linearIndependent_pow_of_transcendental
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Transcendental
variable {K A : Type*} [CommRing K] [CommRing A] [Algebra K A]
theorem linearIndependent_pow_of_transcendental {x : A} (hx : Transcendental K x) :
    LinearIndependent K (fun j : ℕ => x ^ j) := by
  have hinj : Function.Injective (Polynomial.aeval x : K[X] →ₐ[K] A) :=
    transcendental_iff_injective.mp hx
  have hXj : LinearIndependent K (fun j : ℕ => (X : K[X]) ^ j) := by
    have hb := (Polynomial.basisMonomials K).linearIndependent
    simp only [Polynomial.coe_basisMonomials] at hb
    convert hb using 2 with j
    exact (Polynomial.monomial_one_right_eq_X_pow j).symm
  have heq : (fun j : ℕ => x ^ j)
      = (fun j : ℕ => (Polynomial.aeval x : K[X] →ₐ[K] A) (X ^ j)) := by
    funext j; simp
  rw [heq]
  exact hXj.map' (Polynomial.aeval x).toLinearMap
    (LinearMap.ker_eq_bot_of_injective hinj)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.algebraMap_polynomial_mem_of_ne_placeInfty
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
theorem algebraMap_polynomial_mem_of_ne_placeInfty
    {u : Place K (RatFunc K)} (hu : u ≠ placeInfty K) (q : K[X]) :
    algebraMap K[X] (RatFunc K) q ∈ u.toValuationSubring
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_X_nonneg_of_ne_placeInfty
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
theorem ord_X_nonneg_of_ne_placeInfty
    {u : Place K (RatFunc K)} (hu : u ≠ placeInfty K) :
    0 ≤ u.ord (RatFunc.X : RatFunc K)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.transcendenceTower

The transcendence tower given by the rational function coordinate and its place at infinity.

Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
def transcendenceTower : TranscendenceTower K (RatFunc K) F where
  x := RatFunc.X
  hx_indep := linearIndependent_pow_of_transcendental RatFunc.transcendental_X
  v := placeInfty K
  hvdeg := deg_placeInfty K
  hxv := ord_placeInfty_X K
  hxreg := fun _ hu => ord_X_nonneg_of_ne_placeInfty K hu
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.aeval_X_eq_algebraMap
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
omit [DecidableEq (RatFunc K)] in
theorem aeval_X_eq_algebraMap (q : K[X]) :
    (Polynomial.aeval (R := K) (RatFunc.X : RatFunc K)) q
      = algebraMap K[X] (RatFunc K) q
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.algebraMap_polynomial_mem_adjoin_X
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
omit [DecidableEq (RatFunc K)] in
theorem algebraMap_polynomial_mem_adjoin_X (q : K[X]) :
    algebraMap K[X] (RatFunc K) q ∈ Algebra.adjoin K {(RatFunc.X : RatFunc K)}
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.isFractionRing_adjoin_X
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
omit [DecidableEq (RatFunc K)] in
theorem isFractionRing_adjoin_X :
    IsFractionRing (Algebra.adjoin K {(RatFunc.X : RatFunc K)}) (RatFunc K)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.stichtenothGenusExists_of_ratFunc_tower
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
variable [HasPrincipalDivisors K F]
variable [IsCurveOver K F] [Nonempty (Place K F)]
  [FiniteDimensional K (LSpace (0 : Divisor K F))]
omit [DecidableEq (RatFunc K)] [HasPrincipalDivisors K F] in
theorem stichtenothGenusExists_of_ratFunc_tower :
    StichtenothGenusExists K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.not_isField_integralClosureAt'
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
open _root_.IsDedekindDomain
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
section LyingOver
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
attribute [local instance 0] Place.valuationSubringAlgebra
omit [DecidableEq (RatFunc K)] [Algebra K F] [IsScalarTower K (RatFunc K) F]
  [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F] in
theorem not_isField_integralClosureAt' (v : Place K (RatFunc K)) :
    ¬IsField (Place.integralClosureAt F v)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.exists_restrict_eq
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
open _root_.IsDedekindDomain
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
section LyingOver
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
attribute [local instance 0] Place.valuationSubringAlgebra
omit [DecidableEq (RatFunc K)] in
theorem exists_restrict_eq (v : Place K (RatFunc K)) :
    ∃ w : Place K F, w.restrict (RatFunc K) = v
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.nonempty_place_of_ratFunc_tower
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
open _root_.IsDedekindDomain
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
section LyingOver
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
attribute [local instance 0] Place.valuationSubringAlgebra
omit [DecidableEq (RatFunc K)] in
theorem nonempty_place_of_ratFunc_tower : Nonempty (Place K F)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.finiteDimensional_lSpace_zero_of_constantsAreBase
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
open _root_.IsDedekindDomain
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
omit [DecidableEq (RatFunc K)] [Algebra (RatFunc K) F] [IsScalarTower K (RatFunc K) F] in
theorem finiteDimensional_lSpace_zero_of_constantsAreBase (hC : ConstantsAreBase K F) :
    FiniteDimensional K (LSpace (0 : Divisor K F))
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.stichtenothGenusExists
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Module
open _root_.Polynomial
open _root_.IsDedekindDomain
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F]
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
variable [IsCurveOver K F]
omit [DecidableEq (RatFunc K)] in
theorem stichtenothGenusExists (hC : ConstantsAreBase K F) :
    StichtenothGenusExists K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n20_rr_constantsAreBase_of_isAlgClosed
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
open _root_.IsLocalRing
section AlgClosedEngine
variable (K F : Type*) [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [DecidableEq (RatFunc K)]
variable [Algebra (RatFunc K) F] [IsScalarTower K (RatFunc K) F]
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
variable [IsAlgClosed K] [IsCurveOver K F]
omit [DecidableEq (RatFunc K)] [HasCanonicalLocalResidueKStar K F] in
theorem p0n20_rr_constantsAreBase_of_isAlgClosed : ConstantsAreBase K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_kaehlerResidueTermKFam_single_of_ne
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section CanonicalProbe
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
open _root_.AlgebraicCurves.Cohomology.RiemannRoch.Proofs in
open scoped _root_.Classical FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Classical in
omit [HasCanonicalLocalResidueKStar K F] in
theorem p0n25_wkc_kaehlerResidueTermKFam_single_of_ne
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK) (ω : Ω[F⁄K])
    {v : Place K F} (g : F) {w : Place K F} (hw : w ≠ v) :
    kaehlerResidueTermKFam Rfam ω (Pi.single v g) w = 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_localResidueData_res_mul_uniformizer_inv
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section CanonicalProbe
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
omit [HasCanonicalLocalResidueKStar K F] in
theorem p0n25_wkc_localResidueData_res_mul_uniformizer_inv
    {v : Place K F} (R : v.LocalResidueData) (c : v.toValuationSubring) :
    R.res ((c : F) * v.uniformizer⁻¹) = IsLocalRing.residue _ c
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_weilOfKaehlerK_single
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section CanonicalProbe
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
omit [HasCanonicalLocalResidueKStar K F] in
open _root_.AlgebraicCurves.Cohomology.RiemannRoch.Proofs in
open scoped _root_.Classical FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Classical in
theorem p0n25_wkc_weilOfKaehlerK_single
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) (v : Place K F) (g : F) :
    weilOfKaehlerK Rfam hω (adeleSingle v g)
      = Algebra.trace K v.ResidueField ((Rfam v).res (g * v.differentialCoeff ω))
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_weilOfKaehlerK_simplePoleProbe
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section CanonicalProbe
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
omit [HasCanonicalLocalResidueKStar K F] in
theorem p0n25_wkc_weilOfKaehlerK_simplePoleProbe
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) (v : Place K F) (c : v.toValuationSubring) :
    weilOfKaehlerK Rfam hω (simplePoleProbe hω v c)
      = Algebra.trace K v.ResidueField (IsLocalRing.residue _ c)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_weilOfKaehlerK_ne_zero
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section CanonicalNonvanishingMaximality
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
omit [HasCanonicalLocalResidueKStar K F] in
theorem p0n25_wkc_weilOfKaehlerK_ne_zero [HasSeparableResidue K F] [Nonempty (Place K F)]
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) : weilOfKaehlerK Rfam hω ≠ 0
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_trace_eq_zero_of_weilOfKaehlerK_mem
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section CanonicalNonvanishingMaximality
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
omit [HasCanonicalLocalResidueKStar K F] in
theorem p0n25_wkc_trace_eq_zero_of_weilOfKaehlerK_mem
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) {D : Divisor K F}
    (hD : weilOfKaehlerK Rfam 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.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_weilOfKaehlerK_omegaSpace_le_canonical
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section CanonicalNonvanishingMaximality
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
omit [HasCanonicalLocalResidueKStar K F] in
theorem p0n25_wkc_weilOfKaehlerK_omegaSpace_le_canonical [HasSeparableResidue K F]
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) {D : Divisor K F}
    (hD : weilOfKaehlerK Rfam hω ∈ omegaSpace D) :
    D ≤ canonicalDivisorOf hω
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_exists_weilMax_of_residueTheoremK
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section CanonicalSupply
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [HasCanonicalDivisor (K := K) (F := F)] [∀ v : Place K F, v.DCoordGenerates]
omit [HasCanonicalLocalResidueKStar K F] in
theorem p0n25_wkc_exists_weilMax_of_residueTheoremK
    [HasSeparableResidue K F] [Nonempty (Place K F)] [HasPrincipalDivisors K F]
    (hRTK : ResidueTheoremK K F) {ω : Ω[F⁄K]} (hω : ω ≠ 0) :
    ∃ φ : Module.Dual K (adeleSpace K F), φ ≠ 0 ∧
      φ ∈ omegaSpace (canonicalDivisorOf hω) ∧
      ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_finrank_omegaSpace_eq_ell_of_genusReached_of_weilMax
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorIdentification
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
variable [Nonempty (Place K F)] [FiniteDimensional K (LSpace (0 : Divisor K F))]
omit [HasCanonicalLocalResidueKStar K F] [∀ (v : Place K F), v.DCoordGenerates] in
theorem p0n25_wkc_finrank_omegaSpace_eq_ell_of_genusReached_of_weilMax
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀)
    {ω : Ω[F⁄K]} (hω : ω ≠ 0)
    {φ : Module.Dual K (adeleSpace K F)} (hne : φ ≠ 0)
    (hmem : φ ∈ omegaSpace (canonicalDivisorOf hω))
    (hmax : ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω)
    (D : Divisor K F) :
    Module.finrank K (omegaSpace (K := K) (F := F) D) = ell (canonicalDivisorOf hω - D)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_ell_canonicalDivisor_eq_gamma_of_weilMax
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorIdentification
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
variable [Nonempty (Place K F)] [FiniteDimensional K (LSpace (0 : Divisor K F))]
omit [HasCanonicalLocalResidueKStar K F] [∀ (v : Place K F), v.DCoordGenerates] in
theorem p0n25_wkc_ell_canonicalDivisor_eq_gamma_of_weilMax
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀)
    (hsup : ∀ {ω : Ω[F⁄K]} (hω : ω ≠ 0), ∃ φ : Module.Dual K (adeleSpace K F),
      φ ≠ 0 ∧ φ ∈ omegaSpace (canonicalDivisorOf hω) ∧
      ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω)
    (hC : ConstantsAreBase K F) {ω : Ω[F⁄K]} (hω : ω ≠ 0) :
    (ell (canonicalDivisorOf hω) : ℤ) = γ
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_degree_canonicalDivisor_eq_of_weilMax
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorIdentification
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
variable [Nonempty (Place K F)] [FiniteDimensional K (LSpace (0 : Divisor K F))]
omit [HasCanonicalLocalResidueKStar K F] [∀ (v : Place K F), v.DCoordGenerates] in
theorem p0n25_wkc_degree_canonicalDivisor_eq_of_weilMax
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀)
    (hsup : ∀ {ω : Ω[F⁄K]} (hω : ω ≠ 0), ∃ φ : Module.Dual K (adeleSpace K F),
      φ ≠ 0 ∧ φ ∈ omegaSpace (canonicalDivisorOf hω) ∧
      ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω)
    (hC : ConstantsAreBase K F) {ω : Ω[F⁄K]} (hω : ω ≠ 0) :
    Divisor.degree (canonicalDivisorOf hω) = 2 * γ - 2
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_stichtenothGenus_eq_genus_of_weilMax
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorIdentification
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
variable [Nonempty (Place K F)] [FiniteDimensional K (LSpace (0 : Divisor K F))]
omit [HasCanonicalLocalResidueKStar K F] [∀ (v : Place K F), v.DCoordGenerates] in
theorem p0n25_wkc_stichtenothGenus_eq_genus_of_weilMax
    {γ : ℤ} {D₀ : Divisor K F} (h : RiemannGenusReachedAt γ D₀)
    (hsup : ∀ {ω : Ω[F⁄K]} (hω : ω ≠ 0), ∃ φ : Module.Dual K (adeleSpace K F),
      φ ≠ 0 ∧ φ ∈ omegaSpace (canonicalDivisorOf hω) ∧
      ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω)
    (hC : ConstantsAreBase K F) :
    γ = (genus K F : ℤ)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_riemannGenusReached_of_weilMax
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorAssembly
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F] [Algebra (RatFunc
  K) F]
  [IsScalarTower K (RatFunc K) F]
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
omit [DecidableEq (RatFunc K)] [HasCanonicalLocalResidueKStar K F] [∀ (v : Place K F),
  v.DCoordGenerates] in
theorem p0n25_wkc_riemannGenusReached_of_weilMax
    (hsup : ∀ {ω : Ω[F⁄K]} (hω : ω ≠ 0), ∃ φ : Module.Dual K (adeleSpace K F),
      φ ≠ 0 ∧ φ ∈ omegaSpace (canonicalDivisorOf hω) ∧
      ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω)
    (hC : ConstantsAreBase K F) :
    RiemannGenusReached K F (genus K F)
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_riemannIndexFormula_of_weilMax
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorAssembly
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F] [Algebra (RatFunc
  K) F]
  [IsScalarTower K (RatFunc K) F]
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
omit [DecidableEq (RatFunc K)] [IsCurveOver K F] [HasCanonicalLocalResidueKStar K F]
  [∀ (v : Place K F), v.DCoordGenerates] in
theorem p0n25_wkc_riemannIndexFormula_of_weilMax
    (hsup : ∀ {ω : Ω[F⁄K]} (hω : ω ≠ 0), ∃ φ : Module.Dual K (adeleSpace K F),
      φ ≠ 0 ∧ φ ∈ omegaSpace (canonicalDivisorOf hω) ∧
      ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω)
    (hC : ConstantsAreBase K F) :
    RiemannIndexFormula K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_weilOmegaEllAgrees_of_weilMax
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorAssembly
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F] [Algebra (RatFunc
  K) F]
  [IsScalarTower K (RatFunc K) F]
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
omit [DecidableEq (RatFunc K)] [HasCanonicalLocalResidueKStar K F] [Algebra (RatFunc K) F]
  [IsScalarTower K (RatFunc K) F] [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc
  K) F] [∀ (v : Place K F), v.DCoordGenerates] in
theorem p0n25_wkc_weilOmegaEllAgrees_of_weilMax [Nonempty (Place K F)]
    (hRI : RiemannIndexFormula K F)
    (hsup : ∀ {ω : Ω[F⁄K]} (hω : ω ≠ 0), ∃ φ : Module.Dual K (adeleSpace K F),
      φ ≠ 0 ∧ φ ∈ omegaSpace (canonicalDivisorOf hω) ∧
      ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω) :
    WeilOmegaEllAgrees K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_functionFieldRiemannRoch_of_weilMax_of_constantsAreBase
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorAssembly
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F] [Algebra (RatFunc
  K) F]
  [IsScalarTower K (RatFunc K) F]
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
omit [DecidableEq (RatFunc K)] [IsCurveOver K F] [HasCanonicalLocalResidueKStar K F]
  [∀ (v : Place K F), v.DCoordGenerates] in
theorem p0n25_wkc_functionFieldRiemannRoch_of_weilMax_of_constantsAreBase
    (hsup : ∀ {ω : Ω[F⁄K]} (hω : ω ≠ 0), ∃ φ : Module.Dual K (adeleSpace K F),
      φ ≠ 0 ∧ φ ∈ omegaSpace (canonicalDivisorOf hω) ∧
      ∀ D : Divisor K F, φ ∈ omegaSpace D → D ≤ canonicalDivisorOf hω)
    (hC : ConstantsAreBase K F) :
    FunctionFieldRiemannRoch K F
AlgebraicCurves.Cohomology.RiemannRoch.Proofs.FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.p0n25_wkc_functionFieldRiemannRoch_of_residueTheoremK
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.AlgebraicCurve
namespace ModularCurve
local notation "Qbar" => AlgebraicClosure ℚ
section MirrorAssembly
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable (F : Type*) [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F] [Algebra (RatFunc
  K) F]
  [IsScalarTower K (RatFunc K) F]
variable [FiniteDimensional (RatFunc K) F] [Algebra.IsSeparable (RatFunc K) F]
variable [IsCurveOver K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates]
omit [DecidableEq (RatFunc K)] [IsCurveOver K F] [HasCanonicalLocalResidueKStar K F] in
theorem p0n25_wkc_functionFieldRiemannRoch_of_residueTheoremK
    [HasSeparableResidue K F]
    (hRTK : ResidueTheoremK K F) (hC : ConstantsAreBase K F) :
    FunctionFieldRiemannRoch K F
AlgebraicCurve.functionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
Source context 8 commands

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

section ProofImplementation
namespace AlgebraicCurves.Cohomology.RiemannRoch.Proofs
namespace FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Lg37
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.ModularCurve.Mp72a102T3
open FunctionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed.Mp72a102T2
theorem _root_.AlgebraicCurve.functionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed
    {K F : Type*} [Field K] [IsAlgClosed K]
    [Field F] [Algebra K F]
    [AlgebraicCurve.HasCanonicalDivisor (K := K) (F := F)]
    [∀ w : AlgebraicCurve.Place K F, w.DCoordGenerates]
    [Algebra (RatFunc K) F] [IsScalarTower K (RatFunc K) F]
    [Algebra.IsIntegral (RatFunc K) F]
    [AlgebraicCurve.HasLocalResidue K F]
    [∀ w : AlgebraicCurve.Place K F, w.FiniteResidue]
    [Nontrivial Ω[F⁄K]]
    [AlgebraicCurve.IsCurveOver K F] [AlgebraicCurve.IsCurveOver K (RatFunc K)]
    [∀ u : AlgebraicCurve.Place K (RatFunc K), u.FiniteResidue]
    [AlgebraicCurve.HasCanonicalLocalResidueKStar K F]
    [Algebra.IsSeparable (RatFunc K) F]
    [Nontrivial Ω[(RatFunc K)⁄K]] [∀ v : AlgebraicCurve.Place K (RatFunc K), v.DCoordGenerates]
    [FiniteDimensional (RatFunc K) F] [AlgebraicCurve.HasSeparableResidue K F]
    (hRTK : AlgebraicCurve.ResidueTheoremK K F) :
    AlgebraicCurve.FunctionFieldRiemannRoch K F