Finite morphisms of schemes #
A morphism of schemes f : X ⟶ Y
is finite if the preimage
of an arbitrary affine open subset of Y
is affine and the induced ring map is finite.
It is equivalent to ask only that Y
is covered by affine opens whose preimage is affine
and the induced ring map is finite.
TODO #
- Show finite morphisms are proper
class
AlgebraicGeometry.IsFinite
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
extends AlgebraicGeometry.IsAffineHom f :
A morphism of schemes X ⟶ Y
is finite if
the preimage of any affine open subset of Y
is affine and the induced ring
hom is finite.
- isAffine_preimage (U : Y.Opens) : AlgebraicGeometry.IsAffineOpen U → AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.base).obj U)
- finite_app (U : Y.Opens) (hU : AlgebraicGeometry.IsAffineOpen U) : (AlgebraicGeometry.Scheme.Hom.app f U).hom.Finite
Instances
theorem
AlgebraicGeometry.isFinite_iff
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
:
AlgebraicGeometry.IsFinite f ↔ AlgebraicGeometry.IsAffineHom f ∧ ∀ (U : Y.Opens), AlgebraicGeometry.IsAffineOpen U → (AlgebraicGeometry.Scheme.Hom.app f U).hom.Finite
instance
AlgebraicGeometry.IsFinite.instHasAffinePropertyAndIsAffineFiniteCarrierObjOppositeOpensαTopologicalSpaceCarrierCommRingCatPresheafOpOpensTopHomAppTop :
AlgebraicGeometry.HasAffineProperty @AlgebraicGeometry.IsFinite
fun (X x : AlgebraicGeometry.Scheme) (f : X ⟶ x) (x_1 : AlgebraicGeometry.IsAffine x) =>
AlgebraicGeometry.IsAffine X ∧ (AlgebraicGeometry.Scheme.Hom.appTop f).hom.Finite
@[instance 900]
instance
AlgebraicGeometry.IsFinite.instOfIsIsoScheme
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[CategoryTheory.IsIso f]
:
instance
AlgebraicGeometry.IsFinite.instCompScheme
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
{Z : AlgebraicGeometry.Scheme}
(g : Y ⟶ Z)
[AlgebraicGeometry.IsFinite f]
[AlgebraicGeometry.IsFinite g]
:
@[instance 900]
instance
AlgebraicGeometry.IsFinite.instIsIntegralHom
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsFinite f]
:
@[instance 900]
instance
AlgebraicGeometry.IsFinite.instLocallyOfFiniteType
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[hf : AlgebraicGeometry.IsFinite f]
:
@[instance 900]
instance
AlgebraicGeometry.IsFinite.instOfIsClosedImmersion
{X Y : AlgebraicGeometry.Scheme}
(f : X ⟶ Y)
[AlgebraicGeometry.IsClosedImmersion f]
: