Module

Over.lean

Nyll.SchemeTheory.Pi1.Affine.Over
57 declarations indexed from sourceView source ↗

Category of schemes affine over an affine base

Declarations

CategoryTheory.MorphismProperty.Over.pullbackId

Pullback along the identity is naturally isomorphic to the identity on the relative category.

Source context 7 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
section
namespace CategoryTheory
variable {C : Type*} [Category C] (P Q : MorphismProperty C) [Q.IsMultiplicative]
  [P.IsStableUnderBaseChange] [Q.IsStableUnderBaseChange]
def MorphismProperty.Over.pullbackId [HasPullbacks C] (X : C) :
    MorphismProperty.Over.pullback P Q (𝟙 X) ≅ 𝟭 _
CategoryTheory.MorphismProperty.Over.pullbackIso

Transport the relative category along an isomorphism of base objects.

Source context 7 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
section
namespace CategoryTheory
variable {C : Type*} [Category C] (P Q : MorphismProperty C) [Q.IsMultiplicative]
  [P.IsStableUnderBaseChange] [Q.IsStableUnderBaseChange]
def MorphismProperty.Over.pullbackIso [HasPullbacks C] {X Y : C} (e : X ≅ Y) :
    P.Over Q X ≌ P.Over Q Y
MorphismProperty.top_isStableUnderBaseChange
Source context 6 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
section
variable {C : Type*} [Category C]
instance MorphismProperty.top_isStableUnderBaseChange :
    (⊤ : MorphismProperty C).IsStableUnderBaseChange where
  of_isPullback _ _ := trivial
Source context 6 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
section
variable {C : Type*} [Category C]
instance (P : MorphismProperty C) : (⊤ : MorphismProperty C).HasOfPostcompProperty P where
  of_postcomp _ _ _ _ := trivial
AlgebraicGeometry.Scheme.Cover.ColimitGluingData.pullbackGluedIso_hom
Source context 11 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
section
variable {P Q : MorphismProperty Scheme.{u}} [Q.IsMultiplicative] [P.IsStableUnderBaseChange]
  [Q.IsStableUnderBaseChange] [P.IsMultiplicative]
variable {S : Scheme.{u}} {J : Type t} [Category J] (D : J ⥤ P.Over ⊤ S)
  {𝒰 : Scheme.OpenCover.{w} S} [Small.{u} 𝒰.I₀] [Category 𝒰.I₀] [Quiver.IsThin 𝒰.I₀]
  [𝒰.LocallyDirected]
variable (d : 𝒰.ColimitGluingData D)
--variable [∀ {i j : d.ι} (hij : d.ℬ i ≤ d.ℬ j),
--  PreservesColimitsOfShape J (MorphismProperty.Over.map Q (d.hPhom hij))]
variable [∀ (i j : 𝒰.I₀) (hij : i ⟶ j),
  PreservesColimitsOfShape J (MorphismProperty.Over.pullback P ⊤ (𝒰.trans hij))]
variable [IsZariskiLocalAtTarget P]
lemma Scheme.Cover.ColimitGluingData.pullbackGluedIso_hom (i : 𝒰.I₀) :
    (d.pullbackGluedIso i).hom.left ≫ colimit.ι d.relativeGluingData.functor i =
      pullback.fst _ _
AlgebraicGeometry.Scheme.Cover.ColimitGluingData.mapCoconePullback

Identify the pullback of the glued cocone with the cocone on an individual cover chart.

Source context 11 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
section
variable {P Q : MorphismProperty Scheme.{u}} [Q.IsMultiplicative] [P.IsStableUnderBaseChange]
  [Q.IsStableUnderBaseChange] [P.IsMultiplicative]
variable {S : Scheme.{u}} {J : Type t} [Category J] (D : J ⥤ P.Over ⊤ S)
  {𝒰 : Scheme.OpenCover.{w} S} [Small.{u} 𝒰.I₀] [Category 𝒰.I₀] [Quiver.IsThin 𝒰.I₀]
  [𝒰.LocallyDirected]
variable (d : 𝒰.ColimitGluingData D)
--variable [∀ {i j : d.ι} (hij : d.ℬ i ≤ d.ℬ j),
--  PreservesColimitsOfShape J (MorphismProperty.Over.map Q (d.hPhom hij))]
variable [∀ (i j : 𝒰.I₀) (hij : i ⟶ j),
  PreservesColimitsOfShape J (MorphismProperty.Over.pullback P ⊤ (𝒰.trans hij))]
