Loading [MathJax]/jax/output/CommonHTML/jax.js

User Tools

Site Tools


notes:sheaf

Sheaf semantics on topological spaces

1. Introduction

In this short note, I provide a tutorial on sheaf semantics, aiming to invalidate the dichotomy of real numbers on the unit interval (0,1): (0,1)x:R.x0x0 while validating it on the discrete topology of the booleans {0,1}: {0,1}x:R.x0x0. As a general statement, we show that the law of excluded middle (LEM) holds on a topological space if and only if the space is locally indiscrete.

But what does it mean for a mathematical principle to hold or fail on a topological space, such as an interval or the booleans? This note answers this question by introducing the concept of topoi of sheaves in topological spaces. Sheaf semantics in these topoi then allows us to interpret mathematical statements on topological spaces.

I have tried to explain everything starting from the basics of sheaves over topological spaces, rather than using Grothendieck topologies. I hope this note helps those who feel somewhat overwhelmed by the abstract mathematics typically encountered in presentations of the general theory of Grothendieck topoi.

This note is essentially an excerpt and a rephrasing of “Sheaves in Geometry and Logic” by Saunders Mac Lane and Ieke Moerdijk. It does not include many interesting results or proofs. Readers interested in this topic are strongly encouraged to refer to the book.

2. Preliminaries

I assume that the readers are familiar with the basic concepts of category theory and topology. If any reader feels that this note demands more than that, please complain to the author so that this note can be improved.

For each topological space X, we write O(X) to denote the category of opens: the objects are the open sets of X and UV if and only if UV. Between two objects, there is at most one morphism.

3. Presheaves and sheaves

For a topological space X, a presheaf P on X is a contravariant functor P:O(X)opSet. That means

  1. for each open UX, there is a set PU, and
  2. for each inclusion of opens UV, there is a mapping P(UV):PVPU satisfying (a) P(UU) is the identity map, and (b) P(UW)=P(UV)P(VW) for each UVW.

For any tPV, we write t|U to denote P(UV)(t) that conveys the intuitive meaning of presheaves. For each open subset U, we attach a set of data PU. From a datum t that is defined in tPU, we can restrict the datum t|V locally at VU. Requirement (b) means that the restrictions are consistent: (t|V)|U=t|U.

These are some examples of presheaves:

  • A trivial example of presheaf is the constant presheaf associated with a set S that maps each open to the constant set S where the restrictions are defined by identity.
  • The Yoneda embedding y in each open U defines a presheaf such that yUV={VU} and yU(VT) defined uniquely.

For any topological space X, collecting presheaves and natural transformations (seeing presheaves as functors) between them forms a category called PSh(X). In other words, a presheaf morphism μ:PQ from a presheaf P to another presheaf Q is a mapping indexed with each open UX such that μU:PUQU and μU(t|U)=μV(t)|U for each UV and tPV.

A presheaf is called a sheaf if it further satisfies:

  1. for each open U and its open covering U=iIUi, the restriction map e:PUiPUi defined by e(t)=(t|Ui)i is an equalizer

PUeiPUipqj,kP(UjUk)

where p((ti)i)=(tj|UjUk)j,k and q((ti)i)=(tk|UjUk)j,k.

The requirement says that a global defined datum at U when it is localized to the open cover Ui, is compatible in the overlaps (intersections). Furthermore, the universal property of the equalizer says that the original global datum is a unique one that can be collated from the local data defined compatibly over the cover.

An important property of a sheaf is that it on the empty set is always a singleton set. For any sheaf F in a topological space X, considering the empty set that is trivially open, we can choose its empty covering I=. Since the empty product is a singleton set, for the two mappings p,q:{}{}, their equalizer e must be the unique map from a singleton set {}.

Due to the property, constant presheaves in general fail to be sheaves. In fact, we need a more clever way to construct trivial sheaves from sets. For each set S, the constant sheaf associated with S is a sheaf Δ(S) that for each open U assigns the set of continuous functions from U to the discrete space of S (that is, locally constant functions to S.) In the next section, this modification to make a sheaf is not ad hoc but is indeed optimal and universal.

Another very important sheaf is that of continuous real functions. For each open U, define CRU={f:URf is cont.} and f|V be the usual domain restriction. The additional sheaf axiom says that when we have continuous functions defined locally at each open of an open cover, when they agree on the intersections, we can glue them together to obtain one global real function. Hopefully, this example explains enough of the meaning of the additional requirement.

4. Sheafification

By definition, every sheaf is a presheaf meaning that there is a trivial inclusion functor Sh(X)PSh(X). Here, Sh(X) denotes the category of sheaves on X with presheave morphisms. What about the other direction? Above, we have noticed that not all presheaves are sheaves. However, there is no reason to be disappointed because there is a canonical way to make a presheaf into a sheaf, namely sheafification.

A bundle over a topological space X is a continuous mapping p:YX where for each xX, the set p1({x}) can be seen as the fiber at x. For a bundle p:YX and an open subset UX, write ΓpU={s:UYs is continousps=id} for the set of cross-sections. Defining Γp(UV) to be (s:VY)|U:UY the domain restriction, Γp defines a presheaf on X. We can easily verify that Γp is a sheaf.

Having known that any bundle yields a sheaf, we turn a presheaf P on X into a bundle over X. For each point xX and its open neighbourhoods U,V and local data uP(U),vP(V), define (U,u)(V,v) by the existence of an open neighbourhood W of x such that WUV and u|W=v|W. Note that this binary relation is an equivalence relation and we quotient the set of local data: stalkx={(U,u)xU open and uP(U)}/ and say stalk at x. In other words, the stalk at x consists of local data that never coincide locally near x.

Define the entire space Λ=xstalkx and its first projection p:ΛX. We make this p a bundle by giving a suitable topology on Λ that makes both p and the base section map su:UΛ:=x(x,(U,u)stalkx) for any U and uPU continuous for each U and uPU taking su(U) to be a basic open. Leaving it as an exercise to prove that this topology works, we conclude that ΓΛP is the sheafification of P and write aP.

For a set S, consider the constant presheaf associated with S. We have (U,u)(V,v) iff u=v. Hence, stalkxS and ΛX×S. For each open U and uS=P(U), the base section is su:x(x,u) for any xU. Hence, the base open is su(U)=U×{u} which makes the topology on Λ have the discrete topology on its second component S. Therefore, any cross-section s:UX×S is essentially a continuous function from U to S with the discrete topology (aka locally constant function). In other words, the sheafification of the constant presheaf is the constant sheaf.

There are some more things to say about sheafification. For a presheaf P and its sheafification aP, the base sections serve as a way to restrict each uPU into suaPU. In fact, in the category of presheaves, η:PaP is a natural transformation where ηU:usu. The sanity check of the sheafification follows from that (1) η is an isomorphism when P was already a sheaf and that (2) for any presheaf P and a sheaf F such that there is a presheaf morphism γ:PF, there is a unique presheaf morphism u:aP that makes γ=uη. In other words, in some sense, aP is the most optimal sheaf that embodies P. We leave it as an exercise to verify that this sheafification as a functor a:PSh(X)Sh is the left adjoint to the inclusion functor.

5. Topos of sheaves

The category Sh(X) is a topos meaning that it

  1. has all finite limits,
  2. is cartesian closed, and
  3. has a subobject classifier Ω.

The small limits in Sh(X) are those of PSh(X) which are the limits in Set(X) constructed pointwise in each open U. For example, a terminal sheaf 1 is a sheaf that assigns a singleton set to each open. For two sheaves F and G, the product is the sheave that assigns FU×GU for each open U.

For two sheaves F and G, the exponent GF is a sheaf where GFU=SetOop(yU×F,G) that for each U attaches the set of natural transformations μ such that for each VU, μV:FVGV. The restriction is defined naturally. Of course, proving that this presheaf indeed is a sheaf and further is an exponent is not trivial.

A sheaf morphism μ:FG is a mono if and only if μU:FUGU is injective for all open U. (However, the statement fails for epi and surjectivity.) There is more to say about the subsheaves. For a presheaf mono μ:FG when G is a sheaf, the mono becomes a sheaf mono if and only if for any open U and uGU, and an open covering {Ui}iI, the locality condition holds: uμU(FU)iffu|UiμUi(FUi) for all iI.

The subobject classifier Ω is a sheaf that maps each U to the set of opens included in U whose restriction is defined naturally by S|U=SU. The true morphism true:1Ω selects the maximum opens trueU()=UΩU. As it can be easily seen and could be guessed, Sh(X) is a topos where the number of truth values can be more than just 2. Roughly speaking, at each local universe U, there are as many truths as the number of open subsets of U.

Given a sheaf mono m:MF, the corresponding characteristic sheaf morphism is then χ:FΩ such that χU:(uFU)u|VmV(MV)VΩU. Since the pullback of the corresponding topos diagram MF!χ1trueΩ is also constructed pointwise, we can check that at U, the set-theoretic pullback {(u,)FU×{}u|VmV(MV)V=U} is (isomorphic to) MU due to the aforementioned locality characteristic of sheaf monos.

Now, we define the logical operators. Since any 1F is mono, consider the mono true,true:1Ω×Ω. The conjunction :Ω×ΩΩ is defined by the characteristic sheaf morphism which we can easily check U:ΩU×ΩU(V1,V2)V1V2ΩU. Not so similarly, but the topos disjunction in sheaves becomes U:ΩU×ΩU(V1,V2)V1V2ΩU as one could easily guess. A difference from the classical connectivity is the negation: ¬U:ΩUV{WΩUWU=}ΩU. Namely, ¬U maps V to its largest open set in U in the complement of V. Therefore, ¬¬UV=V will not hold in general. More interestingly, for VU¬UVtrueU in general.

Leaving verifying other requirements as an exercise, we put a remark here that a topos of sheaves has all small limits not restricted to finite ones.

6. The Mitchell-Bénabou language

