Skyscraper (pre)sheaves #
A skyscraper (pre)sheaf 𝓕 : (Pre)Sheaf C X
is the (pre)sheaf with value A
at point p₀
that is
supported only at open sets contain p₀
, i.e. 𝓕(U) = A
if p₀ ∈ U
and 𝓕(U) = *
if p₀ ∉ U
where *
is a terminal object of C
. In terms of stalks, 𝓕
is supported at all specializations
of p₀
, i.e. if p₀ ⤳ x
then 𝓕ₓ ≅ A
and if ¬ p₀ ⤳ x
then 𝓕ₓ ≅ *
.
Main definitions #
skyscraperPresheaf
:skyscraperPresheaf p₀ A
is the skyscraper presheaf at pointp₀
with valueA
.skyscraperSheaf
: the skyscraper presheaf satisfies the sheaf condition.
Main statements #
skyscraperPresheafStalkOfSpecializes
: ify ∈ closure {p₀}
then the stalk ofskyscraperPresheaf p₀ A
aty
isA
.skyscraperPresheafStalkOfNotSpecializes
: ify ∉ closure {p₀}
then the stalk ofskyscraperPresheaf p₀ A
aty
is*
the terminal object.
TODO: generalize universe level when calculating stalks, after generalizing universe level of stalk.
A skyscraper presheaf is a presheaf supported at a single point: if p₀ ∈ X
is a specified
point, then the skyscraper presheaf 𝓕
with value A
is defined by U ↦ A
if p₀ ∈ U
and
U ↦ *
if p₀ ∉ A
where *
is some terminal object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Taking skyscraper presheaf at a point is functorial: c ↦ skyscraper p₀ c
defines a functor by
sending every f : a ⟶ b
to the natural transformation α
defined as: α(U) = f : a ⟶ b
if
p₀ ∈ U
and the unique morphism to a terminal object in C
if p₀ ∉ U
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Taking skyscraper presheaf at a point is functorial: c ↦ skyscraper p₀ c
defines a functor by
sending every f : a ⟶ b
to the natural transformation α
defined as: α(U) = f : a ⟶ b
if
p₀ ∈ U
and the unique morphism to a terminal object in C
if p₀ ∉ U
.
Equations
- skyscraperPresheafFunctor p₀ = CategoryTheory.Functor.mk { obj := skyscraperPresheaf p₀, map := fun {X_1 Y : C} => SkyscraperPresheafFunctor.map' p₀ }
Instances For
The cocone at A
for the stalk functor of skyscraperPresheaf p₀ A
when y ∈ closure {p₀}
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cocone at A
for the stalk functor of skyscraperPresheaf p₀ A
when y ∈ closure {p₀}
is a
colimit
Equations
- One or more equations did not get rendered due to their size.
Instances For
If y ∈ closure {p₀}
, then the stalk of skyscraperPresheaf p₀ A
at y
is A
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cocone at *
for the stalk functor of skyscraperPresheaf p₀ A
when y ∉ closure {p₀}
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cocone at *
for the stalk functor of skyscraperPresheaf p₀ A
when y ∉ closure {p₀}
is a
colimit
Equations
- One or more equations did not get rendered due to their size.
Instances For
If y ∉ closure {p₀}
, then the stalk of skyscraperPresheaf p₀ A
at y
is isomorphic to a
terminal object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If y ∉ closure {p₀}
, then the stalk of skyscraperPresheaf p₀ A
at y
is a terminal object
Equations
- skyscraperPresheafStalkOfNotSpecializesIsTerminal p₀ A h = CategoryTheory.Limits.IsTerminal.ofIso CategoryTheory.Limits.terminalIsTerminal (skyscraperPresheafStalkOfNotSpecializes p₀ A h).symm
Instances For
The skyscraper presheaf supported at p₀
with value A
is the sheaf that assigns A
to all opens
U
that contain p₀
and assigns *
otherwise.
Equations
- skyscraperSheaf p₀ A = { val := skyscraperPresheaf p₀ A, cond := (_ : TopCat.Presheaf.IsSheaf (skyscraperPresheaf p₀ A)) }
Instances For
Taking skyscraper sheaf at a point is functorial: c ↦ skyscraper p₀ c
defines a functor by
sending every f : a ⟶ b
to the natural transformation α
defined as: α(U) = f : a ⟶ b
if
p₀ ∈ U
and the unique morphism to a terminal object in C
if p₀ ∉ U
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If f : 𝓕.stalk p₀ ⟶ c
, then a natural transformation 𝓕 ⟶ skyscraperPresheaf p₀ c
can be
defined by: 𝓕.germ p₀ ≫ f : 𝓕(U) ⟶ c
if p₀ ∈ U
and the unique morphism to a terminal object
if p₀ ∉ U
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If f : 𝓕 ⟶ skyscraperPresheaf p₀ c
is a natural transformation, then there is a morphism
𝓕.stalk p₀ ⟶ c
defined as the morphism from colimit to cocone at c
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The unit in Presheaf.stalkFunctor ⊣ skyscraperPresheafFunctor
Equations
- One or more equations did not get rendered due to their size.
Instances For
The counit in Presheaf.stalkFunctor ⊣ skyscraperPresheafFunctor
Equations
- StalkSkyscraperPresheafAdjunctionAuxs.counit p₀ = CategoryTheory.NatTrans.mk fun (c : C) => (skyscraperPresheafStalkOfSpecializes p₀ c (_ : p₀ ⤳ p₀)).hom
Instances For
skyscraperPresheafFunctor
is the right adjoint of Presheaf.stalkFunctor
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- instIsLeftAdjointPresheafInstCategoryPresheafStalkFunctor p₀ = { right := skyscraperPresheafFunctor p₀, adj := skyscraperPresheafStalkAdjunction p₀ }
Taking stalks of a sheaf is the left adjoint functor to skyscraperSheafFunctor
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.