variable [IsZariskiLocalAtTarget P]
def Scheme.Cover.ColimitGluingData.mapCoconePullback (i : 𝒰.I₀) :
    (MorphismProperty.Over.pullback P ⊤ (𝒰.f i)).mapCocone
      d.gluedCocone ≅ d.cocone i
AlgebraicGeometry.Γ_isPushout
Source context 7 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
section
variable {X Y S : Scheme.{u}} [IsAffine X] [IsAffine Y] [IsAffine S] {f : X ⟶ S} {g : Y ⟶ S}
lemma Γ_isPushout {P : Scheme.{u}} {fst : P ⟶ X} {snd : P ⟶ Y} (h : IsPullback fst snd f g) :
    IsPushout (f.app ⊤) (g.app ⊤) (fst.app ⊤) (snd.app ⊤)
AlgebraicGeometry.ΓpullbackIsoPushout

Global sections identify a pullback of affine schemes with the pushout of their section rings.

Source context 8 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
section
variable {X Y S : Scheme.{u}} [IsAffine X] [IsAffine Y] [IsAffine S] {f : X ⟶ S} {g : Y ⟶ S}
variable (f g)
def ΓpullbackIsoPushout : Γ(pullback f g, ⊤) ≅ pushout f.appTop g.appTop
AlgebraicGeometry.inl_ΓpullbackIsoPushout_inv
Source context 8 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
section
variable {X Y S : Scheme.{u}} [IsAffine X] [IsAffine Y] [IsAffine S] {f : X ⟶ S} {g : Y ⟶ S}
variable (f g)
lemma inl_ΓpullbackIsoPushout_inv :
    pushout.inl f.appTop g.appTop ≫ (ΓpullbackIsoPushout f g).inv = (pullback.fst f g).appTop
AlgebraicGeometry.inr_ΓpullbackIsoPushout_inv
Source context 8 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
section
variable {X Y S : Scheme.{u}} [IsAffine X] [IsAffine Y] [IsAffine S] {f : X ⟶ S} {g : Y ⟶ S}
variable (f g)
lemma inr_ΓpullbackIsoPushout_inv :
    pushout.inr f.appTop g.appTop ≫ (ΓpullbackIsoPushout f g).inv = (pullback.snd f g).appTop
AlgebraicGeometry.app_fst_ΓpullbackIsoPushout_hom
Source context 8 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
section
variable {X Y S : Scheme.{u}} [IsAffine X] [IsAffine Y] [IsAffine S] {f : X ⟶ S} {g : Y ⟶ S}
variable (f g)
lemma app_fst_ΓpullbackIsoPushout_hom :
     (pullback.fst f g).appTop ≫ (ΓpullbackIsoPushout f g).hom =
        pushout.inl f.appTop g.appTop
AlgebraicGeometry.app_snd_ΓpullbackIsoPushout_hom
Source context 8 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
section
variable {X Y S : Scheme.{u}} [IsAffine X] [IsAffine Y] [IsAffine S] {f : X ⟶ S} {g : Y ⟶ S}
variable (f g)
lemma app_snd_ΓpullbackIsoPushout_hom :
     (pullback.snd f g).appTop ≫ (ΓpullbackIsoPushout f g).hom =
        pushout.inr f.appTop g.appTop
AlgebraicGeometry.Over.Spec

Apply the spectrum functor to objects over the opposite of a commutative ring.

Source context 8 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
section General
variable (A : CommRingCat.{u})
def Over.Spec : Over (op A) ⥤ Over (Spec A)
AlgebraicGeometry.Over.Γ

Send a scheme over the base to its global sections under the section ring of the base.

Source context 8 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
section General
variable (A : CommRingCat.{u})
def Over.Γ : (Over S)ᵒᵖ ⥤ Under Γ(S, ⊤)
AlgebraicGeometry.Affine

The category of affine morphisms with target S.

Source context 6 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
def Affine : Type _
AlgebraicGeometry.Affine.mk

View an affine morphism as an object of the category of affine morphisms over its target.

