Open immersions #
A morphism 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.
Most of the theories are developed in AlgebraicGeometry/OpenImmersion, and we provide the
remaining theorems analogous to other lemmas in AlgebraicGeometry/Morphisms/*.
theorem
AlgebraicGeometry.isOpenImmersion_SpecMap_iff_of_surjective
{R S : CommRingCat}
(f : R ā¶ S)
(hf : Function.Surjective ā(CommRingCat.Hom.hom f))
:
IsOpenImmersion (Spec.map f) ā ā (e : āR), IsIdempotentElem e ā§ RingHom.ker (CommRingCat.Hom.hom f) = Ideal.span {e}
Spec (R ā§ø I) ā¶ Spec R is an open immersion iff I is generated by an idempotent.
@[deprecated AlgebraicGeometry.IsOpenImmersion.iff_isIso_stalkMap (since := "2026-01-20")]
theorem
AlgebraicGeometry.isOpenImmersion_iff_stalk
{X Y : Scheme}
{f : X ā¶ Y}
:
IsOpenImmersion f ā Topology.IsOpenEmbedding āf ā§ ā (x : ā„X), CategoryTheory.IsIso (Scheme.Hom.stalkMap f x)
Alias of AlgebraicGeometry.IsOpenImmersion.iff_isIso_stalkMap.
theorem
AlgebraicGeometry.IsOpenImmersion.of_openCover_source
{X Y : Scheme}
(f : X ā¶ Y)
(š° : X.OpenCover)
(hf : Function.Injective āf)
(hš° : ā (i : š°.Iā), IsOpenImmersion (CategoryTheory.CategoryStruct.comp (š°.f i) f))
:
theorem
AlgebraicGeometry.IsOpenImmersion.of_forall_source_exists
{X Y : Scheme}
(f : X ā¶ Y)
(hf : Function.Injective āf)
(hX :
ā (x : ā„X),
ā (U : Scheme) (i : U ā¶ X) (x_1 : IsOpenImmersion i),
x ā Scheme.Hom.opensRange i ā§ IsOpenImmersion (CategoryTheory.CategoryStruct.comp i f))
:
theorem
AlgebraicGeometry.isOpenImmersion_eq_inf :
IsOpenImmersion = (topologically fun {α β : Type u_1} [TopologicalSpace α] [TopologicalSpace β] => Topology.IsOpenEmbedding) ā
stalkwise fun {R S : Type u_1} [CommRing R] [CommRing S] (x : R ā+* S) => Function.Bijective āx
instance
AlgebraicGeometry.instIsZariskiLocalAtTargetStalkwiseBijectiveCoeRingHom :
IsZariskiLocalAtTarget (stalkwise fun {R S : Type u_1} [CommRing R] [CommRing S] (x : R ā+* S) => Function.Bijective āx)
instance
AlgebraicGeometry.instIsOpenImmersionMapScheme
{X Y X' Y' : Scheme}
(f : X ā¶ X')
(g : Y ā¶ Y')
[IsOpenImmersion f]
[IsOpenImmersion g]
: