Affine morphisms of schemes #
A morphism of schemes f : X ⟶ Y is affine if the preimage
of an arbitrary affine open subset of Y is affine.
It is equivalent to ask only that Y is covered by affine opens whose preimage is affine.
Main results #
AlgebraicGeometry.IsAffineHom: The class of affine morphisms.AlgebraicGeometry.isAffineOpen_of_isAffineOpen_basicOpen: Ifsis a spanning set ofΓ(X, U), such that eachX.basicOpen iis affine, thenUis also affine.AlgebraicGeometry.isAffineHom_isStableUnderBaseChange: Affine morphisms are stable under base change.
We also provide the instance HasAffineProperty @IsAffineHom fun X _ _ _ ↦ IsAffine X.
TODO #
- Affine morphisms are separated.
A morphism of schemes X ⟶ Y is affine if
the preimage of any affine open subset of Y is affine.
- isAffine_preimage (U : Y.Opens) : AlgebraicGeometry.IsAffineOpen U → AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.base).obj U)
Instances
theorem
AlgebraicGeometry.isAffineHom_iff
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
:
AlgebraicGeometry.IsAffineHom f ↔ ∀ (U : Y.Opens),
AlgebraicGeometry.IsAffineOpen U → AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.base).obj U)
theorem
AlgebraicGeometry.IsAffineOpen.preimage
{X Y : AlgebraicGeometry.Scheme}
{U : Y.Opens}
(hU : AlgebraicGeometry.IsAffineOpen U)
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
:
AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.base).obj U)
def
AlgebraicGeometry.affinePreimage
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
(U : ↑Y.affineOpens)
:
↑X.affineOpens
The preimage of an affine open as an Scheme.affine_opens.
Equations
- AlgebraicGeometry.affinePreimage f U = ⟨(TopologicalSpace.Opens.map f.base).obj ↑U, ⋯⟩
Instances For
@[simp]
theorem
AlgebraicGeometry.affinePreimage_coe
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
(U : ↑Y.affineOpens)
:
↑(AlgebraicGeometry.affinePreimage f U) = (TopologicalSpace.Opens.map f.base).obj ↑U
@[instance 900]
instance
AlgebraicGeometry.instIsAffineHomOfIsIsoScheme
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[CategoryTheory.IsIso f]
:
@[instance 900]
instance
AlgebraicGeometry.instQuasiCompactOfIsAffineHom
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
:
instance
AlgebraicGeometry.instIsAffineHomCompScheme
{X Y Z : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
(g : Y ⟶ Z)
[AlgebraicGeometry.IsAffineHom f]
[AlgebraicGeometry.IsAffineHom g]
:
instance
AlgebraicGeometry.instIsAffineHomιBasicOpen
{X : AlgebraicGeometry.Scheme}
(r : ↑(X.presheaf.obj (Opposite.op ⊤)))
:
AlgebraicGeometry.IsAffineHom (X.basicOpen r).ι
theorem
AlgebraicGeometry.isAffineOpen_of_isAffineOpen_basicOpen_aux
{X : AlgebraicGeometry.Scheme}
(s : Set ↑(X.presheaf.obj (Opposite.op ⊤)))
(hs : Ideal.span s = ⊤)
(hs₂ : ∀ i ∈ s, AlgebraicGeometry.IsAffineOpen (X.basicOpen i))
:
QuasiSeparatedSpace ↑↑X.toPresheafedSpace
theorem
AlgebraicGeometry.isAffine_of_isAffineOpen_basicOpen
{X : AlgebraicGeometry.Scheme}
(s : Set ↑(X.presheaf.obj (Opposite.op ⊤)))
(hs : Ideal.span s = ⊤)
(hs₂ : ∀ i ∈ s, AlgebraicGeometry.IsAffineOpen (X.basicOpen i))
:
theorem
AlgebraicGeometry.isAffineOpen_of_isAffineOpen_basicOpen
{X : AlgebraicGeometry.Scheme}
(U : X.Opens)
(s : Set ↑(X.presheaf.obj (Opposite.op U)))
(hs : Ideal.span s = ⊤)
(hs₂ : ∀ i ∈ s, AlgebraicGeometry.IsAffineOpen (X.basicOpen i))
:
If s is a spanning set of Γ(X, U), such that each X.basicOpen i is affine, then U is also
affine.
instance
AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine :
AlgebraicGeometry.HasAffineProperty @AlgebraicGeometry.IsAffineHom
fun (X x : AlgebraicGeometry.Scheme) (x_1 : X ⟶ x) (x : AlgebraicGeometry.IsAffine x) => AlgebraicGeometry.IsAffine X
@[instance 100]
instance
AlgebraicGeometry.isAffineHom_of_isAffine
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffine X]
[AlgebraicGeometry.IsAffine Y]
:
theorem
AlgebraicGeometry.isAffine_of_isAffineHom
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
[AlgebraicGeometry.IsAffine Y]
: