Zulip Chat Archive
Stream: Is there code for X?
Topic: Checking isomorphism of sheafed spaces on stalks
Junyan Xu (Nov 13 2025 at 17:52):
Does anyone has anything like this?
import Mathlib.Geometry.RingedSpace.LocallyRingedSpace
open AlgebraicGeometry
variable (X Y : LocallyRingedSpace) (f : X ⟶ Y)
-- true for SheafedSpace as well
def toIso (homeo : IsHomeomorph f.base) (bij : ∀ x : X, Function.Bijective (f.stalkMap x)) :
X ≅ Y :=
sorry
Andrew Yang (Nov 13 2025 at 18:05):
Should be relatively easy via docs#AlgebraicGeometry.SheafedSpace.IsOpenImmersion.to_iso and docs#AlgebraicGeometry.SheafedSpace.IsOpenImmersion.of_stalk_iso
Junyan Xu (Nov 13 2025 at 18:58):
Thanks!
import Mathlib.Geometry.RingedSpace.OpenImmersion
open AlgebraicGeometry CategoryTheory
noncomputable def toIso (X Y : RingedSpace) (f : X ⟶ Y) (homeo : IsHomeomorph f.base)
(bij : ∀ x : X, Function.Bijective (f.stalkMap x)) :
X ≅ Y :=
have : Epi f.base := (TopCat.epi_iff_surjective _).mpr homeo.bijective.2
have (x : X) : IsIso (f.stalkMap x) :=
(ConcreteCategory.isIso_iff_bijective (PresheafedSpace.Hom.stalkMap f x)).mpr (bij x)
have := (SheafedSpace.IsOpenImmersion.of_stalk_iso f homeo.isOpenEmbedding).to_iso
asIso f
Last updated: Dec 20 2025 at 21:32 UTC