Module

ResidueTheoremK_ratFunc_of_isAlgClosed.lean

Nyll.AlgebraicCurves.Differentials.Residues.ResidueTheoremK_ratFunc_of_isAlgClosed
594 declarations indexed from sourceView source ↗

Differentials, residues, and divisor correspondences

Canonical rational-function residues, partial-fraction generators, and coordinate independence establish the residue theorem in every characteristic.

Declarations

AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.FLT.EulerDualBasis.coeff_minpolyDiv_dim_sub_one
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.Module
open _root_.Algebra
namespace FLT
namespace EulerDualBasis
variable {K L : Type*} [Field K] [Field L] [Algebra K L]
  [FiniteDimensional K L] [Algebra.IsSeparable K L]
omit [FiniteDimensional K L] [Algebra.IsSeparable K L] in
theorem coeff_minpolyDiv_dim_sub_one (pb : PowerBasis K L) :
    (minpolyDiv K pb.gen).coeff (pb.dim - 1) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.FLT.EulerDualBasis.traceDual_eq_one_div_of_val_eq
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.Module
open _root_.Algebra
namespace FLT
namespace EulerDualBasis
variable {K L : Type*} [Field K] [Field L] [Algebra K L]
  [FiniteDimensional K L] [Algebra.IsSeparable K L]
theorem traceDual_eq_one_div_of_val_eq (pb : PowerBasis K L) {j : Fin pb.dim}
    (hj : (j : ℕ) = pb.dim - 1) :
    pb.basis.traceDual j = 1 / aeval pb.gen (derivative (minpoly K pb.gen))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.FLT.EulerDualBasis.trace_pow_div_aeval_derivative_minpoly_of_lt
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.Module
open _root_.Algebra
namespace FLT
namespace EulerDualBasis
variable {K L : Type*} [Field K] [Field L] [Algebra K L]
  [FiniteDimensional K L] [Algebra.IsSeparable K L]
theorem trace_pow_div_aeval_derivative_minpoly_of_lt (pb : PowerBasis K L) {k : ℕ}
    (hk : k < pb.dim - 1) :
    Algebra.trace K L
      (pb.gen ^ k / aeval pb.gen (derivative (minpoly K pb.gen))) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.FLT.EulerDualBasis.trace_pow_div_aeval_derivative_minpoly_self
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.Module
open _root_.Algebra
namespace FLT
namespace EulerDualBasis
variable {K L : Type*} [Field K] [Field L] [Algebra K L]
  [FiniteDimensional K L] [Algebra.IsSeparable K L]
theorem trace_pow_div_aeval_derivative_minpoly_self (pb : PowerBasis K L)
    (hd : 0 < pb.dim) :
    Algebra.trace K L
      (pb.gen ^ (pb.dim - 1) / aeval pb.gen (derivative (minpoly K pb.gen))) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.FLT.EulerDualBasis.trace_root_pow_div_derivative_of_lt
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.Module
open _root_.Algebra
namespace FLT
namespace EulerDualBasis
variable {K L : Type*} [Field K] [Field L] [Algebra K L]
  [FiniteDimensional K L] [Algebra.IsSeparable K L]
