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
: Ifs
is a spanning set ofΓ(X, U)
, such that eachX.basicOpen i
is affine, thenU
is also affine.AlgebraicGeometry.isAffineHom_stableUnderBaseChange
: Affine morphisms are stable under base change.
We also provide the instance HasAffineProperty @IsAffineHom fun X _ _ _ ↦ IsAffine X
.
TODO #
- Affine morphisms are separated.
theorem
AlgebraicGeometry.isAffineHom_iff
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
:
AlgebraicGeometry.IsAffineHom f ↔ ∀ (U : Y.Opens),
AlgebraicGeometry.IsAffineOpen U → AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.val.base).obj U)
class
AlgebraicGeometry.IsAffineHom
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
:
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.val.base).obj U)
Instances
theorem
AlgebraicGeometry.IsAffineHom.isAffine_preimage
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
{f : X ⟶ Y}
[self : AlgebraicGeometry.IsAffineHom f]
(U : Y.Opens)
:
AlgebraicGeometry.IsAffineOpen U → AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.val.base).obj U)
theorem
AlgebraicGeometry.isAffineOpen.preimage
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
{U : Y.Opens}
(hU : AlgebraicGeometry.IsAffineOpen U)
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
:
AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.val.base).obj U)
@[simp]
theorem
AlgebraicGeometry.affinePreimage_coe
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
(U : ↑Y.affineOpens)
:
↑(AlgebraicGeometry.affinePreimage f U) = (TopologicalSpace.Opens.map f.val.base).obj ↑U
def
AlgebraicGeometry.affinePreimage
{X : AlgebraicGeometry.Scheme}
{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.val.base).obj ↑U, ⋯⟩
Instances For
@[instance 900]
instance
AlgebraicGeometry.instIsAffineHomOfIsIsoScheme
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[CategoryTheory.IsIso f]
:
Equations
- ⋯ = ⋯
@[instance 900]
instance
AlgebraicGeometry.instQuasiCompactOfIsAffineHom
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
:
Equations
- ⋯ = ⋯
instance
AlgebraicGeometry.instIsAffineHomCompScheme
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
{Z : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
(g : Y ⟶ Z)
[AlgebraicGeometry.IsAffineHom f]
[AlgebraicGeometry.IsAffineHom g]
:
Equations
- ⋯ = ⋯
instance
AlgebraicGeometry.instIsAffineHomιBasicOpen
{X : AlgebraicGeometry.Scheme}
(r : ↑(X.presheaf.obj (Opposite.op ⊤)))
:
AlgebraicGeometry.IsAffineHom (X.basicOpen r).ι
Equations
- ⋯ = ⋯
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 : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffine X]
[AlgebraicGeometry.IsAffine Y]
:
Equations
- ⋯ = ⋯
theorem
AlgebraicGeometry.isAffine_of_isAffineHom
{X : AlgebraicGeometry.Scheme}
{Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsAffineHom f]
[AlgebraicGeometry.IsAffine Y]
: