mathlib documentation

topology.sheaves.stalks

The stalk of a presheaf F at a point x is calculated as the colimit of the functor nbhds x ⥤ opens F.X ⥤ C

Equations

The germ of a section of a presheaf over an open at a point of that open.

Equations
theorem Top.presheaf.germ_exist {X : Top} (F : Top.presheaf (Type v) X) (x : X) (t : F.stalk x) :
∃ (U : topological_space.opens X) (m : x U) (s : F.obj (opposite.op U)), F.germ x, m⟩ s = t

For a Type valued presheaf, every point in a stalk is a germ.

theorem Top.presheaf.germ_eq {X : Top} (F : Top.presheaf (Type v) X) {U V : topological_space.opens X} (x : X) (mU : x U) (mV : x V) (s : F.obj (opposite.op U)) (t : F.obj (opposite.op V)) (h : F.germ x, mU⟩ s = F.germ x, mV⟩ t) :
∃ (W : topological_space.opens X) (m : x W) (iU : W U) (iV : W V), F.map iU.op s = F.map iV.op t

@[simp]
theorem Top.presheaf.germ_res {C : Type u} [category_theory.category C] [category_theory.limits.has_colimits C] {X : Top} (F : Top.presheaf C X) {U V : topological_space.opens X} (i : U V) (x : U) :
F.map i.op F.germ x = F.germ (i x)

@[simp]
theorem Top.presheaf.germ_res_apply {X : Top} (F : Top.presheaf (Type v) X) {U V : topological_space.opens X} (i : U V) (x : U) (f : F.obj (opposite.op V)) :
F.germ x (F.map i.op f) = F.germ (i x) f

@[simp]
theorem Top.presheaf.germ_res_apply' {X : Top} (F : Top.presheaf (Type v) X) {U V : (topological_space.opens X)ᵒᵖ} (i : V U) (x : (opposite.unop U)) (f : F.obj V) :
F.germ x (F.map i f) = F.germ ((i.unop) x) f

A variant when the open sets are written in (opens X)ᵒᵖ.

@[ext]
theorem Top.presheaf.germ_ext {X : Top} {D : Type u} [category_theory.category D] [category_theory.concrete_category D] [category_theory.limits.has_colimits D] (F : Top.presheaf D X) {U V : topological_space.opens X} {x : X} {hxU : x U} {hxV : x V} (W : topological_space.opens X) (hxW : x W) (iWU : W U) (iWV : W V) {sU : (F.obj (opposite.op U))} {sV : (F.obj (opposite.op V))} (ih : (F.map iWU.op) sU = (F.map iWV.op) sV) :
(F.germ x, hxU⟩) sU = (F.germ x, hxV⟩) sV

theorem Top.presheaf.stalk_hom_ext {C : Type u} [category_theory.category C] [category_theory.limits.has_colimits C] {X : Top} (F : Top.presheaf C X) {x : X} {Y : C} {f₁ f₂ : F.stalk x Y} (ih : ∀ (U : topological_space.opens X) (hxU : x U), F.germ x, hxU⟩ f₁ = F.germ x, hxU⟩ f₂) :
f₁ = f₂