Properties of morphisms between Schemes #
We provide the basic framework for talking about properties of morphisms between Schemes.
A MorphismProperty Scheme
is a predicate on morphisms between schemes. For properties local at
the target, its behaviour is entirely determined by its definition on morphisms into affine schemes,
which we call an AffineTargetMorphismProperty
. In this file, we provide API lemmas for properties
local at the target, and special support for those properties whose AffineTargetMorphismProperty
takes on a more simple form. We also provide API lemmas for properties local at the target.
The main interfaces of the API are the typeclasses IsLocalAtTarget
, IsLocalAtSource
and
HasAffineProperty
, which we describle in detail below.
IsLocalAtTarget
#
AlgebraicGeometry.IsLocalAtTarget
: We say thatIsLocalAtTarget P
forP : MorphismProperty Scheme
if
P
respects isomorphisms.P
holds forf ∣_ U
for an open coverU
ofY
if and only ifP
holds forf
.
For a morphism property P
local at the target and f : X ⟶ Y
, we provide these API lemmas:
AlgebraicGeometry.IsLocalAtTarget.of_isPullback
:P
is preserved under pullback along open immersions.AlgebraicGeometry.IsLocalAtTarget.restrict
:P f → P (f ∣_ U)
for an openU
ofY
.AlgebraicGeometry.IsLocalAtTarget.iff_of_iSup_eq_top
:P f ↔ ∀ i, P (f ∣_ U i)
for a familyU i
of open sets coveringY
.AlgebraicGeometry.IsLocalAtTarget.iff_of_openCover
:P f ↔ ∀ i, P (𝒰.pullbackHom f i)
for𝒰 : Y.openCover
.
IsLocalAtSource
#
AlgebraicGeometry.IsLocalAtSource
: We say thatIsLocalAtSource P
forP : MorphismProperty Scheme
if
P
respects isomorphisms.P
holds for𝒰.map i ≫ f
for an open cover𝒰
ofX
iffP
holds forf : X ⟶ Y
.
For a morphism property P
local at the source and f : X ⟶ Y
, we provide these API lemmas:
AlgebraicGeometry.IsLocalAtSource.comp
:P
is preserved under composition with open immersions at the source.AlgebraicGeometry.IsLocalAtSource.iff_of_iSup_eq_top
:P f ↔ ∀ i, P (U.ι ≫ f)
for a familyU i
of open sets coveringX
.AlgebraicGeometry.IsLocalAtSource.iff_of_openCover
:P f ↔ ∀ i, P (𝒰.map i ≫ f)
for𝒰 : X.openCover
.AlgebraicGeometry.IsLocalAtSource.of_isOpenImmersion
: IfP
contains identities thenP
holds for open immersions.
AffineTargetMorphismProperty
#
AlgebraicGeometry.AffineTargetMorphismProperty
: The type of predicates onf : X ⟶ Y
withY
affine.AlgebraicGeometry.AffineTargetMorphismProperty.IsLocal
: We say thatP.IsLocal
ifP
satisfies the assumptions of the affine communication lemma (AlgebraicGeometry.of_affine_open_cover
). That is,P
respects isomorphisms.- If
P
holds forf : X ⟶ Y
, thenP
holds forf ∣_ Y.basicOpen r
for any global sectionr
. - If
P
holds forf ∣_ Y.basicOpen r
for allr
in a spanning set of the global sections, thenP
holds forf
.
HasAffineProperty
#
AlgebraicGeometry.HasAffineProperty
:HasAffineProperty P Q
is a type class asserting thatP
is local at the target, and over affine schemes, it is equivalent toQ : AffineTargetMorphismProperty
.
For HasAffineProperty P Q
and f : X ⟶ Y
, we provide these API lemmas:
AlgebraicGeometry.HasAffineProperty.of_isPullback
:P
is preserved under pullback along open immersions from affine schemes.AlgebraicGeometry.HasAffineProperty.restrict
:P f → Q (f ∣_ U)
for affineU
ofY
.AlgebraicGeometry.HasAffineProperty.iff_of_iSup_eq_top
:P f ↔ ∀ i, Q (f ∣_ U i)
for a familyU i
of affine open sets coveringY
.AlgebraicGeometry.HasAffineProperty.iff_of_openCover
:P f ↔ ∀ i, P (𝒰.pullbackHom f i)
for affine open covers𝒰
ofY
.AlgebraicGeometry.HasAffineProperty.isStableUnderBaseChange
: IfQ
is stable under affine base change, thenP
is stable under arbitrary base change.
We say that P : MorphismProperty Scheme
is local at the target if
P
respects isomorphisms.P
holds forf ∣_ U
for an open coverU
ofY
if and only ifP
holds forf
. Also seeIsLocalAtTarget.mk'
for a convenient constructor.
- respectsIso : P.RespectsIso
P
respects isomorphisms. - iff_of_openCover' {X Y : Scheme} (f : X ⟶ Y) (𝒰 : Y.OpenCover) : P f ↔ ∀ (i : 𝒰.1), P (Scheme.Cover.pullbackHom 𝒰 f i)
P
holds forf ∣_ U
for an open coverU
ofY
if and only ifP
holds forf
.
Instances
P
is local at the target if
P
respects isomorphisms.- If
P
holds forf : X ⟶ Y
, thenP
holds forf ∣_ U
for anyU
. - If
P
holds forf ∣_ U
for an open coverU
ofY
, thenP
holds forf
.
The intersection of two morphism properties that are local at the target is again local at the target.
We say that P : MorphismProperty Scheme
is local at the source if
P
respects isomorphisms.P
holds for𝒰.map i ≫ f
for an open cover𝒰
ofX
iffP
holds forf : X ⟶ Y
. Also seeIsLocalAtSource.mk'
for a convenient constructor.
- respectsIso : P.RespectsIso
P
respects isomorphisms. - iff_of_openCover' {X Y : Scheme} (f : X ⟶ Y) (𝒰 : X.OpenCover) : P f ↔ ∀ (i : 𝒰.J), P (CategoryTheory.CategoryStruct.comp (𝒰.map i) f)
P
holds forf ∣_ U
for an open coverU
ofY
if and only ifP
holds forf
.
Instances
P
is local at the source if
P
respects isomorphisms.- If
P
holds forf : X ⟶ Y
, thenP
holds forU.ι ≫ f
for anyU
. - If
P
holds forU.ι ≫ f
for an open coverU
ofX
, thenP
holds forf
.
The intersection of two morphism properties that are local at the target is again local at the target.
If P
is local at the source, then it respects composition on the left with open immersions.
If P
is local at the source and the target, then restriction on both source and target
preserves P
.
If P
is local at the source, local at the target and is stable under post-composition with
open immersions, then P
can be checked locally around points.
An AffineTargetMorphismProperty
is a class of morphisms from an arbitrary scheme into an
affine scheme.
Equations
- AlgebraicGeometry.AffineTargetMorphismProperty = (⦃X Y : AlgebraicGeometry.Scheme⦄ → (X ⟶ Y) → [AlgebraicGeometry.IsAffine Y] → Prop)
Instances For
The restriction of a MorphismProperty Scheme
to morphisms with affine target.
Equations
Instances For
An AffineTargetMorphismProperty
can be extended to a MorphismProperty
such that it
never holds when the target is not affine
Equations
- P.toProperty f = ∃ (h : AlgebraicGeometry.IsAffine x✝), P f
Instances For
We say that P : AffineTargetMorphismProperty
is a local property if
P
respects isomorphisms.- If
P
holds forf : X ⟶ Y
, thenP
holds forf ∣_ Y.basicOpen r
for any global sectionr
. - If
P
holds forf ∣_ Y.basicOpen r
for allr
in a spanning set of the global sections, thenP
holds forf
.
- respectsIso : P.toProperty.RespectsIso
P
as a morphism property respects isomorphisms - to_basicOpen {X Y : Scheme} [IsAffine Y] (f : X ⟶ Y) (r : ↑(Y.presheaf.obj (Opposite.op ⊤))) : P f → P (f ∣_ Y.basicOpen r)
P
is stable under restriction to basic open set of global sections. - of_basicOpenCover {X Y : Scheme} [IsAffine Y] (f : X ⟶ Y) (s : Finset ↑(Y.presheaf.obj (Opposite.op ⊤))) : Ideal.span ↑s = ⊤ → (∀ (r : { x : ↑(Y.presheaf.obj (Opposite.op ⊤)) // x ∈ s }), P (f ∣_ Y.basicOpen ↑r)) → P f
P
forf
ifP
holds forf
restricted to basic sets of a spanning set of the global sections
Instances
A P : AffineTargetMorphismProperty
is stable under base change if P
holds for Y ⟶ S
implies that P
holds for X ×ₛ Y ⟶ X
with X
and S
affine schemes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
For a P : AffineTargetMorphismProperty
, targetAffineLocally P
holds for
f : X ⟶ Y
whenever P
holds for the restriction of f
on every affine open subset of Y
.
Equations
- AlgebraicGeometry.targetAffineLocally P f = ∀ (U : ↑Y.affineOpens), P (f ∣_ ↑U)
Instances For
HasAffineProperty P Q
is a type class asserting that P
is local at the target, and over affine
schemes, it is equivalent to Q : AffineTargetMorphismProperty
.
To make the proofs easier, we state it instead as
Q
is local at the targetP f
if and only if∀ U, Q (f ∣_ U)
ranging over all affine opens ofU
. SeeHasAffineProperty.iff
.
- isLocal_affineProperty : Q.IsLocal
Instances
Every property local at the target can be associated with an affine target property. This is not an instance as the associated property can often take on simpler forms.