Source context 7 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
abbrev Affine.mk {X : Scheme.{u}} (f : X ⟶ S) [IsAffineHom f] : Affine S
Source context 7 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
instance : Category (Affine S)
Source context 7 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
instance (X : Affine S) : IsAffineHom X.hom
AlgebraicGeometry.Affine.affineHomOverCategory
Source context 8 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S)
AlgebraicGeometry.Affine.affineHomHasPullbacksAlong
Source context 9 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f
AlgebraicGeometry.Affine.affineHomIsStableUnderBaseChangeAlong
Source context 10 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f
AlgebraicGeometry.Affine.affineHomIsStableUnderComposition
Source context 11 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u})
AlgebraicGeometry.Affine.affineHomHasAffineProperty
Source context 12 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
AlgebraicGeometry.Affine.affineHomIsZariskiLocalAtTarget
Source context 13 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u})
AlgebraicGeometry.Affine.pullback

Base change affine morphisms along a morphism of schemes.

Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section
variable {S} {T : Scheme.{u}}
abbrev pullback (f : T ⟶ S) : Affine S ⥤ Affine T
AlgebraicGeometry.Affine.map

Compose affine morphisms with the given affine morphism of bases.

Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section
variable {S} {T : Scheme.{u}}
variable (f : T ⟶ S)
abbrev map [IsAffineHom f] : Affine T ⥤ Affine S
AlgebraicGeometry.Affine.mapPullbackAdjunction

Composition with an affine base morphism is left adjoint to base change.

Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section
variable {S} {T : Scheme.{u}}
variable (f : T ⟶ S)
abbrev mapPullbackAdjunction [IsAffineHom f] :
    map (f := f) ⊣ Affine.pullback f
Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section
variable {S} {T : Scheme.{u}}
variable (f : T ⟶ S)
instance [IsAffineHom f] : (map (f := f)).IsLeftAdjoint
Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section
variable {S} {T : Scheme.{u}}
variable (f : T ⟶ S)
instance [IsAffineHom f] : (Affine.pullback f).IsRightAdjoint
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
instance (X : Affine S) : IsAffine ((Functor.fromPUnit S).obj X.right)
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
instance (X : Affine S) : IsAffine X.left
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
instance (X : Affine S) : IsAffine ((𝟭 Scheme).obj X.left)
AlgebraicGeometry.Affine.toAffine

View affine morphisms over an affine base in the over category of affine schemes.

Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
def toAffine : Affine S ⥤ Over (AffineScheme.mk S inferInstance)
AlgebraicGeometry.Affine.fromAffine

Forget the affine-scheme packaging of an object over an affine base.

Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
def fromAffine : Over (AffineScheme.mk S inferInstance) ⥤ Affine S
AlgebraicGeometry.Affine.toAffine_fromAffine
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
lemma toAffine_fromAffine : toAffine S ⋙ fromAffine S = 𝟭 _
AlgebraicGeometry.Affine.fromAffine_toAffine
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
lemma fromAffine_toAffine : fromAffine S ⋙ toAffine S = 𝟭 _
AlgebraicGeometry.Affine.toAffineEquiv

If S is affine, the category of affine morphisms with target S is equivalent to the over category of S viewed as affine scheme.

Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
def toAffineEquiv : Affine S ≌ Over (AffineScheme.mk S inferInstance)
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
instance : (toAffine S).IsEquivalence
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
instance : (fromAffine S).IsEquivalence
AlgebraicGeometry.Affine.Over.AffineΓ

Apply global sections to affine schemes over the base, with values in the opposite under category.

Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
def Over.AffineΓ : Over (AffineScheme.mk S inferInstance) ⥤ (Under Γ(S, ⊤))ᵒᵖ
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
instance : (Over.AffineΓ S).IsEquivalence
AlgebraicGeometry.Affine.Γ

The global-sections equivalence from affine morphisms over an affine base to rings under its section ring.

Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
def Γ : (Affine S)ᵒᵖ ⥤ Under Γ(S, ⊤)
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
instance : (Γ S).IsEquivalence
AlgebraicGeometry.Affine.pullbackIsoPushout

Identify the section ring of an affine base change with the corresponding pushout under the new base.

Source context 19 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
section
variable {T : Scheme.{u}} (f : T ⟶ S) [IsAffine T]
variable {S}
def pullbackIsoPushout (X : (Affine S)ᵒᵖ) :
    (Γ T).obj (op ((Affine.pullback f).obj X.unop)) ≅
      Under.mk (pushout.inr ((Γ S).obj X).hom (f.app ⊤))