is an internal language (type theory) of a topos where each type denotes an object and a term denotes a general point of the corresponding object of the type of the term. For example, each variable x of type τ denotes the identity morphism x:ττ. Without distinguishing types and formulae, terms of type Ω are called formulae. Logical operations are defined using the standard operations on truth values. For example, when ϕ:AΩ and ϕ:BΩ are formulae, the conjunction is defined as ϕψ:(A×B)Ω by post-composing :Ω×ΩΩ on ϕ,ψ:(A×B)Ω×Ω. The quantifiers are defined in a more sophisticated way using internal adjoints, which we will not deal with here.

An equality of two terms f,g of type τ is defined by δτf,g where δτ is the characteristic morphism of idτ,idτ:ττ×τ. For a category of sheaves, the characteristic map δF becomes (δF)U:FU×FU(v1,v2){VUv1|V=v2|V}.

7. Sheaf semantics and forcing

There is Kripke-Joyal semantics for the Mitchell-Bénabou language in a topos. However, we do not deal with it for an arbitrary topos but a Sh(X). For a topos of sheaves, Kripke-Joyal semantics takes a more explicit form, which is called the sheaf semantics, which resembles more the original semantics of S. A. Kripke.

For a topological space X, consider a formula ϕ(x) with a free variable x of type (sheaf) F in the Mitchell-Bénabou language of Sh(X), hence is a sheaf morphism ϕ:FΩ. For a open U and uFU, the relation of U forcing ϕ(u) is defined recursively as:

  • Uϕ(u)ψ(u) iff Uϕ(u) and Uψ(u)
  • Uϕ(u)ψ(u) iff there is an open covering {Ui}iI of U such that for each i, Uiϕ(u|Ui) or Uiψ(u|Ui)
  • Uϕ(u)ψ(u) iff for all VU, Vϕ(u|V) implies Vψ(u|V)
  • U¬ϕ(u) iff for all VU, Vϕ(u|V) implies V is empty

When ϕ(x,y) is a formula with free variables x of type F and y of type G, for all uFU,

  • Uyϕ(u,y) iff there is an open covering {Ui}iI of U and viGUi such that Uiϕ(u|Ui,vi) for each iI
  • Uyϕ(u,y) iff for all VU and vGV, Vϕ(u|V,v)

Then, the soundness theorem states Uϕ(u)iffu{xϕ(x)}U.

Let us make a comment on the disjunction. For an open U to force a disjunction ϕ or ψ, it is not that either ϕ or ψ should be chosen for the entire U. We only need to find one open covering where for each open, we can choose differently either ϕ or ψ.

Consider the formula ϕ¬ϕ:ΩΩ where ϕ:ΩΩ is a propositional, Ω-typed variable, in the language of Sh(X). For an open UX, U forces the law of excluded middle (LEM) Uϕ.ϕ¬ϕ if and only if for all open subset VU and WΩV it holds that Vϕ(W)¬ϕ(W); which holds if and only if there is an open covering {Vi}iI of V such that Viϕ(WVi)orVi¬ϕ(WVi). Applying the soundness theorem, we get it equivalent to ViWorViWc. We can conclude that LEM is forced by an open U if and only if for any open VU, its complement in U is open; in other words, LEM at U is completely determined by the lattice structure of the opens of U if it is Boolean.

As a consequence, LEM is invalidated at a unit interval (0,1) but is valid at (and only at) a locally indiscrete topology.

8. Real numbers in a topos of sheaves

Any topos of sheaves Sh(X) have natural number, integer and rational objects that are constant sheaves associated with sets of natural numbers N, integers Z, and rational numbers Q. Hence, a naïve guess for the sheave of real numbers would be the constant sheaf associated with the set of real numbers R which then would have made this note boring.

An obvious choice for the sheaf of real numbers is to define the set of Dedekind cuts. Since we have a rational number object Q=Δ(Q), we can use the Mitchell-Bénabou language to write the predicate for a pair of terms DL,DU of type ΩQ×ΩQ to be a Dedekind cut. It means we can define a sub-object, a subsheaf of ΩQ×ΩQ of real numbers by simply writing R={DL,DUΩQ×ΩQDL,DU is a Dedekind cut}. Skipping all the important calculations and discussions, we can conclude that RCR! In other words, in any category of sheaves, the sheaf of Dedekind real numbers is the sheaf of continuous real functions.

Now, let us consider the dichotomy of real numbers. Assume the unit interval forces it: (0,1)x:R.x0x0 meaning that for any open subset U of the unit interval and any continuous real function f:UR, the forcing Uf0f0. Choose U=(0,1) and f(x)=x0.5. Then the forcing semantics for disjunction implies that there is an open covering {Ui}iI of the unit interval such that for each iI, Uif|Ui0orUif|Ui0 meaning that f(x)0 for all xUiorf(x)0 for all xUi. However, this cannot be true for Ui containing 0.5. Hence, (0,1)x:R.x0x0.

We instead consider the discrete topology on {0,1}. A continuous function f:{0,1}R is essentially (f(0),f(1))R2. Hence, we can choose the open cover ({0},{1}) for any f, and choose if f(0)0 or f(0)0, and if f(1)0 or f(1)0. Hence, {0,1}x:R.x0x0.

notes/sheaf.txt · Last modified: 2024/12/21 00:56 by sewon