You are on page 1of 53

Bachelor Thesis

Applications of sheaves to
intuitionistic logic

Author: Supervisor:
Thomas Blom Dr. J. van Oosten
3915387

January 19, 2016


Acknowledgements
First and foremost I would like to thank dr. J. van Oosten for his patience and his
guidance.
Secondly I would like to thank my girlfriend for distracting me whenever I thought I
didn’t need it, but I actually did need it.

i
Contents
1 Introduction 1

2 Intuitionististic logic 2
2.1 Weak counterexamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Intuitionistic first-order predicate logic . . . . . . . . . . . . . . . . . . . . 3
2.3 Kripke semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Interpreting logic in toposes of sheaves 6


3.1 Some category theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1 Definition of a category . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.2 Functors and natural transformations . . . . . . . . . . . . . . . . . 7
3.1.3 Products in a category . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Toposes of sheaves over a topological space . . . . . . . . . . . . . . . . . . 9
3.2.1 Presheaves over a topological space . . . . . . . . . . . . . . . . . . 9
3.2.2 Sheaves over a topological space . . . . . . . . . . . . . . . . . . . . 10
3.2.3 Products of sheaves . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.4 Subsheaves and the subobject classifier . . . . . . . . . . . . . . . . 12
3.2.5 Exponential and power objects . . . . . . . . . . . . . . . . . . . . 14
3.3 Interpreting intuitionistic logic in a sheaf topos . . . . . . . . . . . . . . . 17
3.3.1 Many-sorted logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.2 Interpreting intuitionistic logic . . . . . . . . . . . . . . . . . . . . . 18
3.3.3 Equivalence relations and quotients . . . . . . . . . . . . . . . . . . 22
3.3.4 Natural numbers object . . . . . . . . . . . . . . . . . . . . . . . . 24

4 Some applications of sheaf toposes 27


4.1 Constructing the continuum in a sheaf topos . . . . . . . . . . . . . . . . . 27
4.1.1 Construction of the rationals . . . . . . . . . . . . . . . . . . . . . . 27
4.1.2 Constructing the Dedekind reals from the rationals . . . . . . . . . 29
4.1.3 Brouwer’s continuity theorem . . . . . . . . . . . . . . . . . . . . . 32
4.1.4 Comparing our model to Dana Scott’s model . . . . . . . . . . . . . 34
4.2 Constructing the reals using Cauchy sequences . . . . . . . . . . . . . . . . 37
4.2.1 The axiom of countable choice in the topos of sheaves over the Baire
space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.2 A topos where RDedekind and RCauchy are not isomorphic . . . . . . 38
4.2.3 A proof that RDedekind ' RCauchy does not imply ACN . . . . . . . . 41

A Appendix: the sheaf B e Ae for topological spaces A, B 43


A.1 The sheaf of functions T × A → B. . . . . . . . . . . . . . . . . . . . . . . 44
A.2 The sheaf RR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A.3 The case where A and B are discrete spaces . . . . . . . . . . . . . . . . . 47

ii
1 Introduction
Intuitionism is a philosophy of mathematics that originates with the work of the mathe-
matician L.E.J. Brouwer. It is a constructive approach to approach to mathematics, which
means that it is, in a sense, weaker than classical mathematics. For example, the interme-
diate value theorem from analysis does not hold in intuitionistic mathematics (see [8]).
A possible way to study intuitionism, is to construct models for intuitionistic logic
inside classical mathematics. An example of such models are the Kripke models defined
in section 2.3. The study of models is called semantics. Such models can also be defined
constructively, as is done for Kripke models in [12, chapter 2, section 5] by Troelstra and
Van Dalen. This thesis will only focus on constructing models inside classical mathematics,
since this allows the use of classical reasoning when researching intuitionistic mathematics.
Sheaves are structures that have their origin in the study of analytic continuation of
functions. Henri Cartan gave a definition of a sheaf in terms of opens of a topological space
at the end of the forties. These sheaves also found their applications in algebraic geometry,
where Grothendieck defined the notion of sheaves over sites, and the topos of sheaves over a
given site, also called a Grothendieck topos. During the sixties, Lawvere and Tierney gave
an axiomatization of elementary toposes, of which Grothendieck toposes are an important
example. The basic idea of Lawvere was that a topos is a ‘universe of sets’. In a topos,
one can interpret (higher-order) logic. [5, Prologue]
The main aim of this thesis is to introduce categories of sheaves over topological spaces,
which we will call sheaf toposes, show how one can interpret logic in such a sheaf topos,
and show some applications of this to the study of intuitionistic logic. We won’t discuss the
most general notion of sheaves, sheaves over sites, since this requires a lot of preliminary
category theory. A treatment of such sheaves can be found in [5].
In chapter 2, we will discuss a bit of intuitionistic logic and briefly discuss Kripke
semantics. In chapter 3, we will study sheaf toposes and show how one can interpret logic
in these toposes, which is similar to the interpretation of logic in Kripke models. The
advantage of sheaves, is that a sheaf topos can be seen as a ‘mathematical universe’. There
are operations which construct new sheaves out of old ones, similar to the way new sets
can be constructed out of existing ones. We can, for example, mimick the construction of
the continuum using Dedekind cuts in a sheaf topos, providing us with an intuitionistic
model of the continuum. In a sheaf topos, it is also possible to interpret higher-order logic,
which makes it possible to study, for example, real-valued functions. In chapter 4, we will
look at some applications of the theory developed in chapter 3. We will construct the
Dedekind reals in a sheaf topos and look at Brouwer’s continuity ‘theorem’, which states
that every total real-valued function is continuous. We will also look at the construction
of the continuum using Cauchy sequences and compare this to the Dedekind reals. In the
appendix we discuss the exponential sheaf, which is defined in section 3.2.5. This discussion
has been put in the appendix to avoid cluttering up the text, though some of the lemmas
proved in the appendix are necessary for the application in chapter 4.
The reader is assumed to have some basic knowledge of topology and (classical) first-
order predicate logic. In particular, the reader is assumed to be familiar with classical
model theory and natural deduction in order to understand chapter 2.

1
2 Intuitionististic logic
Intuitionism can be seen as a constructive approach to mathematics. It is a philosophy ac-
cording to which mathematics deals with mental constructions. That is to say, mathematics
is not about formal manipulation of symbols, neither it is about objects that exist inde-
pendently of us. This means that a mathematical object only exists when a construction
of this object is known. A consequence of this philosophy is that mathematical statements
cannot be assumed to simply be true or false. A statement is true if we know a proof of it,
a statement is false if we can show that assuming the existence of such a proof leads to a
contradiction. [12, chapter 1, section 1.6]
Such a philosophy of mathematics implies that one cannot use ordinary mathematical
logic. For example, in classical mathematics, the law of excluded middle, which is the
statement that a proposition P is either true or false, is taken for granted. In intuitionistic
mathematics, such a principle cannot be accepted, since this would imply that for every
statement we either have a proof that this statement is true, or have a proof that it is false
(i.e. we can show that the assumption that there is a proof for P leads to a contradiction).
For example, if our proposition P is the Goldbach conjecture, then we cannot assume that
P is either true or false, since it has not yet been proved, yet it also has not been disproved
yet. When expressed in propositional logic, this means that the statement

P ∨ ¬P

is not valid. This also means we cannot use the law of excluded middle in a proof, hence a
lot of statements that are valid in classical logic, are not valid in intuitionistic logic.
In the next section, we will look at two so-called ‘weak counterexamples’, which are the
kind of counterexamples L.E.J. Brouwer used to show that the law of excluded middle
should not be valid [8, p.2]. They are called weak counterexamples because they don’t
actually derive a contradiction from the assumption that the law of excluded middle is
valid, but they do show why it’s not valid in intuitionistic mathematics [12, p.11]. We will
then take a look at the intuitionistic version of first-order predicate logic and describe a
kind of semantics for this, called Kripke semantics.

2.1 Weak counterexamples


Define, as on page 3 of [8], the sequence (ak )k∈N by
 −k
 2 0 if k > k0 and k0 is the first
ak = counterexample to Goldbach’s conjecture;
 −k
2 else.

Note that any ak can be calculated in a finite amount of time, so this a constructive
defnition. It is also a Cauchy sequence, so it defines a real number α.
We cannot however (yet) say α = 0 or α > 0, since this would imply either a proof of, or a
counterexample to, the Goldbach conjecture. We also cannot claim α = 0 ∨ α 6= 0 for the
same reason, so we see again that the law of excluded middle is not valid. In the future,
however, we might be able to claim α = 0 or α > 0, if the Goldbach conjecture is either

2
proved or disproved. This counterexample also teaches something about the structure of
the (intuitionistic) continuum. We see that α < 0 ∨ α = 0 ∨ α > 0 is not valid, hence
∀x ∈ R (x < 0 ∨ x = 0 ∨ x > 0) is not valid in the intuitionistic continuum.
In [12, p.13], Troelstra and Van Dalen give a similar example, using Fermat’s last theorem.
They define the formula A(n) by

∀m1 , m2 , m3 , k (m1 + m2 + m3 + k ≤ n → (m1 + 1)k+3 + (m2 + 1)k+3 6= (m3 + 1)k+3 )

and define the real number x via the Cauchy sequence


 −k
 2 0 if k > k0 and k0 is the first
xk = natural number such that A(k) does not hold;
 −k
2 else.

When Constructivism in mathematics [12] was published in 1988, a proof of Fermat’s


last theorem was not known, so from an intuitionistic standpoint, one could not claim
x = 0 ∨ x > 0. These days, a proof for Fermat’s last theorem is known, so there is a
proof for x = 0, in particular there is a proof for x > 0 ∨ x = 0. This illustrates that the
information available at a certain moment can influence whether a statement is true. This
idea can be seen as a motivation for the Kripke semantics which we will define in section
2.3.

2.2 Intuitionistic first-order predicate logic


In (classical) first-order predicate logic, a deductive system consists of a first-order language
L, a collection of sentences in this language called axioms, and rules of inference (also called
natural deduction rules). Using these rules of inference, one formalizes the notion of proof in
mathematics, which can be done through the use of proof trees. In intuitionistic first-order
predicate logic, this is done in the same way. The only difference is that ¬φ is considered
an abbreviation for φ → ⊥ and that, when ⊥ is inferred from ¬φ, one may not conclude φ.
A treatment of this deductive system can be found in [12, chapter 2, section 1]. One can
also find a motivation there on why this system is used to describe intuitionistic reasoning.
If we are given an L-sentence φ and a collection of L-sentences Γ, then we write Γ ` φ if
there exists an intuitionistic proof of φ having only sentences from Γ as assumptions.

2.3 Kripke semantics


If one uses the classical notion of a structure for a first-order language, then classical logic is
valid in this structure. In this section, we will define what a Kripke model is for a first-order
language. They form an interpretation for intuitionistic first-order predicate logic and can
be defined in classical mathematics. They can be motivated by the idea that, whether a
statement P is true at a certain moment, depends on the information available at that
time. The following definitions are based on the ones given in [12, chapter 2, section 5],
although slightly different.
Definition 2.3.1. Let L be a first-order language. A Kripke model for this language L
is a triple K = (K, ≤, D), where (K, ≤) is a non-empty partially ordered set and D is a
function assigning an L-structure D(k) to every element k of K, in such a way that:

3
1. D(k) ⊆ D(k 0 ) if k 0 ≤ k, for all k, k 0 ∈ K.

2. For every n-ary function symbol f , the interpretations fk : D(k)n → D(k) coincide,
so fk (x) = fk0 (x) if k 0 ≤ k and x ∈ D(k).

3. For every n-ary relation symbol R, the interpretations Rk ⊆ D(k)n satisfy Rk ⊆ Rk0
if k 0 ≤ k.

4. For every constant c, the interpretations ck ∈ D(k) satisfy ck = ck0 if k 0 ≤ k.

Note that this slightly differs from the definition usually given, where D(k 0 ) ⊆ D(k)
if k 0 ≤ k (in particular the one given in [12]). The reason we dualized this, is that the
similarities between Kripke semantics and sheaves will then be more visible in section 3.3.
We can think of the k ∈ K as ‘possible moments in time’, where k 0 is a later moment than
k if k 0 < k, and where D(k) is the ‘information’ available at moment k.
We now give an inductive interpretation for terms:

Definition 2.3.2. Let t be a term with free variables x1 , . . . , xn , let k ∈ K and let
m1 , . . . , mn ∈ D(k). Then define the interpretation tM (m1 , . . . , mn ) in the following way:

1. If t is a constant symbol c, then tM (m1 , . . . , mn ) = ck .

2. If t is of the form f (t1 , . . . , tl ), where f is a l-ary function symbol and t1 , . . . , tl are


terms, then tM (m1 , . . . , mn ) = fk (tM M
1 (m1 , . . . , mn ), . . . , tl (m1 , . . . , mn )).

We now inductively define a relation , called ‘forcing’, between elements of K and


formulas of L. If k φ holds, then we say that k forces φ.

Definition 2.3.3. Let k ∈ K and let φ be an L-formula with free variables x1 , . . . xn and
let m1 , . . . , mn ∈ D(k). We then define:

1. For atomic φ, so φ is of the form ⊥, (t1 = t2 ) or R(t1 , . . . , tl ), we set

k ⊥ never holds
k (t1 = t2 ) iff t1 (m1 , . . . , mn ) = t2 (m1 , . . . , mn )
k R(t1 , . . . , tl )(m1 , . . . , mn ) iff (t1 (m1 , . . . , mn ), . . . , tl (m1 , . . . mn )) ∈ Rk

2. If φ is of the form φ1 ∧ φ2 , then

k φ(m1 , . . . , mn ) iff k φ1 (m1 , . . . , mn ) and k φ2 (m1 , . . . , mn )

3. if φ is of the form φ1 ∨ φ2 , then

k φ(m1 , . . . , mn ) iff k φ1 (m1 , . . . , mn ) or k φ2 (m1 , . . . , mn )

4. If φ is of the form φ1 → φ2 , then k φ(m1 , . . . , mn ) if and only if for every k 0 ≤ k,

if k 0 φ1 (m1 , . . . , mn ), then k 0 φ(m1 , . . . , mn )

4
5. If φ is of the form ¬ψ, then k φ(m1 , . . . , mn ) if and only if for no k 0 ≤ k, k 0
ψ(m1 , . . . , mn )

6. If φ is of the form ∃xψ(x), then k φ(m1 , . . . , mn ) if and only if for some m ∈ D(k),
k ψ(m, m1 , . . . , mn )

7. If φ is of the form ∀xψ(x), then k φ(m1 , . . . , mn ) if and only if for all k 0 ≤ k and
all m ∈ D(k 0 ), k 0 ψ(m, m1 , . . . , mn ).

Note that the definition of k ¬ψ can also be deduced from the definition of k (φ1 →
φ2 ) and the fact that k ⊥ never holds.
Most parts of this definition are quite intuitive, although part 4, 5 and 7 might seem
somewhat strange. If we see elements k ∈ K as moments in time, we can interpret k φ
as ‘φ holds at moment k’ or ‘there exists a proof of φ at moment k’. We can then make
sense of part 4,5 and 7. For φ1 → φ2 to hold, we also want it to hold at later moments, so
we don’t just want that φ1 implies φ2 at moment k, but also at later moments. Similarly,
if ¬φ means that a proof of φ cannot exist, then also at later moments one should not be
able to prove φ. For ∀xψ, we similarly don’t want this to hold at just at moment k, but
also at later moments. An easy consequence of the definition for , is that if k φ, then
k 0 φ for all k 0 ≤ k. If for every k ∈ K, we have k φ, then we write K φ.
If we are given a set of L-sentences Γ, we write K Γ if K ψ for every ψ ∈ Γ, and we
write Γ φ for an L-sentence φ if for every Kripke model K such that K Γ, we have
K φ. We have the following theorem, which allows the use of Kripke models to study
intuitionistic logic:

Theorem 2.3.4 (Soundness theorem). Let Γ be a set of L-sentences. Then Γ φ if


Γ ` φ.

A proof of this can be found in [12, chapter 2, section 5]. One can in fact also prove
the converse if the interpretation of equality in a Kripke model is slightly changed, a proof
of this can be found in section 6 of chapter 2 of [12].

5
3 Interpreting logic in toposes of sheaves
In this section we will take a quick look at what a category is. We will then study a
special kind of category, the category of sheaves over a topological space. Categories of
this kind are an example of toposes, categories with a certain structure that allows for the
interpretation of higher-order intuitionistic logic. We will only study these kind of toposes,
because a full treatment of topos theory is far beyond the scope of this thesis. We only
study toposes of sheaves over a topological space, since this makes the theory a lot easier
and we don’t need other kinds of toposes for our applications in chapter 4. From now on,
we will simply refer to a topos of sheaves over a topological space as a sheaf topos. Section
3.1 is based on the first three chapters of [7]. Section 3.2 is based on the first two chapters
of [6] and §7 of [3], where I have tried to rewrite and simplify definitions to the context of
sheaves of topological spaces, instead of sheaves over sites or complete Heyting algebra’s.
Section 3.3 is based on chapters 4 and 7 of [7], chapters 1 and 2 of [6] and §5 and §7 of [3].

3.1 Some category theory


In order to understand something about toposes of sheaves over a topological space, we
will first need a little category theory, which we will cover in this section.

3.1.1 Definition of a category


A category C consists of two classes C0 and C1 of objects and arrows respectively, having
the following structure:

