Documentation

Mathlib.Geometry.RingedSpace.Stalks

Stalks for presheaved spaces #

This file lifts constructions of stalks and pushforwards of stalks to work with the category of presheafed spaces. Additionally, we prove that restriction of presheafed spaces does not change the stalks.

A morphism of presheafed spaces induces a morphism of stalks.

Equations
Instances For
    theorem AlgebraicGeometry.PresheafedSpace.stalkMap_germ_apply {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : AlgebraicGeometry.PresheafedSpace C} {Y : AlgebraicGeometry.PresheafedSpace C} (α : X Y) (U : TopologicalSpace.Opens Y) (x : X) (hx : α.base x✝ U) [inst : CategoryTheory.ConcreteCategory C] (x : (CategoryTheory.forget C).obj (Y.presheaf.obj (Opposite.op U))) :
    (AlgebraicGeometry.PresheafedSpace.Hom.stalkMap α x✝) ((Y.presheaf.germ U (α.base x✝) hx) x) = (X.presheaf.germ ((TopologicalSpace.Opens.map α.base).obj U) x✝ hx) ((α.c.app (Opposite.op U)) x)
    @[deprecated AlgebraicGeometry.PresheafedSpace.stalkMap_germ]

    Alias of AlgebraicGeometry.PresheafedSpace.stalkMap_germ.

    @[deprecated AlgebraicGeometry.PresheafedSpace.stalkMap_germ]

    Alias of AlgebraicGeometry.PresheafedSpace.stalkMap_germ.

    def AlgebraicGeometry.PresheafedSpace.restrictStalkIso {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {U : TopCat} (X : AlgebraicGeometry.PresheafedSpace C) {f : U X} (h : IsOpenEmbedding f) (x : U) :
    (X.restrict h).presheaf.stalk x X.presheaf.stalk (f x)

    For an open embedding f : U ⟶ X and a point x : U, we get an isomorphism between the stalk of X at f x and the stalk of the restriction of X along f at t x.

    Equations
    Instances For
      theorem AlgebraicGeometry.PresheafedSpace.restrictStalkIso_hom_eq_germ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {U : TopCat} (X : AlgebraicGeometry.PresheafedSpace C) {f : U X} (h : IsOpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x V) :
      CategoryTheory.CategoryStruct.comp ((X.restrict h).presheaf.germ V x hx) (X.restrictStalkIso h x).hom = X.presheaf.germ (.functor.obj V) (f x)
      theorem AlgebraicGeometry.PresheafedSpace.restrictStalkIso_hom_eq_germ_apply {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {U : TopCat} (X : AlgebraicGeometry.PresheafedSpace C) {f : U X} (h : IsOpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x✝ V) [inst : CategoryTheory.ConcreteCategory C] (x : (CategoryTheory.forget C).obj ((X.restrict h).presheaf.obj (Opposite.op V))) :
      (X.restrictStalkIso h x✝).hom ((TopCat.Presheaf.germ (.functor.op.comp X.presheaf) V x✝ hx) x) = (X.presheaf.germ (.functor.obj V) (f x✝) ) x
      theorem AlgebraicGeometry.PresheafedSpace.restrictStalkIso_hom_eq_germ_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {U : TopCat} (X : AlgebraicGeometry.PresheafedSpace C) {f : U X} (h : IsOpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x V) {Z : C} (h : X.presheaf.stalk (f x) Z) :
      CategoryTheory.CategoryStruct.comp ((X.restrict h✝).presheaf.germ V x hx) (CategoryTheory.CategoryStruct.comp (X.restrictStalkIso h✝ x).hom h) = CategoryTheory.CategoryStruct.comp (X.presheaf.germ (.functor.obj V) (f x) ) h
      @[simp]
      theorem AlgebraicGeometry.PresheafedSpace.restrictStalkIso_inv_eq_germ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {U : TopCat} (X : AlgebraicGeometry.PresheafedSpace C) {f : U X} (h : IsOpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x V) :
      CategoryTheory.CategoryStruct.comp (X.presheaf.germ (.functor.obj V) (f x) ) (X.restrictStalkIso h x).inv = (X.restrict h).presheaf.germ V x hx
      theorem AlgebraicGeometry.PresheafedSpace.restrictStalkIso_inv_eq_germ_apply {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {U : TopCat} (X : AlgebraicGeometry.PresheafedSpace C) {f : U X} (h : IsOpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x✝ V) [inst : CategoryTheory.ConcreteCategory C] (x : (CategoryTheory.forget C).obj (X.presheaf.obj (Opposite.op (.functor.obj V)))) :
      (X.restrictStalkIso h x✝).inv ((X.presheaf.germ (.functor.obj V) (f x✝) ) x) = (TopCat.Presheaf.germ (.functor.op.comp X.presheaf) V x✝ hx) x
      theorem AlgebraicGeometry.PresheafedSpace.restrictStalkIso_inv_eq_germ_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {U : TopCat} (X : AlgebraicGeometry.PresheafedSpace C) {f : U X} (h : IsOpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x V) {Z : C} (h : (X.restrict h✝).presheaf.stalk x Z) :
      CategoryTheory.CategoryStruct.comp (X.presheaf.germ (.functor.obj V) (f x) ) (CategoryTheory.CategoryStruct.comp (X.restrictStalkIso h✝ x).inv h) = CategoryTheory.CategoryStruct.comp ((X.restrict h✝).presheaf.germ V x hx) h

      If α = β and x = x', we would like to say that stalk_map α x = stalk_map β x'. Unfortunately, this equality is not well-formed, as their types are not definitionally the same. To get a proper congruence lemma, we therefore have to introduce these eqToHom arrows on either side of the equality.

      An isomorphism between presheafed spaces induces an isomorphism of stalks.

      Equations
      Instances For
        theorem AlgebraicGeometry.PresheafedSpace.stalkMap.stalkSpecializes_stalkMap_apply {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : AlgebraicGeometry.PresheafedSpace C} {Y : AlgebraicGeometry.PresheafedSpace C} (f : X Y) {x : X} {y : X} (h : x✝ y) [inst : CategoryTheory.ConcreteCategory C] (x : (CategoryTheory.forget C).obj (Y.presheaf.stalk (f.base y))) :
        (AlgebraicGeometry.PresheafedSpace.Hom.stalkMap f x✝) ((Y.presheaf.stalkSpecializes ) x) = (X.presheaf.stalkSpecializes h) ((AlgebraicGeometry.PresheafedSpace.Hom.stalkMap f y) x)