Open immersions of structured spaces #
We say that a morphism of presheafed spaces f : X ⟶ Y
is an open immersions 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.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.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.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
A morphism of Schemes is an open immersion if it is an open immersion as a morphism of LocallyRingedSpaces
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.
To show that a locally ringed space is a scheme, it suffices to show that it has a jointly surjective family of open immersions from affine schemes.
Equations
- J : Type ?
- obj : self.J → algebraic_geometry.Scheme
- map : Π (j : self.J), self.obj j ⟶ X
- f : ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier) → self.J
- covers : ∀ (x : ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), x ∈ set.range ⇑((self.map (self.f x)).val.base)
- is_open : (∀ (x : self.J), algebraic_geometry.is_open_immersion (self.map x)) . "apply_instance"
An open cover of X
consists of a family of open immersions into X
,
and for each x : X
an open immersion (indexed by f x
) that covers x
.
This is merely a coverage in the Zariski pretopology, and it would be optimal
if we could reuse the existing API about pretopologies, However, the definitions of sieves and
grothendieck topologies uses Prop
s, so that the actual open sets and immersions are hard to
obtain. Also, since such a coverage in the pretopology usually contains a proper class of
immersions, it is quite hard to glue them, reason about finite covers, etc.
Instances for algebraic_geometry.Scheme.open_cover
- algebraic_geometry.Scheme.open_cover.has_sizeof_inst
- algebraic_geometry.Scheme.open_cover.inhabited
The affine cover of a scheme.
Equations
- X.affine_cover = {J := ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier), obj := λ (x : ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), algebraic_geometry.Scheme.Spec.obj (opposite.op (Exists.some _)), map := λ (x : ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), (nonempty.some _).inv ≫ X.to_LocallyRingedSpace.of_restrict _, f := λ (x : ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), x, covers := _, is_open := _}
Equations
Given an open cover { Uᵢ }
of X
, and for each Uᵢ
an open cover, we may combine these
open covers to form an open cover of X
.
Equations
- 𝒰.bind f = {J := Σ (i : 𝒰.J), (f i).J, obj := λ (x : Σ (i : 𝒰.J), (f i).J), (f x.fst).obj x.snd, map := λ (x : Σ (i : 𝒰.J), (f i).J), (f x.fst).map x.snd ≫ 𝒰.map x.fst, f := λ (x : ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), ⟨𝒰.f x, (f (𝒰.f x)).f (Exists.some _)⟩, covers := _, is_open := _}
An isomorphism X ⟶ Y
is an open cover of Y
.
Equations
- algebraic_geometry.Scheme.open_cover_of_is_iso f = {J := punit, obj := λ (_x : punit), X, map := λ (_x : punit), f, f := λ (_x : ↥(Y.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), punit.star, covers := _, is_open := _}
We construct an open cover from another, by providing the needed fields and showing that the provided fields are isomorphic with the original open cover.
The pushforward of an open cover along an isomorphism.
Equations
- 𝒰.pushforward_iso f = ((algebraic_geometry.Scheme.open_cover_of_is_iso f).bind (λ (_x : (algebraic_geometry.Scheme.open_cover_of_is_iso f).J), 𝒰)).copy 𝒰.J (λ (_x : 𝒰.J), ((algebraic_geometry.Scheme.open_cover_of_is_iso f).bind (λ (_x : (algebraic_geometry.Scheme.open_cover_of_is_iso f).J), 𝒰)).obj (⇑((equiv.punit_prod 𝒰.J).symm.trans (equiv.sigma_equiv_prod punit 𝒰.J).symm) _x)) (λ (_x : 𝒰.J), ((algebraic_geometry.Scheme.open_cover_of_is_iso f).bind (λ (_x : (algebraic_geometry.Scheme.open_cover_of_is_iso f).J), 𝒰)).map (⇑((equiv.punit_prod 𝒰.J).symm.trans (equiv.sigma_equiv_prod punit 𝒰.J).symm) _x)) ((equiv.punit_prod 𝒰.J).symm.trans (equiv.sigma_equiv_prod punit 𝒰.J).symm) (λ (_x : 𝒰.J), category_theory.iso.refl (((algebraic_geometry.Scheme.open_cover_of_is_iso f).bind (λ (_x : (algebraic_geometry.Scheme.open_cover_of_is_iso f).J), 𝒰)).obj (⇑((equiv.punit_prod 𝒰.J).symm.trans (equiv.sigma_equiv_prod punit 𝒰.J).symm) _x))) _
Adding an open immersion into an open cover gives another open cover.
The basic open sets form an affine open cover of Spec R
.
Equations
- algebraic_geometry.Scheme.affine_basis_cover_of_affine R = {J := ↥R, obj := λ (r : ↥R), algebraic_geometry.Scheme.Spec.obj (opposite.op (CommRing.of (localization.away r))), map := λ (r : ↥R), algebraic_geometry.Scheme.Spec.map (quiver.hom.op (algebra_map ↥R (localization.away r))), f := λ (x : ↥((algebraic_geometry.Scheme.Spec.obj (opposite.op R)).to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), 1, covers := _, is_open := _}
We may bind the basic open sets of an open affine cover to form a affine cover that is also a basis.
Equations
The coordinate ring of a component in the affine_basis_cover
.
Equations
Every open cover of a quasi-compact scheme can be refined into a finite subcover.
Equations
- 𝒰.finite_subcover = let t : finset ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier) := _.some in {J := ↥t, obj := λ (x : ↥t), 𝒰.obj (𝒰.f x.val), map := λ (x : ↥t), 𝒰.map (𝒰.f x.val), f := λ (x : ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), Exists.some _, covers := _, is_open := _}
Equations
If X ⟶ Y
is an open immersion, and Y
is a scheme, then so is X
.
If X ⟶ Y
is an open immersion of PresheafedSpaces, and Y
is a Scheme, we can
upgrade it into a morphism of Schemes.
The restriction of a Scheme along an open embedding.
Equations
- X.restrict h = {to_LocallyRingedSpace := {to_SheafedSpace := {to_PresheafedSpace := X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.restrict h, is_sheaf := _}, local_ring := _}, local_affine := _}
Instances for algebraic_geometry.Scheme.restrict
The canonical map from the restriction to the supspace.
Equations
- X.of_restrict h = X.to_LocallyRingedSpace.of_restrict h
A open immersion induces an isomorphism from the domain onto the image
Equations
- algebraic_geometry.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_Scheme Y category_theory.limits.pullback.snd.val) (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.Scheme.forget_to_LocallyRingedSpace)).symm)
Equations
- algebraic_geometry.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_Scheme Y category_theory.limits.pullback.fst.val) (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.Scheme.forget_to_LocallyRingedSpace)).symm)
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.
Equations
Two open immersions with equal range are isomorphic.
Equations
- algebraic_geometry.is_open_immersion.iso_of_range_eq f g e = {hom := algebraic_geometry.is_open_immersion.lift g f _, inv := algebraic_geometry.is_open_immersion.lift f g _, hom_inv_id' := _, inv_hom_id' := _}
The functor opens X ⥤ opens Y
associated with an open immersion f : X ⟶ Y
.
The isomorphism Γ(X, U) ⟶ Γ(Y, f(U))
induced by an open immersion f : X ⟶ Y
.
The fg
argument is to avoid nasty stuff about dependent types.
The image of an open immersion as an open set.
The functor taking open subsets of X
to open subschemes of X
.
Equations
- X.restrict_functor = {obj := λ (U : topological_space.opens ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)), category_theory.over.mk (X.of_restrict _), map := λ (U V : topological_space.opens ↥(X.to_LocallyRingedSpace.to_SheafedSpace.to_PresheafedSpace.carrier)) (i : U ⟶ V), category_theory.over.hom_mk (algebraic_geometry.is_open_immersion.lift (X.of_restrict _) (X.of_restrict _) _) _, map_id' := _, map_comp' := _}