variable {F : Type*} [Field F] [CharZero F] {g : F[X]} [Fact (Irreducible g)]
theorem trace_root_pow_div_derivative_of_lt (hg : g.Monic) {k : ℕ}
    (hk : k < g.natDegree - 1) :
    Algebra.trace F (AdjoinRoot g)
      (AdjoinRoot.root g ^ k / aeval (AdjoinRoot.root g) (derivative g)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.FLT.EulerDualBasis.trace_root_pow_div_derivative_self
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.Polynomial
open _root_.Module
open _root_.Algebra
namespace FLT
namespace EulerDualBasis
variable {K L : Type*} [Field K] [Field L] [Algebra K L]
  [FiniteDimensional K L] [Algebra.IsSeparable K L]
variable {F : Type*} [Field F] [CharZero F] {g : F[X]} [Fact (Irreducible g)]
theorem trace_root_pow_div_derivative_self (hg : g.Monic) (hd : 0 < g.natDegree) :
    Algebra.trace F (AdjoinRoot g)
      (AdjoinRoot.root g ^ (g.natDegree - 1) /
        aeval (AdjoinRoot.root g) (derivative g)) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.OrdDifferentialWellDefined

Differentials of two uniformizers differ by a coefficient of order zero.

Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
variable (K F)
def OrdDifferentialWellDefined : Prop
AlgebraicCurve.Place.ord_add_eq_min
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.IsDedekindDomain
open scoped _root_.Polynomial.Bivariate
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem _root_.AlgebraicCurve.Place.ord_add_eq_min {f g : F} (hf : f ≠ 0) (hg : g ≠ 0)
  (h : v.ord f ≠ v.ord g) :
    v.ord (f + g) = min (v.ord f) (v.ord g)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37.lg37_completion

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

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37.lg37_residueHat

The residue homomorphism from the completed valuation subring.

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37.lg37_residueHat_algebraMap
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37.Lg37CompletionSection

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

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
  /-- Lift residue field elements to the completion. -/
  lift : v.ResidueField →ₐ[K] lg37_completion v
  /-- The completed residue map is a left inverse of the lift. -/
  residueHat_lift : ∀ a, lg37_residueHat v (lift a) = a
AlgebraicCurve.Place.ord_nonneg_of_mem
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.exists_ord_pos
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
AlgebraicCurve.Place.algebraMap_ne_zero
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 _root_.AlgebraicCurve.Place.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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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']
open _root_.AlgebraicCurve.Place
variable (w : Place K F')
theorem _root_.AlgebraicCurve.Place.comap_algebraMap_ne_top [Algebra.IsIntegral F F'] :
    w.toValuationSubring.comap (algebraMap F F') ≠ ⊤
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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']
open _root_.AlgebraicCurve.Place
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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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']
open _root_.AlgebraicCurve.Place
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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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']
open _root_.AlgebraicCurve.Place
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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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']
open _root_.AlgebraicCurve.Place
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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.isPrincipalIdealRing_comap
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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']
open _root_.AlgebraicCurve.Place
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'))
AlgebraicCurve.Place.ord_add_eq_left
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve
section Ultrametric
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem _root_.AlgebraicCurve.Place.ord_add_eq_left {f g : F} (hf : f ≠ 0) (hg : g ≠ 0)
  (h : v.ord f < v.ord g) :
    v.ord (f + g) = v.ord f
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_finitePlace_ne_zero_iff
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem ord_finitePlace_ne_zero_iff {p : K[X]} (hp : Irreducible p) {q : K[X]} (hq : q ≠ 0) :
    (finitePlace K hp).ord (algebraMap K[X] (RatFunc K) q) ≠ 0 ↔ p ∣ q
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.placeInfty

The place at infinity of the rational function field.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.placeInfty_toValuationSubring
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.inftyValuation_isEquiv_adicValuation
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.placeInfty_ne_ofHeightOneSpectrum
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_ne_ofHeightOneSpectrum (w : HeightOneSpectrum K[X]) :
    placeInfty K ≠ Place.ofHeightOneSpectrum w
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.eq_ofHeightOneSpectrum_or_eq_placeInfty
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.subsingleton_setOf_forall_ne_ofHeightOneSpectrum
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 subsingleton_setOf_forall_ne_ofHeightOneSpectrum :
    {v : Place K (RatFunc K) |
      ∀ w : HeightOneSpectrum K[X], v ≠ Place.ofHeightOneSpectrum w}.Subsingleton
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.finite_setOf_valuation_ne_one
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 finite_setOf_valuation_ne_one {f : RatFunc K} (hf : f ≠ 0) :
    {w : HeightOneSpectrum K[X] | w.valuation (RatFunc K) f ≠ 1}.Finite
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.finite_setOf_ord_ne_zero
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 finite_setOf_ord_ne_zero {f : RatFunc K} (hf : f ≠ 0) :
    {v : Place K (RatFunc K) | v.ord f ≠ 0}.Finite
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.exists_sub_algebraMap_intDegree_neg
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.deg_placeInfty
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_smul_eq_of_ne_zero
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
omit [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
  [Nontrivial Ω[F⁄K]] in
theorem exists_smul_eq_of_ne_zero (v : Place K F) {ω ω₀ : Ω[F⁄K]}
    (hω : ω ≠ 0) (hω₀ : ω₀ ≠ 0) : ∃ g : F, g ≠ 0 ∧ ω = g • ω₀
AlgebraicCurve.Place.uniformizerSubring'
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Transport
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
def _root_.AlgebraicCurve.Place.uniformizerSubring' : v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.instSMulCommClass_subring
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Transport
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
instance instSMulCommClass_subring : SMulCommClass K v.toValuationSubring F
AlgebraicCurve.Place.kaehlerMap_subring_D_uniformizer
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section Transport
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.kaehlerMap_subring_D_uniformizer :
    KaehlerDifferential.map K K v.toValuationSubring F
      (KaehlerDifferential.D K v.toValuationSubring v.uniformizerSubring') = v.dCoord
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ValSubringKaehlerSpanTop

Each valuation subring has differentials spanned by its chosen uniformizer differential.

Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
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 ValSubringKaehlerSpanTop : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.principalAdele

The principal adele associated to a function.

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
variable (K F) in
def principalAdele : F →ₗ[K] adeleSpace K F where
  toFun f := ⟨diagonalHom K F f, diagonal_mem_adeleSpace f⟩
  map_add' f g := Subtype.ext ((diagonalHom K F).map_add f g)
  map_smul' c f := Subtype.ext ((diagonalHom K F).map_smul c f)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1PolynomialGenerators

The monomial generators of the polynomial part of a rational function.

Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
variable (K F) in
section P1NamedRows
open scoped _root_.Polynomial
variable (K)
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
def P1PolynomialGenerators : Set (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1PrincipalPartGenerators

The partial fraction atoms at finite places.

Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
variable (K F) in
section P1NamedRows
open scoped _root_.Polynomial
variable (K)
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
def P1PrincipalPartGenerators : Set (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1PartialFractionGenerators

The polynomial and finite principal part generators of rational functions.

Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
variable (K F) in
section P1NamedRows
open scoped _root_.Polynomial
variable (K)
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
def P1PartialFractionGenerators : Set (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.gate_algebraMap_polynomial_mem_span_P1PolynomialGenerators
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
variable (K F) in
section P1Gates
open scoped _root_.Polynomial
theorem gate_algebraMap_polynomial_mem_span_P1PolynomialGenerators (q : K[X]) :
    algebraMap K[X] (RatFunc K) q ∈ Submodule.span K (P1PolynomialGenerators K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T1.mp72a102_t1_maximalIdealHat

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

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T1.mp72a102_t1_isScalarTower
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T1.mp72a102_t1_isAdicComplete_maximalIdealHat
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T1.mp72a102_t1_henselianRing_completion
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T1.mp72a102_t1_maximalIdealHat_le_ker_residueHat
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T1.mp72a102_t1_exists_completion_root_of_residue_root
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2.mp72a102_t2_residueHat_algebraMap_base
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2.mp72a102_t2_residueHatAlgHom

The completed residue homomorphism viewed as an algebra homomorphism.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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, _root_.map_zero, zero_mul] at hb'
      exact zero_ne_one hb'
    exact (isUnit_mk_comap_iff ha0 a.2).mpr hord
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.mk_mem_maximalIdeal_iff
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 mk_mem_maximalIdeal_iff {f : F} (hf : f ∈ v.toValuationSubring) :
    (⟨f, hf⟩ : v.toValuationSubring) ∈ IsLocalRing.maximalIdeal v.toValuationSubring
      ↔ f = 0 ∨ 0 < v.ord f
AlgebraicCurve.Place.uniformizerSubring
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.mem_simplePoleSubmodule
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.simplePoleResidueAux_apply
Source context 32 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 32 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 33 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 34 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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⟩
AlgebraicCurve.Place.localResidueDataOfExtend
Source context 35 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.localResidueDataOfExtend : v.LocalResidueData where
  res := v.localResidueExtend
  res_of_mem f hf := by
    rw [v.localResidueExtend_apply_of_mem (v.mem_simplePoleSubmodule_of_mem hf),
      v.simplePoleResidueAux_eq_zero_of_mem hf]
  res_simplePole f hf := by
    rw [v.localResidueExtend_apply_of_mem hf, simplePoleResidueAux_apply]
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.instHasLocalResidue
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
instance instHasLocalResidue : HasLocalResidue K F where
  exists_data v := ⟨v.localResidueDataOfExtend⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.gate_uniformizer_inv_mem_simplePoleSubmodule
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
omit [HasCanonicalLocalResidueKStar K F] in
theorem gate_uniformizer_inv_mem_simplePoleSubmodule (v : Place K F) :
    v.uniformizer⁻¹ ∈ v.simplePoleSubmodule ∧ v.uniformizer⁻¹ ∉ v.toValuationSubring
ModularCurve.MilneAvAg9bRd14CubeRowCartierSliceStart.ag9b14c_res_uniformizer_zpow_eq_zero_of_ne_neg_one
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace ModularCurve
namespace MilneAvAg9bRd14CubeRowCartierSliceStart
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open scoped _root_.Polynomial
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd14CubeRowCartierSliceStart in
with_weak_namespace _root_.ModularCurve.MilneAvAg9bRd14CubeRowCartierSliceStart
theorem ag9b14c_res_uniformizer_zpow_eq_zero_of_ne_neg_one
    {K F : Type*} [Field K] [Field F] [Algebra K F]
    (v : Place K F) (R : v.CanonicalLocalResidueDataK)
    {j : ℤ} (hj : j ≠ -1) :
    R.res (v.uniformizer ^ j) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.finiteResidue_of_deg_pos
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section DegPos
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem finiteResidue_of_deg_pos (h : 0 < v.deg) : v.FiniteResidue
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.instFiniteResidueOfHeightOneSpectrum
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
instance instFiniteResidueOfHeightOneSpectrum (w : HeightOneSpectrum K[X]) :
    (Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w).FiniteResidue
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.instFiniteResiduePlaceInfty
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
instance instFiniteResiduePlaceInfty [DecidableEq (RatFunc K)] :
    (placeInfty K).FiniteResidue
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.instFiniteResidue
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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} in
instance instFiniteResidue (v : Place K (RatFunc K)) : v.FiniteResidue
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.algebraMap_polynomial_mem_of_ne_placeInfty'
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
section RatFuncIntegrality
open _root_.AlgebraicCurve.RationalFunctionField
variable (K)
variable [DecidableEq (RatFunc K)]
theorem algebraMap_polynomial_mem_of_ne_placeInfty'
    {v : Place K (RatFunc K)} (hv : v ≠ placeInfty K) (q : K[X]) :
    algebraMap K[X] (RatFunc K) q ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.pow_X_mem_of_ne_placeInfty
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
section RatFuncIntegrality
open _root_.AlgebraicCurve.RationalFunctionField
variable (K)
variable [DecidableEq (RatFunc K)]
theorem pow_X_mem_of_ne_placeInfty
    {v : Place K (RatFunc K)} (hv : v ≠ placeInfty K) (n : ℕ) :
    (RatFunc.X : RatFunc K) ^ n ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.pow_X_mul_mem_of_ne_placeInfty
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
section RatFuncIntegrality
open _root_.AlgebraicCurve.RationalFunctionField
variable (K)
variable [DecidableEq (RatFunc K)]
theorem pow_X_mul_mem_of_ne_placeInfty
    {v : Place K (RatFunc K)} (hv : v ≠ placeInfty K) (n : ℕ)
    {g : RatFunc K} (hg : g ∈ v.toValuationSubring) :
    (RatFunc.X : RatFunc K) ^ n * g ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1DifferentialCoeffRegularFinite

The differential coefficient is regular at every finite place.

Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
section P1PolynomialSubrows
open _root_.AlgebraicCurve.RationalFunctionField
variable (K)
variable [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
def P1DifferentialCoeffRegularFinite {ω₀ : Ω[(RatFunc K)⁄K]} (_hω₀ : ω₀ ≠ 0) : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartAtom

A rational function atom with a prescribed polynomial denominator power.

Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
section P1PrincipalPartSubrows
open _root_.AlgebraicCurve.RationalFunctionField
variable (K)
variable [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
abbrev p1PrincipalPartAtom (p c : K[X]) (m : ℕ) : RatFunc K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.finitePlace_ne_placeInfty
Source context 32 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
variable [HasCanonicalLocalResidueKStar K F] [HasCanonicalDivisor (K := K) (F := F)]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasPrincipalDivisors K F]
section P1PrincipalPartSubrows
open _root_.AlgebraicCurve.RationalFunctionField
variable (K)
variable [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
variable {K}
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F := RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
  [HasPrincipalDivisors K (RatFunc K)] in
theorem finitePlace_ne_placeInfty {p : K[X]} (hp : Irreducible p) :
    finitePlace K hp ≠ placeInfty K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.ord_algebraMap_base
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 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 ord_algebraMap_base (a : K) : v.ord (algebraMap K F a) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.exists_ord_finitePlace_eq_nsmul
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem exists_ord_finitePlace_eq_nsmul {p : K[X]} (hp : Irreducible p) {q : K[X]}
    (hq : q ≠ 0) :
    ∃ m : ℕ, (finitePlace K hp).ord (algebraMap K[X] (RatFunc K) q)
      = m * (finitePlace K hp).ord (algebraMap K[X] (RatFunc K) p)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_finitePlace_dvd
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem ord_finitePlace_dvd {p : K[X]} (hp : Irreducible p) {f : RatFunc K} (hf : f ≠ 0) :
    (finitePlace K hp).ord (algebraMap K[X] (RatFunc K) p) ∣ (finitePlace K hp).ord f
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_finitePlace_self
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem ord_finitePlace_self {p : K[X]} (hp : Irreducible p) :
    (finitePlace K hp).ord (algebraMap K[X] (RatFunc K) p) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty_eq_zero_of_intDegree_eq_zero
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty_eq_intDegree_mul
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty_X
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty_algebraMap'
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_algebraMap' {q : K[X]} (hq : q ≠ 0) :
    (placeInfty K).ord (algebraMap K[X] (RatFunc K) q) = -(q.natDegree : ℤ)
AlgebraicCurve.Place.aeval_mem
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 SupportTransfer
variable {K F F' : Type*} [Field K] [Field F] [Field F'] [Algebra K F'] [Algebra F F']
  [FiniteDimensional F F']
variable (w : Place K F')
omit [FiniteDimensional F F'] in
theorem _root_.AlgebraicCurve.Place.aeval_mem {Q : Polynomial F} {x : F'}
    (hcoeff : ∀ i, algebraMap F F' (Q.coeff i) ∈ w.toValuationSubring)
    (hx : x ∈ w.toValuationSubring) :
    Polynomial.aeval x Q ∈ w.toValuationSubring
AlgebraicCurve.Place.exists_coeff_ord_ne_zero
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 SupportTransfer
variable {K F F' : Type*} [Field K] [Field F] [Field F'] [Algebra K F'] [Algebra F F']
  [FiniteDimensional F F']
variable (w : Place K F')
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.exists_coeff_ord_ne_zero {f : F'} (hf : f ≠ 0)
  (hford : w.ord f ≠ 0) :
    ∃ i < (minpoly F f).natDegree, (minpoly F f).coeff i ≠ 0 ∧
      w.ord (algebraMap F F' ((minpoly F f).coeff i)) ≠ 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.chartHom
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.inv_algebraMap_mem
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.finite_setOf_ord_ne_zero_of_finiteDimensional
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Assembly
variable {K : Type*} [Field K] {F' : Type*} [Field F'] [Algebra K F']
  [Algebra (RatFunc K) F'] [IsScalarTower K (RatFunc K) F']
  [FiniteDimensional (RatFunc K) F'] [Algebra.IsSeparable (RatFunc K) F']
theorem finite_setOf_ord_ne_zero_of_finiteDimensional {f : F'} (hf : f ≠ 0) :
    {w : Place K F' | w.ord f ≠ 0}.Finite
AlgebraicCurve.Place.uniformizerSubring''
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CotangentEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
def _root_.AlgebraicCurve.Place.uniformizerSubring'' : v.toValuationSubring
AlgebraicCurve.Place.polynomialAlgebra
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CotangentEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.polynomialAlgebra :
  Algebra K[X] v.toValuationSubring
AlgebraicCurve.Place.polynomialAlgebra_algebraMap_X
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CotangentEngine
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.polynomialAlgebra_algebraMap_X :
    let := v.polynomialAlgebra
    algebraMap K[X] v.toValuationSubring X = v.uniformizerSubring'' :=
  aeval_X _
AlgebraicCurve.Place.polynomialIsScalarTower
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CotangentEngine
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 _root_.AlgebraicCurve.Place.polynomialIsScalarTower :
    let := v.polynomialAlgebra
    IsScalarTower K K[X] v.toValuationSubring := by
  let := v.polynomialAlgebra
  refine IsScalarTower.of_algebraMap_eq fun a => ?_
  change _ = aeval v.uniformizerSubring'' (algebraMap K K[X] a)
  simp [Polynomial.algebraMap_eq, aeval_C]
AlgebraicCurve.Place.range_mapBaseChange_le_span_D_uniformizer
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CotangentEngine
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
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.range_mapBaseChange_le_span_D_uniformizer :
    let := v.polynomialAlgebra
    let := v.polynomialIsScalarTower
    LinearMap.range (KaehlerDifferential.mapBaseChange K K[X] v.toValuationSubring)
      ≤ Submodule.span v.toValuationSubring
          {KaehlerDifferential.D K v.toValuationSubring v.uniformizerSubring''} := by
  let := v.polynomialAlgebra
  let := v.polynomialIsScalarTower
  change LinearMap.range (KaehlerDifferential.mapBaseChange K K[X] v.toValuationSubring)
    ≤ Submodule.span v.toValuationSubring
        {KaehlerDifferential.D K v.toValuationSubring v.uniformizerSubring''}
  rintro _ ⟨t, rfl⟩
  induction t with
  | add x y hx hy => rw [map_add]; exact add_mem hx hy
  | tmul b ω =>
    rw [KaehlerDifferential.mapBaseChange_tmul,
      show ω = (KaehlerDifferential.polynomialEquiv K ω) • (KaehlerDifferential.D K K[X] X) from
        ((KaehlerDifferential.polynomialEquiv K).symm_apply_apply ω).symm.trans
          (KaehlerDifferential.polynomialEquiv_symm K _),
      LinearMap.map_smul, KaehlerDifferential.map_D,
      show algebraMap K[X] v.toValuationSubring X = v.uniformizerSubring'' from aeval_X _,
      ← algebraMap_smul (A := v.toValuationSubring)]
    exact Submodule.smul_mem _ b
      (Submodule.smul_mem _ _ (Submodule.mem_span_singleton_self _))
AlgebraicCurve.Place.range_mapBaseChange_eq_top_of_subsingleton
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CotangentEngine
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
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.range_mapBaseChange_eq_top_of_subsingleton
    (hsub :
      let := v.polynomialAlgebra
      Subsingleton Ω[v.toValuationSubring⁄K[X]]) :
    let := v.polynomialAlgebra
    let := v.polynomialIsScalarTower
    LinearMap.range (KaehlerDifferential.mapBaseChange K K[X] v.toValuationSubring) = ⊤ := by
  let := v.polynomialAlgebra
  let := v.polynomialIsScalarTower
  change LinearMap.range (KaehlerDifferential.mapBaseChange K K[X] v.toValuationSubring) = ⊤
  rw [KaehlerDifferential.range_mapBaseChange]
  exact LinearMap.ker_eq_top.mpr (Subsingleton.elim _ _)
AlgebraicCurve.Place.span_D_uniformizer_eq_top_of_subsingleton
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CotangentEngine
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
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.span_D_uniformizer_eq_top_of_subsingleton
    (hsub :
      let := v.polynomialAlgebra
      Subsingleton Ω[v.toValuationSubring⁄K[X]]) :
    Submodule.span v.toValuationSubring
      {KaehlerDifferential.D K v.toValuationSubring v.uniformizerSubring''} = ⊤ := by
  refine top_le_iff.mp ?_
  rw [← v.range_mapBaseChange_eq_top_of_subsingleton hsub]
  exact v.range_mapBaseChange_le_span_D_uniformizer
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ValSubringPolynomialFormallyUnramified

Valuation subrings are formally unramified over their uniformizer polynomial algebras.

Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def ValSubringPolynomialFormallyUnramified : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringKaehlerSpanTop_of_polynomialFormallyUnramified
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringKaehlerSpanTop_of_polynomialFormallyUnramified
    (hfu : ValSubringPolynomialFormallyUnramified K F) :
    ValSubringKaehlerSpanTop K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_monic_irreducible_factorization
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
variable {K : Type*} [Field K]
theorem exists_monic_irreducible_factorization {d : K[X]} (hd : d.Monic) :
    ∃ (s : Finset K[X]) (n : K[X] → ℕ),
      (∀ p ∈ s, p.Monic) ∧ (∀ p ∈ s, Irreducible p) ∧
      (Set.Pairwise (s : Set K[X]) fun i j => IsCoprime i j) ∧
      d = ∏ p ∈ s, p ^ n p := by
  classical
  refine ⟨(normalizedFactors d).toFinset,
    fun p => (normalizedFactors d).count p, ?_, ?_, ?_, ?_⟩
  · intro p hp
    exact ((Polynomial.mem_normalizedFactors_iff hd.ne_zero).mp
      (Multiset.mem_toFinset.mp hp)).2.1
  · intro p hp
    exact irreducible_of_normalized_factor p (Multiset.mem_toFinset.mp hp)
  · intro p hp q hq hne
    have hp' := Multiset.mem_toFinset.mp hp
    have hq' := Multiset.mem_toFinset.mp hq
    rw [(irreducible_of_normalized_factor p hp').coprime_iff_not_dvd]
    exact fun hdvd => hne (normalizedFactors_eq_of_dvd d p hp' q hq' hdvd)
  · calc d = (normalizedFactors d).prod := by
            rw [prod_normalizedFactors_eq hd.ne_zero, hd.normalize_eq_self]
      _ = ∏ p ∈ (normalizedFactors d).toFinset, p ^ (normalizedFactors d).count p :=
            Finset.prod_multiset_count _
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.algebraMap_mem_span_P1PartialFractionGenerators
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
variable {K : Type*} [Field K]
theorem algebraMap_mem_span_P1PartialFractionGenerators (q : K[X]) :
    algebraMap K[X] (RatFunc K) q ∈ Submodule.span K (P1PartialFractionGenerators K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.div_pow_mem_span_P1PartialFractionGenerators
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
variable {K : Type*} [Field K]
theorem div_pow_mem_span_P1PartialFractionGenerators
    {p c : K[X]} (hpmon : p.Monic) (hpirr : Irreducible p)
    (hdeg : c.degree < p.degree) {m : ℕ} (hm : 1 ≤ m) :
    algebraMap K[X] (RatFunc K) c / (algebraMap K[X] (RatFunc K) p) ^ m
      ∈ Submodule.span K (P1PartialFractionGenerators K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFunc_mem_span_P1PartialFractionGenerators
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
variable {K : Type*} [Field K]
theorem ratFunc_mem_span_P1PartialFractionGenerators (f : RatFunc K) :
    f ∈ Submodule.span K (P1PartialFractionGenerators K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PartialFractionSpan_eq_top
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.Polynomial
open _root_.UniqueFactorizationMonoid
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
variable {K : Type*} [Field K]
theorem p1PartialFractionSpan_eq_top :
    Submodule.span K (P1PartialFractionGenerators K) = ⊤
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Section.residueFieldAdjoinRootEquiv

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

Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 : _root_.IsIntegral K ᾱ)
    (htop : K⟮ᾱ⟯ = ⊤) :
    AdjoinRoot (minpoly K ᾱ) ≃ₐ[K] v.ResidueField
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Section.residueFieldAdjoinRootEquiv_root
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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)
theorem residueFieldAdjoinRootEquiv_root {ᾱ : v.ResidueField} (hint : _root_.IsIntegral K ᾱ)
    (htop : K⟮ᾱ⟯ = ⊤) :
    residueFieldAdjoinRootEquiv v hint htop (AdjoinRoot.root (minpoly K ᾱ)) = ᾱ
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Section.sectionOfPrimitiveRoot

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

Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
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 : _root_.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.poleSubmodule
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
AlgebraicCurve.Place.mem_poleSubmodule
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.ord_uniformizer_pow (n : ℕ) : v.ord
  (v.uniformizer ^ n) = (n : ℤ)
AlgebraicCurve.Place.coe_poleSubmodule_zero
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.coe_poleSubmodule_zero :
    (v.poleSubmodule 0 : Set F) = (v.toValuationSubring : Set F)
AlgebraicCurve.Place.poleSubmodule_one
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_one : v.poleSubmodule 1 =
  v.simplePoleSubmodule
AlgebraicCurve.Place.mem_poleSubmodule_iff_ord
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_poleSubmodule_iff_ord {n : ℕ} {f : F} (hf : f ≠ 0) :
    f ∈ v.poleSubmodule n ↔ -(n : ℤ) ≤ v.ord f
AlgebraicCurve.Place.poleSubmodule_mono
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.poleSubmodule_mono : Monotone v.poleSubmodule
AlgebraicCurve.Place.poleMulUniformizerPow
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.poleMulUniformizerPow (n : ℕ) :
  v.poleSubmodule n →ₗ[K] v.toValuationSubring where
  toFun f := ⟨v.uniformizer ^ n * f.1, f.2⟩
  map_add' f g := Subtype.ext (mul_add _ _ _)
  map_smul' c f := Subtype.ext <| by
    change v.uniformizer ^ n * ((c • f : v.poleSubmodule n) : F)
        = ((c • ⟨v.uniformizer ^ n * 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.laurentTailCoeff
Source context 32 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
def _root_.AlgebraicCurve.Place.laurentTailCoeff (n : ℕ) :
  v.poleSubmodule n →ₗ[K] v.ResidueField
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.laurentTailCoeff_apply
Source context 33 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
theorem laurentTailCoeff_apply {n : ℕ} (f : v.poleSubmodule n) :
    v.laurentTailCoeff n f = IsLocalRing.residue _ ⟨v.uniformizer ^ n * f.1, f.2⟩
AlgebraicCurve.Place.laurentTail_remainder_mem_poleSubmodule
Source context 33 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
theorem _root_.AlgebraicCurve.Place.laurentTail_remainder_mem_poleSubmodule {n : ℕ} {f : F}
    (hf : f ∈ v.poleSubmodule (n + 1)) {c : v.toValuationSubring}
    (hc : IsLocalRing.residue _ c = v.laurentTailCoeff (n + 1) ⟨f, hf⟩) :
    f - (c : F) * (v.uniformizer ^ (n + 1))⁻¹ ∈ v.poleSubmodule n
AlgebraicCurve.Place.localResidueData_res_eq_simplePoleResidueAux
Source context 34 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.localResidueData_res_eq_simplePoleResidueAux (R :
  v.LocalResidueData) {f : F}
    (hf : f ∈ v.simplePoleSubmodule) : R.res f = v.simplePoleResidueAux ⟨f, hf⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.gate_poleSubmodule_strictMono
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.gate_localResidueData_uniformizer_inv
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_localResidueData_uniformizer_inv (v : Place K F) (R : v.LocalResidueData) :
    R.res v.uniformizer⁻¹ = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_zero_depth
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_algebraMap
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_factor
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_exists_rep_of_evalₐ_eq_zero
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_succ_mul_eq_zero
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalₐ_one_eq_zero_of_evalOneₐ
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalDepth_add
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalDepth_mul
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_residueHat_congr_of_depth_one
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_evalDepth_one_eq_zero_of_residueHat
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_eq_uniformizer_mul_of_mem_maximalIdeal
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_exists_uniformizer_factor
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3.mp72a102_t3_sigma_taylor_expansion
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartAtom_ne_zero
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section OrdIntegrand
variable [CharZero K]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] [CharZero K]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
theorem p1PrincipalPartAtom_ne_zero {p : K[X]} (hp : p ≠ 0) {c : K[X]} (hc : c ≠ 0)
    (m : ℕ) : p1PrincipalPartAtom K p c m ≠ 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.le_exp_neg_one_of_lt_one
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
theorem le_exp_neg_one_of_lt_one {x : ℤᵐ⁰} (hx : x < 1) : x ≤ exp (-1 : ℤ)
AlgebraicCurve.Place.isUnit_algebraMap
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 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.isUnit_algebraMap {c : K} (hc : c ≠ 0) :
    IsUnit (algebraMap K v.toValuationSubring c)
AlgebraicCurve.Place.adicValuation_algebraMap
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.adicValuation_algebraMap {c : K} (hc : c ≠ 0) :
    v.adicValuation (algebraMap K F c) = 1
AlgebraicCurve.Place.ord_algebraMap
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
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.ord_algebraMap (c : K) : v.ord (algebraMap K F c) =
  0
AlgebraicCurve.Place.ord_eq_neg_log_of_valuationSubring_eq
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
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 _root_.AlgebraicCurve.Place.ord_eq_neg_log_of_valuationSubring_eq (w :
  Valuation F ℤᵐ⁰)
    (hw : w.valuationSubring = v.toValuationSubring) {π : F} (hπ : w π = exp (-1 : ℤ))
    {f : F} (hf : f ≠ 0) : v.ord f = -log (w f)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_ofHeightOneSpectrum_eq_neg_log
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem ord_ofHeightOneSpectrum_eq_neg_log (w : HeightOneSpectrum K[X]) {p : K[X]}
    (hp : p ≠ 0) (hw : w.asIdeal = Ideal.span {p}) {f : RatFunc K} (hf : f ≠ 0) :
    (Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w).ord f
      = -log (w.valuation (RatFunc K) f)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_ofHeightOneSpectrum_of_span
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem ord_ofHeightOneSpectrum_of_span (w : HeightOneSpectrum K[X]) {p : K[X]}
    (hp : p ≠ 0) (hw : w.asIdeal = Ideal.span {p}) :
    (Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w).ord
      (algebraMap K[X] (RatFunc K) p) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_ofHeightOneSpectrum_eq_zero_of_notMem
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem ord_ofHeightOneSpectrum_eq_zero_of_notMem (w : HeightOneSpectrum K[X]) {q : K[X]}
    (hq : q ≠ 0) (hmem : q ∉ w.asIdeal) :
    (Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w).ord
      (algebraMap K[X] (RatFunc K) q) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 PlaceInftyOrd
variable [DecidableEq (RatFunc K)]
theorem ord_placeInfty {f : RatFunc K} (hf : f ≠ 0) :
    (placeInfty K).ord f = -f.intDegree
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.ord_placeInfty_algebraMap
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 PlaceInftyOrd
variable [DecidableEq (RatFunc K)]
theorem ord_placeInfty_algebraMap {q : K[X]} (hq : q ≠ 0) :
    (placeInfty K).ord (algebraMap K[X] (RatFunc K) q) = -(q.natDegree : ℤ)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.single_add_single_apply_eq_ord
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 IrreducibleDivisor
variable [DecidableEq (RatFunc K)]
theorem single_add_single_apply_eq_ord {p : K[X]} (hp : Irreducible p)
    (v : Place K (RatFunc K)) :
    (Finsupp.single (finitePlace K hp) (1 : ℤ)
        + Finsupp.single (placeInfty K) (-(p.natDegree : ℤ))) v
      = v.ord (algebraMap K[X] (RatFunc K) p)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.degree_single_add_single
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 IrreducibleDivisor
variable [DecidableEq (RatFunc K)]
theorem degree_single_add_single {p : K[X]} (hp : Irreducible p) :
    Divisor.degree (Finsupp.single (finitePlace K hp) (1 : ℤ)
        + Finsupp.single (placeInfty K) (-(p.natDegree : ℤ))) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.degree_eq_zero_of_forall_eq_ord_algebraMap
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem degree_eq_zero_of_forall_eq_ord_algebraMap (q : K[X]) :
    ∀ D : Divisor K (RatFunc K),
      (∀ v : Place K (RatFunc K), D v = v.ord (algebraMap K[X] (RatFunc K) q)) →
      Divisor.degree D = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.principalDivisor

The principal divisor of a nonzero rational function.

Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
def principalDivisor {f : RatFunc K} (hf : f ≠ 0) : Divisor K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.principalDivisor_apply
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem principalDivisor_apply {f : RatFunc K} (hf : f ≠ 0) (v : Place K (RatFunc K)) :
    principalDivisor hf v = v.ord f
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.degree_eq_zero_of_forall_eq_ord
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem degree_eq_zero_of_forall_eq_ord {f : RatFunc K} (D : Divisor K (RatFunc K))
    (hD : ∀ v : Place K (RatFunc K), D v = v.ord f) : Divisor.degree D = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.degree_principalDivisor
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
theorem degree_principalDivisor {f : RatFunc K} (hf : f ≠ 0) :
    Divisor.degree (principalDivisor hf) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.instHasPrincipalDivisors
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
instance instHasPrincipalDivisors : HasPrincipalDivisors K (RatFunc K) where
  exists_divisor _ hf := ⟨principalDivisor hf, fun _ => rfl, degree_principalDivisor hf⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.D_ratFuncX_eq_neg_X_sq_smul_D_inv
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem D_ratFuncX_eq_neg_X_sq_smul_D_inv :
    KaehlerDifferential.D K (RatFunc K) RatFunc.X
      = (-(RatFunc.X : RatFunc K) ^ 2) •
          KaehlerDifferential.D K (RatFunc K) (RatFunc.X : RatFunc K)⁻¹
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_placeInfty_X_inv
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
theorem ord_placeInfty_X_inv : (placeInfty K).ord (RatFunc.X : RatFunc K)⁻¹ = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_placeInfty_X_pow
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
theorem ord_placeInfty_X_pow (n : ℕ) :
    (placeInfty K).ord ((RatFunc.X : RatFunc K) ^ n) = -(n : ℤ)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.D_ratFuncX_inv_ne_zero
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section NonVanishing
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
theorem D_ratFuncX_inv_ne_zero (hwd : OrdDifferentialWellDefined K (RatFunc K)) :
    KaehlerDifferential.D K (RatFunc K) (RatFunc.X : RatFunc K)⁻¹ ≠ 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.differentialCoeff_placeInfty_D_X_eq
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section DifferentialCoeff
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem differentialCoeff_placeInfty_D_X_eq :
    (placeInfty K).differentialCoeff (KaehlerDifferential.D K (RatFunc K) RatFunc.X)
      = (-(RatFunc.X : RatFunc K) ^ 2) *
          (placeInfty K).differentialCoeff
            (KaehlerDifferential.D K (RatFunc K) (RatFunc.X : RatFunc K)⁻¹)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_differentialCoeff_placeInfty_D_X_inv_eq_zero
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section DifferentialCoeff
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem ord_differentialCoeff_placeInfty_D_X_inv_eq_zero
    (hwd : OrdDifferentialWellDefined K (RatFunc K)) :
    (placeInfty K).ord
        ((placeInfty K).differentialCoeff
          (KaehlerDifferential.D K (RatFunc K) (RatFunc.X : RatFunc K)⁻¹)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ordDifferential_placeInfty_D_ratFuncX
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section OrdDifferential
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem ordDifferential_placeInfty_D_ratFuncX
    (hwd : OrdDifferentialWellDefined K (RatFunc K)) :
    (placeInfty K).ordDifferential
        (KaehlerDifferential.D K (RatFunc K) (RatFunc.X : RatFunc K)) = -2
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.eq_ord_of_addHom_of_nonneg_iff
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.neg_log_valuation_fiberCenter_eq_ord
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.le_ord_iff_mem_pow_fiberCenter
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.ramificationIndex_eq_ramificationIdx_fiberCenter
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.toValuationSubringOfRestrictEq

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

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.residueOfCenter

The residue map on the integral closure at a place.

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.residueOfCenter_apply
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.ker_residueOfCenter
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.surjective_residueOfCenter
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.residueFieldEquivQuotientCenter

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

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.placeCongrEquiv

Transport valuation subrings along equality of places.

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.restrictResidueFieldEquiv

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

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.inertiaDeg_eq_inertiaDeg_fiberCenter
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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
AlgebraicCurve.Place.uniformizerSubring'''
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
def _root_.AlgebraicCurve.Place.uniformizerSubring''' :
  v.toValuationSubring
AlgebraicCurve.Place.irreducible_uniformizerSubring'''
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.irreducible_uniformizerSubring''' :
  Irreducible v.uniformizerSubring'''
AlgebraicCurve.Place.maximalIdeal_eq_span_uniformizer
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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.maximalIdeal_eq_span_uniformizer :
    IsLocalRing.maximalIdeal v.toValuationSubring = Ideal.span {v.uniformizerSubring'''}
AlgebraicCurve.Place.D_polynomialAlgebra_uniformizer
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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 _root_.AlgebraicCurve.Place.D_polynomialAlgebra_uniformizer :
    let := v.polynomialAlgebra
    KaehlerDifferential.D K[X] v.toValuationSubring v.uniformizerSubring''' = 0 := by
  let := v.polynomialAlgebra
  rw [show v.uniformizerSubring''' = algebraMap K[X] v.toValuationSubring X from
    (v.polynomialAlgebra_algebraMap_X).symm]
  exact (KaehlerDifferential.D K[X] v.toValuationSubring).map_algebraMap X
AlgebraicCurve.Place.ker_algebraMap_residueField_eq_span
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.ker_algebraMap_residueField_eq_span :
    RingHom.ker (algebraMap v.toValuationSubring v.ResidueField)
      = Ideal.span {v.uniformizerSubring'''}
AlgebraicCurve.Place.formallyUnramified_polynomial_residueField_of_isSeparable
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem
  _root_.AlgebraicCurve.Place.formallyUnramified_polynomial_residueField_of_isSeparable
    [Algebra.IsSeparable K (IsLocalRing.ResidueField v.toValuationSubring)] :
    let := v.polynomialAlgebra
    Algebra.FormallyUnramified K[X] (IsLocalRing.ResidueField v.toValuationSubring) := by
  let := v.polynomialAlgebra
  let := v.polynomialIsScalarTower
  have : Algebra.FormallyUnramified K (IsLocalRing.ResidueField v.toValuationSubring) :=
    Algebra.FormallyUnramified.of_isSeparable K _
  exact Algebra.FormallyUnramified.of_restrictScalars K K[X] _
AlgebraicCurve.Place.subsingleton_residueKaehler_of_isSeparable
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.subsingleton_residueKaehler_of_isSeparable
    [Algebra.IsSeparable K (IsLocalRing.ResidueField v.toValuationSubring)] :
    let := v.polynomialAlgebra
    Subsingleton Ω[(IsLocalRing.ResidueField v.toValuationSubring)⁄K[X]] := by
  let := v.polynomialAlgebra
  have := v.formallyUnramified_polynomial_residueField_of_isSeparable
  exact Algebra.FormallyUnramified.subsingleton_kaehlerDifferential
AlgebraicCurve.Place.subsingleton_residueTensor_polynomialKaehler_of_isSeparable
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem
  _root_.AlgebraicCurve.Place.subsingleton_residueTensor_polynomialKaehler_of_isSeparable
    [Algebra.IsSeparable K (IsLocalRing.ResidueField v.toValuationSubring)] :
    let := v.polynomialAlgebra
    Subsingleton (v.ResidueField ⊗[v.toValuationSubring] Ω[v.toValuationSubring⁄K[X]]) := by
  let := v.polynomialAlgebra
  let := v.polynomialIsScalarTower
  have := v.subsingleton_residueKaehler_of_isSeparable
  refine subsingleton_of_forall_eq 0 fun t => ?_
  obtain ⟨c, rfl⟩ :=
    ((KaehlerDifferential.exact_kerCotangentToTensor_mapBaseChange K[X]
      v.toValuationSubring v.ResidueField
      Ideal.Quotient.mk_surjective) t).mp (Subsingleton.elim _ _)
  obtain ⟨⟨x, hx⟩, rfl⟩ := Ideal.toCotangent_surjective _ c
  simp only [KaehlerDifferential.kerCotangentToTensor_toCotangent]
  rw [v.ker_algebraMap_residueField_eq_span] at hx
  induction hx using Submodule.span_induction with
  | mem y hy =>
    rcases hy with rfl
    rw [v.D_polynomialAlgebra_uniformizer, TensorProduct.tmul_zero]
  | zero => simp
  | add y z _ _ hy hz =>
    rw [map_add, TensorProduct.tmul_add, hy, hz, add_zero]
  | smul a y hy IH =>
    have hres : (algebraMap v.toValuationSubring v.ResidueField y) = 0 := by
      rw [IsLocalRing.ResidueField.algebraMap_eq, IsLocalRing.residue_eq_zero_iff,
        v.maximalIdeal_eq_span_uniformizer]
      exact hy
    rw [smul_eq_mul, Derivation.leibniz, TensorProduct.tmul_add,
      TensorProduct.tmul_smul, IH, smul_zero, zero_add,
      ← TensorProduct.smul_tmul, ← Algebra.algebraMap_eq_smul_one, hres,
      TensorProduct.zero_tmul]
AlgebraicCurve.Place.finite_polynomialKaehler_of_finite_kaehler
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.finite_polynomialKaehler_of_finite_kaehler
    [Module.Finite v.toValuationSubring Ω[v.toValuationSubring⁄K]] :
    let := v.polynomialAlgebra
    Module.Finite v.toValuationSubring Ω[v.toValuationSubring⁄K[X]] := by
  let := v.polynomialAlgebra
  let := v.polynomialIsScalarTower
  exact Module.Finite.of_surjective
    (KaehlerDifferential.map K K[X] v.toValuationSubring v.toValuationSubring)
    (KaehlerDifferential.map_surjective K K[X] v.toValuationSubring)
AlgebraicCurve.Place.subsingleton_polynomialKaehler_of_isSeparable_of_finite
Source context 32 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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
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.subsingleton_polynomialKaehler_of_isSeparable_of_finite
    [Algebra.IsSeparable K (IsLocalRing.ResidueField v.toValuationSubring)]
    [Module.Finite v.toValuationSubring Ω[v.toValuationSubring⁄K]] :
    let := v.polynomialAlgebra
    Subsingleton Ω[v.toValuationSubring⁄K[X]] := by
  let := v.polynomialAlgebra
  have := v.finite_polynomialKaehler_of_finite_kaehler
  have := v.subsingleton_residueTensor_polynomialKaehler_of_isSeparable
  exact (IsLocalRing.subsingleton_tensorProduct (R := v.toValuationSubring)).mp ‹_›
AlgebraicCurve.Place.isSeparable_residueField_of_charZero_of_finiteResidue
Source context 33 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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
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.isSeparable_residueField_of_charZero_of_finiteResidue
    [CharZero K] [v.FiniteResidue] :
    Algebra.IsSeparable K (IsLocalRing.ResidueField v.toValuationSubring)
AlgebraicCurve.Place.subsingleton_polynomialKaehler_of_charZero_of_finite
Source context 34 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section ResidueEngine
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
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.subsingleton_polynomialKaehler_of_charZero_of_finite
    [CharZero K] [v.FiniteResidue]
    [Module.Finite v.toValuationSubring Ω[v.toValuationSubring⁄K]] :
    let := v.polynomialAlgebra
    Subsingleton Ω[v.toValuationSubring⁄K[X]] := by
  have := v.isSeparable_residueField_of_charZero_of_finiteResidue
  exact v.subsingleton_polynomialKaehler_of_isSeparable_of_finite
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ValSubringKaehlerFinite

The differentials of each valuation subring form a finite module.

Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def ValSubringKaehlerFinite : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringPolynomialFormallyUnramified_of_kaehlerFinite_of_charZero
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringPolynomialFormallyUnramified_of_kaehlerFinite_of_charZero
    [CharZero K] [∀ v : Place K F, v.FiniteResidue]
    (hfin : ValSubringKaehlerFinite K F) :
    ValSubringPolynomialFormallyUnramified K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringKaehlerSpanTop_of_kaehlerFinite_of_charZero
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
open scoped _root_.TensorProduct
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringKaehlerSpanTop_of_kaehlerFinite_of_charZero
    [CharZero K] [∀ v : Place K F, v.FiniteResidue]
    (hfin : ValSubringKaehlerFinite K F) :
    ValSubringKaehlerSpanTop K F
AlgebraicCurve.Place.exists_mem_poleSubmodule
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.exists_mem_poleSubmodule (f : F) : ∃ n,
  f ∈ v.poleSubmodule n
AlgebraicCurve.Place.uniformizer_pow_inv_mem_poleSubmodule_self
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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]
AlgebraicCurve.Place.CanonicalLocalResidueDataK.res_algebraMap_mul_uniformizer_pow_inv
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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)
namespace CanonicalLocalResidueDataK
open scoped _root_.AlgebraicCurve.Place.CanonicalLocalResidueDataK in
theorem
  _root_.AlgebraicCurve.Place.CanonicalLocalResidueDataK.res_algebraMap_mul_uniformizer_pow_inv
    (R : v.CanonicalLocalResidueDataK) {n : ℕ} (hn : 1 ≤ n) (c : K) :
    R.res ((algebraMap K F c) * (v.uniformizer ^ (n + 1))⁻¹) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.gate_canonicalLocalResidueDataK_uniformizer_inv
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_canonicalLocalResidueDataK_uniformizer_inv (v : Place K F)
    (R : v.CanonicalLocalResidueDataK) : R.res v.uniformizer⁻¹ = 1
ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed.ag9b15u_eq_zero_or_one_le_ord_of_residue_eq_zero
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace ModularCurve
namespace MilneAvAg9bRd15UnitNormalFormLaurentSeed
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open scoped _root_.Polynomial
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed in
with_weak_namespace _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
theorem ag9b15u_eq_zero_or_one_le_ord_of_residue_eq_zero
    {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
    {g : F} (hg : g ∈ v.toValuationSubring)
    (h0 : IsLocalRing.residue _ (⟨g, hg⟩ : v.toValuationSubring) = 0) :
    g = 0 ∨ 1 ≤ v.ord g
ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed.ag9b15u_exists_unit_normal_form_of_surj
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace ModularCurve
namespace MilneAvAg9bRd15UnitNormalFormLaurentSeed
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open scoped _root_.Polynomial
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
open _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
  (ag9b15u_eq_zero_or_one_le_ord_of_residue_eq_zero)
in
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed in
with_weak_namespace _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
theorem ag9b15u_exists_unit_normal_form_of_surj
    {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    {w : F} (hw0 : w ≠ 0) (hw : v.ord w = 0) :
    ∃ (c : K) (s : F), c ≠ 0 ∧ (s = 0 ∨ 1 ≤ v.ord s) ∧
      w = algebraMap K F c * (1 + s)
ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed.ag9b15u_exists_K_truncation_of_mem_poleSubmodule
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace ModularCurve
namespace MilneAvAg9bRd15UnitNormalFormLaurentSeed
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open scoped _root_.Polynomial
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed in
with_weak_namespace _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
theorem ag9b15u_exists_K_truncation_of_mem_poleSubmodule
    {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (n : ℕ) {f : F} (hf : f ∈ v.poleSubmodule n) :
    ∃ c : ℕ → K,
      f - ∑ j ∈ Finset.range n, algebraMap K F (c j) * (v.uniformizer ^ (j + 1))⁻¹
        ∈ v.toValuationSubring
ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed.ag9b15u_differentialCoeff_D_unit_mul_uniformizer
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace ModularCurve
namespace MilneAvAg9bRd15UnitNormalFormLaurentSeed
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open scoped _root_.Polynomial
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed in
with_weak_namespace _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
theorem ag9b15u_differentialCoeff_D_unit_mul_uniformizer
    {K F : Type*} [Field K] [Field F] [Algebra K F]
    (v : Place K F) [v.DCoordGenerates] [Nontrivial Ω[F⁄K]] (w : F) :
    v.differentialCoeff (KaehlerDifferential.D K F (w * v.uniformizer))
      = w + v.uniformizer * v.differentialCoeff (KaehlerDifferential.D K F w)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff

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

Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a103T2.mp72a103_t2_evalDepth_of_uniformizer_mul
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a103T2.mp72a103_t2_lift_eq_zero_of_depth_one
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a103T2.mp72a103_t2_taylor_coeff_eq_zero_of_depth
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.dX

The differential of the rational function field coordinate.

Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
abbrev dX : Ω[(RatFunc K)⁄K]
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.aeval_ratFuncX_eq_algebraMap
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
theorem aeval_ratFuncX_eq_algebraMap (q : K[X]) :
    aeval (RatFunc.X : RatFunc K) q = algebraMap K[X] (RatFunc K) q
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.D_algebraMap_polynomial
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
theorem D_algebraMap_polynomial (q : K[X]) :
    KaehlerDifferential.D K (RatFunc K) (algebraMap K[X] (RatFunc K) q)
      = algebraMap K[X] (RatFunc K) q.derivative • dX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.denom_sq_smul_D_eq
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
theorem denom_sq_smul_D_eq (f : RatFunc K) :
    (algebraMap K[X] (RatFunc K) f.denom) ^ 2 • KaehlerDifferential.D K (RatFunc K) f
      = algebraMap K[X] (RatFunc K)
          (f.num.derivative * f.denom - f.num * f.denom.derivative) • dX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.span_dX_eq_top
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
theorem span_dX_eq_top :
    Submodule.span (RatFunc K) {dX K} = ⊤
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.dX_ne_zero
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
theorem dX_ne_zero [Nontrivial Ω[(RatFunc K)⁄K]] : dX K ≠ 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.not_dvd_derivative_of_sq_not_dvd
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
theorem not_dvd_derivative_of_sq_not_dvd {p : K[X]} (hp : Irreducible p) (hsep : p.Separable)
    {q : K[X]} (hpq : p ∣ q) (hpq2 : ¬ p ^ 2 ∣ q) : ¬ p ∣ q.derivative
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.not_dvd_derivative_of_ord_eq_one
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
theorem not_dvd_derivative_of_ord_eq_one {w : HeightOneSpectrum K[X]} {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) (hsep : p.Separable)
    {q : K[X]} (hq : q ≠ 0)
    (hord : (Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w).ord
      (algebraMap K[X] (RatFunc K) q) = 1) :
    ¬ p ∣ q.derivative
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.uniformizer_ne_zero'
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section NumDenom
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem uniformizer_ne_zero' : (v).uniformizer ≠ 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_algebraMap_denom_uniformizer_eq_zero
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section NumDenom
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem ord_algebraMap_denom_uniformizer_eq_zero {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) :
    (v).ord (algebraMap K[X] (RatFunc K) (v).uniformizer.denom) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_algebraMap_num_uniformizer_eq_one
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section NumDenom
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem ord_algebraMap_num_uniformizer_eq_one {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) :
    (v).ord (algebraMap K[X] (RatFunc K) (v).uniformizer.num) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.not_dvd_num'denom_sub_numdenom'
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section NumDenom
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem not_dvd_num'denom_sub_numdenom' {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) (hsep : p.Separable) :
    ¬ p ∣ ((v).uniformizer.num.derivative * (v).uniformizer.denom
            - (v).uniformizer.num * (v).uniformizer.denom.derivative)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_differentialCoeff_dX_ofHeightOneSpectrum
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section PerPlace
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem ord_differentialCoeff_dX_ofHeightOneSpectrum {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) (hsep : p.Separable) :
    (v).ord ((v).differentialCoeff (dX K)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.differentialCoeff_dX_mem_ofHeightOneSpectrum
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section PerPlace
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem differentialCoeff_dX_mem_ofHeightOneSpectrum {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) (hsep : p.Separable) :
    (v).differentialCoeff (dX K) ∈ (v).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1DifferentialCoeffRegularFinite_dX
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
variable {K}
section Discharge
variable (K)
variable [CharZero K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F := RatFunc K)]
  [HasPrincipalDivisors K (RatFunc K)] in
theorem p1DifferentialCoeffRegularFinite_dX :
    P1DifferentialCoeffRegularFinite K (dX_ne_zero K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_ofHeightOneSpectrum_irreducible_eq_zero_of_ne
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
omit [DecidableEq (RatFunc K)] in
theorem ord_ofHeightOneSpectrum_irreducible_eq_zero_of_ne
    (w : HeightOneSpectrum K[X]) {p : K[X]} (hp : Irreducible p)
    (hne : w ≠ heightOneSpectrumOfIrreducible K hp) :
    (Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w).ord
      (algebraMap K[X] (RatFunc K) p) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_algebraMap_irreducible_eq_zero_of_ne
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
theorem ord_algebraMap_irreducible_eq_zero_of_ne
    {p : K[X]} (hp : Irreducible p) {v : Place K (RatFunc K)}
    (hvp : v ≠ finitePlace K hp) (hvinf : v ≠ placeInfty K) :
    v.ord (algebraMap K[X] (RatFunc K) p) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.inv_algebraMap_pow_mem_of_ne_finitePlace
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
theorem inv_algebraMap_pow_mem_of_ne_finitePlace
    {p : K[X]} (hp : Irreducible p) {v : Place K (RatFunc K)}
    (hvp : v ≠ finitePlace K hp) (hvinf : v ≠ placeInfty K) (m : ℕ) :
    ((algebraMap K[X] (RatFunc K) p) ^ m)⁻¹ ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartAtom_mem_of_ne_finitePlace
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
theorem p1PrincipalPartAtom_mem_of_ne_finitePlace
    {p : K[X]} (hp : Irreducible p) (c : K[X]) (m : ℕ) {v : Place K (RatFunc K)}
    (hvp : v ≠ finitePlace K hp) (hvinf : v ≠ placeInfty K) :
    p1PrincipalPartAtom K p c m ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_placeInfty_p1PrincipalPartAtom
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
theorem ord_placeInfty_p1PrincipalPartAtom
    {p : K[X]} (hp : p ≠ 0) {c : K[X]} (hc : c ≠ 0) (m : ℕ) :
    (placeInfty K).ord (p1PrincipalPartAtom K p c m)
      = (m : ℤ) * p.natDegree - c.natDegree
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.one_le_ord_placeInfty_p1PrincipalPartAtom
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
theorem one_le_ord_placeInfty_p1PrincipalPartAtom
    {p : K[X]} (hp : Irreducible p) {c : K[X]} (hc : c ≠ 0) {m : ℕ}
    (hdeg : c.degree < p.degree) (hm : 1 ≤ m) :
    1 ≤ (placeInfty K).ord (p1PrincipalPartAtom K p c m)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.KaehlerRankOne

The function field differential module is free of rank one.

Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def KaehlerRankOne : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.IsCurveOver.of_finiteResidue_of_kaehlerRankOne
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
open scoped _root_.AlgebraicCurve.IsCurveOver in
theorem IsCurveOver.of_finiteResidue_of_kaehlerRankOne
    [HasPrincipalDivisors K F] [∀ v : Place K F, v.FiniteResidue]
    (hΩ : KaehlerRankOne K F) : IsCurveOver K F where
  finiteResidue v := Place.FiniteResidue.finite (v := v)
  kaehler_free_rank_one := hΩ
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.isCurveOver_of_kaehlerRankOne
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K]
theorem isCurveOver_of_kaehlerRankOne (hΩ : KaehlerRankOne K (RatFunc K)) :
    IsCurveOver K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RamificationInertiaIdentity

The degree sum over places above a base place equals the field extension degree contribution.

Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Identity
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']
def RamificationInertiaIdentity : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Divisor.degree_eq_sum_support
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 : ℤ)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Divisor.degree_eq_finrank_mul_of_forall_eq_ord_algebraMap
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_finrank_mul_of_forall_eq_ord_algebraMap
    (H : RamificationInertiaIdentity K F F') {g : F}
    {D' : Divisor K F'} (hD' : ∀ w : Place K F', D' w = w.ord (algebraMap F F' g))
    {D : Divisor K F} (hD : ∀ v : Place K F, D v = v.ord g) :
    degree D' = (Module.finrank F F' : ℤ) * degree D
AlgebraicCurve.Place.ord_prod
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 Galois
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
theorem _root_.AlgebraicCurve.Place.ord_prod {ι : Type*} (v : Place K F') (s : Finset ι)
    (g : ι → F') (hg : ∀ i ∈ s, g i ≠ 0) :
    v.ord (∏ i ∈ s, g i) = ∑ i ∈ s, v.ord (g i)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Divisor.sum_smul_apply_eq_ord_prod
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 Galois
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
variable [FiniteDimensional F F']
theorem sum_smul_apply_eq_ord_prod {f : F'} (hf : f ≠ 0)
    {D : Divisor K F'} (hD : ∀ w : Place K F', D w = w.ord f) (w : Place K F') :
    (∑ σ : F' ≃ₐ[F] F', (AlgEquiv.restrictScalars K σ) • D) w
      = w.ord (∏ σ : F' ≃ₐ[F] F', σ f)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Divisor.degree_eq_zero_of_isGalois
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 Galois
variable {K F F' : Type*} [Field K] [Field F] [Field F']
  [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
variable [FiniteDimensional F F']
theorem degree_eq_zero_of_isGalois [IsGalois F F'] [HasPrincipalDivisors K F]
    (H : RamificationInertiaIdentity K F F')
    {f : F'} {D : Divisor K F'} (hD : ∀ w : Place K F', D w = w.ord f) :
    degree D = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.principalDivisorOf

The principal divisor of a nonzero function in the extension field.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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] {F' : Type*} [Field F'] [Algebra K F']
  [Algebra (RatFunc K) F'] [IsScalarTower K (RatFunc K) F']
  [FiniteDimensional (RatFunc K) F'] [Algebra.IsSeparable (RatFunc K) F']
def principalDivisorOf {f : F'} (hf : f ≠ 0) : Divisor K F'
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.degree_eq_zero_of_forall_eq_ord_of_isGalois
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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] {F' : Type*} [Field F'] [Algebra K F']
  [Algebra (RatFunc K) F'] [IsScalarTower K (RatFunc K) F']
  [FiniteDimensional (RatFunc K) F'] [Algebra.IsSeparable (RatFunc K) F']
theorem degree_eq_zero_of_forall_eq_ord_of_isGalois [IsGalois (RatFunc K) F']
    (H : RamificationInertiaIdentity K (RatFunc K) F')
    {f : F'} {D : Divisor K F'} (hD : ∀ w : Place K F', D w = w.ord f) :
    Divisor.degree D = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.hasPrincipalDivisors_of_isGalois
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
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] {F' : Type*} [Field F'] [Algebra K F']
  [Algebra (RatFunc K) F'] [IsScalarTower K (RatFunc K) F']
  [FiniteDimensional (RatFunc K) F'] [Algebra.IsSeparable (RatFunc K) F']
theorem hasPrincipalDivisors_of_isGalois [IsGalois (RatFunc K) F']
    (_H : RamificationInertiaIdentity K (RatFunc K) F') :
    HasPrincipalDivisors K F' where
  exists_divisor _ hf :=
    ⟨principalDivisorOf hf, fun _ => rfl,
      degree_eq_zero_of_forall_eq_ord_of_isGalois _H fun _ => rfl⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.surjective_algebraMap_residueField_placeInfty
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section SurjectivePlaceInfty
variable (K) [DecidableEq (RatFunc K)]
theorem surjective_algebraMap_residueField_placeInfty :
    Function.Surjective (algebraMap K (placeInfty K).ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.CanonicalLocalResidueKDifferentialCoordIndep

Higher pole monomials have zero residue in any uniformizer differential coordinate.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section NamedRow
variable (K F)
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
def CanonicalLocalResidueKDifferentialCoordIndep : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncX_inv_pow_inv
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section XInvCoordinate
variable (K) [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
theorem ratFuncX_inv_pow_inv (m : ℕ) :
    (((RatFunc.X : RatFunc K)⁻¹) ^ m)⁻¹ = (RatFunc.X : RatFunc K) ^ m
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.X_pow_mul_differentialCoeff_D_X_eq_neg
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section XInvCoordinate
variable (K) [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem X_pow_mul_differentialCoeff_D_X_eq_neg (n : ℕ) :
    (RatFunc.X : RatFunc K) ^ n
        * (placeInfty K).differentialCoeff (KaehlerDifferential.D K (RatFunc K) RatFunc.X)
      = -((placeInfty K).differentialCoeff
            (KaehlerDifferential.D K (RatFunc K) (RatFunc.X : RatFunc K)⁻¹)
          * (((RatFunc.X : RatFunc K)⁻¹) ^ (n + 2))⁻¹)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueDataK_res_X_pow_mul_D_X_of_coordIndep
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section Bridge
variable (K) [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem canonicalLocalResidueDataK_res_X_pow_mul_D_X_of_coordIndep
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (R : (placeInfty K).CanonicalLocalResidueDataK) (n : ℕ) :
    R.res ((RatFunc.X : RatFunc K) ^ n
        * (placeInfty K).differentialCoeff
            (KaehlerDifferential.D K (RatFunc K) RatFunc.X)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueDataK_kaehlerResidueTerm_X_pow_of_coordIndep
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section Bridge
variable (K) [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem canonicalLocalResidueDataK_kaehlerResidueTerm_X_pow_of_coordIndep
    (_hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (R : (placeInfty K).CanonicalLocalResidueDataK) (n : ℕ) :
    Algebra.trace K (placeInfty K).ResidueField
        (R.res (diagonalHom K (RatFunc K) ((RatFunc.X : RatFunc K) ^ n) (placeInfty K)
          * (placeInfty K).differentialCoeff
              (KaehlerDifferential.D K (RatFunc K) RatFunc.X))) = 0
AlgebraicCurve.Place.finite_kaehler_of_essFiniteType
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section EftEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem _root_.AlgebraicCurve.Place.finite_kaehler_of_essFiniteType
  [Algebra.EssFiniteType K v.toValuationSubring] :
    Module.Finite v.toValuationSubring Ω[v.toValuationSubring⁄K]
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ValSubringEssFiniteType

Every valuation subring is essentially of finite type over the base field.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def ValSubringEssFiniteType : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringKaehlerFinite_of_essFiniteType
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringKaehlerFinite_of_essFiniteType
    (heft : ValSubringEssFiniteType K F) :
    ValSubringKaehlerFinite K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_zero
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_add
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_smul
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_shift
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_shift_pow
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_one_eq_zero
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.clearPow_mem
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.clearedHat

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

Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar

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

Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.aCoeff_clearedHat_of_le
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_add
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_smul
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.resStarₗ

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

Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_simplePole
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_of_mem
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.resStar_higherPoleMonomial
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.KwNo6Pin.canonicalLocalResidueDataKStar

Canonical local residue data constructed from the completed residue section.

Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.natDegree_numDenomWronskian_lt
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section WronskianBound
variable {K : Type*} [Field K]
theorem natDegree_numDenomWronskian_lt {n d : K[X]} (hn : n ≠ 0) (hd : d ≠ 0)
    (hW : n.derivative * d - n * d.derivative ≠ 0) :
    (n.derivative * d - n * d.derivative).natDegree < n.natDegree + d.natDegree
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff

The rational function derivative given by the quotient rule.

Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeff
variable (K : Type*) [Field K]
def ratFuncDXCoeff (f : RatFunc K) : RatFunc K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff_def
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeff
variable (K : Type*) [Field K]
theorem ratFuncDXCoeff_def (f : RatFunc K) :
    ratFuncDXCoeff K f
      = algebraMap K[X] (RatFunc K) (f.num.derivative * f.denom - f.num * f.denom.derivative)
        / (algebraMap K[X] (RatFunc K) f.denom) ^ 2
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.D_eq_ratFuncDXCoeff_smul_dX
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeff
variable (K : Type*) [Field K]
theorem D_eq_ratFuncDXCoeff_smul_dX (f : RatFunc K) :
    KaehlerDifferential.D K (RatFunc K) f = ratFuncDXCoeff K f • dX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.wronskian_ne_zero_of_ratFuncDXCoeff_ne_zero
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeff
variable (K : Type*) [Field K]
theorem wronskian_ne_zero_of_ratFuncDXCoeff_ne_zero {f : RatFunc K}
    (h : ratFuncDXCoeff K f ≠ 0) :
    f.num.derivative * f.denom - f.num * f.denom.derivative ≠ 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_algebraMap_denom_eq_zero_of_ord_eq_one
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section FinitePlaces
variable {K : Type*} [Field K]
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem ord_algebraMap_denom_eq_zero_of_ord_eq_one {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) {f : RatFunc K}
    (hf : f ≠ 0) (hord : (v).ord f = 1) :
    (v).ord (algebraMap K[X] (RatFunc K) f.denom) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_algebraMap_num_eq_one_of_ord_eq_one
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section FinitePlaces
variable {K : Type*} [Field K]
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem ord_algebraMap_num_eq_one_of_ord_eq_one {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) {f : RatFunc K}
    (hf : f ≠ 0) (hord : (v).ord f = 1) :
    (v).ord (algebraMap K[X] (RatFunc K) f.num) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.not_dvd_wronskian_of_ord_eq_one
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section FinitePlaces
variable {K : Type*} [Field K]
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem not_dvd_wronskian_of_ord_eq_one {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) (hsep : p.Separable)
    {f : RatFunc K} (hf : f ≠ 0) (hord : (v).ord f = 1) :
    ¬ p ∣ (f.num.derivative * f.denom - f.num * f.denom.derivative)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff_ne_zero_and_ord_eq_zero_of_ord_eq_one
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section FinitePlaces
variable {K : Type*} [Field K]
variable {w : HeightOneSpectrum K[X]}
local notation "v" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem ratFuncDXCoeff_ne_zero_and_ord_eq_zero_of_ord_eq_one {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) (hsep : p.Separable)
    {f : RatFunc K} (hf : f ≠ 0) (hord : (v).ord f = 1) :
    ratFuncDXCoeff K f ≠ 0 ∧ (v).ord (ratFuncDXCoeff K f) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_placeInfty_ratFuncDXCoeff_ge
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PlaceInftySide
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
theorem ord_placeInfty_ratFuncDXCoeff_ge {g : RatFunc K} (hg : g ≠ 0)
    (hW : g.num.derivative * g.denom - g.num * g.denom.derivative ≠ 0) :
    (placeInfty K).ord g + 1 ≤ (placeInfty K).ord (ratFuncDXCoeff K g)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_dXCoeff_ord_ge_two_of_ord_placeInfty_eq_zero
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PlaceInftySide
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
theorem exists_dXCoeff_ord_ge_two_of_ord_placeInfty_eq_zero {g : RatFunc K}
    (hg : g ≠ 0) (hord : (placeInfty K).ord g = 0) :
    ∃ e : RatFunc K, (e = 0 ∨ 2 ≤ (placeInfty K).ord e) ∧
      KaehlerDifferential.D K (RatFunc K) g = e • dX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_unit_dXCoeff_of_ord_placeInfty_eq_neg_one
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PlaceInftySide
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
theorem exists_unit_dXCoeff_of_ord_placeInfty_eq_neg_one {h : RatFunc K}
    (hh : h ≠ 0) (hord : (placeInfty K).ord h = -1) :
    ∃ b : RatFunc K, b ≠ 0 ∧ (placeInfty K).ord b = 0 ∧
      KaehlerDifferential.D K (RatFunc K) h = b • dX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_dXCoeff_ord_two_of_ord_placeInfty_eq_one
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PlaceInftySide
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
theorem exists_dXCoeff_ord_two_of_ord_placeInfty_eq_one {f : RatFunc K}
    (hf : f ≠ 0) (hord : (placeInfty K).ord f = 1) :
    ∃ e : RatFunc K, e ≠ 0 ∧ (placeInfty K).ord e = 2 ∧
      KaehlerDifferential.D K (RatFunc K) f = e • dX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_ord_zero_smul_of_smul_dX_eq
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Glue
variable {K : Type*} [Field K]
theorem exists_ord_zero_smul_of_smul_dX_eq {v : Place K (RatFunc K)} {π π' c c' : RatFunc K}
    (hc : c ≠ 0) (hc' : c' ≠ 0) (hord : v.ord c' = v.ord c)
    (hD : KaehlerDifferential.D K (RatFunc K) π = c • dX K)
    (hD' : KaehlerDifferential.D K (RatFunc K) π' = c' • dX K) :
    ∃ u : RatFunc K, v.ord u = 0 ∧
      KaehlerDifferential.D K (RatFunc K) π' = u • KaehlerDifferential.D K (RatFunc K) π
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ordDifferentialWellDefined_ratFunc
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
theorem ordDifferentialWellDefined_ratFunc (K : Type*) [Field K] [CharZero K] :
    OrdDifferentialWellDefined K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.two_le_ord_placeInfty_p1PrincipalPartAtom
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
theorem two_le_ord_placeInfty_p1PrincipalPartAtom
    {p : K[X]} (hp : Irreducible p) {c : K[X]} (hc : c ≠ 0) {m : ℕ}
    (hdeg : c.degree < p.degree) (hm : 2 ≤ m) :
    2 ≤ (placeInfty K).ord (p1PrincipalPartAtom K p c m)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.not_dvd_of_degree_lt
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
omit [DecidableEq (RatFunc K)] in
theorem not_dvd_of_degree_lt {p c : K[X]} (hc : c ≠ 0)
    (hdeg : c.degree < p.degree) : ¬ p ∣ c
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_finitePlace_of_degree_lt
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
omit [DecidableEq (RatFunc K)] in
theorem ord_finitePlace_of_degree_lt {p : K[X]} (hp : Irreducible p) {c : K[X]} (hc : c ≠ 0)
    (hdeg : c.degree < p.degree) :
    (finitePlace K hp).ord (algebraMap K[X] (RatFunc K) c) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_finitePlace_p1PrincipalPartAtom
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
omit [DecidableEq (RatFunc K)] in
theorem ord_finitePlace_p1PrincipalPartAtom {p : K[X]} (hp : Irreducible p)
    {c : K[X]} (hc : c ≠ 0) (hdeg : c.degree < p.degree) (m : ℕ) :
    (finitePlace K hp).ord (p1PrincipalPartAtom K p c m) = -(m : ℤ)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1DifferentialCoeffUnitFinite

The differential coefficient has order zero at every finite place.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
section UnitFinite
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
def P1DifferentialCoeffUnitFinite {ω₀ : Ω[(RatFunc K)⁄K]} (_hω₀ : ω₀ ≠ 0) : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1DifferentialCoeffRegularFinite_of_unitFinite
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K : Type*} [Field K] [DecidableEq (RatFunc K)]
variable (K)
section UnitFinite
variable [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F :=
  RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
variable [HasPrincipalDivisors K (RatFunc K)]
variable {K}
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [HasCanonicalDivisor (K := K) (F := RatFunc K)]
  [Nontrivial Ω[(RatFunc K)⁄K]] [HasPrincipalDivisors K (RatFunc K)] in
theorem p1DifferentialCoeffRegularFinite_of_unitFinite
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0)
    (hunit : P1DifferentialCoeffUnitFinite K hω₀) :
    P1DifferentialCoeffRegularFinite K hω₀
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerPolynomialBasis

The basis of polynomial differentials induced by the coordinate differential.

Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IntermediateField
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.TensorProduct
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K : Type*) [Field K]
def kaehlerPolynomialBasis : Basis Unit K[X] Ω[K[X]⁄K]
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.instFormallyEtalePolynomialRatFunc
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IntermediateField
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.TensorProduct
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K : Type*) [Field K]
instance instFormallyEtalePolynomialRatFunc : Algebra.FormallyEtale K[X] (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerRatFuncBasis

The basis of rational function differentials obtained by localizing polynomial differentials.

Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IntermediateField
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.TensorProduct
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K : Type*) [Field K]
def kaehlerRatFuncBasis : Basis Unit (RatFunc K) Ω[(RatFunc K)⁄K]
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerRankOne_ratFunc
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IntermediateField
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.TensorProduct
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K : Type*) [Field K]
theorem kaehlerRankOne_ratFunc : KaehlerRankOne K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.instIsCurveOverRatFunc
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
noncomputable section
open _root_.IntermediateField
open _root_.AlgebraicCurve
open _root_.Polynomial
open _root_.TensorProduct
open _root_.Module
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K : Type*) [Field K]
instance instIsCurveOverRatFunc : IsCurveOver K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.sum_ramificationIndex_mul_inertiaDeg_of_forall_mem_iff
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
@[expose] public 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
attribute [local instance 0] valuationSubringAlgebra
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']
theorem sum_ramificationIndex_mul_inertiaDeg_of_forall_mem_iff
    (v : Place K F) (s : Finset (Place K F'))
    (hs : ∀ w : Place K F', w ∈ s ↔ w.restrict F = v) :
    ∑ w ∈ s, (w.ramificationIndex F : ℤ) * (w.inertiaDeg F : ℤ)
      = (Module.finrank F F' : ℤ)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.sum_ramificationIndex_mul_deg_of_forall_mem_iff
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
@[expose] public 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
attribute [local instance 0] valuationSubringAlgebra
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']
theorem sum_ramificationIndex_mul_deg_of_forall_mem_iff
    (v : Place K F) (s : Finset (Place K F'))
    (hs : ∀ w : Place K F', w ∈ s ↔ w.restrict F = v) :
    ∑ w ∈ s, (w.ramificationIndex F : ℤ) * (w.deg : ℤ)
      = (Module.finrank F F' : ℤ) * (v.deg : ℤ)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ramificationInertiaIdentity_of_finiteDimensional
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
@[expose] public section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
theorem ramificationInertiaIdentity_of_finiteDimensional
    (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'] :
    RamificationInertiaIdentity K F F'
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.instHasPrincipalDivisorsOfIsGalois
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
@[expose] public section
noncomputable section
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] {F' : Type*} [Field F'] [Algebra K F']
  [Algebra (RatFunc K) F'] [IsScalarTower K (RatFunc K) F']
  [FiniteDimensional (RatFunc K) F'] [Algebra.IsSeparable (RatFunc K) F']
instance (priority := 50) instHasPrincipalDivisorsOfIsGalois [IsGalois (RatFunc K) F'] :
    HasPrincipalDivisors K F'
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.derivative_monic_natDegree_one_eq_one
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
section PCoordinateIdentity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem derivative_monic_natDegree_one_eq_one {p : K[X]} (hpmon : p.Monic)
    (hdeg : p.natDegree = 1) : derivative p = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.D_algebraMap_polynomial_degOne
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
section PCoordinateIdentity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem D_algebraMap_polynomial_degOne {p : K[X]} (hpmon : p.Monic) (hdeg : p.natDegree = 1) :
    KaehlerDifferential.D K (RatFunc K) (algebraMap K[X] (RatFunc K) p) = dX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.eq_C_coeff_zero_of_degree_lt_degOne
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
section PCoordinateIdentity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem eq_C_coeff_zero_of_degree_lt_degOne {p c : K[X]} (hpirr : Irreducible p)
    (hdeg : p.natDegree = 1) (hcdeg : c.degree < p.degree) : c = C (c.coeff 0)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartAtom_mul_differentialCoeff_dX_degOne
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
section PCoordinateIdentity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
theorem p1PrincipalPartAtom_mul_differentialCoeff_dX_degOne
    {p c : K[X]} (hpmon : p.Monic) (hpirr : Irreducible p) (hdeg : p.natDegree = 1)
    (hcdeg : c.degree < p.degree) (m : ℕ) :
    p1PrincipalPartAtom K p c m * (finitePlace K hpirr).differentialCoeff (dX K)
      = c.coeff 0 • ((finitePlace K hpirr).differentialCoeff
            (KaehlerDifferential.D K (RatFunc K) (algebraMap K[X] (RatFunc K) p))
          * ((algebraMap K[X] (RatFunc K) p) ^ m)⁻¹)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1FinitePlaceCanonicalResidueAtomMGeTwoHigherDeg

Higher pole atoms at finite places of degree at least two have zero canonical residue.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
section NamedHigherDeg
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
def P1FinitePlaceCanonicalResidueAtomMGeTwoHigherDeg : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1FinitePlaceCanonicalResidueAtom_of_coordIndep_degOne
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
section DegOneDischarge
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
theorem p1FinitePlaceCanonicalResidueAtom_of_coordIndep_degOne
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    {p c : K[X]} {m : ℕ} (hpmon : p.Monic) (hpirr : Irreducible p)
    (hcdeg : c.degree < p.degree) (hm : 2 ≤ m) (hdeg : p.natDegree = 1)
    (R : (finitePlace K hpirr).CanonicalLocalResidueDataK) :
    R.res (p1PrincipalPartAtom K p c m * (finitePlace K hpirr).differentialCoeff (dX K)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1FinitePlaceCanonicalResidueAtomMGeTwoHigherDeg_of_algClosed
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
section AlgClosed
variable [IsAlgClosed K]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1FinitePlaceCanonicalResidueAtomMGeTwoHigherDeg_of_algClosed :
    P1FinitePlaceCanonicalResidueAtomMGeTwoHigherDeg K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ValuationSubring.ofPrime_congr
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace ValuationSubring
open _root_.ValuationSubring
open _root_.ValuationSubring
variable {F : Type*} [Field F]
theorem ofPrime_congr {R : ValuationSubring F} {P Q : Ideal R}
    [P.IsPrime] [Q.IsPrime] (h : P = Q) : R.ofPrime P = R.ofPrime Q
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ValuationSubring.eq_top_of_idealOfLE_eq_bot
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace ValuationSubring
open _root_.ValuationSubring
open _root_.ValuationSubring
variable {F : Type*} [Field F]
theorem eq_top_of_idealOfLE_eq_bot {R S : ValuationSubring F} (h : R ≤ S)
    (hbot : idealOfLE R S h = ⊥) : S = ⊤
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ValuationSubring.idealOfLE_ne_bot_of_ne_top
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace ValuationSubring
open _root_.ValuationSubring
open _root_.ValuationSubring
variable {F : Type*} [Field F]
theorem idealOfLE_ne_bot_of_ne_top {R S : ValuationSubring F} (h : R ≤ S)
    (hS : S ≠ ⊤) : idealOfLE R S h ≠ ⊥
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ValuationSubring.eq_of_isDiscreteValuationRing_of_le
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace ValuationSubring
open _root_.ValuationSubring
open _root_.ValuationSubring
variable {F : Type*} [Field F]
theorem eq_of_isDiscreteValuationRing_of_le {R S : ValuationSubring F}
    [IsDiscreteValuationRing R] (h : R ≤ S) (hS : S ≠ ⊤) : R = S
AlgebraicCurve.Place.modelInclusion
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
def _root_.AlgebraicCurve.Place.modelInclusion :
  A →+* v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.coe_modelInclusion
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
theorem coe_modelInclusion (a : A) :
    ((v.modelInclusion A hA a : v.toValuationSubring) : F) = (a : F)
AlgebraicCurve.Place.modelAlgebra
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.modelAlgebra :
  Algebra A v.toValuationSubring
AlgebraicCurve.Place.centerIdeal
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.centerIdeal : Ideal A
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.centerIdeal_isPrime
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
instance centerIdeal_isPrime : (v.centerIdeal A hA).IsPrime
AlgebraicCurve.Place.isUnit_modelInclusion_of_not_mem_centerIdeal
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.isUnit_modelInclusion_of_not_mem_centerIdeal {s : A}
    (hs : s ∉ v.centerIdeal A hA) :
    IsUnit (v.modelInclusion A hA s)
AlgebraicCurve.Place.isUnit_modelInclusion_of_mem_primeCompl
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.isUnit_modelInclusion_of_mem_primeCompl (s :
  (v.centerIdeal A hA).primeCompl) :
    IsUnit (v.modelInclusion A hA (s : A))
AlgebraicCurve.Place.modelAlgebra_isScalarTower
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set 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.modelAlgebra_isScalarTower :
    let := v.modelAlgebra A hA
    IsScalarTower K A v.toValuationSubring := by
  let := v.modelAlgebra A hA
  refine IsScalarTower.of_algebraMap_eq fun c => ?_
  apply Subtype.ext
  simp only [coe_modelInclusion, RingHom.algebraMap_toAlgebra]
  rfl
AlgebraicCurve.Place.essFiniteType_of_finiteType_isLocalization_centerIdeal
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterIdeal
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
variable (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set 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.essFiniteType_of_finiteType_isLocalization_centerIdeal
    [Algebra.FiniteType K A]
    (hloc : let := v.modelAlgebra A hA
            IsLocalization.AtPrime v.toValuationSubring (v.centerIdeal A hA)) :
    Algebra.EssFiniteType K v.toValuationSubring := by
  let := v.modelAlgebra A hA
  have := v.modelAlgebra_isScalarTower A hA
  have : Algebra.EssFiniteType A v.toValuationSubring :=
    Algebra.EssFiniteType.of_isLocalization _ (v.centerIdeal A hA).primeCompl
  exact Algebra.EssFiniteType.comp K A v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ValSubringDedekindModel

Each valuation subring is a localization of a finite type model at its center.

Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def ValSubringDedekindModel : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringEssFiniteType_of_dedekindModel
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringEssFiniteType_of_dedekindModel
    (hmodel : ValSubringDedekindModel K F) :
    ValSubringEssFiniteType K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringKaehlerFinite_of_dedekindModel
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.CongruenceSubgroup
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Polynomial
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringKaehlerFinite_of_dedekindModel
    (hmodel : ValSubringDedekindModel K F) :
    ValSubringKaehlerFinite K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.completionSection_nonempty_generic
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
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.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.instHasCanonicalLocalResidueKStar
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
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]
variable (K F) in
instance instHasCanonicalLocalResidueKStar [IsCurveOver K F] [PerfectField K] :
    HasCanonicalLocalResidueKStar K F where
  dataKStar v :=
    have : FiniteDimensional K v.ResidueField := Place.FiniteResidue.finite
    have : Algebra.IsSeparable K v.ResidueField :=
      Algebra.IsAlgebraic.isSeparable_of_perfectField
    canonicalLocalResidueDataKStar v
      (Classical.choice (completionSection_nonempty_generic v))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ordDifferentialWellDefined_ratFunc_of_perfectField
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
theorem ordDifferentialWellDefined_ratFunc_of_perfectField (K : Type*) [Field K]
    [PerfectField K] :
    OrdDifferentialWellDefined K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1DifferentialCoeffUnitFinite_dX
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section UnitFinite
variable [CharZero K]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem p1DifferentialCoeffUnitFinite_dX :
    P1DifferentialCoeffUnitFinite K (dX_ne_zero K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_finitePlace_mOneAtom_mul_differentialCoeff
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section MOneSimplePoleBounds
variable (K)
variable [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates]
theorem ord_finitePlace_mOneAtom_mul_differentialCoeff
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0)
    (hunit : ∀ v : Place K (RatFunc K), v ≠ placeInfty K → v.ord (v.differentialCoeff ω₀) = 0)
    {p : K[X]} (hp : Irreducible p) {c : K[X]} (hc : c ≠ 0)
    (hdeg : c.degree < p.degree) :
    (finitePlace K hp).ord
        (p1PrincipalPartAtom K p c 1 * (finitePlace K hp).differentialCoeff ω₀) = -1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_placeInfty_mOneAtom_mul_differentialCoeff_ge_neg_one
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section MOneSimplePoleBounds
variable (K)
variable [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates]
theorem ord_placeInfty_mOneAtom_mul_differentialCoeff_ge_neg_one
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0)
    (hInfty : (placeInfty K).ordDifferential ω₀ = -2)
    {p : K[X]} (hp : Irreducible p) {c : K[X]} (hc : c ≠ 0)
    (hdeg : c.degree < p.degree) :
    -1 ≤ (placeInfty K).ord
        (p1PrincipalPartAtom K p c 1 * (placeInfty K).differentialCoeff ω₀)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1MOneAtom_mul_differentialCoeff_mem_simplePole_finitePlace
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section MOneSimplePoleBounds
variable (K)
variable [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates]
theorem p1MOneAtom_mul_differentialCoeff_mem_simplePole_finitePlace
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0)
    (hunit : ∀ v : Place K (RatFunc K), v ≠ placeInfty K → v.ord (v.differentialCoeff ω₀) = 0)
    {p : K[X]} (hp : Irreducible p) (c : K[X]) (hdeg : c.degree < p.degree) :
    p1PrincipalPartAtom K p c 1 * (finitePlace K hp).differentialCoeff ω₀
      ∈ (finitePlace K hp).simplePoleSubmodule
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1MOneAtom_mul_differentialCoeff_mem_simplePole_placeInfty
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section MOneSimplePoleBounds
variable (K)
variable [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates]
theorem p1MOneAtom_mul_differentialCoeff_mem_simplePole_placeInfty
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0)
    (hInfty : (placeInfty K).ordDifferential ω₀ = -2)
    {p : K[X]} (hp : Irreducible p) (c : K[X]) (hdeg : c.degree < p.degree) :
    p1PrincipalPartAtom K p c 1 * (placeInfty K).differentialCoeff ω₀
      ∈ (placeInfty K).simplePoleSubmodule
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1PrincipalPartMOneSimplePoleCancel

The traced finite and infinite residues of a simple principal part atom cancel.

Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
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 scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section MOneSimplePoleRow
variable (K)
variable [DecidableEq (RatFunc K)]
variable [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates]
def P1PrincipalPartMOneSimplePoleCancel {ω₀ : Ω[(RatFunc K)⁄K]} (_hω₀ : ω₀ ≠ 0) : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.instHasPrincipalDivisorsRatFuncSelf
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.Polynomial
open _root_.IntermediateField
open _root_.AlgebraicCurve
namespace ModularCurve
section Corollaries
variable (K : Type*) [Field K]
instance instHasPrincipalDivisorsRatFuncSelf : HasPrincipalDivisors K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1FinitePlaceCanonicalResidueAtomMGeTwoTrace

The traced residue of each higher pole atom at a finite place vanishes.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section TraceRow
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
def P1FinitePlaceCanonicalResidueAtomMGeTwoTrace : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg

The traced residue of higher pole atoms at finite places of degree at least two vanishes.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section TraceRow
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
def P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg_of_higherDeg
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section Monotonicity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
theorem p1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg_of_higherDeg
    (h : P1FinitePlaceCanonicalResidueAtomMGeTwoHigherDeg K) :
    P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1FinitePlaceCanonicalResidueAtomTrace_of_coordIndep_degOne
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section DegOneDischarge
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
theorem p1FinitePlaceCanonicalResidueAtomTrace_of_coordIndep_degOne
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    {p c : K[X]} {m : ℕ} (hpmon : p.Monic) (hpirr : Irreducible p)
    (hcdeg : c.degree < p.degree) (hm : 2 ≤ m) (hdeg : p.natDegree = 1)
    (R : (finitePlace K hpirr).CanonicalLocalResidueDataK) :
    Algebra.trace K (finitePlace K hpirr).ResidueField
        (R.res (p1PrincipalPartAtom K p c m
          * (finitePlace K hpirr).differentialCoeff (dX K))) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1FinitePlaceCanonicalResidueAtomMGeTwoTrace_of_coordIndep_higherDeg
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section DegOneDischarge
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
theorem p1FinitePlaceCanonicalResidueAtomMGeTwoTrace_of_coordIndep_higherDeg
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hHigh : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K) :
    P1FinitePlaceCanonicalResidueAtomMGeTwoTrace K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg_of_algClosed
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section AlgClosed
variable [IsAlgClosed K] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [DecidableEq (RatFunc K)]
  [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]] in
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg_of_algClosed :
    P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.inv_mem_of_not_mem_centerIdeal
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterNonzero
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
theorem inv_mem_of_not_mem_centerIdeal {a : A} (ha : a ∉ v.centerIdeal A hA) :
    ((a : F))⁻¹ ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.div_mem_of_not_mem_centerIdeal
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterNonzero
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
theorem div_mem_of_not_mem_centerIdeal (r : A) {a : A}
    (ha : a ∉ v.centerIdeal A hA) :
    (r : F) / (a : F) ∈ v.toValuationSubring
AlgebraicCurve.Place.centerIdeal_ne_bot_of_isFractionRing
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section CenterNonzero
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
theorem _root_.AlgebraicCurve.Place.centerIdeal_ne_bot_of_isFractionRing
  [IsFractionRing A F] :
    v.centerIdeal A hA ≠ ⊥
AlgebraicCurve.Place.centerLocalizationSubalgebra
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
def _root_.AlgebraicCurve.Place.centerLocalizationSubalgebra
  [IsFractionRing A F] :
    Subalgebra A F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.centerLocalizationSubalgebra_isLocalization
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
instance centerLocalizationSubalgebra_isLocalization [IsFractionRing A F] :
    IsLocalization.AtPrime (v.centerLocalizationSubalgebra A hA) (v.centerIdeal A hA)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.centerLocalizationSubalgebra_isDomain
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
instance centerLocalizationSubalgebra_isDomain [IsFractionRing A F] :
    IsDomain (v.centerLocalizationSubalgebra A hA)
AlgebraicCurve.Place.centerLocalizationSubalgebra_isDiscreteValuationRing
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.centerLocalizationSubalgebra_isDiscreteValuationRing
    [IsDedekindDomain A] [IsFractionRing A F] :
    IsDiscreteValuationRing (v.centerLocalizationSubalgebra A hA)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.centerLocalizationSubalgebra_isFractionRing
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
instance centerLocalizationSubalgebra_isFractionRing [IsFractionRing A F] :
    IsFractionRing (v.centerLocalizationSubalgebra A hA) F
AlgebraicCurve.Place.centerLocalizationSubalgebra_subset
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.centerLocalizationSubalgebra_subset
  [IsFractionRing A F] :
    ((v.centerLocalizationSubalgebra A hA : Subalgebra A F) : Set F)
      ⊆ (v.toValuationSubring : Set F)
AlgebraicCurve.Place.centerLocalizationValuationSubring
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
def _root_.AlgebraicCurve.Place.centerLocalizationValuationSubring
    [IsDedekindDomain A] [IsFractionRing A F] : ValuationSubring F where
  toSubring := (v.centerLocalizationSubalgebra A hA).toSubring
  mem_or_inv_mem' x := by
    have := v.centerLocalizationSubalgebra_isDiscreteValuationRing A hA
    rcases ValuationRing.isInteger_or_isInteger (v.centerLocalizationSubalgebra A hA) x with
      ⟨a, ha⟩ | ⟨a, ha⟩
    · exact Or.inl (ha ▸ a.2)
    · exact Or.inr (ha ▸ a.2)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.coe_centerLocalizationValuationSubring
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem coe_centerLocalizationValuationSubring [IsDedekindDomain A] [IsFractionRing A F] :
    ((v.centerLocalizationValuationSubring A hA : ValuationSubring F) : Set F)
      = ((v.centerLocalizationSubalgebra A hA : Subalgebra A F) : Set F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.centerLocalizationValuationSubring_isDiscreteValuationRing
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
instance centerLocalizationValuationSubring_isDiscreteValuationRing
    [IsDedekindDomain A] [IsFractionRing A F] :
    IsDiscreteValuationRing (v.centerLocalizationValuationSubring A hA)
AlgebraicCurve.Place.centerLocalizationValuationSubring_le
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.centerLocalizationValuationSubring_le
  [IsDedekindDomain A] [IsFractionRing A F] :
    v.centerLocalizationValuationSubring A hA ≤ v.toValuationSubring
AlgebraicCurve.Place.centerLocalizationValuationSubring_eq
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set 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.centerLocalizationValuationSubring_eq
  [IsDedekindDomain A] [IsFractionRing A F] :
    v.centerLocalizationValuationSubring A hA = v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.coe_centerLocalizationSubalgebra_eq
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set 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 coe_centerLocalizationSubalgebra_eq [IsDedekindDomain A] [IsFractionRing A F] :
    ((v.centerLocalizationSubalgebra A hA : Subalgebra A F) : Set F)
      = (v.toValuationSubring : Set F)
AlgebraicCurve.Place.mem_centerLocalizationSubalgebra_of_mem
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set 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_centerLocalizationSubalgebra_of_mem
  [IsDedekindDomain A] [IsFractionRing A F]
    (x : F) (hx : x ∈ v.toValuationSubring) :
    x ∈ (v.centerLocalizationSubalgebra A hA : Subalgebra A F)
AlgebraicCurve.Place.isLocalization_centerIdeal_of_isDedekindDomain
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section LocalizationSubalgebra
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
  (A : Subalgebra K F) (hA : (A : Set F) ⊆ (v.toValuationSubring : Set 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.isLocalization_centerIdeal_of_isDedekindDomain
    [IsDedekindDomain A] [IsFractionRing A F] :
    let := v.modelAlgebra A hA
    IsLocalization.AtPrime v.toValuationSubring (v.centerIdeal A hA) := by
  let := v.modelAlgebra A hA
  refine (isLocalization_iff _ _).mpr ⟨?_, ?_, ?_⟩
  · exact v.isUnit_modelInclusion_of_mem_primeCompl A hA
  · intro x
    have hxP : (x : F) ∈ (v.centerLocalizationSubalgebra A hA : Subalgebra A F) :=
      v.mem_centerLocalizationSubalgebra_of_mem A hA (x : F) x.2
    obtain ⟨a, s, hs, hxeq⟩ := hxP
    refine ⟨⟨a, ⟨s, hs⟩⟩, Subtype.ext ?_⟩
    change (x : F) * ((s : A) : F) = ((a : A) : F)
    have halg_s : algebraMap A F s = ((s : A) : F) := rfl
    have halg_a : algebraMap A F a = ((a : A) : F) := rfl
    have hs0 : algebraMap A F s ≠ 0 := by
      intro hF
      have hsne : s ≠ 0 := fun h => (h ▸ hs) (Ideal.zero_mem _)
      exact hsne (Subtype.ext (p := (· ∈ A)) (halg_s ▸ hF))
    rw [← halg_s, ← halg_a, hxeq, mul_assoc, inv_mul_cancel₀ hs0, mul_one]
  · intro a₁ a₂ h
    have hF : (a₁ : F) = (a₂ : F) :=
      congrArg (Subtype.val : v.toValuationSubring → F) h
    exact ⟨1, by rw [show a₁ = a₂ from Subtype.ext hF]⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ValSubringDedekindFractionModel

Each valuation subring contains a finite type Dedekind model of the function field.

Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def ValSubringDedekindFractionModel : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringDedekindModel_of_dedekindFractionModel
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringDedekindModel_of_dedekindFractionModel
    (hfrac : ValSubringDedekindFractionModel K F) :
    ValSubringDedekindModel K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringKaehlerFinite_of_dedekindFractionModel
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringKaehlerFinite_of_dedekindFractionModel
    (hfrac : ValSubringDedekindFractionModel K F) :
    ValSubringKaehlerFinite K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.aeval_root_eq_sum_range
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EulerGeneral
variable [CharZero K] {p : K[X]} [Fact (Irreducible p)]
omit [DecidableEq (RatFunc K)] [CharZero K] in
theorem aeval_root_eq_sum_range {c : K[X]} {d : ℕ} (hd : c.natDegree < d) :
    (aeval (AdjoinRoot.root p) c : AdjoinRoot p)
      = ∑ k ∈ Finset.range d, c.coeff k • AdjoinRoot.root p ^ k
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.trace_adjoinRoot_mk_div_mk_derivative_of_degree_lt
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EulerGeneral
variable [CharZero K] {p : K[X]} [Fact (Irreducible p)]
omit [DecidableEq (RatFunc K)] in
theorem trace_adjoinRoot_mk_div_mk_derivative_of_degree_lt (hpmon : p.Monic)
    {c : K[X]} (hdeg : c.degree < p.degree) :
    Algebra.trace K (AdjoinRoot p)
        (AdjoinRoot.mk p c / AdjoinRoot.mk p (derivative p))
      = c.coeff (p.natDegree - 1)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.finitePlaceResidueFieldAlgEquivAdjoinRoot

Present the residue field of a finite place by adjoining a root of its polynomial.

Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section AlgEquiv
variable {p : K[X]} (hpirr : Irreducible p)
def finitePlaceResidueFieldAlgEquivAdjoinRoot :
    AdjoinRoot p ≃ₐ[K] (finitePlace K hpirr).ResidueField
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.finitePlaceResidueFieldAlgEquivAdjoinRoot_mk
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section AlgEquiv
variable {p : K[X]} (hpirr : Irreducible p)
omit [DecidableEq (RatFunc K)] in
theorem finitePlaceResidueFieldAlgEquivAdjoinRoot_mk (q : K[X]) :
    finitePlaceResidueFieldAlgEquivAdjoinRoot K hpirr (AdjoinRoot.mk p q)
      = IsLocalRing.residue _ ⟨algebraMap K[X] (RatFunc K) q,
          algebraMap_mem_ofHeightOneSpectrum K _ q⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.trace_finitePlace_residueField_eq_trace_adjoinRoot
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section TraceTransport
variable {p : K[X]} (hpirr : Irreducible p)
omit [DecidableEq (RatFunc K)] in
theorem trace_finitePlace_residueField_eq_trace_adjoinRoot
    (y : (finitePlace K hpirr).ResidueField) :
    Algebra.trace K (finitePlace K hpirr).ResidueField y
      = Algebra.trace K (AdjoinRoot p)
          ((finitePlaceResidueFieldAlgEquivAdjoinRoot K hpirr).symm y)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1FinitePlaceSimplePoleResidueAdjoinRootValue

The residue of a simple pole atom equals its numerator divided by the derivative in the root field.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section BridgeRows
variable [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates]
def P1FinitePlaceSimplePoleResidueAdjoinRootValue : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1PlaceInftySimplePoleResidueEulerValue

The traced residue at infinity equals minus the relevant numerator coefficient.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section BridgeRows
variable [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates]
def P1PlaceInftySimplePoleResidueEulerValue : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.trace_finitePlace_simplePoleResidue_of_adjoinRootValue
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section FinitePlaceTrace
variable [CharZero K]
variable [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates]
omit [DecidableEq (RatFunc K)] [HasLocalResidue K (RatFunc K)]
    [HasCanonicalLocalResidueKStar K (RatFunc K)]
    [∀ (v : Place K (RatFunc K)), v.DCoordGenerates] in
theorem trace_finitePlace_simplePoleResidue_of_adjoinRootValue
    (hbridge : P1FinitePlaceSimplePoleResidueAdjoinRootValue K)
    {p c : K[X]} (hpmon : p.Monic) (hpirr : Irreducible p) (hdeg : c.degree < p.degree)
    (hfmem : p1PrincipalPartAtom K p c 1 * (finitePlace K hpirr).differentialCoeff (dX K)
        ∈ (finitePlace K hpirr).simplePoleSubmodule) :
    Algebra.trace K (finitePlace K hpirr).ResidueField
        ((finitePlace K hpirr).simplePoleResidueAux ⟨_, hfmem⟩)
      = c.coeff (p.natDegree - 1)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartMOneSimplePoleCancel_of_eulerBridge
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section HigherDegReduction
variable [CharZero K]
variable [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasLocalResidue K (RatFunc K)]
    [HasCanonicalLocalResidueKStar K (RatFunc K)]
    [∀ (v : Place K (RatFunc K)), v.DCoordGenerates]
    [Nontrivial Ω[RatFunc K⁄K]] in
theorem p1PrincipalPartMOneSimplePoleCancel_of_eulerBridge
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0) (heq : ω₀ = dX K)
    (hfin : P1FinitePlaceSimplePoleResidueAdjoinRootValue K)
    (hinf : P1PlaceInftySimplePoleResidueEulerValue K) :
    P1PrincipalPartMOneSimplePoleCancel K hω₀
AlgebraicCurve.Place.isIntegrallyClosed_toValuationSubring
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section IntegrallyClosed
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem _root_.AlgebraicCurve.Place.isIntegrallyClosed_toValuationSubring :
    IsIntegrallyClosed v.toValuationSubring
AlgebraicCurve.Place.mem_valuationSubring_of_isIntegral
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section IntegrallyClosed
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.mem_valuationSubring_of_isIntegral {x : F}
    (hx : _root_.IsIntegral v.toValuationSubring x) :
    x ∈ v.toValuationSubring
AlgebraicCurve.Place.modelAlgebra_isScalarTower_top
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section IntegrallyClosed
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (B : Subalgebra K F) (hB : (B : Set F) ⊆ (v.toValuationSubring : Set F))
include hB in
theorem _root_.AlgebraicCurve.Place.modelAlgebra_isScalarTower_top :
    let := v.modelAlgebra B hB
    IsScalarTower B v.toValuationSubring F := by
  let := v.modelAlgebra B hB
  refine IsScalarTower.of_algebraMap_eq fun b => ?_
  rfl
AlgebraicCurve.Place.mem_valuationSubring_of_isIntegral_subalgebra
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section IntegrallyClosed
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (B : Subalgebra K F) (hB : (B : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
include hB in
theorem _root_.AlgebraicCurve.Place.mem_valuationSubring_of_isIntegral_subalgebra {x : F}
    (hx : _root_.IsIntegral B x) :
    x ∈ v.toValuationSubring
AlgebraicCurve.Place.integralClosure_subset_valuationSubring
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
section IntegrallyClosed
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (B : Subalgebra K F) (hB : (B : Set F) ⊆ (v.toValuationSubring : Set F))
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
include hB in
theorem _root_.AlgebraicCurve.Place.integralClosure_subset_valuationSubring :
    ((integralClosure B F : Subalgebra B F) : Set F)
      ⊆ (v.toValuationSubring : Set F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.IsAffineChart

A finite type Dedekind subalgebra whose fraction field is the function field.

Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section TwoCharts
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def IsAffineChart (A : Subalgebra K F) : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ValSubringTwoAffineCharts

Two affine charts together cover all valuation subrings of the function field.

Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section TwoCharts
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def ValSubringTwoAffineCharts : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringDedekindFractionModel_of_twoAffineCharts
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section TwoCharts
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringDedekindFractionModel_of_twoAffineCharts
    (h : ValSubringTwoAffineCharts K F) :
    ValSubringDedekindFractionModel K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringKaehlerFinite_of_twoAffineCharts
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section TwoCharts
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringKaehlerFinite_of_twoAffineCharts
    (h : ValSubringTwoAffineCharts K F) :
    ValSubringKaehlerFinite K F
AlgebraicCurve.Place.toKSubalgebra
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Gates
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace Place
open scoped _root_.AlgebraicCurve.Place in
def _root_.AlgebraicCurve.Place.toKSubalgebra (v :
  Place K F) : Subalgebra K F where
  __ := v.toValuationSubring.toSubring
  algebraMap_mem' c := v.algebraMap_mem' c
AlgebraicCurve.Place.coe_toKSubalgebra
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Gates
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open _root_.AlgebraicCurve
namespace Place
open scoped _root_.AlgebraicCurve.Place in
theorem _root_.AlgebraicCurve.Place.coe_toKSubalgebra (v : Place K F) :
    (v.toKSubalgebra : Set F) = (v.toValuationSubring : Set F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.gate_adjoin_subset_valuationSubring_of_mem
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Gates
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
theorem gate_adjoin_subset_valuationSubring_of_mem (v : Place K F) {t : F}
    (ht : t ∈ v.toValuationSubring) :
    ((Algebra.adjoin K {t} : Subalgebra K F) : Set F)
      ⊆ (v.toValuationSubring : Set F)
AlgebraicCurve.Place.simplePoleResidueAux_mul_of_mem
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F)
omit [HasCanonicalLocalResidueKStar K F] in
theorem _root_.AlgebraicCurve.Place.simplePoleResidueAux_mul_of_mem {a : F} (ha :
  a ∈ v.toValuationSubring)
    {f : F} (hf : f ∈ v.simplePoleSubmodule)
    (haf : a * f ∈ v.simplePoleSubmodule) :
    v.simplePoleResidueAux ⟨a * f, haf⟩
      = IsLocalRing.residue _ ⟨a, ha⟩ * v.simplePoleResidueAux ⟨f, hf⟩
AlgebraicCurve.Place.mul_mem_simplePoleSubmodule_of_mem
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F)
open _root_.AlgebraicCurve.Place
omit [HasCanonicalLocalResidueKStar K F] in
theorem _root_.AlgebraicCurve.Place.mul_mem_simplePoleSubmodule_of_mem {a : F} (ha :
  a ∈ v.toValuationSubring)
    {f : F} (hf : f ∈ v.simplePoleSubmodule) :
    a * f ∈ v.simplePoleSubmodule
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.denom_notMem_of_mem_ofHeightOneSpectrum
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section DerivativeRegular
variable (K)
variable [DecidableEq (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem denom_notMem_of_mem_ofHeightOneSpectrum (w : HeightOneSpectrum K[X]) {f : RatFunc K}
    (hf : f ∈ (Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w).toValuationSubring) :
    f.denom ∉ w.asIdeal
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.differentialCoeff_add'
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section DerivativeRegular
variable (K)
variable [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
theorem differentialCoeff_add' (v : Place K (RatFunc K)) (ω₁ ω₂ : Ω[(RatFunc K)⁄K]) :
    v.differentialCoeff (ω₁ + ω₂) = v.differentialCoeff ω₁ + v.differentialCoeff ω₂
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.differentialCoeff_D_algebraMap_polynomial
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section DerivativeRegular
variable (K)
variable [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
theorem differentialCoeff_D_algebraMap_polynomial (v : Place K (RatFunc K)) (q : K[X]) :
    v.differentialCoeff (D K (RatFunc K) (algebraMap K[X] (RatFunc K) q))
      = algebraMap K[X] (RatFunc K) q.derivative * v.differentialCoeff (dX K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.differentialCoeff_D_mem_finitePlace
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section DerivativeRegular
variable (K)
variable [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
theorem differentialCoeff_D_mem_finitePlace [CharZero K] {p : K[X]} (hpirr : Irreducible p)
    {f : RatFunc K} (hf : f ∈ (finitePlace K hpirr).toValuationSubring) :
    (finitePlace K hpirr).differentialCoeff (D K (RatFunc K) f)
      ∈ (finitePlace K hpirr).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.uniformizer_div_mem_finitePlace
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section LeibnizCore
variable (K)
variable [DecidableEq (RatFunc K)] [CharZero K]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] [CharZero K] [∀ (v : Place K (RatFunc K)), v.DCoordGenerates]
  [Nontrivial Ω[RatFunc K⁄K]] in
theorem uniformizer_div_mem_finitePlace {p : K[X]} (hpirr : Irreducible p) :
    (finitePlace K hpirr).uniformizer / algebraMap K[X] (RatFunc K) p
      ∈ (finitePlace K hpirr).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.one_sub_uniformizer_div_mul_differentialCoeff_D
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section LeibnizCore
variable (K)
variable [DecidableEq (RatFunc K)] [CharZero K]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
theorem one_sub_uniformizer_div_mul_differentialCoeff_D
    {p : K[X]} (hpirr : Irreducible p) :
    (1 : RatFunc K) - (finitePlace K hpirr).uniformizer / algebraMap K[X] (RatFunc K) p
        * (finitePlace K hpirr).differentialCoeff
            (D K (RatFunc K) (algebraMap K[X] (RatFunc K) p))
      = algebraMap K[X] (RatFunc K) p
          * (finitePlace K hpirr).differentialCoeff
              (D K (RatFunc K) ((finitePlace K hpirr).uniformizer
                / algebraMap K[X] (RatFunc K) p))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.uniformizer_div_mul_differentialCoeff_D_mem_finitePlace
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section LeibnizCore
variable (K)
variable [DecidableEq (RatFunc K)] [CharZero K]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
theorem uniformizer_div_mul_differentialCoeff_D_mem_finitePlace
    {p : K[X]} (hpirr : Irreducible p) :
    (finitePlace K hpirr).uniformizer / algebraMap K[X] (RatFunc K) p
        * (finitePlace K hpirr).differentialCoeff
            (D K (RatFunc K) (algebraMap K[X] (RatFunc K) p))
      ∈ (finitePlace K hpirr).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.residue_uniformizer_div_mul_differentialCoeff_D_eq_one
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section LeibnizCore
variable (K)
variable [DecidableEq (RatFunc K)] [CharZero K]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
theorem residue_uniformizer_div_mul_differentialCoeff_D_eq_one
    {p : K[X]} (hpirr : Irreducible p) :
    IsLocalRing.residue _ ⟨_, uniformizer_div_mul_differentialCoeff_D_mem_finitePlace K hpirr⟩
      = (1 : (finitePlace K hpirr).ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.residue_algebraMap_derivative_ne_zero
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section BridgeDischarge
variable (K)
variable [DecidableEq (RatFunc K)] [CharZero K]
variable [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K
  (RatFunc K)] [∀ (v : Place K (RatFunc K)), v.DCoordGenerates] [Nontrivial Ω[RatFunc K⁄K]] in
theorem residue_algebraMap_derivative_ne_zero {p : K[X]} (hpirr : Irreducible p) :
    IsLocalRing.residue _ ⟨algebraMap K[X] (RatFunc K) p.derivative,
        algebraMap_mem_ofHeightOneSpectrum K _ p.derivative⟩
      ≠ (0 : (finitePlace K hpirr).ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.simplePoleResidueAux_finitePlace_p1PrincipalPartAtom_mOne
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section BridgeDischarge
variable (K)
variable [DecidableEq (RatFunc K)] [CharZero K]
variable [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] [HasLocalResidue K (RatFunc K)]
    [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem simplePoleResidueAux_finitePlace_p1PrincipalPartAtom_mOne
    {p c : K[X]} (hpirr : Irreducible p)
    (hfmem : p1PrincipalPartAtom K p c 1 * (finitePlace K hpirr).differentialCoeff (dX K)
        ∈ (finitePlace K hpirr).simplePoleSubmodule) :
    (finitePlace K hpirr).simplePoleResidueAux ⟨_, hfmem⟩
      = IsLocalRing.residue _ ⟨algebraMap K[X] (RatFunc K) c,
            algebraMap_mem_ofHeightOneSpectrum K _ c⟩
        / IsLocalRing.residue _ ⟨algebraMap K[X] (RatFunc K) p.derivative,
            algebraMap_mem_ofHeightOneSpectrum K _ p.derivative⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1FinitePlaceSimplePoleResidueAdjoinRootValue_dX
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section BridgeDischarge
variable (K)
variable [DecidableEq (RatFunc K)] [CharZero K]
variable [HasLocalResidue K (RatFunc K)] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] [HasLocalResidue K (RatFunc K)]
    [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1FinitePlaceSimplePoleResidueAdjoinRootValue_dX :
    P1FinitePlaceSimplePoleResidueAdjoinRootValue K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartMOneSimplePoleCancel_of_inftyBridge
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section ComposedEngine
variable (K)
variable [DecidableEq (RatFunc K)] [CharZero K]
variable [HasCanonicalDivisor (K := K) (F := RatFunc K)] [HasLocalResidue K (RatFunc K)]
  [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalDivisor (K := K) (F := RatFunc K)]
    [HasLocalResidue K (RatFunc K)]
    [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1PrincipalPartMOneSimplePoleCancel_of_inftyBridge
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0) (heq : ω₀ = dX K)
    (hinf : P1PlaceInftySimplePoleResidueEulerValue K) :
    P1PrincipalPartMOneSimplePoleCancel K hω₀
Transcendental.isPrincipalIdealRing_adjoin
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section AdjoinRingProperties
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem _root_.Transcendental.isPrincipalIdealRing_adjoin {t : F} (ht :
  Transcendental K t) :
    IsPrincipalIdealRing ↥(Algebra.adjoin K ({t} : Set F))
Transcendental.isDedekindDomain_adjoin
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section AdjoinRingProperties
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem _root_.Transcendental.isDedekindDomain_adjoin {t : F} (ht : Transcendental K t) :
    IsDedekindDomain ↥(Algebra.adjoin K ({t} : Set F))
Transcendental.isIntegrallyClosed_adjoin
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section AdjoinRingProperties
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem _root_.Transcendental.isIntegrallyClosed_adjoin {t : F} (ht : Transcendental K t) :
    IsIntegrallyClosed ↥(Algebra.adjoin K ({t} : Set F))
Transcendental.isNoetherianRing_adjoin
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section AdjoinRingProperties
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem _root_.Transcendental.isNoetherianRing_adjoin {t : F} (ht : Transcendental K t) :
    IsNoetherianRing ↥(Algebra.adjoin K ({t} : Set F))
Algebra.FiniteType.adjoin_singleton
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section AdjoinRingProperties
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem _root_.Algebra.FiniteType.adjoin_singleton (t : F) :
    Algebra.FiniteType K ↥(Algebra.adjoin K ({t} : Set F))
Transcendental.inv
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section AdjoinRingProperties
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem _root_.Transcendental.inv {t : F} (ht : Transcendental K t) :
    Transcendental K t⁻¹
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.transcendentalChart

The integral closure in F of the K-subalgebra generated by t, regarded as a K-subalgebra.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section TranscendentalChart
variable (K : Type*) {F : Type*} [Field K] [Field F] [Algebra K F]
def transcendentalChart (t : F) : Subalgebra K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.coe_transcendentalChart
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section TranscendentalChart
variable (K : Type*) {F : Type*} [Field K] [Field F] [Algebra K F]
theorem coe_transcendentalChart (t : F) :
    (transcendentalChart K t : Set F)
      = ((integralClosure (Algebra.adjoin K ({t} : Set F)) F : Subalgebra _ F) : Set F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.transcendentalChart_subset_valuationSubring_of_mem
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section TranscendentalChart
variable (K : Type*) {F : Type*} [Field K] [Field F] [Algebra K F]
variable {K}
theorem transcendentalChart_subset_valuationSubring_of_mem (v : Place K F)
    {t : F} (ht : t ∈ v.toValuationSubring) :
    (transcendentalChart K t : Set F) ⊆ (v.toValuationSubring : Set F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.transcendentalChart_subset_or_inv_subset
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section TranscendentalChart
variable (K : Type*) {F : Type*} [Field K] [Field F] [Algebra K F]
variable {K}
theorem transcendentalChart_subset_or_inv_subset (v : Place K F) (t : F) :
    (transcendentalChart K t : Set F) ⊆ (v.toValuationSubring : Set F)
      ∨ (transcendentalChart K t⁻¹ : Set F) ⊆ (v.toValuationSubring : Set F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isScalarTower_integralClosure_subalgebra
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section IsAffineChartEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section
variable (B : Subalgebra K F)
theorem isScalarTower_integralClosure_subalgebra :
    IsScalarTower K B ↥(integralClosure B F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.finiteType_integralClosure_of_moduleFinite
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section IsAffineChartEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
section
variable (B : Subalgebra K F)
theorem finiteType_integralClosure_of_moduleFinite (hft : Algebra.FiniteType K B)
    (hfin : Module.Finite B ↥(integralClosure B F)) :
    Algebra.FiniteType K ↥(integralClosure B F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isDedekindDomain_integralClosure_adjoin
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section IsAffineChartEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isDedekindDomain_integralClosure_adjoin {t : F} (ht : Transcendental K t)
    [FiniteDimensional K⟮t⟯ F] [Algebra.IsSeparable K⟮t⟯ F] :
    IsDedekindDomain ↥(integralClosure (Algebra.adjoin K ({t} : Set F)) F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isFractionRing_integralClosure_adjoin
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section IsAffineChartEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isFractionRing_integralClosure_adjoin (t : F) [FiniteDimensional K⟮t⟯ F] :
    IsFractionRing ↥(integralClosure (Algebra.adjoin K ({t} : Set F)) F) F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.moduleFinite_integralClosure_adjoin
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section IsAffineChartEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem moduleFinite_integralClosure_adjoin {t : F} (ht : Transcendental K t)
    [FiniteDimensional K⟮t⟯ F] [Algebra.IsSeparable K⟮t⟯ F] :
    Module.Finite ↥(Algebra.adjoin K ({t} : Set F))
      ↥(integralClosure (Algebra.adjoin K ({t} : Set F)) F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.finiteType_integralClosure_adjoin
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section IsAffineChartEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem finiteType_integralClosure_adjoin {t : F} (ht : Transcendental K t)
    [FiniteDimensional K⟮t⟯ F] [Algebra.IsSeparable K⟮t⟯ F] :
    Algebra.FiniteType K ↥(integralClosure (Algebra.adjoin K ({t} : Set F)) F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isAffineChart_restrictScalars_integralClosure
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section IsAffineChartEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isAffineChart_restrictScalars_integralClosure (B : Subalgebra K F)
    (hft : Algebra.FiniteType K ↥(integralClosure B F))
    (hded : IsDedekindDomain ↥(integralClosure B F))
    (hfrac : IsFractionRing ↥(integralClosure B F) F) :
    IsAffineChart K F ((integralClosure B F).restrictScalars K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isAffineChart_transcendentalChart
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section IsAffineChartEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isAffineChart_transcendentalChart {t : F} (ht : Transcendental K t)
    [FiniteDimensional K⟮t⟯ F] [Algebra.IsSeparable K⟮t⟯ F] :
    IsAffineChart K F (transcendentalChart K t)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.HasSeparatingTranscendental

A transcendental element and its inverse give finite separable presentations of the function field.

Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section SeparatingTranscendental
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def HasSeparatingTranscendental : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringTwoAffineCharts_of_hasSeparatingTranscendental
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section SeparatingTranscendental
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringTwoAffineCharts_of_hasSeparatingTranscendental
    (h : HasSeparatingTranscendental K F) :
    ValSubringTwoAffineCharts K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringKaehlerFinite_of_hasSeparatingTranscendental
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IsLocalRing
open _root_.IntermediateField
open _root_.IntermediateField.algebraAdjoinAdjoin
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section SeparatingTranscendental
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringKaehlerFinite_of_hasSeparatingTranscendental
    (h : HasSeparatingTranscendental K F) :
    ValSubringKaehlerFinite K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_placeInfty_mOneAtom_mul_differentialCoeff_dX
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section LowDegRegular
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem ord_placeInfty_mOneAtom_mul_differentialCoeff_dX
    (hInfty : (placeInfty K).ord ((placeInfty K).differentialCoeff (dX K)) = -2)
    {p c : K[X]} (hp : p ≠ 0) (hc : c ≠ 0) :
    (placeInfty K).ord
        (p1PrincipalPartAtom K p c 1 * (placeInfty K).differentialCoeff (dX K))
      = (p.natDegree : ℤ) - c.natDegree - 2
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1MOneAtom_mul_differentialCoeff_dX_mem_placeInfty
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section LowDegRegular
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem p1MOneAtom_mul_differentialCoeff_dX_mem_placeInfty
    (hInfty : (placeInfty K).ord ((placeInfty K).differentialCoeff (dX K)) = -2)
    {p c : K[X]} (hp : p ≠ 0) (hcdeg : c = 0 ∨ c.natDegree + 2 ≤ p.natDegree) :
    p1PrincipalPartAtom K p c 1 * (placeInfty K).differentialCoeff (dX K)
      ∈ (placeInfty K).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.trace_placeInfty_simplePoleResidue_mOne_of_lowDeg
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section LowDegValue
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem trace_placeInfty_simplePoleResidue_mOne_of_lowDeg
    (hInfty : (placeInfty K).ord ((placeInfty K).differentialCoeff (dX K)) = -2)
    {p c : K[X]} (hpirr : Irreducible p)
    (hcdeg : c = 0 ∨ c.natDegree + 2 ≤ p.natDegree)
    (himem : p1PrincipalPartAtom K p c 1 * (placeInfty K).differentialCoeff (dX K)
        ∈ (placeInfty K).simplePoleSubmodule) :
    Algebra.trace K (placeInfty K).ResidueField
        ((placeInfty K).simplePoleResidueAux ⟨_, himem⟩)
      = -(c.coeff (p.natDegree - 1))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1PlaceInftySimplePoleResidueEulerValueTopDeg

The residue formula at infinity for a numerator of degree one below its denominator.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section NamedCarriers
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
def P1PlaceInftySimplePoleResidueEulerValueTopDeg : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1PlaceInftySimplePoleResidueEulerValueMonomial

The residue at infinity of the highest principal part monomial is minus one.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section NamedCarriers
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
def P1PlaceInftySimplePoleResidueEulerValueMonomial : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartAtom_add_mul_differentialCoeff
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EraseLeadLinearity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
omit [∀ (v : Place K (RatFunc K)), v.DCoordGenerates] [Nontrivial Ω[RatFunc K⁄K]] in
theorem p1PrincipalPartAtom_add_mul_differentialCoeff (p c₁ c₂ : K[X]) (m : ℕ)
    (v : Place K (RatFunc K)) (ω : Ω[(RatFunc K)⁄K]) :
    p1PrincipalPartAtom K p (c₁ + c₂) m * v.differentialCoeff ω
      = p1PrincipalPartAtom K p c₁ m * v.differentialCoeff ω
        + p1PrincipalPartAtom K p c₂ m * v.differentialCoeff ω
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartAtom_C_mul_mul_differentialCoeff
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EraseLeadLinearity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [DecidableEq (RatFunc K)] in
omit [∀ (v : Place K (RatFunc K)), v.DCoordGenerates] [Nontrivial Ω[RatFunc K⁄K]] in
theorem p1PrincipalPartAtom_C_mul_mul_differentialCoeff (p c : K[X]) (a : K) (m : ℕ)
    (v : Place K (RatFunc K)) (ω : Ω[(RatFunc K)⁄K]) :
    p1PrincipalPartAtom K p (C a * c) m * v.differentialCoeff ω
      = a • (p1PrincipalPartAtom K p c m * v.differentialCoeff ω)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.trace_placeInfty_simplePoleResidueAux_mOne_add
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EraseLeadLinearity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [∀ (v : Place K (RatFunc K)), v.DCoordGenerates] [Nontrivial Ω[RatFunc K⁄K]] in
theorem trace_placeInfty_simplePoleResidueAux_mOne_add
    {p c₁ c₂ : K[X]} {ω : Ω[(RatFunc K)⁄K]}
    (h1 : p1PrincipalPartAtom K p c₁ 1 * (placeInfty K).differentialCoeff ω
        ∈ (placeInfty K).simplePoleSubmodule)
    (h2 : p1PrincipalPartAtom K p c₂ 1 * (placeInfty K).differentialCoeff ω
        ∈ (placeInfty K).simplePoleSubmodule)
    (h12 : p1PrincipalPartAtom K p (c₁ + c₂) 1 * (placeInfty K).differentialCoeff ω
        ∈ (placeInfty K).simplePoleSubmodule) :
    Algebra.trace K (placeInfty K).ResidueField
        ((placeInfty K).simplePoleResidueAux ⟨_, h12⟩)
      = Algebra.trace K (placeInfty K).ResidueField
          ((placeInfty K).simplePoleResidueAux ⟨_, h1⟩)
        + Algebra.trace K (placeInfty K).ResidueField
            ((placeInfty K).simplePoleResidueAux ⟨_, h2⟩)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.trace_placeInfty_simplePoleResidueAux_mOne_C_mul
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EraseLeadLinearity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [∀ (v : Place K (RatFunc K)), v.DCoordGenerates] [Nontrivial Ω[RatFunc K⁄K]] in
theorem trace_placeInfty_simplePoleResidueAux_mOne_C_mul
    {p c : K[X]} {a : K} {ω : Ω[(RatFunc K)⁄K]}
    (hc : p1PrincipalPartAtom K p c 1 * (placeInfty K).differentialCoeff ω
        ∈ (placeInfty K).simplePoleSubmodule)
    (hac : p1PrincipalPartAtom K p (C a * c) 1 * (placeInfty K).differentialCoeff ω
        ∈ (placeInfty K).simplePoleSubmodule) :
    Algebra.trace K (placeInfty K).ResidueField
        ((placeInfty K).simplePoleResidueAux ⟨_, hac⟩)
      = a * Algebra.trace K (placeInfty K).ResidueField
          ((placeInfty K).simplePoleResidueAux ⟨_, hc⟩)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PlaceInftySimplePoleResidueEulerValue_of_topDeg
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EraseLeadLinearity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem p1PlaceInftySimplePoleResidueEulerValue_of_topDeg
    (hInfty : (placeInfty K).ord ((placeInfty K).differentialCoeff (dX K)) = -2)
    (htop : P1PlaceInftySimplePoleResidueEulerValueTopDeg K) :
    P1PlaceInftySimplePoleResidueEulerValue K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PlaceInftySimplePoleResidueEulerValueTopDeg_of_monomial
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EraseLeadLinearity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem p1PlaceInftySimplePoleResidueEulerValueTopDeg_of_monomial
    (hInfty : (placeInfty K).ord ((placeInfty K).differentialCoeff (dX K)) = -2)
    (hmono : P1PlaceInftySimplePoleResidueEulerValueMonomial K) :
    P1PlaceInftySimplePoleResidueEulerValueTopDeg K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PlaceInftySimplePoleResidueEulerValue_of_monomial
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section EraseLeadLinearity
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem p1PlaceInftySimplePoleResidueEulerValue_of_monomial
    (hInfty : (placeInfty K).ord ((placeInfty K).differentialCoeff (dX K)) = -2)
    (hmono : P1PlaceInftySimplePoleResidueEulerValueMonomial K) :
    P1PlaceInftySimplePoleResidueEulerValue K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartMOneSimplePoleCancel_of_inftyMonomial
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section ComposedEngine
variable [CharZero K]
variable [HasCanonicalDivisor (K := K) (F := RatFunc K)] [HasLocalResidue K (RatFunc K)]
  [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalDivisor (K := K) (F := RatFunc K)]
    [HasLocalResidue K (RatFunc K)]
    [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1PrincipalPartMOneSimplePoleCancel_of_inftyMonomial
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0) (heq : ω₀ = dX K)
    (hmono : P1PlaceInftySimplePoleResidueEulerValueMonomial K) :
    P1PrincipalPartMOneSimplePoleCancel K hω₀
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.adjoin_simple_inv
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem adjoin_simple_inv (t : F) : K⟮t⁻¹⟯ = K⟮t⟯
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.algebraMap_comp_equivOfEq
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem algebraMap_comp_equivOfEq {S T : IntermediateField K F} (h : S = T) :
    (algebraMap T F).comp ((IntermediateField.equivOfEq h).toRingEquiv : S →+* T)
      = ((RingEquiv.refl F : F ≃+* F) : F →+* F).comp (algebraMap S F)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.finiteDimensional_of_eq
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem finiteDimensional_of_eq {S T : IntermediateField K F} (h : S = T)
    [FiniteDimensional ↥S F] : FiniteDimensional ↥T F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.isSeparable_of_eq
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isSeparable_of_eq {S T : IntermediateField K F} (h : S = T)
    [Algebra.IsSeparable ↥S F] : Algebra.IsSeparable ↥T F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.finiteDimensional_adjoin_inv
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem finiteDimensional_adjoin_inv (t : F) [FiniteDimensional K⟮t⟯ F] :
    FiniteDimensional K⟮t⁻¹⟯ F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.isSeparable_adjoin_inv
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isSeparable_adjoin_inv (t : F) [Algebra.IsSeparable K⟮t⟯ F] :
    Algebra.IsSeparable K⟮t⁻¹⟯ F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isSeparable_of_charZero_of_finiteDimensional
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section CharZeroSeparable
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isSeparable_of_charZero_of_finiteDimensional [CharZero K]
    (S : IntermediateField K F) [FiniteDimensional ↥S F] :
    Algebra.IsSeparable ↥S F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isSeparable_adjoin_of_charZero_of_finiteDimensional
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section CharZeroSeparable
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isSeparable_adjoin_of_charZero_of_finiteDimensional [CharZero K] (t : F)
    [FiniteDimensional K⟮t⟯ F] : Algebra.IsSeparable K⟮t⟯ F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.HasSeparatingTranscendentalCore

A transcendental element gives a finite extension presentation of the function field.

Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section SeparatingTranscendentalCore
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def HasSeparatingTranscendentalCore : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.hasSeparatingTranscendental_of_core
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section SeparatingTranscendentalCore
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem hasSeparatingTranscendental_of_core [CharZero K]
    (h : HasSeparatingTranscendentalCore K F) :
    HasSeparatingTranscendental K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.valSubringKaehlerFinite_of_core
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section SeparatingTranscendentalCore
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem valSubringKaehlerFinite_of_core [CharZero K]
    (h : HasSeparatingTranscendentalCore K F) :
    ValSubringKaehlerFinite K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_placeInfty_X_pow_natDegree_div
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section MonicRatioResidue
theorem ord_placeInfty_X_pow_natDegree_div {p : K[X]} (hp : p ≠ 0) :
    (placeInfty K).ord
        (algebraMap K[X] (RatFunc K) (X ^ p.natDegree) / algebraMap K[X] (RatFunc K) p) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.X_pow_natDegree_div_mem_placeInfty
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section MonicRatioResidue
theorem X_pow_natDegree_div_mem_placeInfty {p : K[X]} (hp : p ≠ 0) :
    algebraMap K[X] (RatFunc K) (X ^ p.natDegree) / algebraMap K[X] (RatFunc K) p
      ∈ (placeInfty K).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.degree_X_pow_natDegree_sub_lt_of_monic
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section MonicRatioResidue
omit [DecidableEq (RatFunc K)] in
theorem degree_X_pow_natDegree_sub_lt_of_monic {p : K[X]} (hpmon : p.Monic) :
    ((X : K[X]) ^ p.natDegree - p).degree < p.degree
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.residue_placeInfty_X_pow_natDegree_div_monic_eq_one
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section MonicRatioResidue
theorem residue_placeInfty_X_pow_natDegree_div_monic_eq_one {p : K[X]} (hpmon : p.Monic) :
    IsLocalRing.residue _ ⟨_, X_pow_natDegree_div_mem_placeInfty K hpmon.ne_zero⟩
      = (1 : (placeInfty K).ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.P1PlaceInftySimplePoleResidueEulerValueX

The residue at infinity of the reciprocal coordinate differential is minus one.

Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section NamedCarrier
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
def P1PlaceInftySimplePoleResidueEulerValueX : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1MonomialAtom_eq_monicRatio_mul
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section MonicRatioReduction
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] [∀ (v : Place K (RatFunc K)),
  v.DCoordGenerates] [Nontrivial Ω[RatFunc K⁄K]] in
theorem p1MonomialAtom_eq_monicRatio_mul {p : K[X]} (hpdeg : 1 ≤ p.natDegree) :
    p1PrincipalPartAtom K p (X ^ (p.natDegree - 1)) 1 * (placeInfty K).differentialCoeff (dX K)
      = (algebraMap K[X] (RatFunc K) (X ^ p.natDegree) / algebraMap K[X] (RatFunc K) p)
        * (p1PrincipalPartAtom K (X : K[X]) 1 1
            * (placeInfty K).differentialCoeff (dX K))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1XInvAtom_mul_differentialCoeff_dX_mem_simplePole_placeInfty
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section MonicRatioReduction
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1XInvAtom_mul_differentialCoeff_dX_mem_simplePole_placeInfty
    (hInfty : (placeInfty K).ordDifferential (dX K) = -2) :
    p1PrincipalPartAtom K (X : K[X]) 1 1 * (placeInfty K).differentialCoeff (dX K)
      ∈ (placeInfty K).simplePoleSubmodule
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.simplePoleResidueAux_placeInfty_monomial_eq_X
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section MonicRatioReduction
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem simplePoleResidueAux_placeInfty_monomial_eq_X
    (hInfty : (placeInfty K).ordDifferential (dX K) = -2)
    {p : K[X]} (hpmon : p.Monic) (hpirr : Irreducible p)
    (himem : p1PrincipalPartAtom K p (X ^ (p.natDegree - 1)) 1
          * (placeInfty K).differentialCoeff (dX K)
        ∈ (placeInfty K).simplePoleSubmodule) :
    (placeInfty K).simplePoleResidueAux ⟨_, himem⟩
      = (placeInfty K).simplePoleResidueAux
          ⟨_, p1XInvAtom_mul_differentialCoeff_dX_mem_simplePole_placeInfty K hInfty⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PlaceInftySimplePoleResidueEulerValueMonomial_of_X
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section MonicRatioReduction
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1PlaceInftySimplePoleResidueEulerValueMonomial_of_X
    (hInfty : (placeInfty K).ordDifferential (dX K) = -2)
    (hX : P1PlaceInftySimplePoleResidueEulerValueX K) :
    P1PlaceInftySimplePoleResidueEulerValueMonomial K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartMOneSimplePoleCancel_of_inftyX
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [DecidableEq (RatFunc K)]
section ComposedEngine
variable [CharZero K]
variable [HasCanonicalDivisor (K := K) (F := RatFunc K)] [HasLocalResidue K (RatFunc K)]
  [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalDivisor (K := K) (F := RatFunc K)]
    [HasLocalResidue K (RatFunc K)]
    [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1PrincipalPartMOneSimplePoleCancel_of_inftyX
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0) (heq : ω₀ = dX K)
    (hX : P1PlaceInftySimplePoleResidueEulerValueX K) :
    P1PrincipalPartMOneSimplePoleCancel K hω₀
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.finiteDimensional_top
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K E : Type*} [Field K] [Field E] [Algebra K E]
theorem finiteDimensional_top : FiniteDimensional ↥(⊤ : IntermediateField K E) E
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.adjoin_simple_gen_eq_top
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K E : Type*} [Field K] [Field E] [Algebra K E]
theorem adjoin_simple_gen_eq_top (α : E) :
    K⟮AdjoinSimple.gen K α⟯ = (⊤ : IntermediateField K ↥K⟮α⟯)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.transcendental_gen
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K E : Type*} [Field K] [Field E] [Algebra K E]
theorem transcendental_gen {α : E} (hα : Transcendental K α) :
    Transcendental K (AdjoinSimple.gen K α)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.IsPurelyTranscendentalSimple

The function field is generated by a single transcendental element.

Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section PurelyTranscendentalSimple
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
def IsPurelyTranscendentalSimple : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.hasSeparatingTranscendentalCore_of_isPurelyTranscendentalSimple
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section PurelyTranscendentalSimple
variable (K F : Type*) [Field K] [Field F] [Algebra K F]
variable {K F}
theorem hasSeparatingTranscendentalCore_of_isPurelyTranscendentalSimple
    (h : IsPurelyTranscendentalSimple K F) :
    HasSeparatingTranscendentalCore K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isPurelyTranscendentalSimple_adjoin_simple
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section SelfAdjoinInstance
variable {K E : Type*} [Field K] [Field E] [Algebra K E]
theorem isPurelyTranscendentalSimple_adjoin_simple {α : E} (hα : Transcendental K α) :
    IsPurelyTranscendentalSimple K ↥K⟮α⟯
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.CanonicalLocalResidueKSimplePoleCoordIndep

The reciprocal uniformizer differential has residue one in every uniformizer coordinate.

Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section NamedRow
variable (K F)
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
def CanonicalLocalResidueKSimplePoleCoordIndep : Prop
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1XAtom_mul_differentialCoeff_dX_eq_neg
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section XInvCoordinate
variable (K) [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem p1XAtom_mul_differentialCoeff_dX_eq_neg :
    p1PrincipalPartAtom K (X : K[X]) 1 1 * (placeInfty K).differentialCoeff (dX K)
      = -((placeInfty K).differentialCoeff
            (KaehlerDifferential.D K (RatFunc K) (RatFunc.X : RatFunc K)⁻¹)
          * ((RatFunc.X : RatFunc K)⁻¹)⁻¹)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.trace_placeInfty_residueField_one
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section InftyXDischarge
variable (K) [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [∀ (v : Place K (RatFunc K)), v.DCoordGenerates] [Nontrivial Ω[RatFunc K⁄K]] in
theorem trace_placeInfty_residueField_one :
    Algebra.trace K (placeInfty K).ResidueField 1 = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.simplePoleResidueAux_placeInfty_p1XAtom_eq_neg_one
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section InftyXDischarge
variable (K) [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem simplePoleResidueAux_placeInfty_p1XAtom_eq_neg_one
    (hsp : CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K))
    (himem : p1PrincipalPartAtom K (X : K[X]) 1 1 * (placeInfty K).differentialCoeff (dX K)
        ∈ (placeInfty K).simplePoleSubmodule) :
    (placeInfty K).simplePoleResidueAux ⟨_, himem⟩ = -1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PlaceInftySimplePoleResidueEulerValueX_of_simplePoleCoordIndep
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section InftyXDischarge
variable (K) [DecidableEq (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
theorem p1PlaceInftySimplePoleResidueEulerValueX_of_simplePoleCoordIndep
    (hsp : CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K)) :
    P1PlaceInftySimplePoleResidueEulerValueX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1PrincipalPartMOneSimplePoleCancel_of_simplePoleCoordIndep
Source context 29 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
section ComposedEngine
variable (K) [DecidableEq (RatFunc K)] [CharZero K]
variable [HasCanonicalDivisor (K := K) (F := RatFunc K)] [HasLocalResidue K (RatFunc K)]
  [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [∀ v : Place K (RatFunc K), v.DCoordGenerates] [Nontrivial Ω[(RatFunc K)⁄K]]
omit [HasCanonicalDivisor (K := K) (F := RatFunc K)]
    [HasLocalResidue K (RatFunc K)]
    [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem p1PrincipalPartMOneSimplePoleCancel_of_simplePoleCoordIndep
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    {ω₀ : Ω[(RatFunc K)⁄K]} (hω₀ : ω₀ ≠ 0) (heq : ω₀ = dX K)
    (hsp : CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K)) :
    P1PrincipalPartMOneSimplePoleCancel K hω₀
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.adjoin_simple_map_algHom'
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K F F' : Type*} [Field K] [Field F] [Field F'] [Algebra K F] [Algebra K F']
theorem adjoin_simple_map_algHom' (e : F →ₐ[K] F') (t : F) :
    (K⟮t⟯).map e = K⟮e t⟯
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.IntermediateField.adjoin_simple_eq_top_of_algEquiv
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace IntermediateField
open _root_.IntermediateField
open _root_.IntermediateField
variable {K F F' : Type*} [Field K] [Field F] [Field F'] [Algebra K F] [Algebra K F']
theorem adjoin_simple_eq_top_of_algEquiv (e : F ≃ₐ[K] F') {t : F}
    (htop : K⟮t⟯ = (⊤ : IntermediateField K F)) :
    K⟮e t⟯ = (⊤ : IntermediateField K F')
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.IsPurelyTranscendentalSimple.congr
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Congr
variable {K F F' : Type*} [Field K] [Field F] [Field F'] [Algebra K F] [Algebra K F']
theorem IsPurelyTranscendentalSimple.congr (e : F ≃ₐ[K] F')
    (h : IsPurelyTranscendentalSimple K F) : IsPurelyTranscendentalSimple K F'
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isPurelyTranscendentalSimple_ratFunc
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section RatFuncInstance
variable (K : Type*) [Field K]
theorem isPurelyTranscendentalSimple_ratFunc :
    IsPurelyTranscendentalSimple K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.isPurelyTranscendentalSimple_of_ratFuncAlgEquiv
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section Iff
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem isPurelyTranscendentalSimple_of_ratFuncAlgEquiv
    (h : Nonempty (RatFunc K ≃ₐ[K] F)) : IsPurelyTranscendentalSimple K F
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.dCoordGenerates_of_valSubringKaehlerSpanTop
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section AbstractEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open scoped _root_.AlgebraicCurve.Place in
theorem Place.dCoordGenerates_of_valSubringKaehlerSpanTop
    (hspan : ValSubringKaehlerSpanTop K F) (v : Place K F) :
    v.DCoordGenerates
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.dCoordGenerates_of_valSubringKaehlerFinite_of_charZero
Source context 17 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section AbstractEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
open scoped _root_.AlgebraicCurve.Place in
theorem Place.dCoordGenerates_of_valSubringKaehlerFinite_of_charZero
    [CharZero K] [∀ v : Place K F, v.FiniteResidue]
    (hfin : ValSubringKaehlerFinite K F) (v : Place K F) :
    v.DCoordGenerates
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.dCoordGenerates_of_isPurelyTranscendentalSimple
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
section ChainComposites
variable {K F F' : Type*} [Field K] [Field F] [Field F']
variable [Algebra K F] [Algebra K F'] [Algebra F F'] [IsScalarTower K F F']
open scoped _root_.AlgebraicCurve.Place in
theorem Place.dCoordGenerates_of_isPurelyTranscendentalSimple
    [CharZero K] [∀ v : Place K F, v.FiniteResidue]
    (h : IsPurelyTranscendentalSimple K F) (v : Place K F) :
    v.DCoordGenerates
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.gate_dCoordGenerates_of_ratFunc_sat
Source context 14 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
open _root_.IntermediateField
namespace ModularCurve
open _root_.AlgebraicCurve
variable (N : ℕ) [NeZero N]
theorem gate_dCoordGenerates_of_ratFunc_sat
    {K F : Type*} [Field K] [Field F] [Algebra K F]
    [CharZero K] [∀ v : Place K F, v.FiniteResidue]
    (hRat : Nonempty (RatFunc K ≃ₐ[K] F)) (v : Place K F) :
    v.DCoordGenerates
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.instDCoordGenerates
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
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]
instance (priority := low) instDCoordGenerates [CharZero K] (v : Place K (RatFunc K)) :
    v.DCoordGenerates
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_smul_dX_eq
Source context 18 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
theorem exists_smul_dX_eq (ω : Ω[(RatFunc K)⁄K]) : ∃ c : RatFunc K, c • dX K = ω
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ordDifferential_dX_of_ne_placeInfty
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section ProfileValues
variable [CharZero K] [DecidableEq (RatFunc K)]
theorem ordDifferential_dX_of_ne_placeInfty {v : Place K (RatFunc K)}
    (hv : v ≠ placeInfty K) : v.ordDifferential (dX K) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ordDifferential_dX_placeInfty
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section ProfileValues
variable [CharZero K] [DecidableEq (RatFunc K)]
theorem ordDifferential_dX_placeInfty :
    (placeInfty K).ordDifferential (dX K) = -2
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_divisor_smul_dX
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section ProfileValues
variable [CharZero K] [DecidableEq (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem exists_divisor_smul_dX {c : RatFunc K} (hc : c ≠ 0) :
    ∃ D : Divisor K (RatFunc K),
      (∀ v : Place K (RatFunc K), D v = v.ordDifferential (c • dX K)) ∧
        Divisor.degree D = -2
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.instHasCanonicalDivisorRatFunc
Source context 20 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section Instance
variable [CharZero K]
instance instHasCanonicalDivisorRatFunc :
    HasCanonicalDivisor (K := K) (F := RatFunc K) where
  exists_divisor ω hω := by
    classical
    obtain ⟨c, hc⟩ := exists_smul_dX_eq K ω
    have hc0 : c ≠ 0 := by
      rintro rfl
      rw [zero_smul] at hc
      exact hω hc.symm
    obtain ⟨D, hD, -⟩ := exists_divisor_smul_dX K hc0
    refine ⟨D, fun v => ?_⟩
    rw [← hc]
    exact hD v
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.D_pow_succ_inv
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section KaehlerToolbox
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
omit [HasCanonicalLocalResidueKStar K F] in
theorem D_pow_succ_inv (f : F) (m : ℕ) :
    KaehlerDifferential.D K F ((f ^ (m + 1))⁻¹)
      = (-((m + 1 : ℕ) : F) * (f ^ (m + 2))⁻¹) • KaehlerDifferential.D K F f
AlgebraicCurve.Place.differentialCoeff_add''
Source context 30 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section KaehlerToolbox
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F)
omit [HasCanonicalLocalResidueKStar K F] in
theorem _root_.AlgebraicCurve.Place.differentialCoeff_add'' [v.DCoordGenerates]
  [Nontrivial Ω[F⁄K]] (ω₁ ω₂ : Ω[F⁄K]) :
    v.differentialCoeff (ω₁ + ω₂) = v.differentialCoeff ω₁ + v.differentialCoeff ω₂
AlgebraicCurve.Place.differentialCoeff_D_uniformizer_pow_inv
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section KaehlerToolbox
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F)
open _root_.AlgebraicCurve.Place
omit [HasCanonicalLocalResidueKStar K F] in
theorem _root_.AlgebraicCurve.Place.differentialCoeff_D_uniformizer_pow_inv
  [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
    (m : ℕ) :
    v.differentialCoeff (KaehlerDifferential.D K F ((v.uniformizer ^ (m + 1))⁻¹))
      = -((m + 1 : ℕ) : F) * (v.uniformizer ^ (m + 2))⁻¹
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff_eq_of_D_eq_smul_dX
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeffIntegrality
variable {K : Type*} [Field K]
theorem ratFuncDXCoeff_eq_of_D_eq_smul_dX {f e : RatFunc K}
    (h : KaehlerDifferential.D K (RatFunc K) f = e • dX K) : ratFuncDXCoeff K f = e
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff_zero
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeffIntegrality
variable {K : Type*} [Field K]
theorem ratFuncDXCoeff_zero : ratFuncDXCoeff K (0 : RatFunc K) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ord_algebraMap_denom_eq_zero_of_ord_nonneg
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeffIntegrality
variable {K : Type*} [Field K]
section FinitePlaces
variable {w : HeightOneSpectrum K[X]}
local notation "vw" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem ord_algebraMap_denom_eq_zero_of_ord_nonneg {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) {f : RatFunc K}
    (hf : f ≠ 0) (hord : 0 ≤ (vw).ord f) :
    (vw).ord (algebraMap K[X] (RatFunc K) f.denom) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff_eq_zero_or_ord_nonneg_of_ord_nonneg
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeffIntegrality
variable {K : Type*} [Field K]
section FinitePlaces
variable {w : HeightOneSpectrum K[X]}
local notation "vw" => Place.ofHeightOneSpectrum (K := K) (F := RatFunc K) w
theorem ratFuncDXCoeff_eq_zero_or_ord_nonneg_of_ord_nonneg {p : K[X]}
    (hp : Irreducible p) (hwp : w.asIdeal = Ideal.span {p}) {g : RatFunc K}
    (hg : g ≠ 0) (hord : 0 ≤ (vw).ord g) :
    ratFuncDXCoeff K g = 0 ∨ 0 ≤ (vw).ord (ratFuncDXCoeff K g)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff_ne_zero_and_ord_placeInfty_eq_two_of_ord_eq_one
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeffIntegrality
variable {K : Type*} [Field K]
section PlaceInftySide
variable [DecidableEq (RatFunc K)]
theorem ratFuncDXCoeff_ne_zero_and_ord_placeInfty_eq_two_of_ord_eq_one
    {f : RatFunc K} (hf : f ≠ 0) (hord : (placeInfty K).ord f = 1) :
    ratFuncDXCoeff K f ≠ 0 ∧ (placeInfty K).ord (ratFuncDXCoeff K f) = 2
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff_eq_zero_or_two_le_ord_placeInfty_of_ord_nonneg
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section DXCoeffIntegrality
variable {K : Type*} [Field K]
section PlaceInftySide
variable [DecidableEq (RatFunc K)]
theorem ratFuncDXCoeff_eq_zero_or_two_le_ord_placeInfty_of_ord_nonneg
    {g : RatFunc K} (hg : g ≠ 0) (hord : 0 ≤ (placeInfty K).ord g) :
    ratFuncDXCoeff K g = 0 ∨ 2 ≤ (placeInfty K).ord (ratFuncDXCoeff K g)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ratFuncDXCoeff_uniformizer_ne_zero_and_ord_le
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section LemmaA
variable {K : Type*} [Field K] [CharZero K]
theorem ratFuncDXCoeff_uniformizer_ne_zero_and_ord_le (v : Place K (RatFunc K))
    {g : RatFunc K} (hg : g ∈ v.toValuationSubring) :
    ratFuncDXCoeff K v.uniformizer ≠ 0 ∧
      (ratFuncDXCoeff K g = 0 ∨
        v.ord (ratFuncDXCoeff K v.uniformizer) ≤ v.ord (ratFuncDXCoeff K g))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.differentialCoeff_D_eq_ratFuncDXCoeff_div
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section LemmaA
variable {K : Type*} [Field K] [CharZero K]
theorem differentialCoeff_D_eq_ratFuncDXCoeff_div (v : Place K (RatFunc K)) (f : RatFunc K)
    (hπ : ratFuncDXCoeff K v.uniformizer ≠ 0) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) f)
      = ratFuncDXCoeff K f / ratFuncDXCoeff K v.uniformizer
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.differentialCoeff_D_mem_of_mem
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section LemmaA
variable {K : Type*} [Field K] [CharZero K]
theorem differentialCoeff_D_mem_of_mem (v : Place K (RatFunc K))
    {g : RatFunc K} (hg : g ∈ v.toValuationSubring) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) g) ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.CanonicalLocalResidueDataK.res_differentialCoeff_D_of_mem_poleSubmodule
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ExactDifferentialEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F) [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
omit [HasCanonicalLocalResidueKStar K F] in
open scoped _root_.AlgebraicCurve.Place.CanonicalLocalResidueDataK in
theorem CanonicalLocalResidueDataK.res_differentialCoeff_D_of_mem_poleSubmodule
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (hint : ∀ h : F, h ∈ v.toValuationSubring →
      v.differentialCoeff (KaehlerDifferential.D K F h) ∈ v.toValuationSubring)
    (R : v.CanonicalLocalResidueDataK) (N : ℕ) {g : F} (hg : g ∈ v.poleSubmodule N) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K F g)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.CanonicalLocalResidueDataK.res_differentialCoeff_D_of_surj
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ExactDifferentialEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F) [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
omit [HasCanonicalLocalResidueKStar K F] in
open scoped _root_.AlgebraicCurve.Place.CanonicalLocalResidueDataK in
theorem CanonicalLocalResidueDataK.res_differentialCoeff_D_of_surj
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (hint : ∀ h : F, h ∈ v.toValuationSubring →
      v.differentialCoeff (KaehlerDifferential.D K F h) ∈ v.toValuationSubring)
    (R : v.CanonicalLocalResidueDataK) (g : F) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K F g)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.CanonicalLocalResidueDataK.res_differentialCoeff_D_mul_pow_inv_of_surj
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ExactDifferentialEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F) [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
omit [HasCanonicalLocalResidueKStar K F] in
open scoped _root_.AlgebraicCurve.Place.CanonicalLocalResidueDataK in
theorem CanonicalLocalResidueDataK.res_differentialCoeff_D_mul_pow_inv_of_surj [CharZero K]
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (hint : ∀ h : F, h ∈ v.toValuationSubring →
      v.differentialCoeff (KaehlerDifferential.D K F h) ∈ v.toValuationSubring)
    (R : v.CanonicalLocalResidueDataK) (π' : F) {n : ℕ} (hn : 1 ≤ n) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K F π') * ((π') ^ (n + 1))⁻¹) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.Place.CanonicalLocalResidueDataK.res_differentialCoeff_D_mul_inv_of_integral
Source context 31 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ExactDifferentialEngine
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
variable (v : Place K F) [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
omit [HasCanonicalLocalResidueKStar K F] in
open scoped _root_.AlgebraicCurve.Place.CanonicalLocalResidueDataK in
theorem CanonicalLocalResidueDataK.res_differentialCoeff_D_mul_inv_of_integral
    (hint : ∀ h : F, h ∈ v.toValuationSubring →
      v.differentialCoeff (KaehlerDifferential.D K F h) ∈ v.toValuationSubring)
    (R : v.CanonicalLocalResidueDataK) {π' : F} (hπ' : v.ord π' = 1) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K F π') * (π')⁻¹) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueDataK_res_differentialCoeff_D_mul_pow_inv_ratFunc
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section RatFuncClauses
variable {K : Type*} [Field K] [CharZero K] [HasCanonicalLocalResidueKStar K (RatFunc K)]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem canonicalLocalResidueDataK_res_differentialCoeff_D_mul_pow_inv_ratFunc
    (v : Place K (RatFunc K)) (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (π' : RatFunc K) (R : v.CanonicalLocalResidueDataK) {n : ℕ} (hn : 1 ≤ n) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) π')
      * ((π') ^ (n + 1))⁻¹) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueDataK_res_differentialCoeff_D_mul_inv_ratFunc
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section RatFuncClauses
variable {K : Type*} [Field K] [CharZero K] [HasCanonicalLocalResidueKStar K (RatFunc K)]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem canonicalLocalResidueDataK_res_differentialCoeff_D_mul_inv_ratFunc
    (v : Place K (RatFunc K)) {π' : RatFunc K} (hπ' : v.ord π' = 1)
    (R : v.CanonicalLocalResidueDataK) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) π') * (π')⁻¹) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueKSimplePoleCoordIndep_ratFunc
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
theorem canonicalLocalResidueKSimplePoleCoordIndep_ratFunc (K : Type*) [Field K] [CharZero K]
    [HasCanonicalLocalResidueKStar K (RatFunc K)] :
    CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueDataK_res_differentialCoeff_D_mul_pow_inv_placeInfty
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PlaceInftyConsumers
variable (K : Type*) [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem canonicalLocalResidueDataK_res_differentialCoeff_D_mul_pow_inv_placeInfty
    (π' : RatFunc K) (R : (placeInfty K).CanonicalLocalResidueDataK) {n : ℕ} (hn : 1 ≤ n) :
    R.res ((placeInfty K).differentialCoeff (KaehlerDifferential.D K (RatFunc K) π')
      * ((π') ^ (n + 1))⁻¹) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueDataK_res_X_pow_mul_D_X
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PlaceInftyConsumers
variable (K : Type*) [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem canonicalLocalResidueDataK_res_X_pow_mul_D_X
    (R : (placeInfty K).CanonicalLocalResidueDataK) (n : ℕ) :
    R.res ((RatFunc.X : RatFunc K) ^ n
        * (placeInfty K).differentialCoeff
            (KaehlerDifferential.D K (RatFunc K) RatFunc.X)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueDataK_kaehlerResidueTerm_X_pow
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PlaceInftyConsumers
variable (K : Type*) [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasCanonicalLocalResidueKStar K (RatFunc K)]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem canonicalLocalResidueDataK_kaehlerResidueTerm_X_pow
    (R : (placeInfty K).CanonicalLocalResidueDataK) (n : ℕ) :
    Algebra.trace K (placeInfty K).ResidueField
        (R.res (diagonalHom K (RatFunc K) ((RatFunc.X : RatFunc K) ^ n) (placeInfty K)
          * (placeInfty K).differentialCoeff
              (KaehlerDifferential.D K (RatFunc K) RatFunc.X))) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.surjective_algebraMap_residueField_of_deg_eq_one
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section AlgClosedDischarge
variable (K : Type*) [Field K] [CharZero K] [HasCanonicalLocalResidueKStar K (RatFunc K)]
omit [CharZero K] [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem surjective_algebraMap_residueField_of_deg_eq_one {F : Type*} [Field F] [Algebra K F]
    (v : Place K F) (hdeg : v.deg = 1) :
    Function.Surjective (algebraMap K v.ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.surjective_algebraMap_residueField_ratFunc_of_isAlgClosed
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section AlgClosedDischarge
variable (K : Type*) [Field K] [CharZero K] [HasCanonicalLocalResidueKStar K (RatFunc K)]
omit [CharZero K] [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem surjective_algebraMap_residueField_ratFunc_of_isAlgClosed [IsAlgClosed K]
    (v : Place K (RatFunc K)) :
    Function.Surjective (algebraMap K v.ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.canonicalLocalResidueKDifferentialCoordIndep_ratFunc_of_isAlgClosed
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section AlgClosedDischarge
variable (K : Type*) [Field K] [CharZero K] [HasCanonicalLocalResidueKStar K (RatFunc K)]
variable [IsAlgClosed K]
omit [HasCanonicalLocalResidueKStar K (RatFunc K)] in
theorem canonicalLocalResidueKDifferentialCoordIndep_ratFunc_of_isAlgClosed :
    CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_ne_zero_smul_dX_of_uniformizer
Source context 19 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerfectDCoord
variable (K : Type*) [Field K] [PerfectField K]
theorem exists_ne_zero_smul_dX_of_uniformizer (v : Place K (RatFunc K)) :
    ∃ c : RatFunc K, c ≠ 0 ∧
      KaehlerDifferential.D K (RatFunc K) v.uniformizer = c • dX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField.instDCoordGeneratesPerfectField
Source context 23 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerfectDCoord
variable (K : Type*) [Field K] [PerfectField K]
namespace RationalFunctionField
open _root_.AlgebraicCurve.RationalFunctionField
open _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
instance (priority := low) instDCoordGeneratesPerfectField (v : Place K (RatFunc K)) :
    v.DCoordGenerates
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1DifferentialCoeffUnitFinite_dX_of_perfectField
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section PerfectProfileValues
variable [PerfectField K] [DecidableEq (RatFunc K)]
theorem p1DifferentialCoeffUnitFinite_dX_of_perfectField :
    P1DifferentialCoeffUnitFinite K (dX_ne_zero K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p1DifferentialCoeffRegularFinite_dX_of_perfectField
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section PerfectProfileValues
variable [PerfectField K] [DecidableEq (RatFunc K)]
theorem p1DifferentialCoeffRegularFinite_dX_of_perfectField :
    P1DifferentialCoeffRegularFinite K (dX_ne_zero K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ordDifferential_dX_of_ne_placeInfty_of_perfectField
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section PerfectProfileValues
variable [PerfectField K] [DecidableEq (RatFunc K)]
theorem ordDifferential_dX_of_ne_placeInfty_of_perfectField {v : Place K (RatFunc K)}
    (hv : v ≠ placeInfty K) : v.ordDifferential (dX K) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ordDifferential_dX_placeInfty_of_perfectField
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section PerfectProfileValues
variable [PerfectField K] [DecidableEq (RatFunc K)]
theorem ordDifferential_dX_placeInfty_of_perfectField :
    (placeInfty K).ordDifferential (dX K) = -2
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.exists_divisor_smul_dX_of_perfectField
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section PerfectProfileValues
variable [PerfectField K] [DecidableEq (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem exists_divisor_smul_dX_of_perfectField {c : RatFunc K} (hc : c ≠ 0) :
    ∃ D : Divisor K (RatFunc K),
      (∀ v : Place K (RatFunc K), D v = v.ordDifferential (c • dX K)) ∧
        Divisor.degree D = -2
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.instHasCanonicalDivisorRatFuncPerfectField
Source context 21 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.KaehlerDifferential
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Profile
variable (K : Type*) [Field K]
section PerfectInstance
variable [PerfectField K]
instance instHasCanonicalDivisorRatFuncPerfectField :
    HasCanonicalDivisor (K := K) (F := RatFunc K) where
  exists_divisor ω hω := by
    classical
    obtain ⟨c, hc⟩ := exists_smul_dX_eq K ω
    have hc0 : c ≠ 0 := by
      rintro rfl
      rw [zero_smul] at hc
      exact hω hc.symm
    obtain ⟨D, hD, -⟩ := exists_divisor_smul_dX_of_perfectField K hc0
    refine ⟨D, fun v => ?_⟩
    rw [← hc]
    exact hD v
ModularCurve.MilneAvAg9bRd13T2CoordIndepChar3.ag9b13t_res_differentialCoeff_D_mul_pow_inv_of_surj_of_natCast_ne_zero
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace ModularCurve
namespace MilneAvAg9bRd13T2CoordIndepChar3
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve.RationalFunctionField
open scoped _root_.Polynomial
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.MilneAvAg9bRd13T2CoordIndepChar3 in
with_weak_namespace _root_.ModularCurve.MilneAvAg9bRd13T2CoordIndepChar3
theorem ag9b13t_res_differentialCoeff_D_mul_pow_inv_of_surj_of_natCast_ne_zero
    {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
    (v : Place K F) [v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (hint : ∀ h : F, h ∈ v.toValuationSubring →
      v.differentialCoeff (KaehlerDifferential.D K F h) ∈ v.toValuationSubring)
    (R : v.CanonicalLocalResidueDataK) (π' : F) {n : ℕ} (hn : 1 ≤ n)
    (hnK : (n : K) ≠ 0) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K F π') * ((π') ^ (n + 1))⁻¹) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.residueTheoremK_placeInfty_clause_X_pow
Source context 22 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
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 RatFuncPlaceInftyClause
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
theorem residueTheoremK_placeInfty_clause_X_pow
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK) (n : ℕ) :
    kaehlerResidueTermKFam Rfam (KaehlerDifferential.D K (RatFunc K) RatFunc.X)
      (diagonalHom K (RatFunc K) ((RatFunc.X : RatFunc K) ^ n)) (placeInfty K) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_trace_root_pow_div_derivative_of_lt_of_perfectField
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section EulerPerfectField
variable {p : K[X]} [Fact (Irreducible p)]
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_trace_root_pow_div_derivative_of_lt_of_perfectField (hpmon : p.Monic)
    {k : ℕ} (hk : k < p.natDegree - 1) :
    Algebra.trace K (AdjoinRoot p)
      (AdjoinRoot.root p ^ k / aeval (AdjoinRoot.root p) (derivative p)) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_trace_root_pow_div_derivative_self_of_perfectField
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section EulerPerfectField
variable {p : K[X]} [Fact (Irreducible p)]
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_trace_root_pow_div_derivative_self_of_perfectField (hpmon : p.Monic)
    (hd : 0 < p.natDegree) :
    Algebra.trace K (AdjoinRoot p)
      (AdjoinRoot.root p ^ (p.natDegree - 1) /
        aeval (AdjoinRoot.root p) (derivative p)) = 1
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_aeval_root_eq_sum_range
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section EulerPerfectField
variable {p : K[X]} [Fact (Irreducible p)]
omit [PerfectField K] [DecidableEq (RatFunc K)] in
theorem ag9b12c_aeval_root_eq_sum_range {c : K[X]} {d : ℕ} (hd : c.natDegree < d) :
    (aeval (AdjoinRoot.root p) c : AdjoinRoot p)
      = ∑ k ∈ Finset.range d, c.coeff k • AdjoinRoot.root p ^ k
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_trace_adjoinRoot_mk_div_mk_derivative_of_perfectField
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section EulerPerfectField
variable {p : K[X]} [Fact (Irreducible p)]
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_trace_adjoinRoot_mk_div_mk_derivative_of_perfectField (hpmon : p.Monic)
    {c : K[X]} (hdeg : c.degree < p.degree) :
    Algebra.trace K (AdjoinRoot p)
        (AdjoinRoot.mk p c / AdjoinRoot.mk p (derivative p))
      = c.coeff (p.natDegree - 1)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_differentialCoeff_add
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section DerivativeRegular
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_differentialCoeff_add (v : Place K (RatFunc K))
    (ω₁ ω₂ : Ω[(RatFunc K)⁄K]) :
    v.differentialCoeff (ω₁ + ω₂) = v.differentialCoeff ω₁ + v.differentialCoeff ω₂
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_differentialCoeff_D_mem_finitePlace
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section DerivativeRegular
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_differentialCoeff_D_mem_finitePlace {p : K[X]} (hpirr : Irreducible p)
    {f : RatFunc K} (hf : f ∈ (finitePlace K hpirr).toValuationSubring) :
    (finitePlace K hpirr).differentialCoeff (D K (RatFunc K) f)
      ∈ (finitePlace K hpirr).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_uniformizer_div_mem_finitePlace
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section LeibnizCore
omit [PerfectField K] [DecidableEq (RatFunc K)] in
theorem ag9b12c_uniformizer_div_mem_finitePlace {p : K[X]} (hpirr : Irreducible p) :
    (finitePlace K hpirr).uniformizer / algebraMap K[X] (RatFunc K) p
      ∈ (finitePlace K hpirr).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_one_sub_uniformizer_div_mul_differentialCoeff_D
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section LeibnizCore
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_one_sub_uniformizer_div_mul_differentialCoeff_D
    {p : K[X]} (hpirr : Irreducible p) :
    (1 : RatFunc K) - (finitePlace K hpirr).uniformizer / algebraMap K[X] (RatFunc K) p
        * (finitePlace K hpirr).differentialCoeff
            (D K (RatFunc K) (algebraMap K[X] (RatFunc K) p))
      = algebraMap K[X] (RatFunc K) p
          * (finitePlace K hpirr).differentialCoeff
              (D K (RatFunc K) ((finitePlace K hpirr).uniformizer
                / algebraMap K[X] (RatFunc K) p))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_uniformizer_div_mul_differentialCoeff_D_mem_finitePlace
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section LeibnizCore
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_uniformizer_div_mul_differentialCoeff_D_mem_finitePlace
    {p : K[X]} (hpirr : Irreducible p) :
    (finitePlace K hpirr).uniformizer / algebraMap K[X] (RatFunc K) p
        * (finitePlace K hpirr).differentialCoeff
            (D K (RatFunc K) (algebraMap K[X] (RatFunc K) p))
      ∈ (finitePlace K hpirr).toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_residue_uniformizer_div_mul_differentialCoeff_D_eq_one
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section LeibnizCore
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_residue_uniformizer_div_mul_differentialCoeff_D_eq_one
    {p : K[X]} (hpirr : Irreducible p) :
    IsLocalRing.residue _
        ⟨_, ag9b12c_uniformizer_div_mul_differentialCoeff_D_mem_finitePlace K hpirr⟩
      = (1 : (finitePlace K hpirr).ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_residue_algebraMap_derivative_ne_zero
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section BridgeDischarge
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_residue_algebraMap_derivative_ne_zero {p : K[X]} (hpirr : Irreducible p) :
    IsLocalRing.residue _ ⟨algebraMap K[X] (RatFunc K) p.derivative,
        algebraMap_mem_ofHeightOneSpectrum K _ p.derivative⟩
      ≠ (0 : (finitePlace K hpirr).ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_simplePoleResidueAux_finitePlace_p1PrincipalPartAtom_mOne
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section BridgeDischarge
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_simplePoleResidueAux_finitePlace_p1PrincipalPartAtom_mOne
    {p c : K[X]} (hpirr : Irreducible p)
    (hfmem : p1PrincipalPartAtom K p c 1 * (finitePlace K hpirr).differentialCoeff (dX K)
        ∈ (finitePlace K hpirr).simplePoleSubmodule) :
    (finitePlace K hpirr).simplePoleResidueAux ⟨_, hfmem⟩
      = IsLocalRing.residue _ ⟨algebraMap K[X] (RatFunc K) c,
            algebraMap_mem_ofHeightOneSpectrum K _ c⟩
        / IsLocalRing.residue _ ⟨algebraMap K[X] (RatFunc K) p.derivative,
            algebraMap_mem_ofHeightOneSpectrum K _ p.derivative⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_p1FinitePlaceSimplePoleResidueAdjoinRootValue_of_perfectField
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section BridgeDischarge
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_p1FinitePlaceSimplePoleResidueAdjoinRootValue_of_perfectField :
    P1FinitePlaceSimplePoleResidueAdjoinRootValue K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_trace_finitePlace_simplePoleResidue_mOne_of_perfectField
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section TraceValue
omit [DecidableEq (RatFunc K)] in
theorem ag9b12c_trace_finitePlace_simplePoleResidue_mOne_of_perfectField
    {p c : K[X]} (hpmon : p.Monic) (hpirr : Irreducible p) (hdeg : c.degree < p.degree)
    (hfmem : p1PrincipalPartAtom K p c 1 * (finitePlace K hpirr).differentialCoeff (dX K)
        ∈ (finitePlace K hpirr).simplePoleSubmodule) :
    Algebra.trace K (finitePlace K hpirr).ResidueField
        ((finitePlace K hpirr).simplePoleResidueAux ⟨_, hfmem⟩)
      = c.coeff (p.natDegree - 1)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b12c_p1MOneSimplePoleCancel_dX_of_inftyEulerValue_of_perfectField
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
section TraceValue
theorem ag9b12c_p1MOneSimplePoleCancel_dX_of_inftyEulerValue_of_perfectField
    (hinf : P1PlaceInftySimplePoleResidueEulerValue K) :
    P1PrincipalPartMOneSimplePoleCancel K (dX_ne_zero K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b13e_ratFuncDXCoeff_uniformizer_ne_zero_and_ord_le_of_perfectField
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section LemmaAPerfect
variable {K : Type*} [Field K] [PerfectField K]
theorem ag9b13e_ratFuncDXCoeff_uniformizer_ne_zero_and_ord_le_of_perfectField
    (v : Place K (RatFunc K)) {g : RatFunc K} (hg : g ∈ v.toValuationSubring) :
    ratFuncDXCoeff K v.uniformizer ≠ 0 ∧
      (ratFuncDXCoeff K g = 0 ∨
        v.ord (ratFuncDXCoeff K v.uniformizer) ≤ v.ord (ratFuncDXCoeff K g))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b13e_differentialCoeff_D_eq_ratFuncDXCoeff_div_of_perfectField
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section LemmaAPerfect
variable {K : Type*} [Field K] [PerfectField K]
theorem ag9b13e_differentialCoeff_D_eq_ratFuncDXCoeff_div_of_perfectField
    (v : Place K (RatFunc K)) (f : RatFunc K)
    (hπ : ratFuncDXCoeff K v.uniformizer ≠ 0) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) f)
      = ratFuncDXCoeff K f / ratFuncDXCoeff K v.uniformizer
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b13e_differentialCoeff_D_mem_of_mem_of_perfectField
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section LemmaAPerfect
variable {K : Type*} [Field K] [PerfectField K]
theorem ag9b13e_differentialCoeff_D_mem_of_mem_of_perfectField (v : Place K (RatFunc K))
    {g : RatFunc K} (hg : g ∈ v.toValuationSubring) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) g) ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b13e_canonicalLocalResidueKSimplePoleCoordIndep_ratFunc_of_perfectField
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section SimplePoleRowPerfect
variable (K : Type*) [Field K] [PerfectField K]
theorem ag9b13e_canonicalLocalResidueKSimplePoleCoordIndep_ratFunc_of_perfectField :
    CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b13e_p1PlaceInftySimplePoleResidueEulerValueX_of_perfectField
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ChainPerfect
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
theorem ag9b13e_p1PlaceInftySimplePoleResidueEulerValueX_of_perfectField :
    P1PlaceInftySimplePoleResidueEulerValueX K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b13e_p1PlaceInftySimplePoleResidueEulerValueMonomial_of_perfectField
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ChainPerfect
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
theorem ag9b13e_p1PlaceInftySimplePoleResidueEulerValueMonomial_of_perfectField :
    P1PlaceInftySimplePoleResidueEulerValueMonomial K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.ag9b13e_p1PlaceInftySimplePoleResidueEulerValue_of_perfectField
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ChainPerfect
variable (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
theorem ag9b13e_p1PlaceInftySimplePoleResidueEulerValue_of_perfectField :
    P1PlaceInftySimplePoleResidueEulerValue K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueFunctionalK

The global residue functional obtained by restricting the differential Weil map to principal adeles.

Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section KernelEngine
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]
variable [HasPrincipalDivisors K F]
def kaehlerResidueFunctionalK (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    {ω : Ω[F⁄K]} (hω : ω ≠ 0) : F →ₗ[K] K
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueFunctionalK_eq_finsum
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section KernelEngine
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]
variable [HasPrincipalDivisors K F]
omit [HasCanonicalLocalResidueKStar K F] in
theorem kaehlerResidueFunctionalK_eq_finsum
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK) {ω : Ω[F⁄K]} (hω : ω ≠ 0) (f : F) :
    kaehlerResidueFunctionalK Rfam hω f
      = ∑ᶠ v, kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueFunctionalK_eq_zero_of_term_zero_compl
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section KernelEngine
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]
variable [HasPrincipalDivisors K F]
omit [HasCanonicalLocalResidueKStar K F] in
theorem kaehlerResidueFunctionalK_eq_zero_of_term_zero_compl
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK) {ω : Ω[F⁄K]} (hω : ω ≠ 0) {f : F}
    {T : Finset (Place K F)}
    (hcompl : ∀ v ∉ T, kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v = 0)
    (hsum : ∑ v ∈ T, kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v = 0) :
    kaehlerResidueFunctionalK Rfam hω f = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueFunctionalK_eq_zero_of_singleton
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section KernelEngine
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]
variable [HasPrincipalDivisors K F]
omit [HasCanonicalLocalResidueKStar K F] in
theorem kaehlerResidueFunctionalK_eq_zero_of_singleton
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK) {ω : Ω[F⁄K]} (hω : ω ≠ 0) {f : F}
    {v₀ : Place K F}
    (hcompl : ∀ v, v ≠ v₀ → kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v = 0)
    (hv₀ : kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v₀ = 0) :
    kaehlerResidueFunctionalK Rfam hω f = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueFunctionalK_eq_zero_of_pair
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section KernelEngine
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]
variable [HasPrincipalDivisors K F]
omit [HasCanonicalLocalResidueKStar K F] in
theorem kaehlerResidueFunctionalK_eq_zero_of_pair
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK) {ω : Ω[F⁄K]} (hω : ω ≠ 0) {f : F}
    {v₀ v₁ : Place K F} (hne : v₀ ≠ v₁)
    (hcompl : ∀ v, v ≠ v₀ → v ≠ v₁ → kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v = 0)
    (hsum : kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v₀
      + kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v₁ = 0) :
    kaehlerResidueFunctionalK Rfam hω f = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueTermKFam_eq_of_mem_simplePoleSubmodule
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section SimplePoleSeam
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
omit [HasCanonicalLocalResidueKStar K F] in
theorem kaehlerResidueTermKFam_eq_of_mem_simplePoleSubmodule
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    {ω : Ω[F⁄K]} {f : F} {v : Place K F}
    (hmem : f * v.differentialCoeff ω ∈ v.simplePoleSubmodule) :
    kaehlerResidueTermKFam Rfam ω (diagonalHom K F f) v
      = Algebra.trace K v.ResidueField
          (v.simplePoleResidueAux ⟨f * v.differentialCoeff ω, hmem⟩)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueTermKFam_smul_diagonal
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section SmulReduction
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
omit [HasCanonicalLocalResidueKStar K F] in
theorem kaehlerResidueTermKFam_smul_diagonal
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK)
    (g : F) (ω : Ω[F⁄K]) (f : F) (v : Place K F) :
    kaehlerResidueTermKFam Rfam (g • ω) (diagonalHom K F f) v
      = kaehlerResidueTermKFam Rfam ω (diagonalHom K F (g * f)) v
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.weilOfKaehlerK_smul_diagonal
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section SmulReduction
variable {K F : Type*} [Field K] [Field F] [Algebra K F] [HasCanonicalLocalResidueKStar K F]
variable [∀ v : Place K F, v.DCoordGenerates] [Nontrivial Ω[F⁄K]]
variable [HasCanonicalDivisor (K := K) (F := F)]
omit [HasCanonicalLocalResidueKStar K F] in
theorem weilOfKaehlerK_smul_diagonal [HasPrincipalDivisors K F]
    (Rfam : ∀ v : Place K F, v.CanonicalLocalResidueDataK) {g : F} {ω : Ω[F⁄K]}
    (hω : ω ≠ 0) (hgω : g • ω ≠ 0) (f : F) :
    weilOfKaehlerK Rfam hgω ⟨diagonalHom K F f, diagonal_mem_adeleSpace f⟩
      = weilOfKaehlerK Rfam hω
          ⟨diagonalHom K F (g * f), diagonal_mem_adeleSpace (g * f)⟩
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueFunctionalK_dX_X_pow
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem kaehlerResidueFunctionalK_dX_X_pow
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK) (n : ℕ) :
    kaehlerResidueFunctionalK Rfam (dX_ne_zero K) ((RatFunc.X : RatFunc K) ^ n) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueTermKFam_atom_eq_zero_of_ne_of_ne
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [HasPrincipalDivisors K (RatFunc K)] in
theorem kaehlerResidueTermKFam_atom_eq_zero_of_ne_of_ne
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    {p : K[X]} (hpirr : Irreducible p) (c : K[X]) (m : ℕ) {v : Place K (RatFunc K)}
    (hvp : v ≠ finitePlace K hpirr) (hvinf : v ≠ placeInfty K) :
    kaehlerResidueTermKFam Rfam (dX K)
      (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c m)) v = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueTermKFam_atom_placeInfty_eq_zero_of_two_le
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [HasPrincipalDivisors K (RatFunc K)] in
theorem kaehlerResidueTermKFam_atom_placeInfty_eq_zero_of_two_le
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    {p : K[X]} (hpirr : Irreducible p) (c : K[X]) {m : ℕ}
    (hdeg : c.degree < p.degree) (hm : 2 ≤ m) :
    kaehlerResidueTermKFam Rfam (dX K)
      (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c m)) (placeInfty K) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueTermKFam_atom_finitePlace_eq_zero_of_two_le
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [CharZero K] [DecidableEq (RatFunc K)] [HasPrincipalDivisors K (RatFunc K)] in
theorem kaehlerResidueTermKFam_atom_finitePlace_eq_zero_of_two_le
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K)
    {p c : K[X]} {m : ℕ} (hpmon : p.Monic) (hpirr : Irreducible p)
    (hdeg : c.degree < p.degree) (hm : 2 ≤ m) :
    kaehlerResidueTermKFam Rfam (dX K)
      (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c m)) (finitePlace K hpirr) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueTermKFam_atom_mOne_two_place_sum
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [HasPrincipalDivisors K (RatFunc K)] in
theorem kaehlerResidueTermKFam_atom_mOne_two_place_sum
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hsp : CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K))
    {p c : K[X]} (hpmon : p.Monic) (hpirr : Irreducible p) (hdeg : c.degree < p.degree) :
    kaehlerResidueTermKFam Rfam (dX K)
        (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c 1)) (finitePlace K hpirr)
      + kaehlerResidueTermKFam Rfam (dX K)
          (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c 1)) (placeInfty K) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueFunctionalK_dX_atom
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem kaehlerResidueFunctionalK_dX_atom
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hsp : CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K)
    {p c : K[X]} {m : ℕ} (hpmon : p.Monic) (hpirr : Irreducible p)
    (hdeg : c.degree < p.degree) (hm : 1 ≤ m) :
    kaehlerResidueFunctionalK Rfam (dX_ne_zero K) (p1PrincipalPartAtom K p c m) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.kaehlerResidueFunctionalK_dX_eq_zero
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem kaehlerResidueFunctionalK_dX_eq_zero
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hsp : CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K)
    (h : RatFunc K) :
    kaehlerResidueFunctionalK Rfam (dX_ne_zero K) h = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.residueTheoremK_ratFunc_of_subrows
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Engine
variable {K : Type*} [Field K] [CharZero K] [DecidableEq (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem residueTheoremK_ratFunc_of_subrows
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hsp : CanonicalLocalResidueKSimplePoleCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K) :
    ResidueTheoremK K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.residueTheoremK_ratFunc_of_isAlgClosed_main
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section AlgClosedDischarge
variable (K : Type*) [Field K] [CharZero K] [IsAlgClosed K] [DecidableEq (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem residueTheoremK_ratFunc_of_isAlgClosed_main : ResidueTheoremK K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_p1MOneSimplePoleCancel_dX_of_perfectField
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section MOnePerfect
theorem p0n21_rtk_p1MOneSimplePoleCancel_dX_of_perfectField
    (K : Type*) [Field K] [PerfectField K] [DecidableEq (RatFunc K)] :
    P1PrincipalPartMOneSimplePoleCancel K (dX_ne_zero K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_kaehlerResidueFunctionalK_dX_X_pow
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem p0n21_rtk_kaehlerResidueFunctionalK_dX_X_pow
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K)) (n : ℕ) :
    kaehlerResidueFunctionalK Rfam (dX_ne_zero K) ((RatFunc.X : RatFunc K) ^ n) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_kaehlerResidueTermKFam_atom_eq_zero_of_ne_of_ne
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [HasPrincipalDivisors K (RatFunc K)] in
theorem p0n21_rtk_kaehlerResidueTermKFam_atom_eq_zero_of_ne_of_ne
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    {p : K[X]} (hpirr : Irreducible p) (c : K[X]) (m : ℕ) {v : Place K (RatFunc K)}
    (hvp : v ≠ finitePlace K hpirr) (hvinf : v ≠ placeInfty K) :
    kaehlerResidueTermKFam Rfam (dX K)
      (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c m)) v = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_kaehlerResidueTermKFam_atom_placeInfty_eq_zero_of_two_le
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [HasPrincipalDivisors K (RatFunc K)] in
theorem p0n21_rtk_kaehlerResidueTermKFam_atom_placeInfty_eq_zero_of_two_le
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    {p : K[X]} (hpirr : Irreducible p) (c : K[X]) {m : ℕ}
    (hdeg : c.degree < p.degree) (hm : 2 ≤ m) :
    kaehlerResidueTermKFam Rfam (dX K)
      (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c m)) (placeInfty K) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_kaehlerResidueTermKFam_atom_finitePlace_eq_zero_of_two_le
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [PerfectField K] [DecidableEq (RatFunc K)] [HasPrincipalDivisors K (RatFunc K)] in
theorem p0n21_rtk_kaehlerResidueTermKFam_atom_finitePlace_eq_zero_of_two_le
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K)
    {p c : K[X]} {m : ℕ} (hpmon : p.Monic) (hpirr : Irreducible p)
    (hdeg : c.degree < p.degree) (hm : 2 ≤ m) :
    kaehlerResidueTermKFam Rfam (dX K)
      (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c m)) (finitePlace K hpirr) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_kaehlerResidueTermKFam_atom_mOne_two_place_sum
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [HasPrincipalDivisors K (RatFunc K)] in
theorem p0n21_rtk_kaehlerResidueTermKFam_atom_mOne_two_place_sum
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    {p c : K[X]} (hpmon : p.Monic) (hpirr : Irreducible p) (hdeg : c.degree < p.degree) :
    kaehlerResidueTermKFam Rfam (dX K)
        (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c 1)) (finitePlace K hpirr)
      + kaehlerResidueTermKFam Rfam (dX K)
          (diagonalHom K (RatFunc K) (p1PrincipalPartAtom K p c 1)) (placeInfty K) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_kaehlerResidueFunctionalK_dX_atom
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem p0n21_rtk_kaehlerResidueFunctionalK_dX_atom
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K)
    {p c : K[X]} {m : ℕ} (hpmon : p.Monic) (hpirr : Irreducible p)
    (hdeg : c.degree < p.degree) (hm : 1 ≤ m) :
    kaehlerResidueFunctionalK Rfam (dX_ne_zero K) (p1PrincipalPartAtom K p c m) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_kaehlerResidueFunctionalK_dX_eq_zero
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section PerGenerator
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
variable [HasPrincipalDivisors K (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem p0n21_rtk_kaehlerResidueFunctionalK_dX_eq_zero
    (Rfam : ∀ v : Place K (RatFunc K), v.CanonicalLocalResidueDataK)
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K)
    (h : RatFunc K) :
    kaehlerResidueFunctionalK Rfam (dX_ne_zero K) h = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_residueTheoremK_ratFunc_of_subrows_charFree
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section EngineCharFree
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem p0n21_rtk_residueTheoremK_ratFunc_of_subrows_charFree
    (hwd : OrdDifferentialWellDefined K (RatFunc K))
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K) :
    ResidueTheoremK K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_residueTheoremK_ratFunc_of_coordIndep_higherDeg_of_perfectField
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section EngineCharFree
variable {K : Type*} [Field K] [PerfectField K] [DecidableEq (RatFunc K)]
omit [DecidableEq (RatFunc K)] in
theorem p0n21_rtk_residueTheoremK_ratFunc_of_coordIndep_higherDeg_of_perfectField
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K))
    (hHigh5 : P1FinitePlaceCanonicalResidueAtomMGeTwoTraceHigherDeg K) :
    ResidueTheoremK K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_residueTheoremK_ratFunc_of_isAlgClosed_of_coordIndep
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section AlgClosedAnyChar
theorem p0n21_rtk_residueTheoremK_ratFunc_of_isAlgClosed_of_coordIndep
    (K : Type*) [Field K] [IsAlgClosed K]
    (hcoord : CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K)) :
    ResidueTheoremK K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_surjective_algebraMap_residueField_of_deg_eq_one
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ResidualLocation
theorem p0n21_rtk_surjective_algebraMap_residueField_of_deg_eq_one
    {K F : Type*} [Field K] [Field F] [Algebra K F]
    (v : Place K F) (hdeg : v.deg = 1) :
    Function.Surjective (algebraMap K v.ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n21_rtk_surjective_algebraMap_residueField_ratFunc_of_isAlgClosed
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section ResidualLocation
theorem p0n21_rtk_surjective_algebraMap_residueField_ratFunc_of_isAlgClosed
    (K : Type*) [Field K] [IsAlgClosed K] (v : Place K (RatFunc K)) :
    Function.Surjective (algebraMap K v.ResidueField)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_uniformizer_pow_mul_mem_cases
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_uniformizer_pow_mul_mem_cases
    (v : Place K (RatFunc K))
    {σ : RatFunc K} (hσ : σ ∈ v.toValuationSubring) {k : ℕ} (hk : 1 ≤ k) :
    v.uniformizer ^ k * σ = 0 ∨ 1 ≤ v.ord (v.uniformizer ^ k * σ)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_one_add_ne_zero
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_one_add_ne_zero
    (v : Place K (RatFunc K))
    {g : RatFunc K} (hg : g = 0 ∨ 1 ≤ v.ord g) :
    (1 : RatFunc K) + g ≠ 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_ord_one_add_eq_zero
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_ord_one_add_eq_zero
    (v : Place K (RatFunc K))
    {g : RatFunc K} (hg : g = 0 ∨ 1 ≤ v.ord g) :
    v.ord ((1 : RatFunc K) + g) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_one_add_inv_mem
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_one_add_inv_mem
    (v : Place K (RatFunc K))
    {g : RatFunc K} (hg : g = 0 ∨ 1 ≤ v.ord g) :
    ((1 : RatFunc K) + g)⁻¹ ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_logDeriv_mul
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_logDeriv_mul
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    {w₁ w₂ : RatFunc K} (h1 : w₁ ≠ 0) (h2 : w₂ ≠ 0) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) (w₁ * w₂))
        * (w₁ * w₂)⁻¹
      = v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) w₁) * w₁⁻¹
        + v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) w₂)
            * w₂⁻¹
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_logDeriv_mem
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
theorem p0n22_cpf_logDeriv_mem
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    {w : RatFunc K} (hw0 : w ≠ 0) (hword : v.ord w = 0) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) w) * w⁻¹
      ∈ v.toValuationSubring
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_differentialCoeff_D_one_add_algebraMap_mul_pow
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_differentialCoeff_D_one_add_algebraMap_mul_pow
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]] (a : K) (k : ℕ) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
        ((1 : RatFunc K)
          + algebraMap K (RatFunc K) a * v.uniformizer ^ k))
      = algebraMap K (RatFunc K) a
        * (((k : ℕ) : RatFunc K) * v.uniformizer ^ (k - 1))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_differentialCoeff_D_one_add_pow_mul
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_differentialCoeff_D_one_add_pow_mul
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]] (σ : RatFunc K) (k : ℕ) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
        ((1 : RatFunc K) + v.uniformizer ^ k * σ))
      = v.uniformizer ^ k
          * v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) σ)
        + σ * (((k : ℕ) : RatFunc K) * v.uniformizer ^ (k - 1))
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_exists_residue_lift_decomp
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
open _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
  (ag9b15u_eq_zero_or_one_le_ord_of_residue_eq_zero)
in
theorem p0n22_cpf_exists_residue_lift_decomp
    (v : Place K (RatFunc K))
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    {r : RatFunc K} (hr : r ∈ v.toValuationSubring) :
    ∃ (d : K) (r' : RatFunc K), r' ∈ v.toValuationSubring ∧
      r = algebraMap K (RatFunc K) d + v.uniformizer * r'
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_exists_elementary_peel
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_exists_elementary_peel
    (v : Place K (RatFunc K))
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    {k : ℕ} (hk : 1 ≤ k) {σ : RatFunc K} (hσ : σ ∈ v.toValuationSubring) :
    ∃ (a : K) (τ : RatFunc K), τ ∈ v.toValuationSubring ∧
      (1 : RatFunc K) + v.uniformizer ^ k * σ
        = ((1 : RatFunc K)
              + algebraMap K (RatFunc K) a * v.uniformizer ^ k)
          * ((1 : RatFunc K) + v.uniformizer ^ (k + 1) * τ)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_exists_laurent_expansion_one
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
open _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
  (ag9b15u_exists_K_truncation_of_mem_poleSubmodule)
in
theorem p0n22_cpf_exists_laurent_expansion_one
    (v : Place K (RatFunc K))
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (f : RatFunc K) :
    ∃ (s : Finset ℤ) (c : ℤ → K) (r : RatFunc K),
      r ∈ v.toValuationSubring ∧
      f = (∑ j ∈ s, c j • v.uniformizer ^ j) + v.uniformizer * r
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_geom_core
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
open _root_.ModularCurve.MilneAvAg9bRd14CubeRowCartierSliceStart
  (ag9b14c_res_uniformizer_zpow_eq_zero_of_ne_neg_one)
in
theorem p0n22_cpf_res_geom_core
    (v : Place K (RatFunc K)) (R : v.CanonicalLocalResidueDataK)
    (a : K) {k q : ℕ} (hk : 1 ≤ k) (hq : 1 ≤ q) :
    R.res (algebraMap K (RatFunc K) a * v.uniformizer ^ (k - 1)
        * ((1 : RatFunc K)
            + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹
        * (v.uniformizer ^ q)⁻¹)
      = if k ∣ q
        then algebraMap K v.ResidueField (a * (-a) ^ (q / k - 1))
        else 0 := by
  have hπ0 : (v.uniformizer : RatFunc K) ≠ 0 := v.uniformizer_ne_zero
  have hgcase : algebraMap K (RatFunc K) a * v.uniformizer ^ k = 0
      ∨ 1 ≤ v.ord (algebraMap K (RatFunc K) a * v.uniformizer ^ k) := by
    rw [mul_comm]
    exact p0n22_cpf_uniformizer_pow_mul_mem_cases v (v.algebraMap_mem' a) hk
  have hu0 : (1 : RatFunc K)
      + algebraMap K (RatFunc K) a * v.uniformizer ^ k ≠ 0 :=
    p0n22_cpf_one_add_ne_zero v hgcase
  have huinv : ((1 : RatFunc K)
      + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹
      ∈ v.toValuationSubring :=
    p0n22_cpf_one_add_inv_mem v hgcase
  have hgeom : ((1 : RatFunc K)
      + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹
      = (∑ t ∈ Finset.range q,
          (-(algebraMap K (RatFunc K) a * v.uniformizer ^ k)) ^ t)
        + (-(algebraMap K (RatFunc K) a * v.uniformizer ^ k)) ^ q
          * ((1 : RatFunc K)
              + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹ := by
    refine (eq_inv_of_mul_eq_one_left ?_).symm
    rw [add_mul, mul_assoc, inv_mul_cancel₀ hu0, mul_one]
    have hgs := geom_sum_mul
      (-(algebraMap K (RatFunc K) a * v.uniformizer ^ k)) q
    linear_combination -hgs
  rw [hgeom, mul_add, add_mul, map_add]
  have htail : R.res ((algebraMap K (RatFunc K) a * v.uniformizer ^ (k - 1)
      * ((-(algebraMap K (RatFunc K) a * v.uniformizer ^ k)) ^ q
          * ((1 : RatFunc K)
              + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹))
      * (v.uniformizer ^ q)⁻¹) = 0 := by
    apply R.res_of_mem
    have hqle : q ≤ k * q := Nat.le_of_dvd (Nat.mul_pos hk hq) (dvd_mul_left q k)
    have hpowsplit : (v.uniformizer : RatFunc K) ^ (k * q)
        = v.uniformizer ^ (k * q - q) * v.uniformizer ^ q := by
      rw [← pow_add, Nat.sub_add_cancel hqle]
    have hxq : (-(algebraMap K (RatFunc K) a * v.uniformizer ^ k)) ^ q
        = algebraMap K (RatFunc K) ((-a) ^ q)
          * (v.uniformizer ^ (k * q - q) * v.uniformizer ^ q) := by
      rw [map_pow, _root_.map_neg,
        show -(algebraMap K (RatFunc K) a * v.uniformizer ^ k)
            = -algebraMap K (RatFunc K) a * v.uniformizer ^ k from
          (neg_mul _ _).symm,
        mul_pow, ← pow_mul, hpowsplit]
    have hcc : (v.uniformizer : RatFunc K) ^ q
        * ((v.uniformizer : RatFunc K) ^ q)⁻¹ = 1 :=
      mul_inv_cancel₀ (pow_ne_zero _ hπ0)
    have heq : (algebraMap K (RatFunc K) a * v.uniformizer ^ (k - 1)
        * ((-(algebraMap K (RatFunc K) a * v.uniformizer ^ k)) ^ q
            * ((1 : RatFunc K)
                + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹))
        * (v.uniformizer ^ q)⁻¹
        = algebraMap K (RatFunc K) a * v.uniformizer ^ (k - 1)
          * (algebraMap K (RatFunc K) ((-a) ^ q)
              * v.uniformizer ^ (k * q - q)
              * ((1 : RatFunc K)
                  + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹) := by
      rw [hxq]
      linear_combination (algebraMap K (RatFunc K) a
        * v.uniformizer ^ (k - 1)
        * (algebraMap K (RatFunc K) ((-a) ^ q)
            * v.uniformizer ^ (k * q - q)
            * ((1 : RatFunc K)
                + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹)) * hcc
    rw [heq]
    exact mul_mem (mul_mem (v.algebraMap_mem' a) (pow_mem v.uniformizer_mem _))
      (mul_mem (mul_mem (v.algebraMap_mem' _) (pow_mem v.uniformizer_mem _)) huinv)
  have hterm : (algebraMap K (RatFunc K) a * v.uniformizer ^ (k - 1)
      * (∑ t ∈ Finset.range q,
          (-(algebraMap K (RatFunc K) a * v.uniformizer ^ k)) ^ t))
      * (v.uniformizer ^ q)⁻¹
      = ∑ t ∈ Finset.range q, (a * (-a) ^ t)
          • v.uniformizer ^ ((k : ℤ) * ((t : ℤ) + 1) - 1 - (q : ℤ)) := by
    rw [Finset.mul_sum, Finset.sum_mul]
    refine Finset.sum_congr rfl fun t _ => ?_
    have hxt : (-(algebraMap K (RatFunc K) a * v.uniformizer ^ k)) ^ t
        = algebraMap K (RatFunc K) ((-a) ^ t)
          * v.uniformizer ^ (k * t) := by
      rw [map_pow, _root_.map_neg,
        show -(algebraMap K (RatFunc K) a * v.uniformizer ^ k)
            = -algebraMap K (RatFunc K) a * v.uniformizer ^ k from
          (neg_mul _ _).symm,
        mul_pow, ← pow_mul]
    rw [hxt, Algebra.smul_def, map_mul, map_pow, _root_.map_neg,
      show (k : ℤ) * ((t : ℤ) + 1) - 1 - (q : ℤ)
          = ((k - 1 : ℕ) : ℤ) + ((k * t : ℕ) : ℤ) + -((q : ℕ) : ℤ) from by
        push_cast [Nat.cast_sub hk]
        ring,
      zpow_add₀ hπ0, zpow_add₀ hπ0, zpow_natCast, zpow_natCast, _root_.zpow_neg, zpow_natCast]
    ring
  rw [hterm, map_sum]
  simp only [map_smul]
  by_cases hdvd : k ∣ q
  · rw [ite_eq_left hdvd, htail, add_zero]
    obtain ⟨e, rfl⟩ := hdvd
    rcases Nat.eq_zero_or_pos e with rfl | he1
    · simp at hq
    · rw [Nat.mul_div_cancel_left e hk]
      have he_lt : e - 1 < k * e := by
        have h1 : e ≤ k * e := Nat.le_of_dvd (Nat.mul_pos hk he1) (dvd_mul_left e k)
        omega
      have hother : ∀ t ∈ Finset.range (k * e), t ≠ e - 1 →
          (a * (-a) ^ t) • R.res ((v.uniformizer : RatFunc K)
            ^ ((k : ℤ) * ((t : ℤ) + 1) - 1 - ((k * e : ℕ) : ℤ))) = 0 := by
        intro t _ htne
        have hne : (k : ℤ) * ((t : ℤ) + 1) - 1 - ((k * e : ℕ) : ℤ) ≠ -1 := by
          intro hcontra
          have h2 : (k : ℤ) * ((t : ℤ) + 1) = (k : ℤ) * (e : ℤ) := by
            push_cast at hcontra
            linarith
          have hk0 : (k : ℤ) ≠ 0 := by omega
          have h3 : (t : ℤ) + 1 = (e : ℤ) := mul_left_cancel₀ hk0 h2
          omega
        rw [ag9b14c_res_uniformizer_zpow_eq_zero_of_ne_neg_one
          v R hne, smul_zero]
      rw [Finset.sum_eq_single_of_mem (e - 1) (Finset.mem_range.mpr he_lt) hother,
        show (k : ℤ) * (((e - 1 : ℕ) : ℤ) + 1) - 1 - ((k * e : ℕ) : ℤ) = -1 from by
          push_cast [Nat.cast_sub he1]
          ring,
        _root_.zpow_neg, zpow_one, gate_canonicalLocalResidueDataK_uniformizer_inv v R,
        ← Algebra.algebraMap_eq_smul_one]
  · rw [ite_eq_right hdvd, htail, add_zero]
    refine Finset.sum_eq_zero fun t _ => ?_
    have hne : (k : ℤ) * ((t : ℤ) + 1) - 1 - (q : ℤ) ≠ -1 := by
      intro hcontra
      have h2 : (k : ℤ) * ((t : ℤ) + 1) = (q : ℤ) := by linarith
      have h3 : k * (t + 1) = q := by exact_mod_cast h2
      exact hdvd ⟨t + 1, h3.symm⟩
    rw [ag9b14c_res_uniformizer_zpow_eq_zero_of_ne_neg_one
      v R hne, smul_zero]
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_logDeriv_elementary
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
theorem p0n22_cpf_res_logDeriv_elementary
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    (R : v.CanonicalLocalResidueDataK) (a : K) {k q : ℕ} (hk : 1 ≤ k) (hq : 1 ≤ q) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
          ((1 : RatFunc K)
            + algebraMap K (RatFunc K) a * v.uniformizer ^ k))
        * ((1 : RatFunc K)
            + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹
        * (v.uniformizer ^ q)⁻¹)
      = ((k : ℕ) : K) • (if k ∣ q
          then algebraMap K v.ResidueField (a * (-a) ^ (q / k - 1))
          else 0) := by
  rw [p0n22_cpf_differentialCoeff_D_one_add_algebraMap_mul_pow v a k]
  have hsplit : algebraMap K (RatFunc K) a
        * (((k : ℕ) : RatFunc K) * v.uniformizer ^ (k - 1))
        * ((1 : RatFunc K)
            + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹
        * (v.uniformizer ^ q)⁻¹
      = ((k : ℕ) : K) • (algebraMap K (RatFunc K) a
          * v.uniformizer ^ (k - 1)
          * ((1 : RatFunc K)
              + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹
          * (v.uniformizer ^ q)⁻¹) := by
    rw [Algebra.smul_def, map_natCast]
    ring
  rw [hsplit, map_smul, p0n22_cpf_res_geom_core v R a hk hq]
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_logDeriv_highLevel_vanish
Source context 25 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
theorem p0n22_cpf_res_logDeriv_highLevel_vanish
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    (R : v.CanonicalLocalResidueDataK)
    {σ : RatFunc K} (hσ : σ ∈ v.toValuationSubring)
    {k q : ℕ} (hbig : q + 1 ≤ k) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
          ((1 : RatFunc K) + v.uniformizer ^ k * σ))
        * ((1 : RatFunc K) + v.uniformizer ^ k * σ)⁻¹
        * (v.uniformizer ^ q)⁻¹) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_row_integrand_eq_pow_mul_dlog
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharFreeToolkit
variable {K : Type*} [Field K] [PerfectField K]
omit [PerfectField K] in
open _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
  (ag9b15u_differentialCoeff_D_unit_mul_uniformizer)
in
theorem p0n22_cpf_row_integrand_eq_pow_mul_dlog
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    {w : RatFunc K} (hw0 : w ≠ 0) (k : ℕ) :
    v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
        (w * v.uniformizer))
        * ((w * v.uniformizer) ^ (k + 1))⁻¹
      = (w ^ k * v.uniformizer ^ k)⁻¹
        * ((v.uniformizer)⁻¹
            + v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) w)
                * w⁻¹)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_logDeriv_elementary_cartier
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharPCartier
variable {p : ℕ} [hp : Fact p.Prime]
variable {K : Type*} [Field K] [PerfectField K] [hKp : CharP K p]
omit [PerfectField K] in
theorem p0n22_cpf_res_logDeriv_elementary_cartier
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    (R : v.CanonicalLocalResidueDataK) (a : K) {k n : ℕ} (hk : 1 ≤ k) (hn : 1 ≤ n) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
          ((1 : RatFunc K)
            + algebraMap K (RatFunc K) a * v.uniformizer ^ k))
        * ((1 : RatFunc K)
            + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹
        * (v.uniformizer ^ (p * n))⁻¹)
      = (R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
          ((1 : RatFunc K)
            + algebraMap K (RatFunc K) a * v.uniformizer ^ k))
        * ((1 : RatFunc K)
            + algebraMap K (RatFunc K) a * v.uniformizer ^ k)⁻¹
        * (v.uniformizer ^ n)⁻¹)) ^ p
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_logDeriv_principalUnit_cartier_aux
Source context 26 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharPCartier
variable {p : ℕ} [hp : Fact p.Prime]
variable {K : Type*} [Field K] [PerfectField K] [hKp : CharP K p]
theorem p0n22_cpf_res_logDeriv_principalUnit_cartier_aux
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (R : v.CanonicalLocalResidueDataK) {n : ℕ} (hn : 1 ≤ n) :
    ∀ d k : ℕ, 1 ≤ k → p * n + 1 ≤ k + d →
      ∀ σ : RatFunc K, σ ∈ v.toValuationSubring →
        R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
              ((1 : RatFunc K) + v.uniformizer ^ k * σ))
            * ((1 : RatFunc K) + v.uniformizer ^ k * σ)⁻¹
            * (v.uniformizer ^ (p * n))⁻¹)
          = (R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
              ((1 : RatFunc K) + v.uniformizer ^ k * σ))
            * ((1 : RatFunc K) + v.uniformizer ^ k * σ)⁻¹
            * (v.uniformizer ^ n)⁻¹)) ^ p
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_zpow_mul_logDeriv_cartier
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharPCartier
variable {p : ℕ} [hp : Fact p.Prime]
variable {K : Type*} [Field K] [PerfectField K] [hKp : CharP K p]
open _root_.ModularCurve.MilneAvAg9bRd15UnitNormalFormLaurentSeed
  (ag9b15u_exists_unit_normal_form_of_surj)
in
theorem p0n22_cpf_res_zpow_mul_logDeriv_cartier
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (R : v.CanonicalLocalResidueDataK)
    {w : RatFunc K} (hw0 : w ≠ 0) (hword : v.ord w = 0) (j : ℤ) :
    R.res (v.uniformizer ^ ((p : ℤ) * j)
        * (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) w)
            * w⁻¹))
      = (R.res (v.uniformizer ^ j
        * (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) w)
            * w⁻¹))) ^ p
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_pow_mul_dlog_unit
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharPCartier
variable {p : ℕ} [hp : Fact p.Prime]
variable {K : Type*} [Field K] [PerfectField K] [hKp : CharP K p]
open _root_.ModularCurve.MilneAvAg9bRd14CubeRowCartierSliceStart
  (ag9b14c_res_uniformizer_zpow_eq_zero_of_ne_neg_one)
in
theorem p0n22_cpf_res_pow_mul_dlog_unit
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (R : v.CanonicalLocalResidueDataK)
    {w : RatFunc K} (hw0 : w ≠ 0) (hword : v.ord w = 0) (f : RatFunc K) :
    R.res (f ^ p * ((v.uniformizer)⁻¹
        + v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) w)
            * w⁻¹))
      = (R.res (f * ((v.uniformizer)⁻¹
        + v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) w)
            * w⁻¹))) ^ p
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_row_at_unit_mul_uniformizer
Source context 28 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharPCartier
variable {p : ℕ} [hp : Fact p.Prime]
variable {K : Type*} [Field K] [PerfectField K] [hKp : CharP K p]
include hp hKp in
open _root_.ModularCurve.MilneAvAg9bRd13T2CoordIndepChar3
  (ag9b13t_res_differentialCoeff_D_mul_pow_inv_of_surj_of_natCast_ne_zero)
in
theorem p0n22_cpf_res_row_at_unit_mul_uniformizer
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (R : v.CanonicalLocalResidueDataK)
    {w : RatFunc K} (hw0 : w ≠ 0) (hword : v.ord w = 0) :
    ∀ n : ℕ, 1 ≤ n →
      R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K)
          (w * v.uniformizer))
        * ((w * v.uniformizer) ^ (n + 1))⁻¹) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_res_differentialCoeff_D_mul_pow_inv_of_surj
Source context 27 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section CharPCartier
variable {p : ℕ} [hp : Fact p.Prime]
variable {K : Type*} [Field K] [PerfectField K] [hKp : CharP K p]
include hp hKp in
theorem p0n22_cpf_res_differentialCoeff_D_mul_pow_inv_of_surj
    (v : Place K (RatFunc K)) [v.DCoordGenerates]
    [Nontrivial Ω[(RatFunc K)⁄K]]
    (hsurj : Function.Surjective (algebraMap K v.ResidueField))
    (π' : RatFunc K) (hπ' : v.ord π' = 1)
    (R : v.CanonicalLocalResidueDataK) {n : ℕ} (hn : 1 ≤ n) :
    R.res (v.differentialCoeff (KaehlerDifferential.D K (RatFunc K) π')
      * ((π') ^ (n + 1))⁻¹) = 0
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_canonicalLocalResidueKDifferentialCoordIndep_ratFunc_of_isAlgClosed
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Headlines
theorem p0n22_cpf_canonicalLocalResidueKDifferentialCoordIndep_ratFunc_of_isAlgClosed
    (K : Type*) [Field K] [IsAlgClosed K] (p : ℕ) [Fact p.Prime] [CharP K p] :
    CanonicalLocalResidueKDifferentialCoordIndep K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_residueTheoremK_ratFunc_of_isAlgClosed_of_charP
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Headlines
theorem p0n22_cpf_residueTheoremK_ratFunc_of_isAlgClosed_of_charP
    (K : Type*) [Field K] [IsAlgClosed K] (p : ℕ) [Fact p.Prime] [CharP K p]
    :
    ResidueTheoremK K (RatFunc K)
AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.p0n22_cpf_residueTheoremK_ratFunc_of_isAlgClosed_main
Source context 24 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
section
section
noncomputable section
open _root_.IsDedekindDomain
open _root_.WithZero
open _root_.Module
open _root_.IsLocalRing
open _root_.Module.IsLocalRing
open _root_.KaehlerDifferential
open _root_.Polynomial
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve
open scoped _root_.Polynomial
open _root_.AlgebraicCurve.RationalFunctionField
section Headlines
theorem p0n22_cpf_residueTheoremK_ratFunc_of_isAlgClosed_main
    (K : Type*) [Field K] [IsAlgClosed K] :
    ResidueTheoremK K (RatFunc K)
AlgebraicCurve.residueTheoremK_ratFunc_of_isAlgClosed
Source context 8 commands

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

section ProofImplementation
namespace AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve
open ResidueTheoremK_ratFunc_of_isAlgClosed.AlgebraicCurve.RationalFunctionField
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Lg37
open ResidueTheoremK_ratFunc_of_isAlgClosed.ModularCurve.Mp72a102T3
open AlgebraicCurves.Differentials.Residues.Proofs.ResidueTheoremK_ratFunc_of_isAlgClosed.Mp72a102T2
section
theorem _root_.AlgebraicCurve.residueTheoremK_ratFunc_of_isAlgClosed
    (K : Type*) [Field K] [IsAlgClosed K]
    [AlgebraicCurve.HasCanonicalLocalResidueKStar K (RatFunc K)]
    [AlgebraicCurve.HasCanonicalDivisor (K := K) (F := RatFunc K)]
    [∀ v : AlgebraicCurve.Place K (RatFunc K), v.DCoordGenerates] :
    AlgebraicCurve.ResidueTheoremK K (RatFunc K)