Module

exists_iso_pullback_residue_of_iso_pullback.lean

Nyll.AlgebraicCurves.Geometry.Schemes.exists_iso_pullback_residue_of_iso_pullback
1 declaration indexed from sourceView source ↗

exists iso pullback residue of iso pullback

Imports2
  • Mathlib.AlgebraicGeometry.Pullbacks
  • Mathlib.RingTheory.LocalRing.ResidueField.Basic
Imported by1

Declarations

AlgebraicGeometry.exists_iso_pullback_residue_of_iso_pullback
Source context 4 commands

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

section ProofImplementation
namespace AlgebraicCurves.Geometry.Schemes.Proofs.exists_iso_pullback_residue_of_iso_pullback
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
theorem _root_.AlgebraicGeometry.exists_iso_pullback_residue_of_iso_pullback
    {A A₁ : Type u} [CommRing A] [IsLocalRing A] [CommRing A₁] [IsLocalRing A₁]
    (ι₁ : A₁ →+* A) [IsLocalHom ι₁] (hres₁ : Function.Surjective ((IsLocalRing.residue A).comp ι₁))
    {X X₁ : Scheme.{u}} (toBase : X ⟶ Spec (CommRingCat.of A)) (f₁ : X₁ ⟶ Spec (CommRingCat.of A₁))
    (e₁ : X ≅ pullback f₁ (Spec.map (CommRingCat.ofHom ι₁)))
    (he₁ : e₁.hom ≫ pullback.snd f₁ (Spec.map (CommRingCat.ofHom ι₁)) = toBase) :
    ∃ ρ : pullback toBase (Spec.map (CommRingCat.ofHom (IsLocalRing.residue A))) ≅
        pullback f₁ (Spec.map (CommRingCat.ofHom (IsLocalRing.residue A₁))),
      ρ.hom ≫ pullback.fst f₁ (Spec.map (CommRingCat.ofHom (IsLocalRing.residue A₁))) =
        pullback.fst toBase (Spec.map (CommRingCat.ofHom (IsLocalRing.residue A))) ≫
          e₁.hom ≫ pullback.fst f₁ (Spec.map (CommRingCat.ofHom ι₁))