Module

Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.lean

Nyll.JacobianVarieties.Pic0.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
18 declarations indexed from sourceView source ↗

Picard groups under equivalences of function fields

Transport places, divisor classes, and scalar actions along the given field equivalence.

Declarations

JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.mapDomain_apply
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
theorem mapDomain_apply (D : Divisor K F) (w : Place K' F') :
    Finsupp.mapDomain Φ D w = D (Φ.symm w)
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.mapDomain_symm_mapDomain
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
theorem mapDomain_symm_mapDomain (D : Divisor K F) :
    Finsupp.mapDomain Φ.symm (Finsupp.mapDomain Φ D) = D
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.mapDomain_mapDomain_symm
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
theorem mapDomain_mapDomain_symm (D' : Divisor K' F') :
    Finsupp.mapDomain Φ (Finsupp.mapDomain Φ.symm D') = D'
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.degree_mapDomain
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
theorem degree_mapDomain (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg) (D : Divisor K F) :
    Divisor.degree (Finsupp.mapDomain Φ D) = Divisor.degree D
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.isPrincipal_mapDomain
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
theorem isPrincipal_mapDomain (φ : F ≃+* F')
    (hord : ∀ (v : Place K F) (f : F), (Φ v).ord (φ f) = v.ord f)
    {D : Divisor K F} (hD : Divisor.IsPrincipal D) :
      Divisor.IsPrincipal (Finsupp.mapDomain Φ D)
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.isPrincipal_mapDomain_symm
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
theorem isPrincipal_mapDomain_symm (φ : F ≃+* F')
    (hord : ∀ (v : Place K F) (f : F), (Φ v).ord (φ f) = v.ord f)
    {D' : Divisor K' F'} (hD : Divisor.IsPrincipal D') :
      Divisor.IsPrincipal (Finsupp.mapDomain Φ.symm D')
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.degZeroMap

Transport degree-zero divisors along a degree-preserving equivalence of places.

Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
def degZeroMap (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg) :
    Divisor.degZero (K := K) (F := F) →+ Divisor.degZero (K := K') (F := F')
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.coe_degZeroMap
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
theorem coe_degZeroMap (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg)
    (D : Divisor.degZero (K := K) (F := F)) :
    (degZeroMap Φ hdeg D : Divisor K' F') = Finsupp.mapDomain Φ (D : Divisor K F)
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.degZeroMapSymm

Transport degree-zero divisors back along the inverse equivalence of places.

Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
def degZeroMapSymm (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg) :
    Divisor.degZero (K := K') (F := F') →+ Divisor.degZero (K := K) (F := F)
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.coe_degZeroMapSymm
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Divisors
variable (Φ : Place K F ≃ Place K' F')
theorem coe_degZeroMapSymm (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg)
    (D' : Divisor.degZero (K := K') (F := F')) :
    (degZeroMapSymm Φ hdeg D' : Divisor K F) = Finsupp.mapDomain Φ.symm (D' : Divisor K' F')
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.picMap

The homomorphism on Picard groups induced by transporting places and principal divisors.

Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Pic
variable (Φ : Place K F ≃ Place K' F') (φ : F ≃+* F')
  (hord : ∀ (v : Place K F) (f : F), (Φ v).ord (φ f) = v.ord f)
  (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg)
def picMap : Pic0 K F →+ Pic0 K' F'
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.picMapSymm

The inverse homomorphism on Picard groups induced by the inverse equivalence of places.

Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Pic
variable (Φ : Place K F ≃ Place K' F') (φ : F ≃+* F')
  (hord : ∀ (v : Place K F) (f : F), (Φ v).ord (φ f) = v.ord f)
  (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg)
def picMapSymm : Pic0 K' F' →+ Pic0 K F
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.picMap_mk
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Pic
variable (Φ : Place K F ≃ Place K' F') (φ : F ≃+* F')
  (hord : ∀ (v : Place K F) (f : F), (Φ v).ord (φ f) = v.ord f)
  (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg)
theorem picMap_mk (D : Divisor.degZero (K := K) (F := F)) :
    picMap Φ φ hord hdeg (Pic0.mk D) = Pic0.mk (degZeroMap Φ hdeg D)
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.picMapSymm_mk
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Pic
variable (Φ : Place K F ≃ Place K' F') (φ : F ≃+* F')
  (hord : ∀ (v : Place K F) (f : F), (Φ v).ord (φ f) = v.ord f)
  (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg)
theorem picMapSymm_mk (D' : Divisor.degZero (K := K') (F := F')) :
    picMapSymm Φ φ hord hdeg (Pic0.mk D') = Pic0.mk (degZeroMapSymm Φ hdeg D')
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.picEquiv

The additive equivalence of Picard groups induced by the given equivalence of places.

Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Pic
variable (Φ : Place K F ≃ Place K' F') (φ : F ≃+* F')
  (hord : ∀ (v : Place K F) (f : F), (Φ v).ord (φ f) = v.ord f)
  (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg)
def picEquiv : Pic0 K F ≃+ Pic0 K' F'
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.picEquiv_mk
Source context 9 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Pic
variable (Φ : Place K F ≃ Place K' F') (φ : F ≃+* F')
  (hord : ∀ (v : Place K F) (f : F), (Φ v).ord (φ f) = v.ord f)
  (hdeg : ∀ v : Place K F, (Φ v).deg = v.deg)
theorem picEquiv_mk (D : Divisor.degZero (K := K) (F := F)) :
    picEquiv Φ φ hord hdeg (Pic0.mk D) = Pic0.mk (degZeroMap Φ hdeg D)
JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv.Pic0Transport.map_smul
Source context 10 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
noncomputable section
namespace Pic0Transport
variable {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
section Equivariance
variable (φ : F ≃+* F') (Φ : Place K F ≃ Place K' F')
  (hcomap : ∀ v : Place K F, (Φ v).toValuationSubring = v.toValuationSubring.comap φ.symm.toRingHom)
include hcomap in
theorem map_smul (σ : F ≃ₐ[K] F) (σ' : F' ≃ₐ[K'] F') (hσ : ∀ f : F, φ (σ f) = σ' (φ f))
    (v : Place K F) :
    Φ (σ • v) = σ' • Φ v
AlgebraicCurve.Pic0.exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
Source context 5 commands

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

section ProofImplementation
namespace JacobianVarieties.Pic0.Proofs.Pic0_exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
open AlgebraicCurve
open scoped Pointwise
open Pic0Transport in
theorem _root_.AlgebraicCurve.Pic0.exists_equiv_addEquiv_mk_eq_and_smul_of_ringEquiv
    {K K' F F' : Type} [Field K] [Field K'] [Field F] [Field F'] [Algebra K F] [Algebra K' F']
    (e : K ≃+* K') (φ : F ≃+* F') (hφ : ∀ a : K, φ (algebraMap K F a) = algebraMap K' F' (e a)) :
    ∃ (Φ : Place K F ≃ Place K' F') (Ψ : Pic0 K F ≃+ Pic0 K' F'),
      (∀ v : Place K F, (Φ v).toValuationSubring = v.toValuationSubring.comap φ.symm.toRingHom) ∧
      (∀ D : Divisor.degZero (K := K) (F := F),
        ∃ hD : Finsupp.mapDomain Φ (D : Divisor K F) ∈ Divisor.degZero (K := K') (F := F'),
          Ψ (Pic0.mk D) = Pic0.mk ⟨_, hD⟩) ∧
      (∀ (σ : F ≃ₐ[K] F) (σ' : F' ≃ₐ[K'] F'), (∀ f : F, φ (σ f) = σ' (φ f)) →
        ∀ x : Pic0 K F, Ψ (σ • x) = σ' • Ψ x)