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 homfis an open_immersion.algebraic_geometry.is_open_immersion: theProp-valued typeclass asserting that a Scheme morphismfis 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 ⟶ Yis an open immersion of presheafed spaces, andYis a sheafed space, thenXis 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 ⟶ Yis an open immersion of presheafed spaces, andYis a locally ringed space, thenXis 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: Iffis an open immersion, then the pullback(f, g)exists (and the forgetful functor toToppreserves 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_isoAn (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.