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.IsLocalAtTarget.comp
:P
is preserved under composition with open immersions at the source.AlgebraicGeometry.IsLocalAtTarget.iff_of_iSup_eq_top
:P f ↔ ∀ i, P (U.ι ≫ f)
for a familyU i
of open sets coveringX
.AlgebraicGeometry.IsLocalAtTarget.iff_of_openCover
:P f ↔ ∀ i, P (𝒰.map i ≫ f)
for𝒰 : X.openCover
.AlgebraicGeometry.IsLocalAtTarget.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_mk
: 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 : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (𝒰 : Y.OpenCover) : P f ↔ ∀ (i : 𝒰.1), P (AlgebraicGeometry.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 : AlgebraicGeometry.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 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.
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) → [inst : 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
Alias of AlgebraicGeometry.AffineTargetMorphismProperty.cancel_left_of_respectsIso
.
Alias of AlgebraicGeometry.AffineTargetMorphismProperty.cancel_right_of_respectsIso
.
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 : AlgebraicGeometry.Scheme} [AlgebraicGeometry.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 : AlgebraicGeometry.Scheme} [AlgebraicGeometry.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 : AlgebraicGeometry.AffineTargetMorphismProperty.IsLocal Q
- eq_targetAffineLocally' : P = AlgebraicGeometry.targetAffineLocally Q
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.