AlgebraicGeometry.Affine.pullbackΓIso

Global sections turn affine base change into the pushout functor on section rings.

Source context 19 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
section
variable {T : Scheme.{u}} (f : T ⟶ S) [IsAffine T]
variable {S}
def pullbackΓIso : (Affine.pullback f).op ⋙ Γ T ≅
    Γ S ⋙ Under.pushout (f.app ⊤)
Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
variable {J : Type t} [Category J] [UnivLE.{t, u}]
instance : HasLimitsOfShape J (Affine S)ᵒᵖ
AlgebraicGeometry.Affine.hasColimitsOfShape_of_isAffine
Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
variable {J : Type t} [Category J] [UnivLE.{t, u}]
instance hasColimitsOfShape_of_isAffine : HasColimitsOfShape J (Affine S)
Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
variable {J : Type t} [Category J] [UnivLE.{t, u}]
instance : HasColimitsOfShape J (MorphismProperty.Over @IsAffineHom ⊤ S)
Source context 18 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
variable {J : Type t} [Category J] [UnivLE.{t, u}]
variable (T : Scheme.{u}) [IsAffine T] (f : T ⟶ S)
instance [Flat f] : PreservesFiniteLimits (Under.pushout (f.app ⊤))
AlgebraicGeometry.Affine.preservesColimitsOfShapePullback
Source context 18 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
variable {J : Type t} [Category J] [UnivLE.{t, u}]
variable (T : Scheme.{u}) [IsAffine T] (f : T ⟶ S)
instance preservesColimitsOfShapePullback
    [hpush : PreservesLimitsOfShape Jᵒᵖ (Under.pushout (f.app ⊤))] :
    PreservesColimitsOfShape J (Affine.pullback f)
Source context 18 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
variable {J : Type t} [Category J] [UnivLE.{t, u}]
variable (T : Scheme.{u}) [IsAffine T] (f : T ⟶ S)
instance [Flat f] : PreservesFiniteColimits (Affine.pullback f) where
  preservesFiniteColimits _ := inferInstance
Source context 18 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section AffineBase
variable [IsAffine S]
variable {J : Type t} [Category J] [UnivLE.{t, u}]
variable (T : Scheme.{u}) [IsAffine T] (f : T ⟶ S)
instance [Flat f] :
    PreservesFiniteColimits (MorphismProperty.Over.pullback @IsAffineHom ⊤ f)
Source context 16 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section
variable {J : Type t} [UnivLE.{t, u}] [SmallCategory J] [FinCategory J] (D : J ⥤ Affine S)
instance (i) : IsAffine (S.directedAffineCover.X i)
AlgebraicGeometry.Affine.colimitGluingData

The local colimit cocones for a finite diagram of affine morphisms on the directed affine cover.

Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section
variable {J : Type t} [UnivLE.{t, u}] [SmallCategory J] [FinCategory J] (D : J ⥤ Affine S)
variable {S} in
def colimitGluingData : S.directedAffineCover.ColimitGluingData D where
  cocone _ := colimit.cocone _
  isColimit _ := colimit.isColimit _
  prop_trans := by
    intro i j hij
    have hhom : (homOfLE (leOfHom hij) : i ⟶ j) = hij :=
      homOfLE_leOfHom hij
    have h₁ :
        Scheme.Cover.trans S.directedAffineCover hij =
          Scheme.Cover.trans S.directedAffineCover
            (homOfLE (leOfHom hij) : i ⟶ j) :=
      congrArg
        (fun k : i ⟶ j ↦ Scheme.Cover.trans S.directedAffineCover k)
        hhom.symm
    have h₂ :
        Scheme.Cover.trans S.directedAffineCover
            (homOfLE (leOfHom hij) : i ⟶ j) =
          S.homOfLE (leOfHom hij) :=
      Scheme.directedAffineCover_trans (X := S) (leOfHom hij)
    have htrans :
        Scheme.Cover.trans S.directedAffineCover hij =
          S.homOfLE (leOfHom hij) :=
      Eq.trans h₁ h₂
    have hi : IsAffine (S.directedAffineCover.X i) := i.2
    have hj : IsAffine (S.directedAffineCover.X j) := j.2
    have hAffine : IsAffineHom (S.homOfLE (leOfHom hij)) :=
      @isAffineHom_of_isAffine
        (S.directedAffineCover.X i) (S.directedAffineCover.X j)
        (S.homOfLE (leOfHom hij)) hi hj
    exact htrans.symm ▸ hAffine
