Module

Divisor_pushforward_pullback_of_finite.lean

Nyll.AlgebraicCurves.Divisors.Divisor_pushforward_pullback_of_finite
4 declarations indexed from sourceView source ↗

Divisor pushforward pullback of finite

Declarations

AlgebraicCurves.Divisors.Proofs.Divisor_pushforward_pullback_of_finite.AlgebraicCurve.Divisor.pushforward_pullback_single
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs.Divisor_pushforward_pullback_of_finite
open _root_.AlgebraicCurve
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Divisor
open _root_.AlgebraicCurve.Divisor
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'] [HasPrincipalDivisors K F']
theorem pushforward_pullback_single (v : Place K F) (n : ℤ) :
    pushforward F (pullback F' (Finsupp.single v n))
      = Finsupp.single v
          (n * ∑ w ∈ v.fiber F', (w.ramificationIndex F : ℤ) * (w.inertiaDeg F : ℤ))
AlgebraicCurves.Divisors.Proofs.Divisor_pushforward_pullback_of_finite.AlgebraicCurve.Divisor.pushforward_pullback_apply
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs.Divisor_pushforward_pullback_of_finite
open _root_.AlgebraicCurve
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Divisor
open _root_.AlgebraicCurve.Divisor
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'] [HasPrincipalDivisors K F']
theorem pushforward_pullback_apply (D : Divisor K F) (v : Place K F) :
    pushforward F (pullback F' D) v
      = (∑ w ∈ v.fiber F', (w.ramificationIndex F : ℤ) * (w.inertiaDeg F : ℤ)) * D v
AlgebraicCurves.Divisors.Proofs.Divisor_pushforward_pullback_of_finite.AlgebraicCurve.Divisor.pushforward_pullback_of_sumRam
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs.Divisor_pushforward_pullback_of_finite
open _root_.AlgebraicCurve
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace Divisor
open _root_.AlgebraicCurve.Divisor
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'] [HasPrincipalDivisors K F']
theorem pushforward_pullback_of_sumRam [SumRamificationInertia K F F'] (D : Divisor K F) :
    pushforward F (pullback F' D) = (Module.finrank F F' : ℤ) • D
AlgebraicCurve.Divisor.pushforward_pullback_of_finite
Source context 3 commands

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

section ProofImplementation
namespace AlgebraicCurves.Divisors.Proofs.Divisor_pushforward_pullback_of_finite
open _root_.AlgebraicCurve
theorem _root_.AlgebraicCurve.Divisor.pushforward_pullback_of_finite {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'] [HasPrincipalDivisors K F'] [Module.Finite F F']
  [SumRamificationInertia K F F'] (D : Divisor K F) : Divisor.pushforward F (Divisor.pullback F' D)
  = (Module.finrank F F' : ℤ) • D