1. Every arrow has a ‘domain’ and a ‘codomain’. This means that there are two op-
erations dom and cod, which assign an object to every arrow. If we are given an
f ∈ C1 , this is often written as f : X → Y , where X, Y ∈ C0 are the domain and the
codomain of f respectively.

2. Given two arrows f, g where cod(f ) = dom(g), there exists a composition gf :


dom(f ) → cod(g). So if f : X → Y and g : Y → Z, there exists a composition
gf : X → Z.

3. This composition is associative. So if we are given f, g, h which can be composed,


then h(gf ) = (hg)f .

4. For every object X, there exists an identity arrow idX : X → X, such that for any f
with domain X, we have f idX = f and for any g with codomain X, we have idX g = g.

Categories exist everywhere in mathematics. One can, for example, consider the category of
sets, whose objects are sets and whose arrows are functions. Note that for almost any kind
of mathematical structure, we get objects and certain morphisms between these objects.
Examples are groups and homomorphisms, topological spaces and continuous maps and
posets and monotone maps. All these structures give rise to a category. We can, for
example, consider the category of groups, where the objects are groups and the arrows are
homomorphisms. Later, we will consider the category of sheaves over a topological space,
where the arrows are sheaf morphisms.

6
There is one other type of category that will be important later, the category of opens of
a topological space. Let T be a topological space. We define the category of opens T by
setting T0 to be the opens of T . There is a unique arrow U → V if and only if U ⊆ V . The
composition of two arrows U → V and V → W is simply defined to be the arrow U → W .
If we are given an arrow f : C → C 0 in a category C, then we say that f is an
isomorphism is there exists an arrow g : C 0 → C such that gf = idC and f g = idC 0 . In
the category of sets, these are simply bijections between sets. In the category of groups,
these are the isomorphism as they are usually defined in group theory. In the category of
topological spaces, these are homeomorphisms. If there exists an isomorphism f : C → C 0
in C, then we call C and C 0 isomorphic. Isomorphic objects are, in a sense, the same: they
satisfy the same categorical properties.

3.1.2 Functors and natural transformations


Definition 3.1.1. Let C and D be categories. A functor F : C → D is an operation which
assigns an object F (X) ∈ D0 to every X ∈ C0 and an arrow F (f ) ∈ D1 to every arrow
f ∈ C1 . For every arrow f : X → Y , it has to satisfy F (f ) : F (X) → F (Y ), and if we are
given two arrows f : X → Y and g : Y → Z, then it has to satisfy F (gf ) = F (g)F (f ).
Furthermore, F (idX ) = idF (X) for each X ∈ C0 .

An example of a functor is the forgetful functor U : Grp → Set, where Grp is the
category of groups and Set is the category of sets. It sends a group (G, ·) to its underlying
set G and homomorphisms are sent to the corresponding function. It forgets, in a sense,
the group structure. A similar functor can be defined for any mathematical structure with
an underlying set structure and arrows which are functions between these sets, so there
also is a forgetful functor on the category of topological spaces or posets.
If we are given two functors F, G : C → D, we can define what a natural transformation
µ : F → G is.

Definition 3.1.2. A natural transformation µ : F → G is a collection of arrows (µC :


F (C) → G(C))C∈C0 in D, indexed by the objects in C, such that the following diagram
commutes
µC
F (C) G(C)
F (f ) G(f )

F (C 0 ) µC 0 G(C 0 )

for every arrow f : C → C 0 in C.

We won’t look at examples of natural transformations here, since it will only complicate
things at this point, but we will see examples when we start discussing sheaves.
It is easy to see that if we have two natural transformations µ : F → G and ν : G → H, we
can define a natural transformation νµ which consists of the arrows (νC µC )C∈C0 . If we are
given two categories C and D, we can define the category DC whose objects are functors
F : C → D and whose arrows are natural transformations between functors. When we
start discussing presheaves, we will see an example of such a category.

7
3.1.3 Products in a category
Let C be a category. If we are given a collection of objects (Ci )i∈I , we can define what a
product of (Ci )i∈I in the category C is.
Definition 3.1.3. We define a product of (Ci )i∈I to be an object D together with a collec-
tion of arrows πi : D → Ci for all i ∈ I satisfying the following property: if we are given an
object D0 and a collection of arrows pi : D0 → Ci for all i ∈ I, then there exists a unique
arrow σ : D0 → D such that pi = πi σ for all i ∈ I. So σ is the unique arrow such that the
diagram
D0 σ D
πi
pi

Ci
commutes for every i ∈ I. The maps πi are usually called projections and the map σ is
called the product of the maps pi .
A collection (Ci )i∈I does not need to have a product and if a product exists, there
usually exist several (isomorphic) products. We have the following lemma:
Lemma 3.1.4. Let (Ci )i∈I be a collection of objects in C and assume D together with the
projections πi is a product of (Ci )i∈I . Then D0 ∈ C0 is a product of (Ci )i∈I if and only if
D0 is isomorphic to D.
Proof. First assume we are given a D0 ∈ C and an isomorphism φ : D0 → D. Then the
object D0 together with the maps πi φ is a product of (Ci )i∈I .
Now assume we are given a product D0 ∈ C with projections πi0 . Since both D and D0
with the projections πi and πi0 are a product, we get two unique maps σ : D0 → D and
σ 0 : D → D0 such that πi0 = πi σ and πi = πi0 σ 0 for all i ∈ I. We claim that these maps are
inverse to each other. Note that πi = πi σσ 0 and πi0 = πi0 σ 0 σ for all i. By definition of a
product, the maps σσ 0 and σσ 0 are the unique maps having this property, hence σσ 0 = idD
and σ 0 σ = idD0 . 
In Set, a product of a collection (Ci )i∈I , where I is a set, always exists. We can take
the usual product of sets Πi∈I Ci with the usual projection maps as our product. It is easy
to check that this satisfies the definition of a product in a category: assume an object D0
with maps pi : D0 → Ci is given. Then define σ : D0 → D to be the product of the maps
pi , so if x ∈ D0 , then σ(x) = (pi (x))i∈I . If I is a finite set {1, ..., n}, then this is simply the
map x 7→ (p1 (x), ..., pn (x)).
There is a special kind of product, the ‘empty’ product, where the index set I is simply
empty. If we read the definition carefully, it is clear that an ‘empty’ product is an object
D ∈ C such that there exists exactly one arrow f : C → D for every object C. An object
satisfying this property is called a terminal object. There can also be similar object, which
we call the initial object:
Definition 3.1.5. Let C be a category. An object C in C is called a terminal object if for
every object C 0 , there exists exactly one arrow f : C 0 → C. An object C is called an initial
object if for every object C 0 , there exists exactly one arrow f : C → C 0 .
In Set, the empty set is the (unique) initial object and the terminal objects are the
singletons.

8
3.2 Toposes of sheaves over a topological space
In this section, we will define, for a given topological space T , the topos of sheaves over
this space, which we denote by Shv(T ). We will then study the structure of this topos a
bit, enough to be able to interpret logic in this topos in section 3.3.

3.2.1 Presheaves over a topological space


As seen above, if we have a topological space T , we can consider the category T of opens
of this space, where there is an arrow U → V if and only if U ⊆ V . We can also dualize
this category by saying that there is an arrow U → V if and only if V ⊆ U . This category
will be denoted by T op . We will now define what a presheaf over a topological space is.

Definition 3.2.1. Let T be a topological space. A presheaf F over T is a functor F :


op
T op → Set. The category of presheaves over T is the category SetT , whose objects
are presheaves and whose arrows are natural transformations. We will call these arrows
presheaf morphisms, or simply morphisms, from now on.

When discussing presheaves, we usually assume a topological space T is given.


This definition might seem somewhat abstract, so we will take a look at what presheaves
are and then consider some examples. A presheaf F over T consists of a set F (U ) for every
open U ⊆ T and a map F (U ⊆ V ) : F (V ) → F (U ) for every pair U ⊆ V of opens. The
elements of F (U ) are called sections (over U ) and the elements of F (T ) are sometimes
called global sections. If we are given x ∈ F (U ) and V ⊆ U open, then we will denote
F (U ⊆ V )(x) by x  V . These maps are called restrictions. Since a functor F : T op → Set
has to preserve composition of arrows in T op , we see that for any opens W ⊆ V ⊆ U and
any x ∈ U , the following holds:

(x  V )  W = x  W. (1)

Since a functor has to preserve the identity, we see that

x  U = x if x ∈ F (U ) (2)

for any open U ⊆ T . We therefore see that a presheaf is actually a collection of sets F (U )
indexed by the opens U ⊆ T together with a collection of functions (·)  V : F (U ) → F (V ),
for every pair of opens V ⊆ U , which satisfy equalities (1) and (2).
A presheaf morphism φ is a natural transformation between two presheaves F and G. This
means that a presheaf morphism is a collection of maps φU : F (U ) → G(U ) such that,
for V ⊆ U , the equation φU (x)  V = φV (x  V ) holds for all x ∈ F (U ). We will often
omit subscripts for presheaf morphisms, since it is usually clear from the context what the
subscript should be.
Two examples of presheaves are the empty presheaf 0, where 0(U ) = ∅ for all U and
the presheaf 1 where every 1(U ) = {∗} is a singleton set. It is easy to see that the first
presheaf is an initial object and the second one a terminal object. A morphism from 0 to
a presheaf F always consists of empty maps ∅ → F (U ), while a morphism from F to 1
always consists of maps that send every element of F (U ) to the element ∗. If φ : 1 → F is
a morphism, then it simply picks a global section, since if φT (∗) = x, then φU (∗) = x  U

9
is fully determined by x. So there is a 1-1 correspondence between morphisms φ : 1 → F
and global sections of F .
Another example of a presheaf is Ω, which is defined by Ω(U ) = {V ⊆ U | V is open} and
where, for V, W ⊆ U open, V  W = V ∩ W .
For any topological space X, we get the presheaf X e over T of continuous maps to X. The
sections are defined by
e ) = {f : U → X | f is continuous}
X(U

and the restrictions are defined by f  V = f |V , so ordinary function restriction. If we


are given another topological space Y and a continuous map f : X → Y , then we get a
morphism fe : Xe → Ye defined by
feU (g) = f ◦ g.
It is quite easy to see that (·)
f is in fact a functor from the category Top of topological
spaces to the category of presheaves over T .
We can make this a little more general. If we are given a map f : X × T → Y , we can also
define a morphism fe : Xe → Ye , by setting

fe(g)(x) = f (g(x), x).

In chapter 4 and the appendix, these presheaves and morphisms are important.
Lastly, if we are given a presheaf F , we can define, for any open U ⊆ T , the presheaf F  U
by 
F (V ) if V ⊆ U
(F  U )(V ) =
∅ otherwise.
This can be seen as a restriction of the presheaf F to the open U ⊆ T . The reason we
use this notation will become clear when we start to discuss power objects in section 3.2.5.
Note that this ‘restriction’ to U ⊆ T is in fact a functor from the category of presheaves
over T to the category of presheaves over U . If we are given a morphism f : F → G, then
we can define a morphism f  U : F  U → G  U by defining (f  U )V = fV if V ⊆ U ,
and (f  U )V is the empty function otherwise.

3.2.2 Sheaves over a topological space


A sheaf is a special kind of presheaf. Before we can define what a sheaf is, we need some
extra definitions.

Definition 3.2.2. Let F be a presheaf. Let U ⊆ T be open and assume U = {Ui }i∈I is a
cover of U , i.e. ∪i Ui = U . A compatible family (xi )i∈I with respect to U is a collection of
sections xi ∈ F (Ui ) which are ‘pairwise compatible’, i.e. xi  (Ui ∩ Uj ) = xj  (Ui ∩ Uj ) for
all i, j ∈ I.

Definition 3.2.3. Let F be a presheaf, U ⊆ T open and let (xi )i∈I be a compatible family
with respect to a cover {Ui }i∈I of U . We call a section x ∈ F (U ) an amalgamation of
(xi )i∈I if, for any i ∈ I, we have x  Ui = xi .

10
If we consider the presheaf X
e for some topological space X, then a compatible family
with respect to some cover U of U ⊆ T is a collection of continuous maps fi : Ui → X. It
is clear that a compatible family, in this case, has exactly one amalgamation, namely the
function f defined by
f (x) = fi (x) if x ∈ Ui .
The existence of such a unique amalgamation is exactly what defines a sheaf.

Definition 3.2.4. A presheaf F is a sheaf if, for any U ⊆ T , every compatible family
has exactly one amalgamation.
W If we are given a compatible family (xi )i∈I , we denote its
amalgamation by xi . The category of sheaves, denoted by Shv(T ), is the category which
has sheaves over T as objects and presheaf morphisms as arrows, which from now on will
be called sheaf morphisms or simply morphisms.

We will from now on call a category of sheaves a sheaf topos. As we just saw, all
presheaves of the form Xe for some topological space X are sheaves. In fact, all examples
of presheaves we saw above are sheaves, except for 0.
There are two possible reasons why a presheaf might not be a sheaf. The first is that some
amalgamations might not exist and the second reason is that they might not be unique
(or, of course, a combination of both). In the case of 0, the first is what goes wrong. This
might sound strange at first, since it looks like there are no compatible families. The empty
set is a cover of ∅ ⊆ T though, so there exists exactly one compatible family, namely the
empty compatible family (with respect to the empty cover of ∅). This implies that the set
0(∅) should have exactly one element. This is something that holds for any sheaf F , the set
F (∅) should always have exactly one element. A consequencence of this is that the sheaf
F defined by F (∅) = {∗} and F (U ) = ∅ otherwise, is an initial object in the category of
sheaves.
It might sound strange that sheaf morphisms are the same as presheaf morphisms. A sheaf
can be seen asWa presheaf with an additional property (see definition 3.2.4) which induces
an operation on compatible families. One would expect a sheaf morphism to commute
with this operation. Luckily, we have the following lemma.

Lemma 3.2.5. Let F, G be sheaves and let φ : FW→ G be W a presheaf morphism. If (xi )i∈I
is a compatible family in F for U ⊆ T , then φU ( xi ) = φUi (xi ).

Proof. If (xi )i∈I is a compatible family, then so is (φUi (xi ))i∈I . This
W is a direct consequence
of the naturality W of φ. Hence, there exists a unique amalgamation φUi (xi ). All we need to
show is that φU ( xi ) is an amalgamation of (φUi (xi ))i∈I . This follows from the naturality
of φ, since for all j ∈ I we have
_  _ 
φU xi  Uj = φUj xi  Uj = φUj (xj ).


Before we go on, we will prove the following lemma:

Lemma 3.2.6. Let F and G be (pre)sheaves and φ : F → G a morphism. Then φ is an


isomorphism if and only if all the maps φU : F (U ) → G(U ) are bijections.

11
Proof. First assume φ is an isomorphism and let ψ be its inverse. Then ψφ = idF and
φψ = idG , in particular ψU φU = idF (U ) and φU ψU = idG(U ) , hence all maps φU are bijections.
Now assume all maps φU are bijections. We define ψ : G → F by ψU = φ−1 U . To show
that ψ is a morphism, we need to show that it’s natural. Let V ⊆ U ⊆ T open and let
x ∈ G(U ). Note that x = φ(y) for some y ∈ F (U ). We see that

ψU (x)  V = φ−1 −1 −1
U (φU (y))  V = y  V = φV (φV (y  V )) = φV (φU (y)  V ) = ψV (x  V ),

so the naturality of ψ follows from the naturality of φ. Since they are clearly inverse to
each other, we conclude that φ is an isomorphism. 

3.2.3 Products of sheaves


In the following sections, we will study the structure of a sheaf topos, so that we will be
able to interpret intuitionistic logic in a sheaf topos in section 3.3.
If we are given two sheaves F and G, we define their product F × G by

(F × G)(U ) = F (U ) × G(U ) and (x, y)  V = (x  V, y  V ).

We also get two projection morphisms π1 : F × G → F and π2 : F × G → G, defined by

π1 ((x, y)) = x and π2 ((x, y)) = y

Lemma 3.2.7. The product of two sheaves F × G is also a sheaf, and it is a product of F
and G in Shv(T ) in the categorical sense (see definition 3.1.3).
Proof. It is easy to see that F × G is a sheaf if F and G are sheaves. If ((xi , yi ))i∈I is a
compatible family, then so W areW(xi )i∈I in F and (yi )i∈I in G. The unique amalgamation of
((xi , yi ))i∈I in F × G is ( xi , yi ).
Assume we are given a sheaf H and two morphisms p1 : H → F and p2 : H → G. We
define the morphism σ : H → F × G by σ(x) = (p1 (x), p2 (x)). It is easy to see that this is
a morphism and in fact the only morphism H → F × G such that πi σ = pi for i = 1, 2. 
This proof can be easily extended to arbitrary products Πi∈I Fi , the details are left to
the reader.

3.2.4 Subsheaves and the subobject classifier


Just like we can define subsets of sets, we can also give a definition of subsheaves of a sheaf.
Definition 3.2.8. If we are given a presheaf F , then we call G a subpresheaf of F if
G(U ) ⊆ F (U ) for all open U ⊆ T . If F and G are both sheaves, then we call F a subsheaf
of G.
An interesting question to ask, is which subpresheaves of a sheaf F are in fact a subsheaf.
Assume we are given a sheaf F and a subpresheaf G. If we are given a compatible family
(xi )i∈I in G, then this is also compatible family in F , hence it has a unique amalgamation.
Therefore, if (xi )i∈I has an amalgamation in G, it is necessarily unique. Therefore, a
subpresheaf of a sheaf F is a subsheaf if and only if it contains all amalgamations of its
compatible families. This leads us to the following lemma.

12
Lemma 3.2.9. If we are given a sheaf F and a subpresheaf G, then there exists a smallest
subsheaf G of F containing G. Furthermore, if we are given a presheaf morphism φ : G →
H for some sheaf H, then there is a unique extension φ : G → H.
Proof. We define G in the following way:
_
G(U ) = {x ∈ F (U ) | There exists a compatible family (xi )i∈I in G such that xi = x}.

This can be seen as ‘adding the amalagamations to G.’ It is clear that any subsheaf G0
of F containing G, also contains G. Therefore we only need to show that G is a sheaf.
Assume we W are given a compatible family (xi )i∈I in G and let x be the section ofWF such
that x = xi . We need to show that x ∈ G. For any i ∈ I, we can write xi = j∈Ji xi,j
W set K = {(i, j) | i ∈ I, j ∈ Ji }.
for some compatible family (xi,j )j∈Ji in G. Define the index
Then (xi,j )(i,j)∈K is a compatible family in G such that (i,j)∈K xi,j = x, so x ∈ G. We
conclude that G is a sheaf, hence the smallest subsheaf of F containing G.
Assume we are given another sheaf H and a presheaf morphism φ : G W → H. It is easy
to see that an extension φ : G → H has to be unique. If x ∈ G, write x = xi for sections
xi of G. Then φ has to satisfy
_ _
φ(x) = φ(xi ) = φ(xi ), (3)

hence it is fully determined by φ. We therefore define φ : G → H by (3). We need to


show that this is well-defined, so we need to show that the definition does not depend
on our choice of compatible family (xi )i∈I . Let x ∈ G(U ) and let (xi )i∈I and (yj )j∈J be
W families in G with respect to the covers {Ui }i∈I and {Uj }j∈J of U , such that
compatible
W
xi = yj = x. Define the cover {Vij }(i,j)∈I×J by Vij = Ui ∩ Uj . This is a cover over U
and a refinement of both {Ui }i∈I and {Uj }j∈J . Define xij = xi  Vij and yij = yj  Vij .
Then
W (xij )(i,j)∈I×J
W and (yWij )(i,j)∈I×JWare both compatible families. It is easy to see that
φ(xij ) = φ(xi ) and φ(yij ) = φ(yj ), since
_  _  
φ(xi )  Vij = φ(xi )  Ui  Vij = φ(xi )  Vij = φ(xij )

and similarly for yij . We also see that xij = x  Vij = yij , hence
_ _ _ _
φ(xi ) = φ(xij ) = φ(yij ) = φ(yj ).

We therefore see that φ : G → H is well-defined, so there is a unique extension of φ to


G. 
If we are given a sheaf morphism f : F → G and a subsheaf H of G, then we can define
a subsheaf f # (H) of F by setting f # (H)(U ) = f −1 (H(U )). It is easy to see that this is
indeed a sheaf.
The sheaf Ω defined in section 3.2.1 (recall that Ω(U ) is the set of all opens V ⊆ U ) has
a special property with respect to subsheaves. If we are given a sheaf F , then there exists
a natural 1-1 correspondence between morphisms φ : F → Ω and subsheaves of F . By
natural, we mean that it satisfies the following property: if φ : G → Ω corresponds to the
subsheaf H, then φf corresponds to the subsheaf f # (H).

13
Lemma 3.2.10. If we are given a sheaf F , then there is a natural 1-1 correspondence
between morphisms φ : F → Ω and subsheaves of F . For this reason, Ω is called the
subobject classifier.

Proof. Assume we are given a subsheaf G of F . If we are given a section x ∈ F (U ), then


there is a greatest open Vx ⊆ U such that x  Vx ∈ G(Vx ). To see this, let {Vi } be the
collection of opens such that x  Vi ∈ G(Vi ) for W
all i and let Vx = ∪Vi . Then {Vi } covers
Vx and (x  Vi ) is a compatible family such that (x  Vi ) = x  Vx . Since G is a sheaf, we
conclude that x  Vx ∈ G(Vx ). We now define a morphism φG : F → Ω by setting

φG (x) = Vx .

Now assume we are given a morphism φ : F → Ω. We define a subsheaf Gφ of F by setting

Gφ (U ) = {x ∈ F (U ) | φ(x) = U }.

To see that this is a sheaf, note that for a compatible family (xi ) in G with respect to a
cover {Ui } of U , we have
_ _ [
φ( xi ) = φ(xi ) = Ui = U.

It is easy to see that these operations are inverse to each other. If G is a subsheaf of F ,
then
GφG (U ) = {x ∈ F (U ) | φG (x) = U } = {x ∈ F (U ) | x ∈ G(U )} = G(U ).
If φ : F → Ω is a morphism, note that if x ∈ F (U ) and φ(x) = V , then V is the largest
open such that x  V ∈ Gφ (V ). We therefore see that φGφ (x) = φ(x) by definition.
To see that this correspondence is natural, let φ : G → Ω correspond the subsheaf H of G
and let f : F → G. We then get a morphism φf : F → Ω. Let x ∈ F (U ). Then φf (x) = U
if and only if f (x) ∈ H(U ), which is by definition the case if and only if x ∈ f # (H)(U ). 

3.2.5 Exponential and power objects


If we are given two sets X and Y , then we can define the set Y X of functions f : X → Y .
A similar thing can be done with sheaves.

Definition 3.2.11. Let F and G be sheaves. We define the exponential sheaf GF by


setting
GF (U ) = {all morphisms φ : F  U → G}
and by letting φ  V simply be the restriction of the morphism φ : F  U → G to F  V ,
as defined at the end of section 3.2.1.

We of course need to show that this is indeed a sheaf.

Lemma 3.2.12. The (pre)sheaf GF from definition 3.2.11 is a sheaf.

14
Proof. This proof is actually an application of lemma 3.2.9. Assume we are given a compat-
ible family (φi )i∈I in GF with respect to a cover {Ui } of U . Then we are given morphisms
φi : F  Ui → G. We can define a subpresheaf H of F by H(V ) = F (V ) if V ⊆ Ui for
some i, and H(V ) = ∅ otherwise. We then get a presheaf morphism φ : H → G defined by
φ(x) = φi (x) if x ∈ F (V ) for some V ⊆ Ui . This is well defined since (φi )i∈I is a compatible
family. It is easy to check that the smallest subsheaf of F containing H is F  U , so by
lemma 3.2.9, there is a unique map φ : F  U → G extending
W φ. Since this map is unique,
we see that (φi )i∈I has a unique amalgamation φ = φi . 
The sheaf GF also comes with a morphism evF,G : GF ×F → G which we call evaluation,
defined by evF,G (φ, x) = φ(x). It has the following property:
Lemma 3.2.13. Given a sheaf H and a map φ : H × F → G, there is a unique map
φe : H → GF making
φ×idF
GF × F
e
H ×F
evF,G (4)
φ
G
commute.
Proof. Assume a map φ : H × F → G is given. We define, for x ∈ H(U ), a morphism
φx : F  U → G by φx (y) = φ(x  V, y) for all sections y ∈ F (V ) for every V ⊆ U . We
then set φ(x)
e = φx .
It is clear that φe makes diagram (4) commute. To see that it is the unique map having this
property, assume ψ : H → GF is a map also making (4) commute. Then let x ∈ H(U ) and
write ψx for ψ(x). To see that ψx = φx , let y ∈ F (V ) for some V ⊆ U open. Then

ψx (y) = ψ(x)(y) = (ψ(x)  V )(y) = ψ(x  V )(y)


= evF,G (ψ × idF )(x  V, y) = φ(x  V, y) = φx (y)

for all y ∈ F (V ), so φ(x)


e = φx = ψ(x) for all x ∈ H(U ), so φe = ψ.

This property is often used as a definition for the exponential object when discussing
category theory in general, giving a definition that is unique up to isomorphism. Since we
are only looking at sheaf toposes, it is easier to give the above direct definition.
The above definition is sometimes hard to work with. In the appendix, we look at the sheaf
Be Ae, where A and B are given topological spaces, and try to find an alternative description
that is easier to work with.
If we are given a set X, then we can define the power set P(X) to be the set of subsets
of X. It is well-known that we can see this set as the set 2X of functions X → {0, 1}.
Given a sheaf F , we can define the power sheaf P(F ) in a similar way.
Definition 3.2.14. Given a sheaf F , we define the power sheaf P(F ) to be the sheaf ΩF .
By the correspondence of lemma 3.2.10 and definition 3.2.11, we see that this corresponds
to the sheaf G defined by

G(U ) = {subsheaves of F  U },

15
where the restriction H  V for some H ∈ G(U ) and V ⊆ U is simply the restriction of the
sheaf H to V , as defined at the end of section 3.2.1.

We will usually use the second version of P(F ). This also comes with a map evF,Ω :
P(F ) × F → Ω. From the 1-1 correspondence of lemma 3.2.10, we see that evF,Ω (G, x) is
the largest open U ⊆ T such that x  U ∈ G(U ). Since the codomain of evF,Ω is Ω, it can
also be seen as a subsheaf of P(F ) × F . We will often, by abuse of notation, denote this
map or subsheaf by ∈.

16
3.3 Interpreting intuitionistic logic in a sheaf topos
In this section, we show how one can interpret intuitionistic logic in a sheaf topos. We will
see that, using exponential and power objects, we can interpret higher-order logic. We will
then show that we can construct quotients in a sheaf topos and we will study the so-called
natural numbers object, which will both be important for the applications in chapter 4.

3.3.1 Many-sorted logic


We will interpret a slightly different kind of logic than the first-order predicate logic defined
in section 2.2. We will look at many-sorted intuitionistic logic. Our language L consists of
the logical symbols =, ∧, ∨, →, ⊥, ∃ and ∀, and above that of:
1. A set of sorts S, T, . . ..

2. A denumerable collection of variables xS1 , xS2 , . . . of sort S for each sort S.

3. A collection of function symbols f : S1 , . . . , Sn → S.

4. A collection of relation symbols R ⊆ S1 , . . . Sm .


Note that ¬φ is an abbreviation of φ → ⊥ and φ ↔ ψ of (φ → ψ) ∧ (ψ → φ). Functions
and relation symbols have a sequence of sorts S1 , . . . Sn as their domain, and each function
has a certain sort S as its target. We treat constants as 0-placed function symbols. We
will now define terms and formulas for this language.
Definition 3.3.1 ([7, p.32-33] and [6, p.11]). Terms of sort S are defined by
1. xS is a term of sort S if xS is a variable of sort S;

2. if t1 , . . . , tn are terms of sorts S1 , . . . , Sn respectively and f : S1 , . . . Sn → S is a


function symbol, then f (t1 , . . . , tn ) is a term of sort S.
Formulas are defined by
1. ⊥ is a formula.

2. if t and s are terms of the same sort, then t = s is a formula.

3. if R ⊆ S1 , . . . , Sn is a relation symbol and t1 , . . . , tn are terms of sorts S1 , . . . , Sn


respectively, then R(t1 , . . . tn ) is a formula.

4. if φ and ψ are formulas, then φ ∧ ψ, φ ∨ ψ, and φ → ψ are formulas.

5. if φ is a formula and x a variable of some sort, then ∃xφ and ∀xφ are formulas.
A deductive system for this langauge is defined in the same way as for intuitionistic
first-order logic, so simply natural deduction for classical logic, where one may not conclude
φ when one infers ⊥ from ¬φ. If one can prove a sentence φ intuitionistically from a set of
sentences Γ, we will write Γ ` φ.
A language with multiple sorts can make it easier to describe certain mathematical objects,
for example, vector spaces. Here, one has a two sorts, namely scalars S and vectors V .

17
There exists a function symbol S × S → S multiplying scalars, and a function symbol
S × V → V multiplying vectors with a scalar, while (in general) there is no function
symbol for multiplication of vectors. There also exists a function symbol for addition of
scalars and one for addition of vectors, but not one adding scalars to vectors.

3.3.2 Interpreting intuitionistic logic


We will now show how one can interpret many-sorted logic in a sheaf topos Shv(T ). We
will first give an interpretation which looks a lot like the interpretation of first-order logic
in a Kripke model. We will then show that we can also assign an open U ⊆ T to every
L-sentence. The opens of T will then act as ‘truth values’ for sentences in the language
L. We first need to define what an interpretation for a many-sorted language L in a sheaf
topos is.
Definition 3.3.2. Let T be a topological space and let L be a many-sorted langauge. An
interpretation of L in Shv(T ) consists of:
1. A sheaf JSK for every sort S.

2. A sheaf morphism Jf K : JS1 K × . . . × JSn K → JSK for every function symbol f :


S1 , . . . , Sn → S.

3. A subsheaf JRK of JS1 K × . . . × JSn K for every relation symbol R ⊆ S1 , . . . , Sn .


Note that the empty product is the terminal sheaf 1, so a 0-placed function symbol c
of sort S is a sheaf morphism JcK : 1 → JSK, or equivalently, a global section of JSK. A
0-placed relation symbol is a subsheaf of 1. It is easily shown that this is of the form 1  U
for some open U ⊆ T , so we can also view its interpretation as an open U ⊆ T . This
follows from the fact that it corresponds to an arrow 1 → Ω by lemma 3.2.10, and the
global sections of Ω are opens U ⊆ T . We will now give an interpretation for terms:
Definition 3.3.3. Let t be a term of sort S with free variables x1 , . . . , xn of sorts S1 , . . . , Sn
respectively. We define the sheaf morphism JtK : JS1 K × . . . × JSn K → JSK by:
1. If t = xS for a variable of sort S, then JtK = idS .

2. If t = f (t1 , . . . , tm ), then we define JtK : JS1 K × . . . × JSn K → JSK by setting

JtK(a1 , . . . , an ) = Jf K(Jt1 K(a1 , . . . , an ), . . . , Jtm K(a1 , . . . , an ))

for any a1 , . . . , an ∈ (JS1 K × . . . × JSn K)(U ) and any open U ⊆ T . If the variable xi
does not occur in term tj for some 1 ≤ i ≤ n and 1 ≤ j ≤ m, then we simply ignore
it. So if only the free variables x2 , . . . , xn occur in t1 , then by Jt1 K(a1 , . . . , an ), we
mean Jt1 K(a2 , . . . , an ).
If φ(x1 , . . . xn ) is a given formula, where x1 , . . . xn are of sort S1 , . . . , Sn respectively, and
a1 , . . . , an is a section of JS1 K×. . .×JSn K, we will define a forcing relation V φ(a1 , . . . , an )
for opens V ⊆ T . This relation is similar to the forcing relation of Kripke semantics from
section 2.3, but there are some subtle differences where the structure of the topological
space T is used.

18
Definition 3.3.4 ([6, p.13 and p.32]). Let a1 , . . . , an ∈ (JS1 K × . . . × JSn K)(U ) and write
a for (a1 , . . . , an ) and a  V for (a1  V, . . . , an  V ). We define the relation U φ(a), by

1. U ⊥ if and only if U = ∅.

2. U (t = s)(a) if and only if JtK(a) = JsK(a).

3. U R(t1 , . . . , tm )(a) if and only if

(Jt1 K(a), . . . , Jtm K(a)) ∈ JRK(U ).

4. U (φ ∧ ψ)(a) if and only if

U φ(a) and U ψ(a).

5. U (φ ∨ ψ)(a) if and only if

{V ⊆ U open | V φ(a  V ) or V ψ(a  V )}

is a cover of U .

6. U (φ → ψ)(a1 , . . . , an ) if and only if for every open V ⊆ U ,

if V φ(a  V ), then V ψ(a  V ).

7. U ¬φ(a) if and only if for no nonempty V ⊆ U , V φ(a  V ).

8. U ∃xS φ(xS , a) if and only if the set

{V ⊆ U open | there exists an a ∈ JSK(V ) such that V φ(a, a  V )}

is a cover of U .

9. U ∀xS φ(xS , a) if and only if for all V ⊆ U and every a ∈ JSK(V ), V φ(a, a  V ).

Note that the definition of U ¬φ is a consequence of the definition of U φ→ψ


and U ⊥. We have the following lemma:

Lemma 3.3.5 ([6, p.33]).

1. If U φ(a1 , . . . , an ), then for any open V ⊆ U , we have V φ(a1  V, . . . , an  V ).

2. If {Ui }i∈I is a cover of U and for every i ∈ I, we have Ui φ(a1  Ui , . . . , an  Ui ),


then
W U φ(a1 , . . . , an ). In particular, if (ai )i∈I is a compatible family, then U
φ( a) if and only if Ui φ(ai ) for every i ∈ I.

19
A proof of this lemma can be obtained by induction on L-formulas and is left to the
reader.
A consequence of lemma 3.3.5 is that we can define, for an L-formula φ with free variables
x1 , . . . , xn of sorts S1 , . . . , Sn , a subsheaf JφK of JS1 K × . . . × JSn K by

JφK(U ) := {(a1 , . . . , an ) ∈ JS1 K × . . . × JSn K | U φ(a1 , . . . , an )}.

If φ has no free variables, then JφK is a subsheaf of 1, which, as we saw above, corresponds
to an open U ⊆ T . We define JφK, for a φ without free variables, to be the greatest open
U ⊆ T such that U φ. Using this interpretation, we can rewrite definition 3.3.4 to the
following equivalent definition, which is based on definition 5.13 in [3, p.365-366]. Here int
denotes the interior operator from topology.
Definition 3.3.6. Let (a1 , . . . , an ) ∈ (JS1 K × . . . × JSn K)(U ) and write a for (a1 , . . . , an )
and a  V for (a1  V, . . . , an  V ). We define Jφ(a1 , . . . , an )K by
1. J⊥K = ∅.

2. J(t = s)(a)K is the greatest open V ⊆ U such that JtK(a) = JsK(a).

3. JR(t1 , . . . , tm )(a)K is the greatest open V ⊆ U such that

(Jt1 K(a  V ), . . . , Jtm K(a  V )) ∈ JRK(V ).

4. J(φ ∧ ψ)(a)K = Jφ(a)K ∩ Jψ(a)K.

5. J(φ ∨ ψ)(a)K = Jφ(a)K ∪ Jψ(a)K.

6. J(φ → ψ)(a)K = int((U \ Jφ(a)K) ∪ Jψ(a)K).

7. J¬φ(a)K = int(U \ Jφ(a)K).

8. [
J∃xS φ(xS , a)K = {Jφ(a, a  V )K | V ⊆ U and a ∈ F (V )}.

9. \ 
S S c
J∀x φ(x , a)K = int {Jφ(a, a  V )K ∪ V | V ⊆ U and a ∈ F (V )} .

For the definition of J∃xS φ(xS , a)K, note that x ∈ J∃xS φ(xS , a)K if and only if, for some
neighborhood Ux of x, there is an a ∈ JSK(Ux ) such that Jφ(a, a  Ux )K = Ux . So we see
that J∃xS φ(xS , a)K = U if and there is some cover {Ui }i∈I of U , such that for every i ∈ I,
there is an a ∈ JSK(Ui ) for which Jφ(a, a  Ui )K = Ui .
For the definition of J∀xS φ(xS , a)K, note that J∀xS φ(xS , a)K = U if and only if for every
V ⊆ U and every a ∈ JSK(V ), we have Jφ(a, a  V )K = V .
It is now an easy exercise to check that

U φ(a) iff U ⊆ Jφ(a)K.

From now on, we will use the J·K-definition, since this is sometimes easier to work with.
The advantage of this notation is that it has also has a meaning if φ contains free variables.

20
If we say that a certain sentence φ holds or if we say that it is true, we mean that JφK = T
or, equivalently, T φ. If Γ is a set of L-sentences and φ is an L-sentence, then Γ φ
means that for any interpretation of L in a sheaf topos, if all sentences in Γ are true, then
φ is true. We have the following theorem:

Theorem 3.3.7 (Soundness theorem). If Γ is a set of L-sentences and φ is an L-


sentence, then Γ φ if Γ ` φ.

From now on, we won’t specify the language we are working with explicitly. If F is a
sheaf and we are quantifying over variables of a sort that is interpreted as the sheaf F , we
will often write ∃x ∈ F or ∀x ∈ F , to avoid confusion.
In section 3.2.5, we defined for a sheaf F the power sheaf P(F ) and for a pair of sheaves
F, G the exponential sheaf GF . They came with a relation ∈ and an evaluation map evF,G .
We see that Ja ∈ AK, for a ∈ F (U ) and A ∈ P(F )(U ), is equal to the greatest V ⊆ U
such that a  V ∈ A(V ). For a term f of a sort interpreted as GF and a term t of a sort
interpreted as F , we get a term evF,G (f, t) of a sort G that is interpreted as Jf K(JtK). By
abuse of notation, we will write f (t) for evF,G (f, t). The power sheaf and exponential sheaf
allow us to interpret higher-order logic in a sheaf topos. (For example, we can quantify
over functions, subsets, functions of functions, etc.) We have the following theorem:

Theorem 3.3.8 (Soundness for higher-order logic, [3, p.380]). The axioms and
inference rules of intuitionistic higher-order logic are valid for standard interpretations in
sheaves.

This means that any statement that can be proven intuitionistically holds in a sheaf
topos.
In the rest of this chapter, we will look at quotients and the natural numbers object.
Quotients of sheaves are similar to quotients in ordinary set theory and we need them in
the next chapter, when we want to construct sheaves modeling the real numbers. A natural
numbers object is an object with some extra structure in a category, which has properties
that are similar to the properties of N in the category of sets. We will show that such
an object exists in a sheaf topos and that it satisfies the (second order) Peano axioms.
This sheaf will also be our starting point when we construct a sheaf that models the real
numbers.
Before we go on, we take a quick look at (easier) ways of how to prove certain statements.
It is easy to see that, to prove J¬φK = T , we only need to show that JφK = ∅. To prove
that Jφ → ψK = T , we need to show that JφK ⊆ JψK, and to show that Jφ ↔ ψK = T , we
need to show that JφK = JψK. For universal quantifiers, there also exist simplifications: if
we were to prove J∀x1 ∈ F1 , . . . , ∀xn ∈ Fn φ(x1 , . . . , xn )K = U directly using definition 3.3.4
or 3.3.6, then it would become quite clumsy, since we need to check something for every
sequence Un ⊆ Un−1 ⊆ . . . ⊆ U1 ⊆ U of opens and all ai ∈ F (Ui ) for all 1 ≤ i ≤ n. Luckily,
it is easy to show that J∀x1 ∈ F1 , . . . , ∀xn ∈ Fn φ(x1 , . . . , xn )K = U if and only if for all
V ⊆ U and all ai ∈ Fi (V ) for every 1 ≤ i ≤ n, we have Jφ(a1 , . . . , an )K = V . Similarly, if
we have to show that J∀x ∈ F (ψ(x) → φ(x))K = U , then it is enough to show that, for
every V ⊆ U and every a ∈ F (V ) such that Jψ(a)K = V , we have Jφ(a)K = V .

21
3.3.3 Equivalence relations and quotients
Like in ordinary mathematics, we define an equivalence relation ∼ on F to be a 2-ary
relation satisfying
1. ∀x ∈ F (x ∼ x)
2. ∀x, y ∈ F (x ∼ y → y ∼ x)
3. ∀x, y, z ∈ F (x ∼ y ∧ y ∼ z → x ∼ z).
When working in a sheaf topos, we see that an equivalence relation on F corresponds to a
subsheaf G of F × F , such that for all U ⊆ T and all sections x, y, z ∈ G(U ):
1. (x, x) ∈ G(U )
2. If (x, y) ∈ G(U ), then (y, x) ∈ G(U )
3. If (x, y), (y, z) ∈ G(U ), then (x, z) ∈ G(U ).
So the equivalence relation ∼ corresponds to a subsheaf G of F × F , such that for every
open U ⊆ T , the subset G(U ) ⊆ F (U ) × F (U ) is an equivalence relation on F (U ) (in the
traditional sense). To avoid confusion, we will denote this equivalence relation by ≈.
Definition 3.3.9. Let F be a sheaf and ∼ an equivalence relation on F . A quotient of F
by ∼ is a sheaf H together with a morphism p : F → H such that

∀x, y ∈ F (p(x) = p(y) ↔ x ∼ y) and ∀x ∈ H ∃y ∈ F (p(y) = x)

hold.
We will first look at what this means for the sheaf H and the map p. The sentence
∀x, y ∈ F (p(x) = p(y) ↔ x ∼ y) holds if and only if Jp(x) = p(y)K = Jx ∼ yK for all
sections x, y ∈ F (U ) for any open U ⊆ T . It is easily shown that this is equivalent to
saying that the morphism p satisfies p(x) = p(y) if and only if x ≈ y for all x, y ∈ F (U ),
for every open U ⊆ T .
The second property of p means that for any open U ⊆ T and any x ∈ H(U ), there exists
a cover {Ui }i∈I of U such that for every i ∈ I, there is a y ∈ F (Ui ) satisfying p(y) = x  Ui .
This does not imply that every pU : F (U ) → G(U ) is surjective, but it does mean that every
section x ∈ G(U ) is the amalgamation of a compatible family (xi )i∈I such that xi = p(yi )
for some yi ∈ F (U ). This leads us to the following lemma.
Lemma 3.3.10. Let F be a sheaf and ∼ be an equivalence relation on F . Then any two
quotients are isomorphic.
Proof. Assume H1 and H2 together with the morphisms p1 : F → H1 and p2 : F → H2
are both quotients of F by ∼. We will show that there is an isomorphism σ making the
diagram
p1
F H1
p σ (5)
2

H2

22
commute. Define subpresheaves H10 and H20 of H1 and H2 respectively by

H10 (U ) = p1 (F (U )) and H20 (U ) = p2 (F (U )).

By the second property of quotients as defined in definition 3.3.9 and the definition of H10
and H20 as in lemma 3.2.9, we see that H10 = H1 and H20 = H2 . By the first property
of definition 3.3.9, we get an isomorphism φ : H10 → H20 , defined in the following way: if
x ∈ H10 , then x = p1 (y) for some y ∈ F . Then let φ(x) = p2 (y). This is clearly well-
defined, for if p1 (y 0 ) = x, then y 0 ≈ y, hence p2 (y 0 ) = p2 (y). To show that it is natural, let
V ⊆ U ⊆ T be opens and let x ∈ H10 (U ). We need to show that φ(x)  V = φ(x  V ).
Let y ∈ F (U ) be such that p1 (y) = x. Then p1 (y  V ) = x  V by naturality of p1 , hence
φ(x  V ) = p2 (y  V ). We now see that

φ(x)  V = p2 (y)  V = p2 (y  V ) = φ(x  V ),

so φ : H10 → H20 is indeed natural, hence a morphism. It is clear that φ is an isomorphism,


since we can define a map ψ : H20 → H10 in exactly the same way, which is inverse to φ. We
also see that p2 = φp1 and p1 = ψp2 , which follows directly from the definition of of φ and
ψ.
The morphisms φ and ψ can be seen as morphisms with codomains H2 and H1 , which are
sheaves. By lemma 3.2.9, there are extensions φ : H1 → H2 and ψ : H2 → H1 . These
morphisms are in fact isomorphisms. To see that ψφ : H1 → H1 is equal to idH1 , we note
that ψφ is an extension of ψφ : H10 → H1 . Since idH1 is also an extension of ψφ = idH10 , we
see by lemma 3.2.9 that ψφ = idH1 . We similarly see that φψ = idH2 , so H1 and H2 are
isomorphic by morphisms making diagram (5) commute. 
We of course want quotients to exist for any equivalence relation. The following lemma
shows that we can construct a quotient as a subsheaf of P(F ), similar to the way we
construct the set of equivalence classes in set theory.
Lemma 3.3.11. Let F be a sheaf and ∼ an equivalence relation on F . Then there exists
a quotient of F by ∼.
Proof. Define the subsheaf G of P(F ) by

X ∈ G ↔ (∃x ∈ F (x ∈ X) ∧ ∀x, y ((x ∈ X → y ∈ X) ↔ x ∼ y)),

so
G = J∃x ∈ F (x ∈ X) ∧ ∀x, y ((x ∈ X → y ∈ X) ↔ x ∼ y)K.
This sheaf will turn out to be a quotient of F/ ∼, with a map p : F → G defined later
on. We will first look at what sections of the sheaf G look like. Let X ∈ G(U ). Then X
is a subsheaf of F  U . By definition, there is a cover {Ui }i∈I of U such that X(Ui ) is not
empty for all i ∈ I. Furthermore, if V ⊆ U is open and X(V ) 6= ∅, then, for any x ∈ X(V ),
we have that y ∈ X(V ) if and only if x ≈ y, so for any open V ⊆ U , X(V ) is either empty
or exactly one equivalence class of F (V ).
For a section x ∈ F (U ), we denote the equivalence class of x under ≈ by [x]. For any
section x ∈ F (U ), we define the subsheaf Xx of F  U by

Xx (V ) = [x  V ] for any open V ⊆ U.

23
The proof that this is in fact a sheaf is left to the reader. Since it is clearly a section of
G, we define p : F → G by p(x) = Xx . The proof that p is a morphism is also left to the
reader.
We will now show that G together with p is a quotient of F by ∼. First, let x, y ∈ F (U )
be sections. Assume that p(x) = p(y). Then y ∈ Xx (U ) = [x], so x ≈ y. Now assume
x ≈ y. We need to show that Xx = Xy , so we need to show that [x  V ] = [y  V ]
for every V ⊆ U open. Since these are equivalence classes, this amounts to showing that
x  V ≈ y  V . This follows directly from the fact that ∼ is a subsheaf of F × F .
Now let X ∈ G(U ). By defininition, there is a cover {Ui }i∈I such that X(Ui ) is not empty
for all i. If y ∈ X(Ui ), then it is easy to see that p(y) = X  Ui . Since {Ui }i∈I covers U ,
we see that ∀X ∈ G ∃y ∈ F (p(y) = X) holds. 
One can also prove that this set is a quotient using intuitionistic logic and the sound-
ness theorem of the previous section. Since quotients always exist and are unique up to
isomorphism, we will from now on, if we are given a sheaf F and an equivalence relation
∼ on F , simply speak of the quotient F/ ∼.

3.3.4 Natural numbers object


A natural numbers object in a category C models, in a sense, the way the object N behaves
in the category of sets. We will give a precise definition of what a natural numbers object
is and show that there always exists one in a sheaf topos.
Definition 3.3.12 ([7, p.69]). Let C be a category with a terminal object 1. A natural
numbers object (NNO) is a triple (0, N, S), where N is an object and 0 : 1 → N and
S : N → N are arrows. These satisfy the property that for any such triple
x f
1 X X

there is a unique φ : N → X making


0 S
1 N N
x
φ φ
f
X X
commute.
The arrow 0 can be seen as the ‘zero element’ of N and S can be seen as the successor
function. In a sheaf topos, the triple (0, e S)
e N, e:1→N
e is a natural numbers object, where 0 e
picks the constant zero map in N e and Se sends the map n : U → N to n + 1 : U → N.

Lemma 3.3.13. In a sheaf topos, the triple (0, e S)


e N, e is a natural numbers object.

Proof. Assume we are given a triple (x, X, f ), where x : 1 → X and f : X → X. We


need to define a map φ : N e → X such that φ(const(0)) = x and f φ = φS. e This in
particular means that, if we are given the constant function const(n) for n ∈ N, then
φ(const(n + 1)) = f φ(const(n)). We see inductively that this implies φ(const(n)) = f n (x),
where f n (x) means that f has been applied n times to x. Denote the subpresheaf of

24
constant functions U → N by N . It is then clear that N = N
e (see lemma 3.2.9), since any
continuous m : U → N can be written as the amalgamation
_
const(n)|Un ,
n∈N

where Un = m−1 (n).


We can define a morphism ψ : N → X by ψ(const(n)) = f n (x). By lemma 3.2.9, we
e → X, so a morphism φ : N
see that there is a unique extension ψ : N e → X satisfying
φ(const(0)) = x and f φ = φSe has to be unique. It is left to the reader to prove that the
morphism ψ : Ne → X defined here indeed satisfies this. 
We can show that this triple in fact satisfies the Peano axioms as given in [11, p. 694]:

1. ∀x, y ∈ N (x = y ↔ S(x) = S(y))

2. ∀x ∈ N ¬(0 = S(x))

3. ∀z ∈ P(N) (0 ∈ z ∧ (∀x ∈ N (x ∈ z → S(x) ∈ z)) → z = N)

We can also show that (0, e N, e S) e is the only triple satisfying these axioms, in the sense
that any other triple (00 , N 0 , S 0 ) satisfying these axioms is isomorphic to (0, e S).
e N, e This
can be proved in intuitionistic logic (see [12, p.165]), so by the soundness theorem this has
to hold in any sheaf topos. We will nevertheless provide a direct proof below, since such a
proof is also a good illustration of how to work with the interpretation of logic in a sheaf
topos.

Lemma 3.3.14. The triple (0, e satisfies the Peano axioms and any other triple (00 , N 0 , S 0 )
e S)
e N,
satisfying these axioms is isomorphic to (0, e S).
e N, e

Proof. To show that (0, e indeed satisfies the first axiom, let n, m ∈ N(U
e S)
e N, e ). If n = m
on some open V ⊆ U , then n(x) + 1 = m(x) + 1 for all x ∈ V , so S(n) = S(m) on V ,
hence Jn = mK ⊆ JS(n) = S(m)K = U . The other direction is similar, so we see that
Jn = m ↔ S(n) = S(m)K = U , hence

J∀x, y ∈ N
e (x = y ↔ S(x) = S(y))K = T.

For the second axiom, let n ∈ N(U e = S(n)K = ∅, since S(n)(x) ≥ 1 for all x ∈ U ,
e ). Then J0
hence S(n) is nowhere zero. Then J¬(0 = S(n))K = U , hence
e

J∀x ∈ N
e ¬(0
e = S(x))K = T.

For the third axiom, let Z be a subsheaf of N


e  U . Assume that

e ∈ Z ∧ (∀x ∈ N
J0 e (x ∈ Z → S(x) ∈ Z))K = U.

e is in Z(U ), and for all V ⊆ U and all n ∈ Z(V ), we have


Then the constant function 0
S(n) ∈ Z(V ). Note that this implies that Z(V ) contains all constant functions for all
V ⊆ U . Since any n ∈ N(V
e ) can be written as an amalgamation of constant functions (see

25
e ) for all V ⊆ U open, so we conclude
the proof of lemma 3.3.13), we see that Z(V ) = N(V
that Z = Ne  U . This proves that

J∀z ∈ P(N) e ∈ z ∧ (∀x ∈ N


e (0 e (x ∈ z → S(x) ∈ z)) → z = N)K
e = T,

so the triple (0, e S)


e N, e satisfies the Peano axioms.
Assume another triple (00 , N 0 , S 0 ) also satisfies these axioms. By lemma 3.3.13, there
exists a morphism φ : N e → N 0 such that φ(const(0)) = 00 and S 0 φ = φS. e To show that
this map is injective, let m, n ∈ N(Ue ) and assume m 6= n. There exists an x ∈ U such
that both m(x) 6= n(x), assume without loss of generality that n(x) < m(x). Since N is
discrete, we can take an open neighborhood Ux ⊆ U of x on which m and n are constant.
Then n|Ux = S i (0|
e Ux ) and m|Ux = S j (0| e Ux ) for some i < j ∈ N>0 . We then see that

φ(n|Ux ) = S 0i (00  Ux ) and φ(m|Ux ) = S 0j (00  Ux ).

If φ(n|Ux ) = φ(m|Ux ), then S 0i (00  Ux ) = S 0j (00  Ux ). By the first axiom, we see that
00  Ux = S 0j−i (00  Ux ), which by the second axiom is impossible if i < j. We therefore
conclude that φ(n) 6= φ(m).
Since all maps φU are injective, φ is an isomorphism between N e and a subsheaf of Z of N 0 .
To show surjectivity, note that 0 ∈ Z(T ) and that Z is closed under S 0 (if x ∈ Z(U ), then
0

S(x) ∈ Z(U )), hence by the third axiom, Z = N 0 , so φ is an isomorphism between N e and
0
N. 
We define <, + and · pointwise on N.
e This means that we interpret the function symbols
+ and · as morphisms N e ×Ne →N e which correspond to pointwise addition and pointwise
multiplication. We define < by setting, for m, n ∈ U,
e

Jm < nK = {x ∈ U |m(x) < n(x)}.

It is easy to check that < is well defined and that these operations satisfy the usual prop-
erties of +, · and < in Peano arithmatic, namely

1. ∀x ∈ N
e (x + 0 = x) and ∀x, y ∈ N
e (x + S(y)
e = S(x
e + y))

2. ∀x ∈ N
e (x · 0 = 0) and ∀x, y ∈ N
e (x · S(y)
e = x + x · y)

3. ∀x, y ∈ N
e (x < y ↔ ∃z ∈ N
e (x + S(z) = y)).

26
4 Some applications of sheaf toposes
In this section we will look at some applications of the theory developed in chapter 3. These
applications will concern intuitionistic logic, and intuitionistic analysis in particular. In this
chapter, we will sometimes consider sheaves over the Baire space. A small introduction
on the Baire space can be found in [4, p.42]. For this thesis, it is not very important to
know what the Baire space is. We only explicitly use two properties, namely that it has
a countable basis of clopen sets and that it is homeomorphic to the space of irrational
numbers [4, p.42].
Section 4.1 is mostly based on the article by Fourman and Scott [3] and the article
by Fourman and Hyland [2]. Theorem 4.1.11 can be seen as a generalization of the proof
Scott gives in [10], and the author has not been able to find an equivalent theorem in the
literature. The author also has not been able to find a theorem similar to theorem 4.2.7 in
the literature. Section 4.2 is mostly based on the article by Fourman and Hyland [2].

4.1 Constructing the continuum in a sheaf topos


In this section we will look at the construction of the real numbers in a sheaf topos. We will
first construct an object that models the rational numbers from the natural numbers object.
We will then, using Dedekind cuts, construct a sheaf R that models the real numbers.
In a topos there is a natural interpretation of higher order logic, since it has power objects
and exponential objects. The total real functions can be interpreted as the sheaf RR , for
example. We will take a look at Brouwer’s continuity theorem, which states that every
total real function is continuous. At the end of this section we will compare our model
for the continuum, the sheaf R, with the model Dana Scott defined in [9]. This section is
mostly based on §8 of the article by Fourman and Scott [3] and the article [2] by Fourman
and Hyland.

4.1.1 Construction of the rationals


Assume a space T is given. We will consider sheaves over T in this part. As we saw in
section 3.3.4, the natural numbers are modeled by N.e The rationals will be constructed
from N in the same way as in classical mathematics. We will then show that this is in
e
fact the sheaf Q,
e where Q is given the discrete topology. We will construct the rational
numbers as a quotient of
X := Ne ×Ne × (Ne \ {0}).

Here Ne \ {0} is the subsheaf of N e defined by Jx ∈ N


e ∧ ¬(x = 0)K. It is easily shown that this
is the sheaf N >0 , this is left to the reader. We define a relation on X × X in the following
g
way: let (a, b, c) and (a0 , b0 , c0 ) in X. We define

(a, b, c) ∼ (a0 , b0 , c0 ) ↔ ac0 + b0 c = bc0 + a0 c.

This is clearly an equivalence relation on X.


Definition 4.1.1. We define a model for the rational numbers Q in a sheaf topos to be
the quotient
e ×N
(N e × (Ne \ {0}))/ ∼,

27
where ∼ is defined by

(a, b, c) ∼ (a0 , b0 , c0 ) ↔ ac0 + b0 c = bc0 + a0 c.

e ×N
For the rest of this section, we write X = N e × (N
e \ {0}). To show that Q
e is a model
for the rational numbers, we use the following lemma:

Lemma 4.1.2. There is a 1-1 correspondence between the equivalence classes in X(U ) and
the continuous functions U → Q for any open U ⊆ T , where Q has the discrete topology.
This correspondence is defined by (a, b, c) 7→ (a − b)/c for (a, b, c) ∈ X.

Proof. Let U ⊆ T be open. If [(a, b, c)] ⊆ X(U ) is an equivalence class, define the continu-
ous map q : U → Q by q(x) = (a(x) − b(x))/c(x) for all x ∈ U . Note that c is nowhere zero,
so this q is everywhere defined. It is easily show that this is well-defined on equivalence
classes. Assume (a, b, c) ∼ (a0 , b0 , c0 ) in X(U ). Then

a(x)c0 (x) + b0 (x)c(x) = b(x)c0 (x) + a0 (x)c(x)

for all x ∈ U , hence


(a(x) − b(x))/c(x) = (a0 (x) − b0 (x))/c0 (x)
for all x ∈ U .
We will now show the converse. Given a number x ∈ Q, there is one unique way of writing
it as p1 (x)/p2 (x) where gcd(p1 (x), p2 (x)) = 1 and p2 (x) > 0. This gives us two continuous
maps p1 and p2 (they are continuous since Q has the discrete topology). Given a number
x ∈ Z, we can associate a (n1 (x), n2 (x)) ∈ N2 to it in the following way. If x ≥ 0, set
n1 (x) = x and n2 (x) = 0. If x < 0, set n1 (x) = 0 and n2 (x) = −x. This gives us two
continuous maps n1 and n2 . Assume a continuous q : U → Q is given. Consider the
following maps:

q1 (x) = n1 (p1 (q(x)))


q2 (x) = n2 (p1 (q(x)))
q3 (x) = p2 (q(x)).

This is a triple (q1 , q2 , q3 ) of continuous maps U → N, where q3 > 0, hence an element


of X(U ). We associate to q the equivalence class [(q1 , q2 , q3 )]. It is easily shown that this
operation is inverse to the one defined above, hence there is a 1-1 correspondence between
continuous maps U → Q and equivalence classes in X(U ). 

Lemma 4.1.3. The sheaf Q,


e where Q has the discrete topology, is a model for the rational
numbers.

Proof. Define a morphism p : X → Q e by p(a, b, c) = (a − b)/c. This is clearly a morphism.


By lemma 4.1.2, we see that the maps pU : X(U ) → Q(U e ) are surjective, hence the second
property of quotients as defined in definition 3.3.9 is satisfied. The first property is also
satisfied, for by lemma 4.1.2, we see that for all x, y ∈ X(U ), we have p(x) = p(y) if and
only if x ≈ y. So Q e with the map p : X → Qe is a quotient of X by ∼. 

28
Like in ordinary mathematics, we can define +, · and < on Q
e in terms of the definition
of +, · and < on N.
e Note that every q ∈ Q
e can be written as p(a, b, c) for some (a, b, c) ∈ X.
We now define

1. p(a1 , b1 , c1 ) + p(a2 , b2 , c2 ) = p(a1 c2 + a2 c1 , b1 c2 + b2 c1 , c1 c2 )

2. p(a1 , b1 , c1 ) · p(a2 , b2 , c2 ) = p(a1 a2 + b1 b2 , a1 b2 + a2 b1 , c1 c2 )

3. p(a1 , b1 , c1 ) < p(a2 , b2 , c2 ) ↔ a1 c2 + b2 c1 < a2 c1 + b1 c2 .

It is easy to check that this corresponds to pointwise addition and multiplication and that
for p, q ∈ Q(U
e ),
Jp < qK = {x ∈ U |p(x) < q(x)}.

4.1.2 Constructing the Dedekind reals from the rationals


In classical mathematics, the real numbers are often constructed from the rationals using
Dedekind cuts. The set of Dedekind cuts is then constructed as a subset of P(Q) × P(Q)
having certain properties. Another popular way to construct the real numbers uses Cauchy
sequences. We will use the first approach here, but we will come back to the second
approach in section 4.2. We will construct a subsheaf R of P(Q) e × P(Q) e similar to the
classical approach. It is then shown that this subsheaf is isomorphic to R, e where R has
its usual topology (open intervals as a basis). Comparing this sheaf, interpreting logic as
in section 3.3, to Dana Scott’s model of the intuitionistic continuum [9], we see that these
models, although similar, are not equivalent for all topological spaces T . This is because
the interpretation of the quantifiers differs. In Scott’s model, quantifiers only range over
functions f : T → R, so global sections of R. e In the interpretation defined in section 3.3,
however, they also quantify over other sections of R.
e
In classical mathematics, a Dedekind cut is a pair (A, B) of disjoint subsets of Q. Here
A is a downward closed subset with no greatest element and B is an upward closed subset
subset with no smallest element. Furthermore, for any two rational numbers p, q such that
p < q, we have p ∈ A or q ∈ B. This leads us to the following definition of a Dedekind cut,
as given in §8 of [3].

Definition 4.1.4. A dedekind cut (A, B) is defined by the following axioms

1. ∃p, q ∈ Q (p ∈ A ∧ q ∈ B)

2. ∀p¬(p ∈ A ∧ p ∈ B)

3. ∀p(p ∈ A ↔ ∃q ∈ A q > p)

4. ∀p(p ∈ B ↔ ∃q ∈ A q < p)

5. ∀p, q(p < q → p ∈ A ∨ q ∈ B)

We will write this as Cut(A, B). We define the sheaf of (Dedekind) real numbers R in a
sheaf topos to be the subsheaf JCut(A, B)K of P(Q)
e × P(Q).
e

29
In the remaining part of this section, we will look at the structure of R in detail, proving
that it is isomorphic to R.
e
Let U ⊆ T be open and let (A, B) ∈ R(U ). Then A and B are subsheaves of Q e  U.
If q : U → Q is a constant function, then by definition Jq ∈ AK is the largest open V ⊆ T
such that q|V ∈ R(V ). This allows us, for x ∈ U , to define the set

Ax = {q ∈ Q | x ∈ Jq ∈ AK}

and similarly
Bx = {q ∈ Q | x ∈ Jq ∈ BK}.
We will show that (Ax , Bx ) is actually a Dedekind cut in the traditional sense. This way,
we obtain a function f : U → R defined by f (x) = (Ax , Bx ). We will then show that
this function is continuous, and that any continuous f : U → R defines a Dedekind cut
(A, B) ∈ R(U ), obtaining a 1-1 correspondence between elements of R(U ) and continuous
maps f : U → R. This will turn out to be an isomorphism between R and R. e

Lemma 4.1.5. For any (A, B) ∈ R(U ) and x ∈ U , the pair of sets (Ax , Bx ) as defined
above is a Dedekind cut. Hence, from any (A, B) ∈ R(U ), we obtain a map f : U → R.

Proof. Let U ⊆ T be open and let (A, B) ∈ R(U ). We will start by showing that the set
Ax , for x ∈ U , is a lower Dedekind cut. The proof that Bx is an upper Dedekind cut is
similar and will be left to the reader.
Let Ax be as defined above. By the first axiom, there is an open V ⊆ U containing x and
a continuous p : V → Q such that p ∈ A(V ). Then V 0 := p−1 (p(x)) ⊆ T is open (since Q
has the discrete topology). Since x ∈ V 0 and p|V 0 is constant, we conclude that p(x) ∈ Ax ,
hence Ax is not empty.
We now need to show that Ax is downward closed and has no greatest element, which is
equivalent to proving that, for all p ∈ Q, there is a q ∈ Ax such that q > p if and only if
p ∈ Ax .
First, assume p ∈ Ax . Then for some V ⊆ U , the constant map p : V → Q is in A(V ).
Then, by axiom 3, there is a V 0 ⊆ V and a continuous q : V 0 → Q, such that x ∈ V 0
and q > p, in particular q(x) > p. By the same argument as the one above showing that
Ax 6= ∅, we conclude q(x) ∈ Ax .
Now assume there is some q ∈ Ax such that p < q. Then in some neighborhood V ⊆ U of
x, the constant map q is in A(V ). By axiom 3, this implies the constant map p is in A(V ),
hence p ∈ Ax .
This proves that Ax is a lower Dedekind cut and we see similarly that Bx is an upper
Dedekind cut. We will now show that they are disjoint. Assume q ∈ Ax and q ∈ Bx . Then
x ∈ Jq ∈ AK ∩ Jq ∈ BK = Jq ∈ A ∧ q ∈ BK. But by axiom 2, Jq ∈ A ∧ q ∈ BK = ∅, so this is
not possible. Hence Ax and Bx must be disjoint.
The last thing we have to prove is that, for p < q ∈ Q, we have p ∈ Ax or q ∈ Bx . From
axiom 5, we see that for the constant functions p, q : U → Q, we have Jp < q → p ∈ A ∨ q ∈
BK = U , hence
Jp < qK ⊆ Jp ∈ AK ∪ Jq ∈ BK.
Since Jp < qK = U , we see that either x ∈ Jp ∈ AK or x ∈ Jq ∈ BK, or, equivalently, p ∈ Ax
or q ∈ Bx .

30
We see that for any x ∈ U , the pair (Ax , Bx ) is a Dedekind cut, hence we obtain a function
f : U → R. 

Lemma 4.1.6. The map f : U → R obtained in lemma 4.1.5 is continuous, where R has
the standard topology of the reals.

Proof. Let U ⊆ T be open and let (A, B) ∈ R(U ). Assume f : U → R is constructed


as in lemma 4.1.5. Let (a, b) ⊆ R be an open interval and assume x ∈ f −1 ((a, b)). Then
a < f (x) < b, so there are rational numbers p, q such that a < p < f (x) < q < b. Since
p ∈ Ax and q ∈ Bx , there is an open neighborhood V ⊆ U of x such that the constant
functions p, q : V → Q are elements of A and B respectively. Hence, for any y ∈ V , we
have p ∈ Ay and q ∈ By , so a < p < f (y) < q < b. Therefore V ⊆ f −1 ((a, b)). Since this
holds for any x ∈ f −1 ((a, b)), we see that f −1 ((a, b)) is open, hence f is continuous. 
We define, for any open U ⊆ T and any continuous f : U → R, a pair of subsheaves
A, B of Q
e  U in the following way:

A(V ) = {q ∈ Q(V
e ) | q < f |V }
B(V ) = {q ∈ Q(V
e ) | q > f |V }.

Lemma 4.1.7. For any continuous map f : U → R, the pair (A, B) defined above is
an element of R(U ). Combined with the correspondence of lemma 4.1.5, we obtain a 1-1
correspondence. This correspondence is an isomorphism between R and R.
e

Proof. We will first show that Cut(A, B) holds, i.e. JCut(A, B)K = U .
For axiom 1, let x ∈ U . Let p, q be rational numbers such that p < f (x) < q. Say
V := f −1 ((p, q)). Then x ∈ V and the constant maps p, q : V → Q satisfy p < f |V < q,
hence p ∈ A(V ) and q ∈ B(V ). Since this holds for any x ∈ U , we see that axiom 1 is
satisfied.
For axiom 2, let p ∈ Q(V
e ), where V ⊆ U . We see that, by definition,

Jp ∈ AK = {x ∈ V | p(x) < f (x)} and Jp ∈ BK = {x ∈ V | p(x) > f (x)}.

These sets are clearly disjoint, so Jp ∈ A ∧ p ∈ BK = ∅, hence J¬(p ∈ A ∧ p ∈ BK)K = V .


Since this holds for any open V ⊆ U and any p ∈ Q(V e ), we conclude that axiom 2 holds.
Now let p ∈ Q(V ), where V ⊆ U is open. We need to show that Jp ∈ AK = J∃q ∈ A p < qK.
e
Assume x ∈ Jp ∈ AK. Then for some open neighborhood V 0 ⊆ V of x, we have p ∈ A(V 0 ).
Since p−1 (p(x)) is open, we can assume without loss of generality that p is constant on V 0 .
Furthermore, f −1 ((1/2(p(x) + f (x)), ∞)) is open and contains x, so we can furthermore
assume that f > 1/2(f (x) + p(x)) on V 0 . Now let q be a rational number such that
p(x) < q < 1/2(f (x) + p(x)). Let q : V 0 → Q be the constant function. Then q ∈ A(V 0 ) by
definition and p < q, so x ∈ J∃q ∈ A p < qK.
For the converse, assume x ∈ J∃q ∈ A p < qK. Then for some neighborhood V 0 ⊆ V of x,
there exists a q ∈ A(V 0 ), such that p|V 0 < q. Since q ∈ A(V 0 ), we see that p|V 0 < q < f |V 0 ,
hence p|V 0 ∈ A(V 0 ). Therefore x ∈ Jp ∈ AK. We therefore conclude that axiom 3 holds.
The proof for axiom 4 is symmetrical to the proof of axiom 3.
For the last axiom, let V ⊆ U open and let p, q ∈ Q(V e ). Assume x ∈ Jp < qK, so

31
p(x) < q(x). Then p(x) < f (x) or q(x) > f (x). In the first case, since f is continuous,
the set f −1 ((p(x), ∞)) is open, contains x and p(x) < f on this set. Since p is constant
on a neighborhood of x, there is a neighborhood W of x such that p < f on W , hence
p|W ∈ A(W ), hence x ∈ Jp ∈ AK. We see similarly that, if q(x) > f (x), then x ∈ Jq ∈ BK.
Hence x ∈ Jp ∈ A ∨ q ∈ BK. We see that Jp < qK ⊆ Jp ∈ A ∨ q ∈ BK for all V ⊆ U open
and p, q ∈ Q(V
e ), hence axiom 5 holds.
We will now show that this is a 1-1 correspondence, combined with the correspondence
of lemma 4.1.5. First let f : U → R be continuous. We obtain (A, B) ∈ R(U ) and we need
to show that (Ax , Bx ), for x ∈ U , is equal to f (x). For this we need to prove that Ax is
the set of rational numbers q such that q < f (x). Let q < f (x). Then, as shown above,
there is a neighborhood V of x such that q < f on V . Therefore the constant function q
is in A(V ), so x ∈ Jq ∈ AK, hence q ∈ Ax . Now assume q ∈ Ax . Then q ∈ A(V ) for some
neighborhood V of x, so in particular q < f (x). We similarly see that Bx is precisely those
rationals which are greater than f (x), so the map x 7→ (Ax , Bx ) is in fact equal to f .
Now assume (A, B) ∈ R(U ) is given. We then obtain a function f : x 7→ (Ax , Bx ), which in
turn gives us (A0 , B 0 ) ∈ R(U ). We will show that A0 = A, the proof for B 0 = B is similar.
Let V ⊆ U be open and let q ∈ A(V ). Then q(x) ∈ Ax for all x ∈ V , since q is locally
constant, so q < f |V , so q ∈ A0 (V ) by definition. Now assume q ∈ A0 (V ). Then q < f |V , so
q(x) ∈ Ax for all x ∈ V . Hence every x ∈ V has a neighborhood W on which the constant
function equal to q(x) is in A(W ). Furthermore, every x has a neighborhood on which q
is constant, hence every x ∈ V has a neighborhood Vx ⊆ V on which q is constant and the
constant function q|Vx is in A(Vx ). Since {Vx }x∈V is a cover of V and q is the amalgamation
of all these constant functions, we see that q ∈ A(V ). We conclude that A(V ) = A0 (V ).
For every open U ⊆ T , we have a 1-1 correspondence ΦU : R(U ) → R. e We want to show
that this correspondence is natural, in the sense that, for V ⊆ U open,

ΦU ((A, B))  V = ΦV ((A, B)  V ) = ΦV ((A  V, B  V ).

Since (A  V )(W ) = A(W ) and (B  V )(W ) = B(W ) for any open W ⊆ V , we see that the
obtained functions ΦU ((A, B)) and ΦV ((A, B)  V ) must be equal on V , hence the above
equality must hold. This shows that the 1-1 correspondence Φ is natural, so it is a sheaf
morphism. We conclude that R and R e are isomorphic. 
We have now proved the following theorem:
Theorem 4.1.8 ([3, theorem 8.8]). For any topological space T , the sheaf R is isomor-
phic to R,
e where R has the standard topology of the reals.

Under this isomorphism, addition, multiplication and the ordering of R correspond to


pointwise addition, multiplication and ordering in R. e From (A, B) ∈ R(U ), we obtain a
map f : U → R, which is in fact just a collection of Dedekind cuts {(Ax , Bx )}x∈U . The
definition of addition, multiplication and the order are the same for (A, B) as for the cuts
(Ax , Bx ), which corresponds to the pointwise definition on R(U
e ).

4.1.3 Brouwer’s continuity theorem


In 1924, L.E.J. Brouwer published the paper Beweis, dass jede volle Funktion gleichmässig
stetig ist (Proof, that every total function is uniformly continuous) [1], in which he proved

32
that, in his (intuitionistic) interpretation of the continuum, every function f : R → R is
continuous. This statement is called Brouwer’s continuity theorem or Brouwer’s continuity
principle. We will show that, if our base space T has certain properties, this holds in the
sheaf topos Shv(T ). By this, we mean that
J∀f ∈ RR ∀a ∈ R ∀ ∈ R ( > 0 → ∃δ ∈ R (δ > 0 ∧ ∀b ∈ R
(a − δ < b < a + δ → f (a) −  < f (b) < f (a) + )))K = T
in the topos Shv(T ).
In part A.1 of the appendix, we define the sheaves F(R, R) and C(R, R) by
F(R, R)(U ) = {all functions U × R → R}
and
C(R, R)(U ) = {all continuous maps U × R → R}.
In part A.2 and A.1 of the appendix, we show that RR is sometimes isomorphic to a
subsheaf of F(R, R) containing C(R, R). In particular, if T is first-countable, normal,
Hausdorff and has no isolated points, then by lemma A.2.3, we see that RR is isomorphic
to C(R, R). We will now prove the following theorem:
Theorem 4.1.9. Let Shv(T ) be a sheaf topos such that RR is isomorphic to C(R, R), where
the evaluation map evR,R : C(R, R) × R → R is given by
evR,R (f, g)(x) = f (x, g(x))
for all x ∈ T . Then Brouwer’s continuity theorem holds in Shv(T ).
The following proof a modified version of the on the one given in [6, p. 40].
Proof. Let U ⊆ T open and let f ∈ C(R, R)(U ) and a,  ∈ R(U ) such that (x) > 0 for all
x ∈ U . We have three continuous maps f : U × R → R, a : U → R and  : U → R>0 , hence
by lemma 4.1.10, for every x ∈ U there exists a neighborhood Ux ⊆ U and a δx > 0 such
that for every ξ ∈ Ux and every t ∈ (a(x) − δx , a(x) + δx ) the following inequalities hold
|a(ξ) − a(x)| < 1/2δx (6)
|f (ξ, t) − f (ξ, a(x))| < 1/2(ξ). (7)
We will now show that
Ux ⊆ J∀b ∈ R (a − 1/2δx < b < a + 1/2δx → f (a) −  < f (b) < f (a) + )K.
Note that this proves that Brouwer’s continuity theorem holds in Shv(T ), since such a
neighborhood Ux and such a δx exist for every x ∈ U .
To prove this, let V ⊆ Ux and b ∈ R(V ) such that
V = Ja − 1/2δx < b < a + 1/2δx K,
so |b(ζ) − a(ζ)| < 1/2δx for all ζ ∈ V ⊆ Ux . Combining this with inequality (6), which says
|a(ζ)−a(x)| < 1/2δx , we see that |b(ζ)−a(x)| < δx , hence a(ζ), b(ζ) ∈ (a(x)−δx , a(x)+δx ).
Using inequality (7), we see that
|f (ζ, a(ζ)) − f (ζ, a(x))| < 1/2(ζ) and |f (ζ, b(ζ)) − f (ζ, a(x))| < 1/2(ζ),

33
so |f (ζ, a(ζ))−f (ζ, b(ζ))| < (ζ). Since this holds for all ζ ∈ V , we see that V = Jf (a)− <
f (b) < f (a) + K, hence

V = J(a − 1/2δx < b < a + 1/2δx → f (a) −  < f (b) < f (a) + K.

Since V and b were arbitrary, we see that

Ux ⊆ J∀b ∈ R (a − 1/2δx < b < a + 1/2δx → f (a) −  < f (b) < f (a) + )K,

so we have proven that Brouwer’s continuity theorem holds in Shv(T ). 

Lemma 4.1.10. Let U be a topological space and let f : U × R → R, a : U → R and


 : U → R>0 be continuous. Then for every x ∈ U there exists a neighborhood Ux of x and
a δx > 0, such that for every ξ ∈ Ux and every t ∈ (a(x) − δx , a(x) + δx ), the following
inequalities hold:

|a(ξ) − a(x)| < 1/2δx


|f (ξ, t) − f (ξ, a(x))| < 1/2(ξ).

Proof. Let x ∈ U and set x0 = (x)/2 > 0. Then  > x0 on a neighborhood Vx of x by


continuity of . By continuity of f , there exist a δx > 0 and a neighborhood Vx0 of x such
that |f (ξ, t) − f (ξ, a(x))| < x0 /2 for all t ∈ (a(x) − δx , a(x) + δx ) and all ξ ∈ Vx0 . Now let
Wx be a neighborhood of x such that |a(ξ) − a(x)| < 1/2δx for ξ ∈ Wx , which exists by
continuity of a. If we define Ux = Vx ∩ Vx0 ∩ Wx , then the inequalies

|a(ξ) − a(x)| < 1/2δx


|f (ξ, t) − f (ξ, a(x))| < 1/2(ξ)

hold for all ξ ∈ Ux and t ∈ (a(x) − δx , a(x) + δx ). 


Combining theorem 4.1.9 with lemma A.2.3 from the appendix, we get the following
result:

Theorem 4.1.11. Let T be a first-countable, normal Hausdorff space with no isolated


points. Then Brouwers continuity theorem holds in Shv(T ).

4.1.4 Comparing our model to Dana Scott’s model


In [9], Dana Scott introduces a model for the (single-sorted) language L = {0, 1, +, ·, <}
that is similar to the sheaf R. We will denote Scott’s model by RS . It consists of the
continuous functions T → R for a topological space T , and the symbols 0, 1, +, · and < are
interpreted pointwise. So this model can be seen as R(T ), where R is the sheaf of Dedekind
reals. Dana Scott interprets terms in the same way as we do, though he interprets formulas
slightly different. It is natural to ask whether these models are really different, so if they
really satisfy different L-sentences. We will try to answer this question in this section.
Dana Scott’s interpretation will be denoted by J·KS , to avoid confusion.

34
Definition 4.1.12. For a term t be a term with free variables (x1 , . . . , xn ), we define its
interpretation JtKS : RnS → RS by
1. If t = x for a variable, then JtKS = idRS .
2. If t = 0 or t = 1, then JtKS is the constant 0 function or the constant 1 function
respectively.
3. If t = f (t1 , . . . , tm ) (so t = t1 + t2 or t = t1 · t2 ), then JtKS is defined by
JtKS (a1 , . . . , an ) = Jf KS (Jt1 KS (a1 , . . . , an ), . . . , Jtm KS (a1 , . . . , an ))
for a1 , . . . , an ∈ RS .
Note that if t has no free variables, then t is an element of RS , so a continuous map T → R.
Definition 4.1.13. For a formula φ with free variables x1 , . . . , xn and a1 , . . . , an ∈ RS ,
(write a = (a1 , . . . , an )), we define the open subset JφKS ⊆ T inductively by
1. J⊥KS = ∅.
2. J(t = s)(a)KS = int({x ∈ T | JtKS (a)(x) = JsKS (a)(x)}).
3. J(t < s)(a)KS = {x ∈ T | JtKS (a)(x) < JsKS (a)(x)}
4. J(φ ∧ ψ)(a)KS = Jφ(a)KS ∩ Jψ(a)KS .
5. J(φ ∨ ψ)(a)KS = Jφ(a)KS ∪ Jψ(a)KS .
6. J(φ → ψ)(a)KS = int((T \ Jφ(a)KS ) ∪ Jψ(a)KS ).
7. J¬φ(a)KS = int(T \ Jφ(a)KS ).
8. J∃xS φ(xS , a)KS = {Jφ(a, a)KS | a ∈ RS }.
S

9. J∀xS φ(xS , a)KS = int ( {Jφ(a, a)KS | a ∈ RS }).


T

We see that this interpretation is the same as ours, except for the interpretation of
quantifiers. To see that this really results in a different model, define the space T = R∪{∗},
where U ⊆ T is open if and only if U ⊆ R is open in the usual topology of R, or U = T .
This means that, if ∗ ∈ U , then U = T .
Lemma 4.1.14. If T = R ∪ {∗} is defined as above, then there exist L-sentences which are
valid in RS but not in R.
Proof. Note that any continuous map f : T → R is constant, so RC can be seen as the
classical reals. In particular, ∀x (x < 0 ∨ x = 0 ∨ x > 0) is valid in RC . This statement is
not valid in R. Note that R ⊆ T is open and f = idR ∈ R(R). We also see that
Jf < 0 ∨ f = 0 ∨ f > 0K 6= R,
which implies
J∀x (x < 0 ∨ x = 0 ∨ x > 0)K 6= T.


35
In the case that T is normal and Hausdorff however, we can locally extend maps f :
V → R, by which we mean that for any x ∈ V , there exists a neighborhood Vx of x and
a map f x : T → R such that f x and f agree on Vx . This is proved in the proof of lemma
A.2.1. This allows us to prove the following theorem:

Theorem 4.1.15. If T is a normal Hausdorff space, then for any L-formula φ and any
a1 , . . . , an ∈ R(T ) = RS , we have

Jφ(a1 , . . . , an )K = Jφ(a1 , . . . , an )KS

Proof. We will prove this by induction on L-formulas. Note that we don’t have to consider
the steps ⊥, =, <, ∧, ∨, → and ¬, since these are defined the same way for J·KS as for J·K.
So all that is left are the quantifiers. Assume φ is a formula such that the hypothesis holds.
Assume x ∈ J∃aφ(a)KS . Then there is a continuous f : T → R such that x ∈ Jφ(f )KS . This
is equal to Jφ(f )K by the hypothesis, hence x ∈ J∃aφ(a)K.
Now assume x ∈ J∃aφ(a)K. Then for some neighborhood U of x, there exists a map
f : U → R such that x ∈ Jφ(f )K. Extend this map on a neighborhood Vx of x to a map
f x : T → R. Then x ∈ Jφ(f |Vx )K ⊆ Jφ(f x )K = Jφ(f x )KS , so x ∈ J∃aφ(a)KS .
The proof for ∀ is similar. Note that if V ⊆ J∀aφ(a)K, then for every f : V → R, we
have Jφ(f )K = V . In particular, for every f : T → R, we have V ⊆ Jφ(f )K = Jφ(f )KS , since
V = Jφ(f |V )K. We therefore see that V ⊆ J∀aφ(a)KS , hence J∀aφ(a)K ⊆ J∀aφ(a)KS .
For the converse, note that proving J∀aφ(a)KS ⊆ J∀aφ(a)K amounts to proving that for any
V ⊆ J∀aφ(a)KS and any f : V → R, we have Jφ(f )K = V . Let V and f be like this. Then
for any x ∈ V W there exist a neighborhood Vx and a f x : T → R agreeing with f on Vx .
Note that f = x∈V f x |Vx . We therefore see that
t !|
_ [
Jφ(f )K = φ f x |Vx = Jφ(f x |Vx )K.
x∈V x∈V

We see that Jφ(f x |Vx )K = Vx , since

Vx ⊆ V ⊆ J∀aφ(a)KS ⊆ Jφ(f x )KS = Jφ(f x )K,


S S
so Jφ(f )K = Jφ(f x |Vx )K = Vx = V . 

36
4.2 Constructing the reals using Cauchy sequences
As promised in section 4.1.2, we will now look at another construction of the real numbers
that is often seen in mathematics, using Cauchy sequences. In classical mathematics, this
method provides us with a model for the real numbers which is isomorphic to the Dedekind
reals. In intuitionistic mathematics, these models need not be isomorphic. In [12, p.274],
Troelstra and Van Dalen prove that the Cauchy reals are isomorphic to the Dedekind reals
if the axiom of countable choice (ACN) is assumed.
In this section will first show that the axiom of countable choice holds in Shv(T ) if T is
the Baire space, which implies that the Cauchy reals and the Dedekind reals are isomorphic
in this topos. We will then look at the construction of the Cauchy reals in a topos. We
denote the sheaf of Dedekind reals by RD and the sheaf of Cauchy reals by RC , to avoid
confusion. We will prove that there is a topos in which RD 6' RC , showing that the
Dedekind and Cauchy reals are indeed not intuitionistically equivalent. We will even show
that in this topos, Brouwer’s continuity theorem does not hold for RC , yet it does for RD .
The author has not been able to find this particular statement in the literature. We will
then construct a topos in which RD ' RC , yet ACN does not hold, showing that these
statements are not equivalent. This section is based on page 289 and 290 of [2] by Fourman
and Hyland.

4.2.1 The axiom of countable choice in the topos of sheaves over the Baire
space
The axiom of countable choice states that, if we are given sequence of nonempty subsets
(An )n∈N of a set A, then there exists a sequence (an )n∈N such that an ∈ An for all n ∈ N.
If we write φ(n, a) for a ∈ An , then it is easy to see that the axiom of countable choice can
be formulated as

∀n ∈ N ∃a ∈ A φ(n, a) → ∃f ∈ AN ∀n ∈ N φ(n, f (n)).

We say that the axiom of countable choice holds in Shv(T ) if for every sheaf A and
every formula φ(x, y) where x is of sort N
e and y of sort A, the following holds:

∀n ∈ N
e ∃a ∈ A φ(n, a) → ∃f ∈ ANe ∀n ∈ N
e φ(n, f (n)).

By the soundness theorem from section 3.3 and the (constructive) proof that the Cauchy
reals and Dedekind reals are isomorphic by Troelstra and Van Dalen [12, p.274], we see
that in such a topos, RC and RD are isomorphic. We will now show that ACN holds in
Shv(T ) if T is the Baire space, hence RC and RD are isomorphic in this topos. In the later
sections, we will look at a topos where RC and RD are not isomorphic and a topos where
RC and RD are isomorphic, yet ACN does not hold.
From now on, let T be the Baire space. To show that ACN holds in Shv(T ), we need the
following lemma:

Lemma 4.2.1. Let T be the Baire space and let {Ui }i∈I be a collection of opens. Then
there exists a countable refinement {Wn }n∈N such that the sets Wn are clopen and pairwise
disjoint.

37
Proof. The basis of the topology of the Baire space, as defined on page 42 of [4], consists of
clopen sets and is countable (since the collection of all finite sequences of natural numbers
is countable). Since T has a countable basis of clopen sets, every collection of opens
{Ui }i∈I has a countable refinement of clopen sets {Vn }n∈N . Now define W0 = V0 and
Wn = Vn \ Wn−1 . Then the sets Wn are clearly pairwise disjoint and ∪Wn = ∪Vn . We
see inductively that all Wn are clopen, since W0 is clopen, and if Wn−1 is clopen, then
c
Wn = Vn \ Wn−1 = Vn ∩ Wn−1 is clopen. We conclude that {Wn }n∈N is a countable
refinement of {Ui }i∈I such that the sets Wn are clopen and pairwise disjoint. 
We will now prove that ACN holds in Shv(T ). We need to show that
J∀n ∈ N
e ∃a ∈ A φ(n, a)K ⊆ J∃f ∈ AN ∀n ∈ N
e φ(n, f (n))K.
e

Before we prove this, note that every function f : N → A(U ), for U ⊆ T open, extends to
a morphism f : N e  U → A. If x ∈ N(Ve ), then {x−1 (n)}n∈N is a cover of V such that x
is constant on each open of this cover. Then define f (x) = (f (n)  x−1 (n)). The details
W
are left to the reader, but note that this can be seen as a special case of lemma 3.2.9.
Theorem 4.2.2. Let T be the Baire space. Then ACN holds in Shv(T ).
Proof. Let U = J∀n ∈ N e ∃a ∈ A φ(n, a)K and let m ∈ N. Denote the constant function
U → N equal to m, simply by m. Then there is a cover {Ui }i∈I of U , such that for every
i ∈ I, there exists an a ∈ A(Ui ) such that Jφ(m  Ui , a)K = Ui . By lemma 4.2.1, there
exists a countable refinement {Wn }n∈N of pairwise disjoint clopen sets. Then for every
n ∈ N, there exists an an ∈ A(Wn ) such that Jφ(m  Wn , an )K = Wn . Pick such an an for
every n ∈ N. Then (an )n∈N is a compatible family with respect to {Wn }n∈N , since they
are pairwise disjoint, so define a = an . We see that Jφ(m, a0 )K = ∪Jφ(m  Wn , an )K =
0
W
∪Wn = U . Hence for every constant m ∈ N(U ), there exists an a0m ∈ A(U ) for which
Jφ(m, a0m )K = U . Pick such a section a0m for every m ∈ N and define f : N → A(U ) by
setting f (m) = a0m . Then Jφ(m, f (m))K = U for every m ∈ N. This function extends to a
morphism f : N e  U → A.
It is easy to see that J∀n ∈ Ne φ(n, f (n))K = U . Let x ∈ N(V
e ) for some open V ⊆ U and
write Vn for x−1 (n). Then x is constant and equal to n on Vn , hence Jφ(x  Vn , f (n) 
Vn )K = Vn for every n ∈ N. We now see that
_ [ [
Jφ(x, f (x))K = Jφ(x, (f (n)  Vn ))K = Jφ(x  Vn , f (n)  Vn )K = Vn = V

by definition of f . Since this holds for all open V ⊆ U and all x ∈ N(V
e ), we see that
J∀n ∈ Ne φ(n, f (n))K = U . Therefore

J∀n ∈ N
e ∃a ∈ A φ(n, a)K = U ⊆ J∃f ∈ AN ∀n ∈ N
e φ(n, f (n))K,
e

so we conclude that ACN holds in Shv(T ). 

4.2.2 A topos where RDedekind and RCauchy are not isomorphic

We will construct the Cauchy reals as a quotient of a subsheaf of Q e N . A fundamental


e

sequence or a rational Cauchy sequence is a sequence (an )n∈N of rational numbers such
that for all rational numbers q > 0, there exists an N ∈ N, such that for all m, n > N , we
have |am − an | < q. This leads us to the following definition:

38
Definition 4.2.3. We define the sheaf of fundamental sequences QC to be the subsheaf of
e Ne defined by
Q

a ∈ QC ↔ ∀q ∈ Q
e (q > 0 → ∃N ∈ N
e ∀m, n (m, n > N → −q < am − an < q)).

We now define the Cauchy reals as a quotient of QC .

Definition 4.2.4. Define an equivalence relation ∼ on QC by

a ∼ b ↔ ∀q ∈ Q
e (q > 0 → ∃N ∈ N
e ∀n(n > N → −q < an − bn < q)).

We define a model RC of the Cauchy reals to be the quotient QC / ∼.

Note that ∼ defines an equivalence relation on the set QC (U ) for every open U ⊂ T .
We will denote this equivalence relation by ≈, to avoid confusing it with the subsheaf ∼ of
QC × QC .
Let p : QC → RC be a model for the Cauchy reals. In this sheaf, we define the
interpretations of 0 and 1 to be p(00 ) and p(10 ) respectively, where 00 and 10 are the constant
morphisms N e→Q e equal to the 0 and 1. We define + and · to be ‘pointwise’ addition and
multiplication, so for s1 , s2 ∈ QC (U ), we define (s1 + s2 ) : N
eU →Q e to be the morphism
(s1 + s2 )(x)(n) = s1 (x)(n) + s2 (x)(n) and we set p(s1 ) + p(s2 ) = p(s1 + s2 ). This is done
similarly for multiplication. Since every a ∈ RC is an amalgamation of sections of the form
p(s), this extends to a definition on the whole of RC . The proof that this is well-defined is
left to the reader. Lastly, we define < by

p(a) < p(b) ↔ ∃N ∈ N


e (∀n ∈ N
e (n > N → an < bn )).

The proof that this is well-defined is also left to the reader.


Now assume that T is locally connected. Note that by lemma A.3.1, the exponent Q e Ne is
given by Q
g
dis , so QC can be seen as a subsheaf of Qdis . This allows us to prove to following:
N gN

Lemma 4.2.5. If T is locally connected, then R g dis is a model for the Cauchy reals, where
Rdis is the set of the real numbers with the discrete topology.

Proof. By writing out the definition of the sheaf of fundamental sequences QC as a subsheaf
of Q dis , we see that QC (U ) consists of all locally constant functions s : U → Q such that
g N N

s(x) is a fundamental sequence for every x ∈ U , in the classical sense. It is well know that
these sequences converge to a unique real number, write sx = limn→∞ s(x)(n). Define the
map p : QC → R g dis by letting p(s) be the function x 7→ sx . Since s is locally constant, we
see that p(s) is also locally constant, hence p(s) is indeed a section of R gdis for all sections
s of QC . We will now show that

∀s, s0 ∈ QC (p(s) = p(s0 ) ↔ s ∼ s0 ) and ∀r ∈ R


g dis ∃s ∈ QC (p(s) = r)

hold, proving that R gdis is a model for the Cauchy reals. To see that the first holds, let
s, s ∈ QC (U ) for some open U ⊆ T . We need to show that s ≈ s0 on an open V if and
0

only if p(s) = p(s0 ) on this open V . So let V ⊆ U be open such that s|V ≈ s0 |V . Then, by
definition 4.2.4, for every rational q > 0 and every x ∈ V , there exists a N ∈ N such that

39
for all n > N , we have |s(x)(n) − s0 (x)(n)| < q. This implies limn→∞ s(x) = limn→∞ s0 (x),
hence p(s)(x) = p(s0 )(x) for every x ∈ V .
For the other direction, assume p(s)(x) = p(s0 )(x) for every x ∈ V . Let q ∈ Q(W e ) for some
0
W ⊆ V such that q > 0 on W . Now let x ∈ W . Then s, s and q are constant on some
neighborhood Wx of x. Since they converge to the same limit, there exists an N such that
for every n > N and y ∈ Wx , we have |s(n)(y) − s(n)(y)| < q(y). This implies s|V ≈ s0 |V
by definition 4.2.4, so we conclude that the first statement holds.
To prove the second statement, we need to show that every r ∈ R gdis (U ) is an amalgamation
of elements of the form p(s) for sections s of QC . Let U ⊆ T be open and let r ∈ R gdis (U ).
−1
We find a cover {Ui }i∈R defined by Ui = r (i), since r is continuous with respect to the
discrete topology on R. For every i ∈ R, we see that r|Ui is constant. Pick a fundamental
sequence an converging to this constant and define s ∈ QC (Ui ) by s(x)(n) = an for every
x ∈ Ui . Then
W p(s) = r|Ui , so r|Ui is of the form p(s) for a section s of QC for every i ∈ R.
Since r = r|Ui , we conclude that r is an amalgamation of elements of the form p(s). We
have now proven the second statement, hence R g dis is a model for the Cauchy reals. 
From now on, if our base space T is locally connected, we write RC for R gdis . In RC ,
it is easy to see that 0 and 1 are represented by the constant functions equal to 0 and 1
and that +, · and < as defined above, correspond to their pointwise definition. We will
show this for + and <, the others are left to the reader. Let r, r0 ∈ RC (U ), let x ∈ U and
pick a neighborhood Ux on which r and r0 are constant. Let an and a0n be fundamental
sequences converging to these constants. Then define s, s0 ∈ QC (Ux ) by s(y)(n) = an
and s0 (y)(n) = a0n for all y ∈ Ux . Then p(s) = r|Ux and p(s0 ) = r|Ux . We see that
p(s) + p(s0 ) = p(s + s0 ), so

(p(s) + p(s0 ))(x) = p(s + s0 )(x) = lim (an + a0n ) = r(x) + r0 (x)
n→∞

which is indeed pointwise addition. For <, note that r|Ux < r0 |Ux if and only if there
exists an N ∈ N such that for all n > N , an < a0n , which is obvious from the fact that
limn→∞ an = r(x), limn→∞ a0n = r0 (x) and that r|Ux and r0 |Ux are constant.
When we say that RD and RC are isomorphic, we mean that there is an isomorphism
preserving the structure, so preserving 0, 1, <, · and +. We will now show that, if we take
R as our base space, that RD 6' RC .

Theorem 4.2.6. In the sheaf topos Shv(R), where R has the usual topology, RD and RC
are not isomorphic.

Proof. For any x, y ∈ RC (T ), we have Jx < yK = T , Jx = yK = T or Jx > yK = T ,


since all elements of RC (T ) are constant functions. This does not hold in RD (T ), since
J0 < idR K = (0, ∞). Hence there cannot be an isomorphism between RD and RC preserving
their structure. 
The above proof in fact works for any base space T which is locally connected and for
which there is a non-constant continuous map f : U → R for some connected open U ⊆ T .
An interesting thing to note, is that in Shv(R), Brouwer’s continuity theorem is not
true for RC , yet it is true for RD .

40
Theorem 4.2.7. In Shv(R), Brouwer’s continuity theorem is not true for RC , yet it is
true for RD .

Proof. The fact that Brouwer’s continuity theorem is true for RD is a consequence of
theorem 4.1.11. To show that Brouwer’s continuity theorem does not hold for RC , we will
simply pick a counterexample f ∈ RR C RC
C (R). Note that RC can be seen as Rdis by lemma
gR

A.3.1. Let f ∈ R
g
dis (U ) be the function f : R → R defined by
R R


0 if y ≤ 0
f (x)(y) =
1 if y > 0.

If a is the constant zero function and  is the constant function 1/2, then it is easy to check
that

J∃δ ∈ RC (δ > 0 ∧ ∀b ∈ RC (a − δ < b < a + δ → f (a) −  < f (b) < f (a) + )))K = ∅

hence

J∀f ∈ RRC ∀a ∈ RC ∀ ∈ RC ( > 0 → ∃δ ∈ RC (δ > 0 ∧ ∀b ∈ RC


C

(a − δ < b < a + δ → f (a) −  < f (b) < f (a) + )))K = ∅,

so Brouwer’s continuity theorem is definitely not true for RC . 

4.2.3 A proof that RDedekind ' RCauchy does not imply ACN
In [2, p.290], Fourman and Hyland construct a topos in which ACN does not hold, yet
RDedekind and RCauchy are isomorphic. Let T be the space R ∪ {∗}, where U ⊆ T is open if
and only if U = ∅ or U ∩ R is open in R and ∗ ∈ U .

Theorem 4.2.8 ([2, p.290]). In the topos Shv(T ), ACN does not hold, yet RD and RC
are isomorphic. In particular, RDedekind ' RCauchy does not imply ACN.

Proof. Let U ⊆ T be open and nonempty. Then ∗ ∈ U . Let f ∈ RD (U ). Note that


O := R \ {f (∗)} is open in R, hence f −1 (O) is open. Since ∗ 6∈ f −1 (O), this implies that
f −1 (O) = ∅, hence f −1 (f (∗)) = U . We conclude that f is constant. Similarly, we see that
any f ∈ RC (U ) is constant, hence RC (U ) = RD (U ) for all open U ⊆ T , hence RD and RC
are isomorphic.
To show that ACN does not hold, we construct a sequence of subsheaves of Q. e We see that
e ) consists of constant functions U → Q, so we might as well view Q(U
Q(U e ) as the set of
rational numbers when U 6= ∅ (note that Q(∅)e = {∗}). We will also view N(U
e ) as the set
of natural numbers if U 6= ∅. We define, for n ∈ N, the subsheaf An of Q by
e

An (U ) = {q ∈ Q | U ⊆ (q − 1/n, q + 1/n) ∪ {∗}}

for U 6= ∅. The proof that this is a sheaf is left to the reader. If we define φ(n, q) ↔ q ∈ An
(where n is of sort N
e and q of sort Q),
e then it is clear that

J∀n ∈ N
e ∃q ∈ Q
e φ(n, y)K = T.

41
If ACN holds, then
J∃f ∈ Q
e Ne ∀n ∈ N
e φ(n, f (n))K = T,

so any x ∈ T has a neighborhood U such that there is a morphism f ∈ Q e N (U ) for which


e

f (n) ∈ An (U ) for every n ∈ N. We will show that this is not the case if x ∈ R ⊆ T ,
proving that ACN does not hold in Shv(T ). Let x ∈ R and let U ⊆ T be an open
neighborhood of x. Then there is an n ∈ N such (x − 2/n, x + 2/n) ⊆ U . Then for any
rational number q, it is clear that U 6⊆ (q − 1/n, q + 1/n) ∪ {∗}, since this would imply
(x − 2/n, x + 2/n) ⊆ (q − 1/n, q + 1/n), implying 4/n < 2/n. Hence An (U ) = ∅. Note that
a morphism f : N e U →Q e is simply a map f : N → Q. Since An (U ) = ∅, there cannot
exists such a map with f (n) ∈ An (U ) for all n ∈ N. Since this holds for any neighborhood
U , we conclude that ACN cannot hold in Shv(T ). 

42
A e Ae for topological spaces A, B
Appendix: the sheaf B
When studying the interpretation of higher-order logic in Shv(T ), the category of sheaves
over a given topological space T , the exponential sheaf GF plays an important role. For
two sheaves F and G, it is defined by

GF (U ) = {all morphisms φ : F  U → G},

where the restriction to V ⊆ U of a morphism φ ∈ GF (U ) is simply defined by

(φ  V )(x) = φ(x),

for all x ∈ F (W ) for every W ⊆ V open. The evaluation morphism evF,G : GF × F → G


is given by evF,G (φ, x) = φ(x).
This description often proves to be quite hard to work with, so it is natural to ask whether
an easier description exists. In this thesis, we often work with sheaves of the form A e for
A
a topological space A. Our aim is to find an easier description for the sheaf B , where A
e e

and B are topological spaces. Although this turns out to be quite hard to do in general,
some partial results are presented in this appendix.
A section φ ∈ Be Ae(U ) is a collection of maps φV : A(V
e ) → B(V
e ) for all V ⊆ U open which
is natural, so φV (f )|W = φW (f |W ) for all opens W ⊆ V ⊆ U . This implies that for any
two f, g ∈ A(V
e ), if f |W = g|W , then φ(f )|W = φ(g)|W , so

Jf = gK ⊆ Jφ(f ) = φ(g)K. (8)

There are two interesting questions that arise, which might allow for an easier description
e Ae. The first question is whether (8) can be replaced by the statement that
for the sheaf B
f (x) = g(x) implies φ(f )(x) = φ(g)(x). The second question is whether the maps φV for
V ⊆ U are fully determined by φU .
We can prove the following lemma, concerning the second question.
Lemma A.0.9. If for every open V ⊆ T , every continuous map f : V → A can be locally
extended to a map f : T → A, then for every U ⊆ T , a morphism φ : A
eU →B e is fully
determined by φU . Furthermore, any mapping φU : A(U ) → B(U ) such that (8) holds,
e e
e  U → B.
uniquely determines a morphism φ : A e

By locally extended, we mean that every x ∈ V has an open neighborhood Vx such that
f |Vx can be extended to a map f : T → A.
e  U → B,
Proof. First, let φ : A e let f ∈ A(V
e ) for some V ⊆ U and let x ∈ V . Then extend
f |Vx to a map f : T → A. We see that

φV (f )(x) = φVx (f |Vx )(x) = φU (f |U )(x),

so φV (f )(x) is determined by φU . Since this holds for all x ∈ V and all f ∈ A(V
e ), we see
that φV is fully determined by φU for all V ⊆ U .
Now assume we are given a mapping φU : A(U e ) → B(U e ) such that (8) holds. We define
φ:A eU →B e by
φV (f )(x) = φU (f )(x)

43
for every x ∈ V and every f ∈ A(V e ), where f is any function that extends f |Vx for some
neighborhood Vx of x. The fact that this is well-defined is a direct consequence of (8). The
fact that φ is natural also follows directly from the definition. 
This lemma shows that, if functions can locally extended, then we can view B e Ae as the
sheaf whose sections over U are the mappings φU : A eU →B e satisfying (8).
In the next sections, we will prove some specific results for the sheaves RR , where
R = R,e and Be Ae, where A and B are discrete spaces. The author found it really hard to
answer the question of what B e Ae looks like for general topological spaces A and B, though
this might be an interesting starting point for further research.

A.1 The sheaf of functions T × A → B.


Assume we are considering sheaves over the topological space T and let A and B be two
given topological spaces. We define the sheaf F(A, B) of functions T × A → B by

F(A, B)(U ) = {all functions U × A → B},

where the restriction maps (·)  V are ordinary function restrictions. We define the subsheaf
C(A, B) of F(A, B) by

C(A, B)(U ) = {all continuous maps U × A → B}.

We have the following lemma:


e A (U ),
Lemma A.1.1. If for any open U and any φ ∈ B
e

f (x) = f 0 (x) implies φ(f )(x) = φ(f 0 )(x)

for all sections f, f 0 of A e Ae can be seen as a subsheaf F of F(A, B). The


e and all x, then B
evaluation map evA, e : F × A → B is then given by
eB
e e

evA,
eB e (g, f )(x) = g(x, f (x))

for f ∈ A(U
e ), g ∈ F (U ) and x ∈ T . Furthermore, the subsheaf C(A, B) of F(A, B) is
contained in F .
Proof. Assume the hypothesis of this lemma and denote for a section f ∈ A(V e ) and
an x ∈ V the constant map U → A equal to f (x) by const(f (x)). Then φ(f )(x) =
φ(const(f (x)))(x). This holds for all sections f and all x ∈ V , so φ is fully determined by
what it does to constant functions. We can associate the function gφ : U × A → B defined
by gφ (x, a) = φ(const(a))(x). Since φ is fully determined by what it does to constant
e Ae can be seen as a subsheaf of F(A, B).
functions, this correspondence is injective, hence B
We see that

gφ (x, f (x)) = φ(const(f (x))(x) = φ(f )(x) = evA,


eB e (φ, f )(x),

so the evaluation map is indeed given by

evA,
eB e (g, f )(x) = g(x, f (x)).

44
Denote the subsheaf of F(A, B) to which B e Ae is isomorphic by F . To see that C(A, B) is a
subsheaf of F , let h ∈ C(A, B)(U ). Then h induces a morphism e h:A eU →B e defined by

h(f )(x) = h(x, f (x))


e

for f ∈ A(V
e ) and x ∈ V ⊆ U . The continuity of e h(f ) follows from the continuity of h. If
we define geh : U × A → B as above, it is clear that h = geh , hence h = geh ∈ F . 
We see in particular that gφ as defined above only depends on φU and not on φV for
any V ⊆ U , so any φ : A
eU →B e is fully determined by φU .

A.2 The sheaf RR


e by R. We will use the Tietze extension theorem
In this section, we denote the sheaf R
from topology multiple times:
Theorem (Tietze extension theorem). Let T be a normal space, let X ⊆ T be closed
and let f : X → R be continuous with respect to the subspace topology. Then there exists a
continuous extension f : T → R of f .
When considering the sheaf RR , we can show the following:
Lemma A.2.1. If T is a normal Hausdorff space, then we can view sections φ ∈ RR (U )
as mappings φ : R(U ) → R(U ) satisfying (8).
Proof. We will show that any map f : V → R, for V ⊆ T open, can be locally extended.
The result is then a direct consequence of lemma A.0.9. To see that this is possible, let
f : V → R be given and let x ∈ V . Note that {x} and V c are closed, so there exist opens Vx
and W such that x ∈ Vx , V c ⊆ W and Vx ∩ W = ∅, by normality of T . Then Vx ⊆ W c ⊆ V ,
where W c is closed. By the Tietze extension theorem, there exists a function f : T → R
such that f |W c = f |W c . Since Vx ⊆ W c , the function f extends f in a neighborhood of x.
This can be done for any x ∈ V , so we conclude that f can be locally extended. 
We can furthermore prove
Lemma A.2.2. Let T be a first-countable, normal space and let φ ∈ R(U ) for some open
U ⊆ T . Then for any sections f, g ∈ R(V ), where V ⊆ U , and any x ∈ V , if f (x) = g(x),
then φ(f )(x) = φ(g)(x).
The following proof is based on the proof given in [10, p.248-249] by Dana Scott.
Proof. We will show that for any f ∈ R(V ) and any x ∈ V , we have φ(f )(x) = φ(const(f (x)))(x).
Note that this implies what we want to prove. Let f ∈ R(V ) and let x ∈ V . If f is constant
on an open neighborhood Vx of x, then φ(f )(x) = φ(const(f (x)))(x) is obvious, since

φ(f )(x) = φ(f |Vx )(x) = φ(const(f (x)))(x).

Assume f is not constant on a neighborhood Vx of x. Since T is first-countable, there is


a countable decreasing basis of neighborhoods B1 ⊃ B2 ⊃ B3 ⊃ . . . for x. Note that for
every n ∈ N, there is a yn ∈ Bn such that f (yn ) 6= f (x), otherwise f would be constant

45
on Bn . If we pick such an yn for ever n, we obtain a sequence (yn )n converging to x. By
continuity of f , we see that (f (yn ))n converges to f (x), yet f (yn ) is never equal to x. We
can therefore pick a subsequence (zn )n of (yn )n such that |f (x) − f (zn )| < |f (x) − f (zn−1 )|
for every n ∈ N, hence all f (zn ) are distinct. Now pick a neighborhood Zn ⊆ R of f (zn )
for every n, such that Cl(Zn ) ∩ Cl(Zm ) = ∅ for all m, n ∈ N. Now define
[ [
W1 = Zn and W2 = Zn .
n even n odd

It is easily checked that Cl(W1 ) = (∪n even Cl(Zn )) ∪ {f (x)} and Cl(W2 ) = (∪n odd Cl(Zn )) ∪
{f (x)}, hence Cl(W1 ) ∩ Cl(W2 ) = {f (x)}. We define V1 = f −1 (W1 ) and V2 = f −1 (W2 ).
Note that these are disjoint and that Cl(V1 ) ⊆ f −1 (Cl(W1 )) and Cl(V2 ) ⊆ f −1 (Cl(W2 )), so
Cl(V1 ) ∩ Cl(V2 ) ⊆ f −1 ({f (x)}). In particular, x ∈ Cl(V1 ) ∩ Cl(V2 ) and f and const(f (x))
agree on Cl(V1 )∩Cl(V2 ). Therefore the functions f |Cl(V1 ) : Cl(V1 ) → R and const(f (x))|Cl(V2 ) :
Cl(V2 ) → R can be glued together to form the continuous function

f (y) if y ∈ Cl(V1 ),
g : Cl(V1 ) ∩ Cl(V2 ) → R; g(y) =
f (x) if y ∈ Cl(V2 ).

By the Tietze extension theorem, there exists a map g : T → R agreeing with g on


Cl(V1 ) ∩ Cl(V2 ). Note that φ(f ) agrees with φ(g) on V1 , hence also on Cl(V1 ) and similarly
φ(const(f (x))) agrees with φ(g) on V2 , hence also on Cl(V2 ). We now see that

φ(f )(x) = φ(g)(x) = φ(const(f (x)))(x).


Combining the above lemma with lemma A.1.1, we see that we can consider sections
of RR as maps U × R → R. In [10], Dana Scott proves that, if T is the Baire space, then
these maps are continuous, proving that RR is isomorphic to C(R, R). We will prove a
generalized version of this:
Lemma A.2.3. Let T be a first-countable, normal Hausdorff space with no isolated points.
Then RR is isomorphic to C(R, R), where the evaluation map evR,R : C(R, R) × R → R is
given by
evR,R (f, g)(x) = f (x, g(x))
for all x ∈ T .
The following proof is based on the proof given in [10, p.249-250] by Dana Scott.
Proof. By lemma A.1.1 and lemma A.2.2, we see that RR can be seen as a subsheaf F
of F(R, R) containing C(R, R). To prove our claim, we need to show for every U ⊆ T
that any section of F (U ) is a continuous function U × R → R. Let Φ ∈ F (U ) and let
φ ∈ R  U → R be the sheaf morphism such that

φ(f )(x) = Φ(x, f (x))

for all f ∈ R(U ) and all x ∈ U . Assume Φ is not continuous, say it is not continuous at
(x, a) ∈ U × R. Since T is first-countable, there is a decreasing sequence of neighborhoods

46
(Un )n∈N of x. We can assume that Un ⊆ U , otherwise we replace Un by U ∩ Un . We
easily see that ∩n Un = {x}: if y ∈ U , then x, y can be seperated by opens Ux and Uy .
Since Un ⊆ Ux for some n ∈ N, we see that y 6∈ ∩n Un . Since Φ is not continuous in
(x, a), there is an  > 0 such that every neighborhood of (x, a) contains a (x0 , a0 ) such that
|Φ(x0 , a0 ) − Φ(x, a)| > . In particular, we can pick such a (xn , an ) ∈ Un × (a − 1/n, a + 1/n)
for every n ∈ N, obtaining a sequence (xn , an )n such that (xn )n converges to x, (an )n
converges to a and |Φ(xn , an ) − Φ(x, a)| >  for all n. Note that the map y 7→ Φ(y, an ) is
continuous for every fixed an , since it is equal to φ(const(an )). We can therefore assume
that xn 6= x for every n ∈ N, since xn 7→ |Φ(xn , an ) − Φ(x, a)| is a continuous function,
hence |Φ(xn , an ) − Φ(x, a)| >  holds in a neighborhood of xn . Since T has no isolated
points, this neighborhood can never solely contain x. We can also assume all xn to be
distinct: for every xn , there is a m ∈ N such that xn 6∈ Um . Then xm 6= xn . Since we can
do this for ever n ∈ N, we can pick a subsequence (x0n )n such that all x0n are distinct. So
assume that all xn are distinct. Let X = {xn }n∈N ∪ {x} ⊆ U . Then X is a closed set. We
now define a function ξ : X → R by ξ(xn ) = an and ξ(x) = a. This function is easily seen
to be continuous, so by the Tietze extension theorem, it can be extended to a continuous
map ξ : T → R. We then see that

lim φ(ξ|U )(xn ) = φ(ξ|U )(x)


n→∞

by continuity of φ(ξ|U ), yet

|φ(ξ|U )(xn ) − φ(ξ|U )(x)| = |Φ(xn , ξ(xn )) − Φ(x, ξ(x))| = |Φ(xn , an ) − Φ(x, a)| > 

for all n ∈ N. This is a contradiction, so Φ : U × R → R is continuous. 

A.3 The case where A and B are discrete spaces


If A and B are discrete spaces and T is locally connected, we can prove the following:

Lemma A.3.1 ([2, lemma 2.3]). Assume T is locally connected and assume that A and
e Ae is isomorphic to B A A
B are discrete. Then B dis , where Bdis is the set of all functions A → B
g
A
with the discrete topology. The evaluation morphism evA, e : Bdis × A → B is given by
g e e
eB

evA,
eB e (f, a)(x) = f (x)(a(x)).

Proof. Note that a map f : U → A or f : U → B, for U ⊆ T , is continuous if and only if


it is locally constant, since U is locally connected and A and B are discrete. Since every
continuous map f : U → A is locally constant, it is clear that the hypothesis of lemma
A.1.1 is satisfied (for any two locally constant maps f, g : U → A agree on a neighborhood
of x ∈ U if they agree in x). We can therefore see any φ ∈ B e Ae(U ) as a map φ0 : U × A → B,
which defines a map fφ : U → Bdis A
by fφ (x)(a) = φ0 (x, a) for x ∈ U and a ∈ A. To show
that fφ is continuous, we need to show that it is locally constant. Let x ∈ U and let V ⊆ U
be a connected neighborhood of x. Then

fφ (y)(a) = φ(const(a))(y) = φ(const(a))(x) = fφ (x)(a)

47
for all a ∈ A and all y ∈ V , where we use that φ(const(a)) is constant on V .
A
We now show that any continuous (i.e. locally constant) map f : U → Bdis induces a
0 0
morphism φf : A  U → B. We define, for g ∈ A(U ) and U ⊆ U ,
e e e

φf (g)(x) = f (x)(g(x)).

We need to check that φf (g) is locally constant. Let x ∈ U 0 and let V ⊆ U 0 be a connected
neighborhood. Then f and g are constant on V , so

φf (g)(y) = f (y)(g(y)) = f (x)(g(x)) = φf (g)(x)

for any y ∈ V . We conclude that there is a 1-1 correspondence between B e Ae and B A


dis . The
g
prove that this correspondence is an isomorphism (so the prove that it is natural) is left to
the reader. We see that under this correspondence

evA,
eB e (φ, a)(x) = φ(a)(x) = fφ (x)(a(x)).

48
Index
Axiom of countable choice, 37 J·K, 18
, 9, 10
Baire space, 27 (·),
f 10

Category, 6 Amalgamation, 10
Functor, 7 Compatible family, 10
Initial object, 8 Exponential sheaf, 14
Isomorphism, 7 Natural numbers object, 24
Natural numbers object, 24 Power sheaf, 15
Presheaf, 9
Natural transformation, 7
Product, 12
Product, 8
Quotient, 22
Terminal object, 8
Sheaf topos, 11
Kripke model, 3 Subobject classifier, 14
,4 Subpresheaf, 12
Subsheaf, 12
Logic
Interpretation in Kripke models, 3 The continuum
Interpretation in sheaves, 18 Brouwer’s continuity theorem, 32, 41
Intuitionistic logic, 2 Cauchy reals, 38
Many-sorted logic, 17 Dana Scott’s model, 34
Soundness, 5, 21 Dedekind cut, 29
Dedekind reals, 29
Sheaf, 11 Fundamental sequence, 38
, 19 Tietze extension theorem, 45

References
[1] L.E.J. Brouwer. “Beweis, dass jede volle Funktion gleichmässig stetig ist”. In: Proc.
Amsterdam 27 (1924), pp. 189–194.
[2] M.P. Fourman and J.M.E. Hyland. “Sheaf models for analysis”. In: Applications of
sheaves. Springer, 1979, pp. 280–301.
[3] M.P. Fourman and D.S. Scott. “Sheaves and logic”. In: Applications of sheaves.
Springer, 1979, pp. 302–401.
[4] T. Jech. Set theory. The Third Millennium Edition, revised and expanded. Springer-
Verlag, 2003.
[5] S. Mac Lane and I. Moerdijk. Sheaves in geometry and logic: A first introduction to
topos theory. New York: Springer-Verlag, 1992.
[6] I. Moerdijk and J. van Oosten. Topos Theory. Lecture notes. Utrecht University, 2007.
url: http://www.staff.science.uu.nl/~ooste110/syllabi/toposmoeder.pdf.
[7] J. van Oosten. Basic Category Theory. Lecture notes. Revised edition, July 2002.
Utrecht University, 2000. url: http://www.staff.science.uu.nl/ ~ooste110/
syllabi/catsmoeder.pdf.

49
[8] J. van Oosten. Intuitionism. Lecture notes. Revised edition, april 1996. 1995. url:
http://www.staff.science.uu.nl/~ooste110/syllabi/intuitionism.pdf.
[9] D.S. Scott. “Extending the topological interpretation to intuitionistic analysis”. In:
Compositio Mathematica 20 (1968), pp. 194–210.
[10] D.S. Scott. “Extending the topological interpretation to intuitionistic analysis, II”.
In: Studies in Logic and the Foundations of Mathematics 60 (1970), pp. 235–255.
[11] D.S. Scott. “Identity and existence in intuitionistic logic”. In: Applications of sheaves.
Springer, 1979, pp. 660–696.
[12] A.S. Troelstra and D. van Dalen. Constructivism in Mathematics. Vol. 1. Utrecht:
Elsevier, 1988.

50

You might also like