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.

@[reducible, inline]

The stalk at x of a PresheafedSpace.

Equations
  • X.stalk x = X.presheaf.stalk x
Instances For

    A morphism of presheafed spaces induces a morphism of stalks.

    Equations
    • One or more equations did not get rendered due to their size.
    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 : ((TopologicalSpace.Opens.map α.base).obj U)) [inst : CategoryTheory.ConcreteCategory C] (x : (CategoryTheory.forget C).obj (Y.presheaf.obj (Opposite.op U))) :
      (AlgebraicGeometry.PresheafedSpace.stalkMap α x✝) ((Y.presheaf.germ α.base x✝, ) x) = (X.presheaf.germ x✝) ((α.c.app (Opposite.op U)) x)
      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.stalkMap α x✝) ((Y.presheaf.germ α.base x✝, hx) x) = (X.presheaf.germ x✝, hx) ((α.c.app (Opposite.op U)) 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_apply {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {U : TopCat} (X : AlgebraicGeometry.PresheafedSpace C) {f : U X} (h : OpenEmbedding 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) x✝, hx) x) = (X.presheaf.germ 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 : OpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x V) {Z : C} (h : X.stalk (f x) Z) :
        CategoryTheory.CategoryStruct.comp ((X.restrict h✝).presheaf.germ x, hx) (CategoryTheory.CategoryStruct.comp (X.restrictStalkIso h✝ x).hom h) = CategoryTheory.CategoryStruct.comp (X.presheaf.germ f x, ) h
        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 : OpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x V) :
        CategoryTheory.CategoryStruct.comp ((X.restrict h).presheaf.germ x, hx) (X.restrictStalkIso h x).hom = X.presheaf.germ f x,
        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 : OpenEmbedding 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 f x✝, ) x) = (TopCat.Presheaf.germ (.functor.op.comp X.presheaf) 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 : OpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x V) {Z : C} (h : (X.restrict h✝).stalk x Z) :
        CategoryTheory.CategoryStruct.comp (X.presheaf.germ f x, ) (CategoryTheory.CategoryStruct.comp (X.restrictStalkIso h✝ x).inv h) = CategoryTheory.CategoryStruct.comp ((X.restrict h✝).presheaf.germ x, hx) 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 : OpenEmbedding f) (V : TopologicalSpace.Opens U) (x : U) (hx : x V) :
        CategoryTheory.CategoryStruct.comp (X.presheaf.germ f x, ) (X.restrictStalkIso h x).inv = (X.restrict h).presheaf.germ x, hx

        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.stalkMap f x✝) ((Y.presheaf.stalkSpecializes ) x) = (X.presheaf.stalkSpecializes h) ((AlgebraicGeometry.PresheafedSpace.stalkMap f y) x)