Module

AbelianSchemePropertyBundle_of_isPullback.lean

Nyll.AlgebraicCurves.Geometry.AbelianSchemes.Theorems.AbelianSchemePropertyBundle_of_isPullback
13 declarations indexed from sourceView source ↗

Abelian Scheme Property Bundle of is Pullback

Declarations

AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.inv_comp_eq
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
include he in
theorem inv_comp_eq : e.inv ≫ fA = fB
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.toB

The point transported through the forward scheme isomorphism over the base.

Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
def toB {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of R)} (x : SchemeHomOver t fA) : SchemeHomOver
  t fB
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.ofB

The point transported through the inverse scheme isomorphism over the base.

Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
def ofB {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of R)} (y : SchemeHomOver t fB) : SchemeHomOver
  t fA
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.toB_coe
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
theorem toB_coe {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of R)} (x :
  SchemeHomOver t fA) :
    (toB e he x).1 = x.1 ≫ e.hom
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.ofB_coe
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
theorem ofB_coe {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of R)} (y :
  SchemeHomOver t fB) :
    (ofB e he y).1 = y.1 ≫ e.inv
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.toB_ofB
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
theorem toB_ofB {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of R)} (y :
  SchemeHomOver t fB) :
    toB e he (ofB e he y) = y
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.ofB_toB
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
theorem ofB_toB {T : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of R)} (x :
  SchemeHomOver t fA) :
    ofB e he (toB e he x) = x
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.toB_schemeHomOverComp
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
theorem toB_schemeHomOverComp {T T' : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of R)}
    {t' : T' ⟶ Spec (CommRingCat.of R)} (ψ : T' ⟶ T) (hψ : ψ ≫ t = t') (x : SchemeHomOver t fA) :
    toB e he (schemeHomOverComp ψ hψ x) = schemeHomOverComp ψ hψ (toB e he x)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.ofB_schemeHomOverComp
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
theorem ofB_schemeHomOverComp {T T' : Scheme.{u}} {t : T ⟶ Spec (CommRingCat.of R)}
    {t' : T' ⟶ Spec (CommRingCat.of R)} (ψ : T' ⟶ T) (hψ : ψ ≫ t = t') (y : SchemeHomOver t fB) :
    ofB e he (schemeHomOverComp ψ hψ y) = schemeHomOverComp ψ hψ (ofB e he y)
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.transportLaw

The relative group law transported back through the scheme isomorphism.

Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Transport
variable {R : Type u} [CommRing R] {A B : Scheme.{u}}
  {fA : A ⟶ Spec (CommRingCat.of R)} {fB : B ⟶ Spec (CommRingCat.of R)}
  (e : A ≅ B) (he : e.hom ≫ fB = fA)
def transportLaw (G : RelativeGroupLaw R fB) : RelativeGroupLaw R fA where
  mul t x y := ofB e he (G.mul t (toB e he x) (toB e he y))
  one t := ofB e he (G.one t)
  inv t x := ofB e he (G.inv t (toB e he x))
  mul_assoc t x y z := by simp only [toB_ofB, G.mul_assoc]
  one_mul t x := by simp only [toB_ofB, G.one_mul, ofB_toB]
  mul_one t x := by simp only [toB_ofB, G.mul_one, ofB_toB]
  inv_mul_cancel t x := by simp only [toB_ofB, G.inv_mul_cancel]
  mul_natural t t' ψ hψ x y := by
    rw [← ofB_schemeHomOverComp, G.mul_natural t t' ψ hψ, toB_schemeHomOverComp,
      toB_schemeHomOverComp]
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.connectedSpace_of_field
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Fibres
variable {R : Type u} [CommRing R] {A : Scheme.{u}} {f : A ⟶ Spec (CommRingCat.of R)}
  {R' : Type u} [CommRing R'] {ι : Spec (CommRingCat.of R') ⟶ Spec (CommRingCat.of R)}
  {A' : Scheme.{u}} {f' : A' ⟶ Spec (CommRingCat.of R')} {g : A' ⟶ A}
theorem connectedSpace_of_field {k : Type u} [Field k] {B : Scheme.{u}} {fk : B ⟶ Spec
  (CommRingCat.of k)}
    (hB : AbelianSchemePropertyBundle k fk) : ConnectedSpace B
AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.isConnected_fibre
Source context 9 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
namespace P2mKcBundleBC
section Fibres
variable {R : Type u} [CommRing R] {A : Scheme.{u}} {f : A ⟶ Spec (CommRingCat.of R)}
  {R' : Type u} [CommRing R'] {ι : Spec (CommRingCat.of R') ⟶ Spec (CommRingCat.of R)}
  {A' : Scheme.{u}} {f' : A' ⟶ Spec (CommRingCat.of R')} {g : A' ⟶ A}
theorem isConnected_fibre (hA : AbelianSchemePropertyBundle R f) (hg : IsPullback g f' f ι)
    (s' : ↥(Spec (CommRingCat.of R'))) : _root_.IsConnected (f'.base ⁻¹' {s'})
GoodReductionJacobian.AbelianSchemePropertyBundle.of_isPullback
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.AbelianSchemes.Theorems.Proofs
namespace AbelianSchemePropertyBundle_of_isPullback
attribute [-simp] AlgebraicGeometry.schemeFibreEndo_snd AlgebraicGeometry.schemeFibreEndo_fst
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry NeronModelInfra GoodReductionJacobian
universe u
attribute [local simp]
  AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.toB_coe
attribute [local simp]
  AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.ofB_coe
attribute [local simp]
  AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.toB_ofB
attribute [local simp]
  AbelianSchemes.Theorems.Proofs.AbelianSchemePropertyBundle_of_isPullback.P2mKcBundleBC.ofB_toB
open P2mKcBundleBC in
theorem _root_.GoodReductionJacobian.AbelianSchemePropertyBundle.of_isPullback
    {R : Type u} [CommRing R] {A : Scheme.{u}} {f : A ⟶ Spec (CommRingCat.of R)}
    (hA : AbelianSchemePropertyBundle R f)
    {R' : Type u} [CommRing R'] {ι : Spec (CommRingCat.of R') ⟶ Spec (CommRingCat.of R)}
    {A' : Scheme.{u}} {f' : A' ⟶ Spec (CommRingCat.of R')} {g : A' ⟶ A}
    (hg : IsPullback g f' f ι) :
    AbelianSchemePropertyBundle R' f' where
  smooth := MorphismProperty.of_isPullback hg hA.smooth
  proper := MorphismProperty.of_isPullback hg hA.proper
  connectedFibres := isConnected_fibre hA hg
  hasGroupLaw := by
    obtain ⟨L⟩ := hA.hasGroupLaw
    exact ⟨transportLaw hg.isoPullback (hg.isoPullback_hom_snd) (L.baseChange ι)⟩