Open immersions of structured spaces #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We say that a morphism of presheafed spaces f : X ⟶ Y
is an open immersion if
the underlying map of spaces is an open embedding f : X ⟶ U ⊆ Y
,
and the sheaf map Y(V) ⟶ f _* X(V)
is an iso for each V ⊆ U
.
Abbreviations are also provided for SheafedSpace
, LocallyRingedSpace
and Scheme
.
Main definitions #
algebraic_geometry.PresheafedSpace.is_open_immersion
: theProp
-valued typeclass asserting that a PresheafedSpace homf
is an open_immersion.algebraic_geometry.is_open_immersion
: theProp
-valued typeclass asserting that a Scheme morphismf
is an open_immersion.algebraic_geometry.PresheafedSpace.is_open_immersion.iso_restrict
: The source of an open immersion is isomorphic to the restriction of the target onto the image.algebraic_geometry.PresheafedSpace.is_open_immersion.lift
: Any morphism whose range is contained in an open immersion factors though the open immersion.algebraic_geometry.PresheafedSpace.is_open_immersion.to_SheafedSpace
: Iff : X ⟶ Y
is an open immersion of presheafed spaces, andY
is a sheafed space, thenX
is also a sheafed space. The morphism as morphisms of sheafed spaces is given byto_SheafedSpace_hom
.algebraic_geometry.PresheafedSpace.is_open_immersion.to_LocallyRingedSpace
: Iff : X ⟶ Y
is an open immersion of presheafed spaces, andY
is a locally ringed space, thenX
is also a locally ringed space. The morphism as morphisms of locally ringed spaces is given byto_LocallyRingedSpace_hom
.
Main results #
algebraic_geometry.PresheafedSpace.is_open_immersion.comp
: The composition of two open immersions is an open immersion.algebraic_geometry.PresheafedSpace.is_open_immersion.of_iso
: An iso is an open immersion.algebraic_geometry.PresheafedSpace.is_open_immersion.to_iso
: A surjective open immersion is an isomorphism.algebraic_geometry.PresheafedSpace.is_open_immersion.stalk_iso
: An open immersion induces an isomorphism on stalks.algebraic_geometry.PresheafedSpace.is_open_immersion.has_pullback_of_left
: Iff
is an open immersion, then the pullback(f, g)
exists (and the forgetful functor toTop
preserves it).algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_snd_of_left
: Open immersions are stable under pullbacks.algebraic_geometry.SheafedSpace.is_open_immersion.of_stalk_iso
An (topological) open embedding between two sheafed spaces is an open immersion if all the stalk maps are isomorphisms.
- base_open : open_embedding ⇑(f.base)
- c_iso : ∀ (U : topological_space.opens ↥X), category_theory.is_iso (f.c.app (opposite.op (_.functor.obj U)))
An open immersion of PresheafedSpaces is an open embedding f : X ⟶ U ⊆ Y
of the underlying
spaces, such that the sheaf map Y(V) ⟶ f _* X(V)
is an iso for each V ⊆ U
.
Instances of this typeclass
- algebraic_geometry.PresheafedSpace.is_open_immersion.of_is_iso
- algebraic_geometry.SheafedSpace.is_open_immersion.of_is_iso
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.of_is_iso
- algebraic_geometry.is_open_immersion.of_is_iso
- algebraic_geometry.is_open_immersion_of_is_empty
- algebraic_geometry.PresheafedSpace.is_open_immersion.comp
- algebraic_geometry.PresheafedSpace.is_open_immersion.of_iso
- algebraic_geometry.PresheafedSpace.is_open_immersion.of_restrict
- algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_snd_is_open_immersion
- algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_snd_of_left
- algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_fst_of_right
- algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_to_base_is_open_immersion
- algebraic_geometry.PresheafedSpace.is_open_immersion.to_SheafedSpace_is_open_immersion
- algebraic_geometry.PresheafedSpace.is_open_immersion.to_LocallyRingedSpace_is_open_immersion
- algebraic_geometry.SheafedSpace.is_open_immersion.comp
- algebraic_geometry.SheafedSpace.is_open_immersion.forget_map_is_open_immersion
- algebraic_geometry.SheafedSpace.is_open_immersion.SheafedSpace_pullback_snd_of_left
- algebraic_geometry.SheafedSpace.is_open_immersion.SheafedSpace_pullback_fst_of_right
- algebraic_geometry.SheafedSpace.is_open_immersion.SheafedSpace_pullback_to_base_is_open_immersion
- algebraic_geometry.SheafedSpace.is_open_immersion.sigma_ι_is_open_immersion
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.comp
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.map.algebraic_geometry.SheafedSpace.is_open_immersion
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.snd.is_open_immersion
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.pullback_snd_of_left
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.pullback_fst_of_right
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.pullback_to_base_is_open_immersion
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_PresheafedSpace_preserves_open_immersion
- algebraic_geometry.PresheafedSpace.glue_data.f_open
- algebraic_geometry.PresheafedSpace.glue_data.ι_is_open_immersion
- algebraic_geometry.SheafedSpace.glue_data.f_open
- algebraic_geometry.SheafedSpace.glue_data.ι_is_open_immersion
- algebraic_geometry.LocallyRingedSpace.glue_data.f_open
- algebraic_geometry.LocallyRingedSpace.glue_data.ι_is_open_immersion
- algebraic_geometry.Scheme.open_cover.is_open
- algebraic_geometry.Scheme.basic_open_is_open_immersion
- algebraic_geometry.PresheafedSpace.is_open_immersion.to_Scheme_hom_is_open_immersion
- algebraic_geometry.is_open_immersion.of_restrict
- algebraic_geometry.is_open_immersion.forget_map_is_open_immersion
- algebraic_geometry.is_open_immersion.pullback_snd_of_left
- algebraic_geometry.is_open_immersion.pullback_fst_of_right
- algebraic_geometry.is_open_immersion.pullback_to_base
- algebraic_geometry.morphism_restrict.is_open_immersion
- algebraic_geometry.Scheme.glue_data.f_open
- algebraic_geometry.Scheme.glue_data.ι_is_open_immersion
- algebraic_geometry.Scheme.open_cover.from_glued_open_immersion
- algebraic_geometry.is_affine_open.is_open_immersion_from_Spec
- algebraic_geometry.category_theory.limits.pullback.map.is_open_immersion
A morphism of SheafedSpaces is an open immersion if it is an open immersion as a morphism of PresheafedSpaces
A morphism of LocallyRingedSpaces is an open immersion if it is an open immersion as a morphism of SheafedSpaces
The functor opens X ⥤ opens Y
associated with an open immersion f : X ⟶ Y
.
An open immersion f : X ⟶ Y
induces an isomorphism X ≅ Y|_{f(X)}
.
Equations
- H.iso_restrict = algebraic_geometry.PresheafedSpace.iso_of_components (category_theory.iso.refl X.carrier) (category_theory.nat_iso.of_components (λ (U : (topological_space.opens ↥((Y.restrict algebraic_geometry.PresheafedSpace.is_open_immersion.base_open).carrier))ᵒᵖ), category_theory.as_iso (f.c.app (opposite.op (H.open_functor.obj (opposite.unop U)))) ≪≫ category_theory.functor.map_iso X.presheaf (category_theory.eq_to_iso _)) _).symm
The composition of two open immersions is an open immersion.
For an open immersion f : X ⟶ Y
and an open set U ⊆ X
, we have the map X(U) ⟶ Y(U)
.
Equations
- H.inv_app U = X.presheaf.map (category_theory.eq_to_hom _) ≫ category_theory.inv (f.c.app (opposite.op (H.open_functor.obj U)))
Instances for algebraic_geometry.PresheafedSpace.is_open_immersion.inv_app
A variant of app_inv_app
that gives an eq_to_hom
instead of hom_of_le
.
An isomorphism is an open immersion.
An open immersion is an iso if the underlying continuous map is epi.
(Implementation.) The projection map when constructing the pullback along an open immersion.
Equations
- algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left_fst f g = {base := category_theory.limits.pullback.fst _, c := {app := λ (U : (topological_space.opens ↥(X.carrier))ᵒᵖ), hf.inv_app (opposite.unop U) ≫ g.c.app (opposite.op (_.functor.obj (opposite.unop U))) ≫ Y.presheaf.map (category_theory.eq_to_hom _), naturality' := _}}
We construct the pullback along an open immersion via restricting along the pullback of the maps of underlying spaces (which is also an open embedding).
(Implementation.) Any cone over cospan f g
indeed factors through the constructed cone.
Equations
- algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left_lift f g s = {base := category_theory.limits.pullback.lift s.fst.base s.snd.base _, c := {app := λ (U : (topological_space.opens ↥((algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left f g).X.carrier))ᵒᵖ), s.snd.c.app (_.functor.op.obj U) ≫ s.X.presheaf.map (category_theory.eq_to_hom _), naturality' := _}}
The constructed pullback cone is indeed the pullback.
Equations
- algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left_is_limit f g = (algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left f g).is_limit_aux' (λ (s : category_theory.limits.pullback_cone f g), ⟨algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left_lift f g s, _⟩)
Open immersions are stable under base-change.
Open immersions are stable under base-change.
Equations
- algebraic_geometry.PresheafedSpace.is_open_immersion.forget_preserves_limits_of_left f g = category_theory.limits.preserves_limit_of_preserves_limit_cone (algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left_is_limit f g) ((category_theory.limits.is_limit.postcompose_hom_equiv (category_theory.limits.diagram_iso_cospan (category_theory.limits.cospan f g ⋙ algebraic_geometry.PresheafedSpace.forget C)) ((algebraic_geometry.PresheafedSpace.forget C).map_cone (algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left f g))).to_fun ((category_theory.limits.is_limit.equiv_iso_limit (category_theory.limits.cones.ext (category_theory.iso.refl (category_theory.limits.limit.cone (category_theory.limits.cospan ((category_theory.limits.cospan f g ⋙ algebraic_geometry.PresheafedSpace.forget C).map category_theory.limits.walking_cospan.hom.inl) ((category_theory.limits.cospan f g ⋙ algebraic_geometry.PresheafedSpace.forget C).map category_theory.limits.walking_cospan.hom.inr))).X) _)).to_fun (category_theory.limits.limit.is_limit (category_theory.limits.cospan f.base g.base))))
The universal property of open immersions:
For an open immersion f : X ⟶ Z
, given any morphism of schemes g : Y ⟶ Z
whose topological
image is contained in the image of f
, we can lift this morphism to a unique Y ⟶ X
that
commutes with these maps.
Two open immersions with equal range is isomorphic.
Equations
If X ⟶ Y
is an open immersion, and Y
is a SheafedSpace, then so is X
.
Equations
If X ⟶ Y
is an open immersion of PresheafedSpaces, and Y
is a SheafedSpace, we can
upgrade it into a morphism of SheafedSpaces.
Instances for algebraic_geometry.PresheafedSpace.is_open_immersion.to_SheafedSpace_hom
If X ⟶ Y
is an open immersion, and Y
is a LocallyRingedSpace, then so is X
.
If X ⟶ Y
is an open immersion of PresheafedSpaces, and Y
is a LocallyRingedSpace, we can
upgrade it into a morphism of LocallyRingedSpace.
Equations
Equations
- algebraic_geometry.SheafedSpace.is_open_immersion.forget_creates_pullback_of_left f g = category_theory.creates_limit_of_fully_faithful_of_iso (algebraic_geometry.PresheafedSpace.is_open_immersion.to_SheafedSpace Y category_theory.limits.pullback.snd) (category_theory.eq_to_iso _ ≪≫ category_theory.limits.has_limit.iso_of_nat_iso (category_theory.limits.diagram_iso_cospan (category_theory.limits.cospan f g ⋙ algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace)).symm)
Equations
- algebraic_geometry.SheafedSpace.is_open_immersion.forget_creates_pullback_of_right f g = category_theory.creates_limit_of_fully_faithful_of_iso (algebraic_geometry.PresheafedSpace.is_open_immersion.to_SheafedSpace Y category_theory.limits.pullback.fst) (category_theory.eq_to_iso _ ≪≫ category_theory.limits.has_limit.iso_of_nat_iso (category_theory.limits.diagram_iso_cospan (category_theory.limits.cospan g f ⋙ algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace)).symm)
Open immersions are stable under base-change.
Suppose X Y : SheafedSpace C
, where C
is a concrete category,
whose forgetful functor reflects isomorphisms, preserves limits and filtered colimits.
Then a morphism X ⟶ Y
that is a topological open embedding
is an open immersion iff every stalk map is an iso.
An explicit pullback cone over cospan f g
if f
is an open immersion.
The constructed pullback_cone_of_left
is indeed limiting.
Equations
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.pullback_cone_of_left_is_limit f g = (algebraic_geometry.LocallyRingedSpace.is_open_immersion.pullback_cone_of_left f g).is_limit_aux' (λ (s : category_theory.limits.pullback_cone f g), ⟨{val := algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left_lift f.val g.val (category_theory.limits.pullback_cone.mk s.fst.val s.snd.val _), prop := _}, _⟩)
Open immersions are stable under base-change.
Open immersions are stable under base-change.
Equations
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_preserves_pullback_of_left f g = category_theory.limits.preserves_limit_of_preserves_limit_cone (algebraic_geometry.LocallyRingedSpace.is_open_immersion.pullback_cone_of_left_is_limit f g) ((category_theory.limits.is_limit_map_cone_pullback_cone_equiv algebraic_geometry.LocallyRingedSpace.forget_to_SheafedSpace _).symm.to_fun (category_theory.limits.is_limit_of_is_limit_pullback_cone_map algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace _ (algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left_is_limit f.val g.val)))
Equations
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_PresheafedSpace_preserves_pullback_of_left f g = category_theory.limits.preserves_limit_of_preserves_limit_cone (algebraic_geometry.LocallyRingedSpace.is_open_immersion.pullback_cone_of_left_is_limit f g) ((category_theory.limits.is_limit_map_cone_pullback_cone_equiv (algebraic_geometry.LocallyRingedSpace.forget_to_SheafedSpace ⋙ algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace) _).symm.to_fun (algebraic_geometry.PresheafedSpace.is_open_immersion.pullback_cone_of_left_is_limit f.val g.val))
Equations
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_Top_preserves_pullback_of_left f g = id (category_theory.limits.comp_preserves_limit (algebraic_geometry.LocallyRingedSpace.forget_to_SheafedSpace ⋙ algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace) (algebraic_geometry.PresheafedSpace.forget CommRing))
Equations
Equations
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_PresheafedSpace_reflects_pullback_of_left f g = category_theory.limits.reflects_limit_of_reflects_isomorphisms (category_theory.limits.cospan f g) (algebraic_geometry.LocallyRingedSpace.forget_to_SheafedSpace ⋙ algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace)
Equations
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_PresheafedSpace_reflects_pullback_of_right f g = category_theory.limits.reflects_limit_of_reflects_isomorphisms (category_theory.limits.cospan g f) (algebraic_geometry.LocallyRingedSpace.forget_to_SheafedSpace ⋙ algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace)
The universal property of open immersions:
For an open immersion f : X ⟶ Z
, given any morphism of schemes g : Y ⟶ Z
whose topological
image is contained in the image of f
, we can lift this morphism to a unique Y ⟶ X
that
commutes with these maps.
An open immersion is isomorphic to the induced open subscheme on its image.