Source context 17 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
section
variable {J : Type t} [UnivLE.{t, u}] [SmallCategory J] [FinCategory J] (D : J ⥤ Affine S)
variable {S} in
instance : HasColimit D where
  exists_colimit := by
    have hmap {U V : S.affineOpens} (hUV : U.1 ≤ V.1) :
        PreservesColimitsOfShape J (map (S.homOfLE hUV)) :=
      inferInstance
    have hpb {U V : S.affineOpens} (hUV : U.1 ≤ V.1) :
        PreservesColimitsOfShape J (Affine.pullback (S.homOfLE hUV)) :=
      inferInstance
    let _ : ∀ {i j : S.directedAffineCover.I₀} (hij : i ⟶ j),
        PreservesColimitsOfShape J
          (MorphismProperty.Over.pullback
            (@IsAffineHom : MorphismProperty Scheme.{u}) ⊤
            (S.directedAffineCover.trans hij)) :=
      fun {i j} hij ↦ by
        have hhom : (homOfLE (leOfHom hij) : i ⟶ j) = hij :=
          homOfLE_leOfHom hij
        have h₁ :
            Scheme.Cover.trans S.directedAffineCover hij =
              Scheme.Cover.trans S.directedAffineCover
                (homOfLE (leOfHom hij) : i ⟶ j) :=
          congrArg
            (fun k : i ⟶ j ↦ Scheme.Cover.trans S.directedAffineCover k)
            hhom.symm
        have h₂ :
            Scheme.Cover.trans S.directedAffineCover
                (homOfLE (leOfHom hij) : i ⟶ j) =
              S.homOfLE (leOfHom hij) :=
          Scheme.directedAffineCover_trans (X := S) (leOfHom hij)
        have htrans :
            Scheme.Cover.trans S.directedAffineCover hij =
              S.homOfLE (leOfHom hij) :=
          Eq.trans h₁ h₂
        have hraw : PreservesColimitsOfShape J
            (MorphismProperty.Over.pullback
              (@IsAffineHom : MorphismProperty Scheme.{u}) ⊤
              (S.homOfLE (leOfHom hij))) :=
          hpb (leOfHom hij)
        exact htrans.symm ▸ hraw
    use (colimitGluingData D).gluedCocone
    exact (colimitGluingData D).isColimitGluedCocone
Source context 14 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
instance : HasFiniteColimits (Affine S) where
  out J _ _ := { }
Source context 14 commands

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

@[expose] public section
universe w t u
noncomputable section
open CategoryTheory Limits Opposite TensorProduct
namespace AlgebraicGeometry
variable (S : Scheme.{u})
variable {S} in
namespace Affine
local instance affineHomOverCategory (S : Scheme.{u}) :
    Category (MorphismProperty.Over
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (⊤ : MorphismProperty Scheme.{u}) S) :=
  instCategoryAffine S
local instance affineHomHasPullbacksAlong {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.HasPullbacksAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun _ _ ↦ inferInstance⟩
local instance affineHomIsStableUnderBaseChangeAlong
    {X Y : Scheme.{u}} (f : X ⟶ Y) :
    MorphismProperty.IsStableUnderBaseChangeAlong
      (@IsAffineHom : MorphismProperty Scheme.{u}) f :=
  ⟨fun h hf ↦ isAffineHom_isStableUnderBaseChange.of_isPullback h hf⟩
local instance affineHomIsStableUnderComposition :
    MorphismProperty.IsStableUnderComposition
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  ⟨fun _ _ hf hg ↦ by
    let _ := hf
    let _ := hg
    infer_instance⟩
local instance affineHomHasAffineProperty :
    HasAffineProperty
      (@IsAffineHom : MorphismProperty Scheme.{u})
      (fun X _ _ _ ↦ IsAffine X) :=
  AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
local instance affineHomIsZariskiLocalAtTarget :
    IsZariskiLocalAtTarget
      (@IsAffineHom : MorphismProperty Scheme.{u}) :=
  (HasAffineProperty.iff.mp affineHomHasAffineProperty).1
instance {U : Scheme.{u}} (f : U ⟶ S) [IsOpenImmersion f] [IsAffine U] :
    PreservesFiniteColimits (Affine.pullback f)