Module

Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper.lean

Nyll.AlgebraicCurves.Geometry.Schemes.Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
8 declarations indexed from sourceView source ↗

Scheme exists iso comp eq of is Open Immersion of is Proper

Declarations

AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper.ProperCurveExtension.existence
Source context 8 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
noncomputable section
namespace ProperCurveExtension
variable {K : Type u} [Field K]
theorem existence {Y S : Scheme.{u}} (g : Y ⟶ S) [IsProper g] :
    ValuativeCriterion.Existence g
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper.ProperCurveExtension.isSeparated_of_isSeparated_over
Source context 8 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
noncomputable section
namespace ProperCurveExtension
variable {K : Type u} [Field K]
theorem isSeparated_of_isSeparated_over {Y : Scheme.{u}} (g : Y ⟶ Spec (.of K))
    [IsSeparated g] : Y.IsSeparated
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper.ProperCurveExtension.isDominant_ι
Source context 8 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
noncomputable section
namespace ProperCurveExtension
variable {K : Type u} [Field K]
theorem isDominant_ι {X : Scheme.{u}} [IrreducibleSpace X] (U : X.Opens)
    (hU : (U : Set X).Nonempty) : IsDominant U.ι
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper.ProperCurveExtension.domain_eq_top
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
noncomputable section
namespace ProperCurveExtension
variable {K : Type u} [Field K]
section Totalise
variable {X Y : Scheme.{u}} (sX : X ⟶ Spec (.of K)) (sY : Y ⟶ Spec (.of K))
  [IsIntegral X] [IsProper sY] (hval : ∀ x : X, ValuationRing (X.presheaf.stalk x))
  (f : X.PartialMap Y) (hf : f.hom ≫ sY = f.domain.ι ≫ sX)
include hval hf in
theorem domain_eq_top : f.toRationalMap.domain = ⊤
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper.ProperCurveExtension.extend

Extend a partial map to the whole source using its valuation-ring stalks.

Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
noncomputable section
namespace ProperCurveExtension
variable {K : Type u} [Field K]
section Totalise
variable {X Y : Scheme.{u}} (sX : X ⟶ Spec (.of K)) (sY : Y ⟶ Spec (.of K))
  [IsIntegral X] [IsProper sY] (hval : ∀ x : X, ValuationRing (X.presheaf.stalk x))
  (f : X.PartialMap Y) (hf : f.hom ≫ sY = f.domain.ι ≫ sX)
def extend : X ⟶ Y
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper.ProperCurveExtension.ι_extend
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
noncomputable section
namespace ProperCurveExtension
variable {K : Type u} [Field K]
section Totalise
variable {X Y : Scheme.{u}} (sX : X ⟶ Spec (.of K)) (sY : Y ⟶ Spec (.of K))
  [IsIntegral X] [IsProper sY] (hval : ∀ x : X, ValuationRing (X.presheaf.stalk x))
  (f : X.PartialMap Y) (hf : f.hom ≫ sY = f.domain.ι ≫ sX)
theorem ι_extend : f.domain.ι ≫ extend sX sY hval f hf = f.hom
AlgebraicCurves.Geometry.Schemes.Proofs.Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper.ProperCurveExtension.extend_over
Source context 10 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
noncomputable section
namespace ProperCurveExtension
variable {K : Type u} [Field K]
section Totalise
variable {X Y : Scheme.{u}} (sX : X ⟶ Spec (.of K)) (sY : Y ⟶ Spec (.of K))
  [IsIntegral X] [IsProper sY] (hval : ∀ x : X, ValuationRing (X.presheaf.stalk x))
  (f : X.PartialMap Y) (hf : f.hom ≫ sY = f.domain.ι ≫ sX)
theorem extend_over : extend sX sY hval f hf ≫ sY = sX
AlgebraicGeometry.Scheme.exists_iso_comp_eq_of_isOpenImmersion_of_isProper
Source context 7 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs
namespace Scheme_exists_iso_comp_eq_of_isOpenImmersion_of_isProper
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
noncomputable section
open ProperCurveExtension in
theorem _root_.AlgebraicGeometry.Scheme.exists_iso_comp_eq_of_isOpenImmersion_of_isProper {K : Type
  u} [Field K] {C C' : Scheme.{u}}
    (c : C ⟶ Spec (CommRingCat.of K)) (c' : C' ⟶ Spec (CommRingCat.of K))
    [IsIntegral C] [IsProper c] [SmoothOfRelativeDimension 1 c]
    [IsIntegral C'] [IsProper c'] [Smooth c']
    (U : C.Opens) (hU : (U : Set C).Nonempty)
    (j : (U : Scheme.{u}) ⟶ C') [IsOpenImmersion j] (hj : j ≫ c' = U.ι ≫ c) :
    ∃ e : C ≅ C', e.hom ≫ c' = c ∧ U.ι ≫ e.hom = j