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