The Pennsylvania State University

The Graduate School

Department of Mathematics

A MODEL OF INTUITIONISM BASED ON TURING DEGREES

A Dissertation in

Mathematics

by

Sankha Subhra Basu

c 2013 Sankha Subhra Basu

Submitted in Partial Fulfillment of the Requirements for the Degree of

Doctor of Philosophy

August 2013 The dissertation of Sankha S. Basu was reviewed and approved* by the following:

Stephen G. Simpson Professor of Mathematics Dissertation Advisor Chair of Committee

Jan Reimann Assistant Professor of Mathematics

John Roe Professor of Mathematics

Sean Hallgren Associate Professor of Computer Science and Engineering

Svetlana Katok Professor of Mathematics Director of Graduate Studies

*Signatures are on file in the Graduate School.

ii Abstract

Intuitionism is a constructive approach to mathematics introduced in the early part of the twetieth century by L. E. J. Brouwer and formalized by his student A. Heyting. A. N. Kolmogorov, in 1932, gave a natural but non-rigorous interpretation of intuitionism as a calculus of problems. In this document, we present a rigorous implementation of Kolmogorov’s ideas to higher-order intuitionistic logic using sheaves over the poset of Turing degrees with the of upward closed sets. This model is aptly named as the Muchnik topos, since the of upward closed subsets of Turing degrees is isomorphic to the lattice of Muchnik degrees which were introduced in 1963 by A. A. Muchnik in an attempt to formalize the notion of a problem in Kolmogorov’s calculus of problems.

iii Contents

Acknowledgements vi

1 Introduction 1 1.1 Overview ...... 1 1.2 Intuitionistic Logic ...... 1 1.2.1 History ...... 1 1.2.2 Brouwer’s Intuitionism ...... 2 1.2.3 The BHK-Interpretation ...... 4 1.2.4 Other Interpretations for Intuitionistic Propositional and Predicate Logic . . 5 1.3 Higher-Order Logics and Sheaf Semantics ...... 8 1.3.1 Higher-Order Logics ...... 8 1.3.2 Sheaf Semantics for Higher-Order Intuitionistic Logics ...... 8 1.4 Recursion Theory ...... 9 1.4.1 Constructive Recursive Mathematics and the Church-Turing thesis ...... 9 1.4.2 Unsolvability of the Halting Problem and Turing Degrees ...... 10 1.4.3 Mass Problems ...... 10 1.5 Our Contribution ...... 11

2 Sheaf semantics for higher-order intuitionistic logic 12 2.1 Sheaves over a ...... 12 2.2 Higher-Order Intuitionistic Logic ...... 39 2.3 An interpretation of higher-order intuitionistic logic ...... 41 2.4 Sheaves over poset spaces ...... 49 2.5 K-sets ...... 52

3 Number systems and sheaves 57 3.1 The Natural Numbers ...... 57 3.2 The Baire Space ...... 62 3.3 The Real Numbers ...... 65

4 A few principles 67 4.1 The principle of the excluded middle ...... 67 4.2 The weak law of the excluded middle ...... 68 4.3 Markov’s principle ...... 69 4.4 The law of trichotomy for real numbers ...... 74 4.5 The weak law of trichotomy for real numbers ...... 76

iv 4.6 The axiom of countable choice ...... 76

5 The Muchnik model 87 5.1 Preliminaries ...... 87 5.2 The Muchnik topos ...... 89 5.3 Muchnik Reals ...... 92

References 108

v Acknowledgements

I am grateful to my dissertation adviser Professor Stephen Simpson for his guidance throughout the duration of my graduate study at Penn State. This document would not have been possible without his help, support, and the significant amount of time that he invested in me. I am indebted to Professor Mihir Chakraborty of the University of Calcutta. It was he who in- troduced me to the wonderful world of Logic and Foundations of Mathematics through the courses that he taught at the university and during our meetings and discussions. His continued encour- agement and guidance have been invaluable to me. I thank Professor Wim Ruitenburg of Marquette University. The conversations that I have had with him, during and after my two years as a graduate student at Marquette, helped me sustain my interest in logic. I am thankful to Dr. Michael Warren for explaining the basics of topos theory to me during his visits to Penn State and for sending me his personal notes on sheaf theory. I acknowledge the constant support and inspiration from my parents, my first teachers. They have always urged me to succeed and reach for higher goals. Most of all, they instilled the sense of curiosity, early on in my life, that drives me to learn more. Last, but not the least, I thank my dear wife, who herself embarked on a career in academia to be with me during my years of graduate study. It would have been impossible without her love and support.

vi Chapter 1

Introduction

1.1 Overview

This thesis connects the concept of Intuitionism or Intuitionistic Logic, as conceived by Luitzen Egbertus Jan Brouwer, and Recursion theory, that ever since Alan Turing’s seminal work on com- putability of functions, has been an active field of research. Both of these areas of study originated in the early part of the twentieth century. This connection is motivated by the work of another great mathematician of the twentieth century, Andrey Nikolaevich Kolmogorov, and is laid out via the theory of sheaves over a topological space, an active area of research in geometry. In the following paragraphs, we present a brief history and background of each of these areas along with a description of the contribution of the present document to these areas.

1.2 Intuitionistic Logic

1.2.1 History Intuitionism is a constructive approach to mathematics proposed by Brouwer. The philosophical basis of this approach was present in Brouwer’s thesis, titled “On the foundations of mathematics”, published in 1907. The mathematical consequences were in his later papers, published between 1912-1928. This was a time, when the world of logic was largely dominated by David Hilbert’s proposal for an axiomatic foundation of mathematics (1905) and Georg Ferdinand Ludwig Philipp Cantor’s theory (1874). Intuitionism falls under the broad purview of constructivism. Constructivists were among the leading critics of Hilbert’s approach and Cantorian set theory. There were however considerable differences among the various constructivist schools. Some of the other constructivist approaches of the time were Finitism, proposed by Thoralf Skolem in 1923; Predicativism, pro- posed by Herman Weyl in 1918; Bishop’s Constructive Mathematics, proposed by Errett Bishop in 1967; Constructive Recursive Mathematics, proposed by Andrei Markov in 1950, to name a few. There were many prominent mathematicians of that time among the constructivists, includ- ing Leopold Kronecker (1823-1891), who is sometimes regarded as “the first constructivist”, Ren´e Louis Baire (1874-1932), Emile Borel (1871-1956), Nikolai Nikolaevich Lusin (1883-1950) and Jules Henri Poincar´e(1854-1913). To read more about the different schools of constructivism and for a brief history, see [31][Volume I, Chapter 1], [28]. Constructivism and Intuitionism will be treated as synonymous henceforth.

1 1.2.2 Brouwer’s Intuitionism The following is quoted from [31][Volume I, Chapter 1, page 4]. “The basic tenets of Brouwer’s intuitionism, are as follows. (a) Mathematics deals with mental constructions, which are immediately grasped by the the mind; mathematics does not consist in the formal manipulation of symbols, and the use of mathematical language is a secondary phenomenon, induced by our limitations (when compared with an ideal mathematician with unlimited memory and perfect recall), and the wish to communicate our mathematical constructions with others.

(b) It does not make sense to think of truth and falsity of a mathematical statement independently of our knowledge concerning the statement. A statement is true if we have a proof of it, and false if we can show that the assumption that there is a proof for the statement leads to a contradiction. For an arbitrary statement we can therefore not assert that it is either true or false.

(c) Mathematics is a free creation: it is not a matter of mentally reconstructing, or grasping the truth about mathematical objects existing independently of us. It follows from (b) that it is necessary to adopt a different interpretation of statements of the form “there exists an x such that A(x) holds” and “A or B holds”. In particular, “ A or not A” does not generally hold on the intuitionistic reading of “or” and “not”. In agreement with, but not necessarily following from (c), intuitionism permits consideration of unfinishable processes: the ideal mathematician may construct longer and longer initial segments α(0), . . . , α(n) of an infinite sequence of natural numbers α where α is not a priori determined by some fixed process of producing values, so the construction of α is never finished.” This brings us to the following question. Which objects can be said to exist as (mental) constructions? “Natural numbers are usually regarded as unproblematic from a constructive point of view; they correspond to very simple mental constructions: start thinking of an abstract unit, think of an- other unit distinct from the first one and consider the combination (“think them together”). The indefinite repetition of this process generates the collection N of natural numbers. Once having accepted the natural numbers, there is also no objection to accepting pairs of natural numbers, pairs of pairs etc. as constructive objects; and this permits us to define Z (the integers) and Q (the rationals)in the usual way as pairs of natural numbers and pairs of integers respectively, each modulo suitable equivalence relations. Infinite sequences of natural numbers, integers or rationals may be constructively given by some process enabling us to determine the n th term (value for n) for each natural number n; in particular, one may think of sequences given by a law (or recipe) for determining all its values (terms). Thus a real number can be specified by a fundamental sequence of rationals together with a Cauchy modulus, that is to say we specify a sequence hrnin ∈ N / Q and a sequence α ∈ N / N 0 (the modulus) such that for all k ∈ N and all m, m ≥ αk −k |rm − rm0 | ≤ 2 .

Two such sequences hrnin, hsnin are said to be equivalent (equal as real numbers) if for all k ∈ N there is an n ∈ N such that for all m −k |rn+m − sn+m| ≤ 2 .

2 Much of the elementary theory of real numbers can then be developed in exactly the same way as usual.” (Quoted from [31][Volume I, Chapter 1]) The next question that begs an answer is: what are examples of non-constructive definitions or proofs? We quote from [31][Volume I, Chapter 1], one example of a non-constructive definition, and one example of a non-constructive proof. “A non-constructive definition: Let A be any mathematical statement which at present has been neither proved nor refuted (e. g. A ≡“there are infinitely many twin primes”). Ordinarily, one permits in mathematics descriptions (definitions) of natural numbers such as the following.

 1 if A holds, p = 2 otherwise.

Constructively, this is unacceptable as the description of a natural number since, as long as the truth of A has not been decided, we cannot identify p with either 1 or 2; in other words we do not know how to obtain p by “thinking some abstract units together”, since we do not know whether to stop at one unit or go on till we have two distinct units.” “A proposition with a non-constructive proof: There exist two irrational numbers a, b such that ab is rational. √ √ √ 2 √ √ 2 Proof. 2 is either rational, and then we can take a = b = 2, or 2 is irrational, and √ √ 2 √ then we can take a = 2 , b = 2.

This proof does not enable us to construct a as a real number, that is to say we cannot compute a with any desired degree of accuracy, as required by our description of what it means to be given a real number. In other words, we do not know how to find an arbitrarily close rational approximation. Note however, that our objections to the proof depend on reading “there exist” as “one can construct”.” In Brouwer’s view, mathematics is a free creation of the mind, it allows the construction math- ematical systems on the basis of intuition and hence mathematical objects are mental constructs. Some consequences of this view, drawn by Brouwer, are:

• Mathematics is independent of logic; on the contrary, logic is an application or a part of mathematics.

• Mathematics cannot be founded upon the axiomatic method.

In particular, he rejected in his thesis Hilbert’s early formalism and Cantorian set theory. More details can be found in [31, 28]. Another important feature of Brouwer’s early work on intuitionism was “weak counterexam- ples”. These were introduced for the first time in 1908 to show that certain statements of classical mathematics are not intuitionistically acceptable. A weak counterexample to a statement A of classical mathematics is not a counterexample in the strict sense that a contradiction is derived from A, but an example showing that, if we assume that we can prove A intuitionistically, then it would follow that we had a solution to a problem known to be as yet unsolved. For instance, let us consider the Principle of Excluded Middle,

(PEM) A ∨ ¬A, which is valid in classical logic. Constructively, if PEM is accepted as a general principle, then that means we have a universal method for obtaining, for any proposition, either a proof of A or a proof

3 of ¬A, that is, a method for obtaining a contradiction from a hypothetical proof of A. But if such a universal method were available, we could also decide the truth or falsity of a statement A, that has not been proved or refuted yet, (e. g. A ≡ “there are infinitely many twin primes”), which is not the case. Thus PEM cannot be accepted as a universally valid principle in intuitionistic logic. It is to be noted that the above argument does not refute PEM, in the sense that it does not show how to derive a contradiction from the assumption that PEM is valid. Instead, it just shows that it cannot be accepted as a valid constructive principle, since accepting it means that we ought to have certain knowledge of the truth or falsity of A, which we may not possess. Hence this is a weak counterexample. However, constructivists do not oppose to individual instances of PEM, that is, we cannot hope to find a mathematical statement A such that ¬(A ∨ ¬A). In other words, ¬¬(A ∨ ¬A) is valid in intuitionistic logic. The following are some other examples of statements that are classically valid but are not acceptable in intuitionistic logic, that is, there are weak counterexamples for these.

• (¬¬A) =⇒ A

• (A =⇒ B) ∨ (B =⇒ A)

• (¬(¬A ∧ ¬B)) =⇒ (A ∨ B) (A De Morgan’s Law)

• (¬(¬A ∨ ¬B)) =⇒ (A ∧ B) (A De Morgan’s Law)

• (∀x (¬¬A(x))) =⇒ (¬¬∀x A(x))

• (¬¬∃x A(x)) =⇒ (∃x ¬¬A(x))

However, the weak counterexamples are not all that is there in Brouwer’s work. Too much emphasis on these has sometimes created the false impression that refuting claims of classical mathematics is the principal aim of intuitionism. On the contrary, Brouwer introduced a number of innovations that were worthwhile contributions to the study of foundations of mathematics. An example of such a concept, which we do not deal with in this thesis, is the study of choice sequences. Discussions on choice sequences can be found in [31][Chapters 4 & 12], [4][Chapter 3]. After 1912, Brouwer started in earnest on what has come to be known as Brouwer’s program, which provided an alternative perspective on foundations of mathematics and ran parallel to Hilbert’s program.

1.2.3 The BHK-Interpretation Brouwer’s program of reconstructing mathematics was taken up next by his disciple Arend Heyting, whose prime contribution to intuitionism was, as ironical as it may sound, the formalization of intuitionistic logic and arithmetic, and the formulation of a ‘natural’ semantics for it. The latter is sometimes called the proof interpretation. This was already implicit in Brouwer’s writing, but was made explicit by Heyting in a series of articles published between 1930-1934. In the first few papers, published in 1930-1931, Heyting discussed an interpretation of only the propositional fragment of intuitionistic logic. Later in 1934, he extended the proof interpretation to predicate logic. In this interpretation of intuitionistic logic, the meaning of a statement A is given by explaining what constitutes a proof of A, and proof of A for logically compound A is explained in terms of what it means to give a proof of its constituents. The final form of this semantics is described in [31]Volume I, Chapter 1] as follows.

(H1) A proof of A ∧ B is given by presenting a proof of A and a proof of B.

4 (H2) A proof of A∨B is given by presenting either a proof of A or a proof of B (plus the stipulation that we want to regard the proof presented as evidence for A ∨ B).

(H3) A proof of A =⇒ B is a construction which permits us to transform any proof of A into a proof of B.

(H4) Absurdity ⊥ (contradiction) has no proof; a proof of ¬A is a construction which transforms any hypothetical proof of A into a proof of a contradiction.

(H5) A proof of ∀x A(x) is a construction which transforms a proof of d ∈ D (D the intended range of variable x) into a proof of A(d).

(H6) A proof of ∃x A(x) is given by providing d ∈ D, and a proof of A(d).

Note: We are using =⇒ for implication instead of →, that is used in [31], since =⇒ will denote implication later in this thesis. Kolmogorov, independently in 1932, gave an interpretation of intuitionistic propositional logic as a calculus of problems. This was essentially the same as Heyting’s interpretation in different terms. Kolmogorov regarded propositions as problems, and logically compound assertions as problems ex- plained in terms of simpler problems. Thus, for instance, A =⇒ B in Kolmogorov’s interpretation represents the problem of reducing the solution of problem B to the solution of problem A. Even though Kolmogorov in his 1932 paper [9] on this mentions: “the calculus of problems coincides in form with the Brouwerian logic recently formalized by Heyting”, initially they both regarded their respective interpretations as distinct. Later, in 1958, Heyting realized that both interpretations are practically the same. He also extended Kolmogorov’s interpretation to predicate logic. Today, this semantics is widely known as the Brouwer-Heyting-Kolmogorov interpretation (or the BHK-interpretation in short). In this context, also see [2]. Although the BHK-interpretation of intuitionistic logic was simple and, in some sense, natural, this was non-rigorous and thus left a lot of open questions.

1.2.4 Other Interpretations for Intuitionistic Propositional and Predicate Logic Some other attempts at interpreting intuitionistic propositional and predicate logic are listed below.

• Algebraic semantics, widely known as Heyting algebras - probably first used by Stanislaw Ja´skowski in 1936

• Topological semantics - although implicit in Marshal Harvey Stone’s work published in 1937, were introduced explicitly by Alfred Traski in the 1938

• Beth models - introduced by Evert Willem Beth in 1956

- introduced by Saul Aaron Kripke in 1965

Heyting algebras, also known as pseudo-Boolean algebras and Brouwerian lattices, is a special class of lattices.

Definition 1.2.1. A lattice is a (poset) A such that for each a, b ∈ A, there is a least upper bound a ∨ b (the join of a and b) and a greatest lower bound a ∧ b (the meet of a and b). This can be expressed by the following axioms. For any a, b, c ∈ A,

(i) a ≤ a ∨ b, b ≤ a ∨ b, ((a ≤ c) ∧ (b ≤ c)) =⇒ (a ∨ b ≤ c);

5 (ii) a ∧ b ≤ a, a ∧ b ≤ b, ((c ≤ a) ∧ (c ≤ b)) =⇒ (c ≤ a ∧ b); where ≤ is the partial order relation in A.

Definition 1.2.2. A lattice can also be seen as an algebraic structure (A, ∨, ∧), where A is a set and ∨, ∧ are two binary operations on A such that for all a, b, c ∈ A,

(i) a ∧ a = a, a ∨ a = a;

(ii) a ∧ b = b ∧ a, a ∨ b = b ∨ a;

(iii) a ∧ (b ∧ c) = (a ∧ b) ∧ c, a ∨ (b ∨ c) = (a ∨ b) ∨ c;

(iv) a ∨ (a ∧ b) = a, a ∧ (a ∨ b) = a.

Definition 1.2.3. A zero or bottom element (denoted by 0 or ⊥) in a lattice satisfies ⊥ ≤ a, for all a ∈ A. Similarly a top or unit element (denoted by 1 or >) in a lattice satisfies a ≤ > for all a ∈ A.

Definition 1.2.4. A lattice (A, ∨, ∧) is complete iff joins and meets exist for all B ⊆ A.

Definition 1.2.5. A is an algebraic structure (A, ∨, ∧, ⊥, =⇒ ) such that (A, ∨, ∧) is a lattice with bottom ⊥, and =⇒ is a binary operation on A such that

a ∧ b ≤ c iff a ≤ b =⇒ c.

We also define ¬a = a =⇒ ⊥ for any a ∈ A.

It is known that any Heyting algebra is a model for intuitionistic propositional logic. For more on Heyting algebras, see [1]. For details on how to interpret intuitionistic propositional logic in Heyting algebras, see [31][Volume 2, Chapter 13].

Definition 1.2.6. A complete Heyting algebra is a Heyting algebra that is complete as a lattice.

Example 1.2.7. Suppose T is a topological space and Ω is the collection of open sets of T . Then it is easy to check that Ω is a complete Heyting algebra with the ∨, ∧, ⊥, =⇒ given by

• U ∨ V = U ∪ V ,

• U ∧ V = U ∩ V ,

• ⊥ = ∅, and [ • U =⇒ V = {W ∈ Ω: U ∩ W ⊆ V } = Interior of ((T \ U) ∪ V ) = ((T \ U) ∪ V )◦

The topological semantics for intuitionistic propositional logic is a particular case of the Heyting algebra interpretation, where to each formula A, we assign an open subset [[A]] of the topological space T . Thus

• [[A ∨ B]] = [[A]] ∪ [[B]],

• [[A ∧ B]] = [[A]] ∩ [[B]],

• [[⊥]] = ∅, and

• [[A =⇒ B]] = [[A]] =⇒ [[B]] = ((T \ [[A]]) ∪ [[B]])◦.

6 So, then for any formula A, [[¬A]] = [[A =⇒ ⊥]] = ((T \ [[A]]) ∪ [[⊥]])◦ = ((T \ [[A]]) ∪ ∅)◦ = (T \ [[A]])◦ . Definition 1.2.8. A formula of intuitionistic propositional logic A is then said to be true in a topological space T , if [[A]] = T , and it is said to be valid if it is true in all topological spaces.

It is now easy to see that this interpretation is not classical as PEM is not valid here, as shown below. [[A ∨ ¬A]] = [[A]] ∪ (T \ [[A]])◦ 6= T, in general. The topological semantics can be extended to intuitionistic predicate logic by adding the fol- lowing two clauses to the ones above. [ • ∃x A(x)]] = [[A(x/d)]], and d∈D !◦ \ • ∀x A(x)]] = [[A(x/d)]] , d∈D where D is the intended range for the variable x. Then with the similar notion for truth and validity, we can show that the topological semantics as described is an interpretation for intuitionistic predicate logic. However, it is to be noted that there is no stipulation as to the nature of the topological space. So, in particular, if T is the one-point space, then [[A∨¬A]] = T for any sentence A, and we have the usual two valued classical logic. This goes to show, what is already evident in the above discussion, that intuitionistic logic is a generalization of classical logic, that is, it is a sub-classical logic. To see more details on the topological semantics, see [29, 4]. The Beth and Kripke semantics for intuitionistic predicate logic are closely related. We present below a brief description, following [29], of the Kripke semantics.

Definition 1.2.9. A Kripke Model is a quadruple K = (K, ≤,D, ), where K is partially ordered by ≤, and D is a function (the domain function) that assigns to each element of K a structure, that is, a non-empty set with relations, such that for α, β ∈ K, if α ≤ β then D(α) ⊆ D(β), and the relations of D(α) are subsets of the corresponding relations of D(β). Finally, is a relation between elements of K and sentences of intuitionistic predicate logic, called the forcing relation, and is defined inductively as follows.

(i) For any atomic formula A (that is a formula with no logical connectives and quantifiers), α A (read as α forces A or A is true at α) if the relation that interprets the predicate symbol in A holds for the elements of D(α) that are assigned to the terms in A.

(ii) α A ∧ B if α A and α B.

(iii) α A ∨ B if α A or α B.

(iv) α A =⇒ B if for all β, such that α ≤ β, if β A then β B.

(v) α ∀x A(x) if for all β, such that α ≤ β, and for all d ∈ D(β), β A(d).

7 (vi) α ∃x A(x) if there exists a d ∈ D(α) such that α A(d).

(vii) α 6 ⊥ for all α ∈ K.

Remark 1.2.10. As a consequence of this definition, we get that α ¬A, that is, α (A =⇒ ⊥) iff for all β, such that α ≤ β, β 6 A.

Definition 1.2.11. A sentence A is then defined to be true in a Kripke model K = (K, ≤,D, ), if for all α ∈ K, α A, and it is defined to be valid if it is true in all Kripke models.

Remark 1.2.12. A Kripke model (K, ≤,D, ) can be seen as a special topological model, with the poset (K, ≤) as the underlying topological space and the open sets being the upward closed subsets of K.

Remark 1.2.13. The nodes in the partially ordered sets in Kripke models can be thought of as representing possible stages of knowledge; a higher node in the ordering corresponds to an extension of the knowledge of the creative subject.

1.3 Higher-Order Logics and Sheaf Semantics

1.3.1 Higher-Order Logics Higher-order logics are extensions of first-order logics, where in addition to quantifiers over objects (in the universe of discourse), we are allowed to have quantifiers over pairs of objects, sets of objects/ pairs, sets of sets of objects/ pairs, and so on. This augmentation of the language increases its expressive strength, without adding new non-logical symbols, and hence is an easier ground for studying the foundations of mathematics. Higher-order logics call for a many-sorted or typed language. We discuss a system of higher-order intuitionistic logic in detail in Section 2.2 of this thesis.

1.3.2 Sheaf Semantics for Higher-Order Intuitionistic Logics Sheaf theory originated as a part of geometry, more specifically algebraic topology, in 1945. Since then it has been used in many different areas of mathematics, like complex analysis, algebraic geometry, differential equations, algebra, category theory, and logic, and also in physics, mainly as a tool that grants passage from local properties to global properties. See Gray’s article [7] for more details on the history of sheaf theory. The inspiration behind the unexpected connected between sheaves and logic came from two different sources. Dana Stewart Scott gave a topological model for intuitionistic analysis, in two papers in 1968 and 1970 [17, 18]. The second source was Category Theory, an alternative approach to formalizing mathematics introduced, in connection with algebraic topology, by Samuel Eilenberg and Saunders Mac Lane in 1942-1945. See [11] for an introduction to category theory. Alexander Grothendieck and his coworkers generalized the notion of sheaves to define sheaves over a site (rather than a topological space), and were led to the study of categories of sheaves or topoi. Francis William Lawvere realized that these categories have the structure necessary to interpret higher-order logic. Together with Myles Tierney, he developed the notion of elementary topos - a category with extra structure. The notion of elementary topos is a generalization of the notion of Grothendieck topos, and provides interpretations for higher-order intuitionistic logic. The current work bypasses the complications of category theory and topos theory but follows the work of Michael Fourman, John Martin Elliott Hyland, and Dana Scott as documented in

8 [19, 6, 20]. We define sheaves of sets over topological spaces in detail in Section 2.1. To explore more on sites and the notion of Grothedieck topos, see [31][Volume II, Chapters 14-15], [12] and for more on topos theory see [8, 10].

1.4 Recursion Theory

1.4.1 Constructive Recursive Mathematics and the Church-Turing thesis Constructive recursive mathematics (mentioned above in Section 1.2) was another constructivist school that started in the 1930s. This was based on the informal concept of algorithms or effective procedures, the main features of which can be summarized in as follows.

• An algorithm is a set of instructions of finite size. The instructions themselves, are finite strings of symbols from a finite alphabet.

• There is a computing agent (human or machine), which can react to the instructions and carry out the computations.

• The computing agent has unlimited facilities for making, storing, and retrieving steps in a computation.

• The computation is always carried out deterministically in a discrete stepwise fashion, without use of continuous methods or analog devices. In other words, the computing agent does not need to make intelligent decisions or enter into an infinite process at any step.

Based on this notion, the following definition of an effectively calculable function was made.

k Definition 1.4.1. A k-place (partial) function f : N / N is called effectively calculable if there is an effective procedure with the following properties.

• Given a k-tuple (m1, . . . , mk) in the domain of f, the procedure eventually halts and returns a correct value of f(m1, . . . , mk).

• Given a k-tuple (m1, . . . , mk) not in the domain of f, the procedure does not halt and return a value.

Several formalizations for this informal idea of effectively calculable functions were considered. Kurt Friedrich G¨odelused the primitive recursive functions in his famous incompleteness proof in 1931, and then later introduced recursive functions in 1934 following Jacques Herbrand’s sugges- tions. Along completely different lines Alonzo Church introduced the λ-calculus in 1932, a theory that only used λ-abstraction and application. In the meantime Haskell Brooks Curry, in 1930, developed his combinatory logic. The equivalence of λ-calculus and combinatory logic was proved by John Barkley Rosser Sr., and the equivalence of Herbrand-G¨odelrecursive functions with the λ-definable ones was proved by Church and Kleene in 1936. Alan Mathison Turing proposed an interesting conceptual characterization of algorithms in 1936-1937. He used abstract machines, which are now called Turing machines, and put forward a convincing argument that the class of effectively calculable functions coincides with the class of functions computable by Turing machines. Emil Leon Post also developed a mathematical model for computation in 1936 independent of Turing. The Church-Turing thesis, which is also called Church’s thesis states that the classes of (partial) functions generated by each of the above formalizations coincides with the informally defined class

9 of effectively calculable (partial) functions. This was proposed in 1936 and is now universally accepted, although no formal proof is possible, because of the non-rigorous nature of the definition of effective calculability. The study of Constructive recursive mathematics was continued 1950 onwards by Andrey An- dreyevich Markov and his students. He however added a clause to those in the definition of an algorithm: “if it is impossible that an algorithmic computation does not terminate, then it does terminate”. These algorithms are called Markov algorithms and this principle, which is commonly rejected by intuitionists, has come to be known as the Markov’s principle. However, as noted in [28], the discovery of a precise notion of algorithm in the 1930s did not affect intuitionism. This is not surprising, as most of these characterizations describe algorithms in narrow languages, which is contrary to Brouwer’s view of mathematics as the languageless activity of the ideal mathematician. Turing’s analysis is not tied to a specific formalism, but his arguments are based on manipulation of symbols and appeals to physical limitations on computing. Such ideas of course do not fit into Brouwer’s idea of mathematics as a free creation. The above discussion is based on [31][Volume I, Chapter 1], [28, 5, 16].

1.4.2 Unsolvability of the Halting Problem and Turing Degrees The question, are all functions computable, was answered in the negative by Alan Turing in 1936 via the Halting problem. Informally, the halting problem says that there is no algorithm that decides whether a given algorithm, or Turing machine provided with a given input will halt or will run forever. This is an example of an unsolvable decision problem. More formally, if f is a k-place k partial recursive function, with domain D ⊆ N , then the characteristic function of D, χD, defined by  1 if (m , . . . , m ) ∈ D, that is, f(m , . . . , m ) is defined, χ (m , . . . , m ) = 1 k 1 k D 1 k 0 otherwise, is not computable. Soon after this, many other mathematical problems, for instance the word problem for groups, Hilbert’s 10th problem (the problem of deciding whether a given Diophantine equation has a solution in integers), were shown to be unsolvable, that is, algorithmically unsolvable. So it became desirable to compare the unsolvabilities of the various unsolvable problems. The concept of relative computability, described in terms of oracle machines by Turing in 1939, gave a means of comparing unsolvable problems. Informally, a problem A is said to be solvable relative to a problem B, if there is an algorithm that converts the solution of B to the solution of A. This means that problem A is no more unsolvable than problem B. Now, in addition to that if there is no algorithm to convert the solution of problem A to the solution of problem B, then we can say that problem B is strictly more unsolvable than problem A, that is, problem B has a higher degree of unsolvability than problem A. Later in 1944, Emil Post first used the term Turing reducibility to refer to the concept and introduced the name Turing degrees for degrees of unsolvability. It was also shown that the Turing degrees form an upper semi-lattice, that is a partially ordered set that has an upper bound for any non-empty subset. More details and formal versions of these concepts can be found in [16, 5], some of which can also be found in Chapter 5 of the current document.

1.4.3 Mass Problems In an attempt to formalize the notion of a problem in Kolmogorov’s calculus of problems, Yu. T. Medvedev introduced the concept of mass problems in 1955 [13]. The notion of reducibility of one mass problem to another, now known as strong reducibility or Medvedev reducuibility, which extend

10 Turing reducibility, is also defined in this paper. Then to each mass problem is assigned a degree of difficulty, presently known as strong degree or Medvedev degree. Albert Abramovich Muchnik, in 1963, introduced another notion of reducibility of one mass problem to another [14]. This is now known as weak reducibility or Muchnik reducibility, and is also an extension of the concept of Turing reducibility. Based on this, each mass problem is assigned another degree, called the weak degree or Muchnik degree. Further details on mass problems is available in Section 5.2 of the current document. Both, the Medvedev degrees and Muchnik degrees form Heyting algebras and hence are models of intuitionistic propositional calculus, that are formal manifestations of the BHK-interpretation. For an extensive discussion of mass problems, see [21]. For later work on the Medvedev and Muchnik degrees and their connections to intuitionistic logic, see [27, 26, 25].

1.5 Our Contribution

In the present document, we start with a discussion of sheaf semantics over a general topological space for a system of higher-order intuitionistic logic HIQCE in the first three sections of Chapter 2. Then we specialize to a particular class of topological spaces, namely the poset spaces with the topology of upward closed sets. While sheaf models over poset spaces can be seen as a special case of sheaf models over general topological spaces, they can also be seen as a direct extension of the Kripke models for intuitionistic first-order logic. In Chapter 3, we discuss the various number systems in sheaf models with an underlying general topological space and then with an underlying poset space. This analysis is continued in Chapter 4, where we discuss the validity of certain principles that are not intuitionistically universally valid. In Chapter 5, we specialize further to the sheaf model over the poset of Turing degrees. The latter has been named by us as the Muchnik topos, since the lattice of upward closed sets of Turing degrees, that is, the open sets in the poset space of Turing degrees, is isomorphic to the lattice of Muchnik degrees. Our model thus extends the BHK-interpretation to higher-order intuitionistic logic and in the process touches on various other interpretations, namely the algebraic, topological, Kripke, Beth and the general sheaf semantics. Finally, in Chapter 5, we have also introduced a new class of real numbers, called the Muchnik reals. This is a subset of the set of Cauchy or Dedekind reals, with the unique property that its elements come into existence, in some sense, as we move up in the partial ordering of Turing degrees. Thus we have captured the essence of Brouwer’s creative subject from a very different angle in this definition.

11 Chapter 2

Sheaf semantics for higher-order intuitionistic logic

2.1 Sheaves over a topological space

Definition 2.1.1. Suppose T is a fixed topological space, and let

Ω = {U ⊆ T | U is open}.

A sheaf is an ordered triple M = (M,EM , M ) (we usually omit the subscripts on E and  when there is no chance of confusion), where M is a set, E : M / Ω, : M × Ω / M, with the following properties.

(a) a  E(a) = a for all a ∈ M.

(b) E(a  U) = E(a) ∩ U for all a ∈ M and U ∈ Ω.

(c) (a  U)  V = a  (U ∩ V ) for all a ∈ M and U, V ∈ Ω.

(d) M is partially ordered by letting a ≤ b if and only if a = b  E(a).

(e) Two elements a, b ∈ M are said to be compatible if a  E(b) = b  E(a). A set C ⊆ M is said to be compatible if the elements of C are pairwise compatible. Then any compatible C ⊆ M has a least upper bound with respect to ≤, denoted by sup a. That is, for all b ∈ C, b ≤ sup a, a∈C a∈C and for any a0 ∈ M, if b ≤ a0 for all b ∈ C, then sup a ≤ a0. a∈C

Elements of a sheaf are also referred to as sections. The functions E and  are called extent and restriction respectively. In other words, for any section a of a sheaf M, E(a) ∈ Ω is ‘the extent of a’, and for any U ∈ Ω, a  U is the element ‘a restricted to U’ of the sheaf M. Remark 2.1.2. It may be noted here that the condition (d) in the above definition follows from the conditions (a) - (c). This may be proved as follows. Using condition (a), we have a  E(a) = a for any a ∈ M. Thus a ≤ a, for all a ∈ M. Hence ≤ is reflexive.

12 For any a, b ∈ M, if a ≤ b and b ≤ a, then a = b  E(a) and b = a  E(b), and so

a = b  E(a) = (a  E(b))  E(a) = a  (E(b) ∩ E(a)) by condition (c) = (a  E(a))  E(b) again by condition (c) = a  E(b) by condition (a) = b.

Thus ≤ is antisymmetric. For any a, b, c ∈ M, if a ≤ b and b ≤ c, then a = b  E(a) and b = c  E(b). So,

a = (c  E(b))  E(a) = c  (E(b) ∩ E(a)), by condition (c).

Now since a = b  E(a),

E(a) = E(b  E(a)) = E(b) ∩ E(a), by condition (b).

Thus a = c  E(a), which implies that a ≤ c, and hence ≤ is transitive.

Remark 2.1.3. We also note here that for any sheaf (M,E, ), and for any two elements a, b ∈ M, if a ≤ b, then a and b are compatible. This can be shown as follows. Since a ≤ b, a = b  E(a). So,

a  E(b) = (b  E(a))  E(b) = b  (E(b) ∩ E(a)), by condition (b) in Definition 2.1.1 = (b  E(b))  E(a), by condition (c) of the same definition = b  E(a), by condition (a) of the same definition = a.

Thus a  E(b) = a = b  E(a), and hence a, b are compatible. Example 2.1.4. A good example of a sheaf is

Co(T, R) = {a : dom(a) / R | dom(a) ∈ Ω, a is continuous}, where R is the real line, with E and  given by E(a) = dom(a), and

a  U = a  U = the restriction of a to U.

Similar examples may be obtained by replacing R with any topological space.

Example 2.1.5. Ω itself, with E(U) = U and U  V = U ∩ V for all U, V ∈ Ω, is also a sheaf. ∼ Note that Ω = Co(T, {0}), where {0} is the one-point space. We now prove an elementary lemma concerning sheaves following a similar lemma proved in page 740 of [31].

Lemma 2.1.6. Let M = (M,E, ) be a sheaf over a topological space T , and let a, b ∈ M. Then the following hold.

(i) If b ≤ a, then E(b) ⊆ E(a).

13 (ii) If C ⊆ M is a compatible set, then a ∈ M is the least upper bound of C iff [ E(a) = E(b) and for all b ∈ C, b ≤ a. b∈C

(iii) If {Ui | i ∈ I} is a family of open subsets of T and a ∈ M, then {a  Ui | i ∈ I} is a compatible subset of M, and [ a  Ui = sup(a  Ui). i∈I i∈I (iv) Every bounded subset of M is compatible and hence has a least upper bound.

Proof. (i) By Definition 2.1.1 (d), b ≤ a implies that b = a  E(b). Thus E(b) = E(a  E(b)) = E(a) ∩ E(b), by Definition 2.1.1 (b). This implies that E(b) ⊆ E(a). (ii) Suppose a ∈ M is the least upper bound of C. Then for any b ∈ C, b ≤ a, and so by part (i), E(b) ⊆ E(a). This implies that [ E(b) ⊆ E(a). b∈C [ Now let b0 be any element of C. Then E(b0) ⊆ E(b), and b∈C ! [ 0 [ 0 (a  E(b))  E(b ) = a  ( E(b)) ∩ E(b ) b∈C b∈C 0 = a  E(b ) = b0, since b0 ≤ a.

0 [ 0 [ This implies that b ≤ a  E(b) for all b ∈ C. Thus a  E(b) is an upper bound for C. b∈C b∈C [ Now since a is the least upper bound of C, a ≤ a  E(b). Hence by part (i), b∈C [ E(a) ⊆ E(a  E(b)) b∈C [ = E(a) ∩ E(b) b∈C [ [ = E(b), since E(b) ⊆ E(a). b∈C b∈C Hence, [ E(a) = E(b). b∈C [ Conversely, suppose a ∈ M is such that for all b ∈ C, b ≤ a and E(a) = E(b). Since C is b∈C a compatible set in M, it has a least upper bound. Let a0 ∈ M be the least upper bound of 0 0 0 C. Then a ≤ a. So, a  E(a ) = a . Moreover, by the the previous argument, we have [ E(a0) = E(b) = E(a). b∈C

14 Now, 0 0 a  E(a) = (a  E(a ))  E(a) 0 = a  (E(a ) ∩ E(a)) 0 = a  E(a), since E(a) = E(a ) = a. Hence, a ≤ a0. Since we already know that a ≤ a0, this shows that a = a0. Thus a is the least upper bound of C.

(iii) We first show that {a  Ui | i ∈ I} is a compatible subset of M. Let i, j ∈ I. Then E(a  Ui) = E(a) ∩ Ui and similarly, E(a  Uj) = E(a) ∩ Uj. Thus

(a  Ui)  E(a  Uj) = (a  Ui)  (E(a) ∩ Uj) = a  (Ui ∩ E(a) ∩ Uj) = (a  E(a))  (Ui ∩ Uj) = a  (Ui ∩ Uj). By the same argument it follows that

(a  Uj)  E(a  Ui) = a  (Ui ∩ Uj). Thus (a  Ui)  E(a  Uj) = (a  Uj)  E(a  Ui), and hence {a  Ui | i ∈ I} is a compatible subset of M. Now since M is a sheaf, {a  Ui | i ∈ I} has a least upper bound. Let j ∈ I. Then ! ! [ [ a  Ui  E(a  Uj) = a  Ui  (E(a) ∩ Uj) i∈I i∈I ! [ = a  E(a) ∩ Uj ∩ Ui i∈I = a  (E(a) ∩ Uj) = (a  E(a))  Uj = a  Uj. [ [ Thus a  Uj ≤ a  Ui for all j ∈ I, that is, a  Ui is an upper bound for {a  Ui | i ∈ I}. i∈I i∈I Moreover, [ [ E(a  Ui) = E(a) ∩ Ui, i∈I i∈I and [ [ E(a  Ui) = (E(a) ∩ Ui) i∈I i∈I [ = E(a) ∩ Ui. i∈I [ [ [ Thus E(a  Ui) = E(a  Ui), and hence by part (ii), a  Ui is the least upper bound i∈I i∈I i∈I of {a  Ui | i ∈ I}, that is, [ a  Ui = sup(a  Ui). i∈I i∈I

15 (iv) Suppose B is a bounded subset of M, that is, there is an a ∈ M such that b ≤ a for all b ∈ B. Let b, b0 ∈ B. Then b ≤ a and b0 ≤ a. So,

b = a  E(b), since b ≤ a, and 0 0 0 b = a  E(b ), since b ≤ a. Thus 0 0 b  E(b ) = (a  E(b))  E(a  E(b )) 0 = (a  E(b))  (E(a) ∩ E(b )) 0 = a  (E(b) ∩ E(a) ∩ E(b )) 0 = (a  E(a))  (E(b) ∩ E(b )) 0 = a  (E(b) ∩ E(b )) 0 = (a  E(b ))  E(b) 0 = b  E(b). Hence B is a compatible subset of M, and so it has a least upper bound.

Now we present another example of a sheaf below. This will be important for our future constructions.

Example 2.1.7. We define

Ω1 = {(V,U) | V,U ∈ Ω,V ⊆ U}.

We next define E and  on Ω1 as follows

E((V,U)) = U for any (V,U) ∈ Ω1, and (V,U)  W = (V ∩ W, U ∩ W ) for any (V,U) ∈ Ω1 and W ∈ Ω.

We now show that Ω1 with E and  as defined above is a sheaf.

(a) Suppose (V,U) ∈ Ω1. Then

(V,U)  E((V,U)) = (V,U)  U = (V ∩ U, U ∩ U) = (V,U).

(b) Suppose (V,U) ∈ Ω1, and W ∈ Ω. Then

E((V,U)  W ) = E((V ∩ W, U ∩ W )) = U ∩ W = E((V,U)) ∩ W.

(c) Suppose (V,U) ∈ Ω1, and W1,W2 ∈ Ω. Then

((V,U)  W1)  W2 = (V ∩ W1,U ∩ W1)  W2 = (V ∩ W1 ∩ W2,U ∩ W1 ∩ W2) = (V,U)  (W1 ∩ W2).

(d) We can partially order Ω1 as discussed in the definition.

(V1,U1) ≤ (V2,U2) in Ω1 iff (V2,U2)  U1 = (V1,U1),

which happens when V2 ∩ U1 = V1 and U2 ∩ U1 = U1, that is, U1 ⊆ U2.

16 (e) Two elements (V1,U1), (V2,U2) in Ω1 are compatible iff

(V1,U1)  U2 = (V2,U2)  U1, that is, whenever V1 ∩ U2 = V2 ∩ U1.

For a compatible C ⊆ Ω1, we claim that the least upper bound is   [ [  V, U . (V,U)∈C (V,U)∈C

To justify this claim, we use condition (ii) of the above lemma as follows.

We first note that for any (V1,U1) ∈ Ω1     [ [ [ [  V, U  U1 = U1 ∩ V,U1 ∩ U (V,U)∈C (V,U)∈C (V,U)∈C (V,U)∈C   [ =  (V ∩ U1),U1 (V,U)∈C

Now since C is compatible, and hence (V1,U1) is compatible with any (V,U) ∈ C,

V ∩ U1 = V1 ∩ U ⊆ V1. [ This shows that (V ∩ U1) ⊆ V1. In the particular case where (V,U) = (V1,U1), (V,U)∈C V ∩ U1 = V1 ∩ U1 = V1. So [ [ V1 ⊆ (V ∩ U1) and hence (V ∩ U1) = V1. (V,U)∈C (V,U)∈C

Thus     [ [ [  V, U  U1 =  (V ∩ U1),U1 = (V1,U1). (V,U)∈C (V,U)∈C (V,U)∈C   [ [ Hence (V1,U1) ≤  V, U for all (V1,U1) ∈ C. We further note that (V,U)∈C (V,U)∈C   [ [ [ [ E  V, U = U = E((V,U)). (V,U)∈C (V,U)∈C (V,U)∈C (V,U)∈C

Thus by condition (ii) of Lemma 2.1.6, we conclude that   [ [  V, U (V,U)∈C (V,U)∈C

is indeed the least upper bound of the compatible subset C. Hence every compatible subset of Ω1 has a least upper bound.

17 Thus Ω1 is a sheaf with the above mentioned E and .

Definition 2.1.8. Suppose (M,E, ) is a sheaf. We define [[· = ·]] : M × M / Ω by [ [[a = b]] = {U ∈ Ω | U ⊆ E(a) ∩ E(b) and a  U = b  U}

Lemma 2.1.9. Suppose (M,E, ) is a sheaf. Then for any two elements a, b ∈ M,

[[a = b]] = the largest V ∈ Ω such that V ⊆ E(a) ∩ E(b) and a  V = b  V.

Proof. Let V be the largest open subset of E(a) ∩ E(b) such that a  V = b  V . Then clearly, [ V ⊆ {U ∈ Ω | U ⊆ E(a) ∩ E(b) and a  U = b  U}. [ Now suppose W = {U ∈ Ω | U ⊆ E(a) ∩ E(b) and a  U = b  U}. Clearly, W is open and W ⊆ E(a) ∩ E(b). To show that W ⊆ V , we only need to show that a  W = b  W . Using Lemma 2.1.6 (iii), we get [ a  W = a  {U ∈ Ω | U ⊆ E(a) ∩ E(b) and a  U = b  U} = sup{a  U | U ∈ Ω,U ⊆ E(a) ∩ E(b) and a  U = b  U} = sup{b  U | U ∈ Ω,U ⊆ E(a) ∩ E(b) and a  U = b  U} [ = b  {U ∈ Ω | U ⊆ E(a) ∩ E(b) and a  U = b  U} = b  W. Hence the result.

Remark 2.1.10. The function [[· = ·]] : M × M / Ω, defined above gives us a measure of the extent to which two sections of the sheaf M coincide.

Following are some easily provable properties of this function. These can be found in more generality in [31] or [20].

Lemma 2.1.11. Suppose (M,E, ) is a sheaf. Then for any a, b, c ∈ M and U ∈ Ω, the following hold.

(i) [[a = a]] = E(a)

(ii) [[a = b]] = [[b = a]]

(iii) [[a = b]] ∩ [[b = c]] ⊆ [[a = c]]

(iv) [[a  U = b]] = [[a = b]] ∩ U

(v) a  [[a = b]] = b  [[a = b]] (vi) a ≤ b iff E(a) ⊆ [[a = b]]

(vii) a and b are compatible iff [[a = b]] = E(a) ∩ E(b)

Proof. (i) This easily follows from the definition of [[· = ·]] and the definition of a sheaf.

(ii) This also follows easily from the definition of [[· = ·]].

18 (iii) Let U = [[a = b]], and V = [[b = c]]. Then U is the largest such that U ⊆ E(a) ∩ E(b) and a  U = b  U, and V is the largest open set such that V ⊆ E(b)∩E(c) and b  V = c  V . We first note that U ∩ V is an open set and

U ∩ V ⊆ (E(a) ∩ E(b)) ∩ (E(b) ∩ E(c)) ⊆ E(a) ∩ E(c).

Moreover, a  (U ∩ V ) = (a  U)  V = (b  U)  V = b  (U ∩ V ) = (b  V )  U = (c  V )  U = c  (U ∩ V ). Thus [ U ∩ V ⊆ {W ∈ Ω | W ⊆ E(a) ∩ E(c) and a  W = c  W } = [[a = c]], and hence the result.

(iv) Let W = [[a  U = b]]. Then W is an open set such that

W ⊆ E(a  U) ∩ E(b) = E(a) ∩ E(b) ∩ U, and (a  U)  W = b  W =⇒ a  (W ∩ U) = b  W =⇒ a  W = b  W, since W ⊆ U. Thus W ⊆ [[a = b]], and so

[[a  U = b]] ⊆ [[a = b]] ∩ U. On the other hand, if W = [[a = b]], then W ⊆ E(a) ∩ E(b), and so

W ∩ U ⊆ E(a) ∩ E(b) ∩ U = E(a  U) ∩ E(b).

Moreover, since a  W = b  W , we have (a  U)  (W ∩ U) = a  (W ∩ U) = (a  W )  U = (b  W )  U = b  (W ∩ U).

This shows that W ∩ U ⊆ [[a  U = b]], and so

[[a = b]] ∩ U ⊆ [[a  U = b]]. Hence the result. (v) This again follows easily from the definition of [[· = ·]]. (vi) Suppose a ≤ b. Then by Lemma 2.1.6 (i), we have E(a) ⊆ E(b). So, E(a) = E(a) ∩ E(b). Now since a ≤ b, we have a = b  E(a). Thus a  E(a) = a = b  E(a). Hence E(a) ⊆ [[a = b]].

Conversely, suppose E(a) ⊆ [[a = b]]. Then a  E(a) = b  E(a), which implies that a = b  E(a). Hence a ≤ b.

19 (vii) Suppose a and b are compatible. Now,

a  (E(a) ∩ E(b)) = (a  E(a))  E(b) = a  E(b), and b  (E(a) ∩ E(b)) = (b  E(b))  E(a) = b  E(a). Since a and b are compatible, a  E(b) = b  E(a), and so

a  (E(a) ∩ E(b)) = b  (E(a) ∩ E(b)).

Hence the largest open set, U contained in E(a)∩E(b) such that a  U = b  U is E(a)∩E(b), and so [[a = b]] = E(a) ∩ E(b). Conversely, suppose [[a = b]] = E(a) ∩ E(b). By part (v) above,

a  [[a = b]] = b  [[a = b]]. This implies that a  (E(a) ∩ E(b)) = b  (E(a) ∩ E(b)) =⇒ (a  E(a))  E(b) = (b  E(b))  E(a) =⇒ a  E(b) = b  E(a), which shows that a and b are compatible. Hence the result.

Definition 2.1.12. If M and N are sheaves, we define the product sheaf

M × N = {(a, b) | a ∈ M, b ∈ N,E(a) = E(b)}, with E and  given by E((a, b)) = E(a) = E(b) and (a, b)  U = (a  U, b  U). Lemma 2.1.13. Suppose M and N are sheaves. Then the product sheaf M × N as defined above is also a sheaf.

Proof. (a) Let (a, b) ∈ M × N. Then E((a, b)) = E(a) = E(b). Thus

(a, b)  E((a, b)) = (a  E((a, b)), b  E((a, b))) = (a  E(a), b  E(b)) = (a, b).

(b) Let (a, b) ∈ M × N and U ∈ Ω. Then E(a) = E(b) and so,

E(a  U) = E(a) ∩ U = E(b) ∩ U = E(b  U).

Thus (a, b)  U = (a  U, b  U) ∈ M × N. Now,

E((a, b)  U) = E((a  U, b  U)) = E(a  U) = E(b  U) = E(a) ∩ U = E(b) ∩ U = E((a, b)) ∩ U.

20 (c) Let (a, b) ∈ M × N and U, V ∈ Ω. Then

((a, b)  U)  V = (a  U, b  U)  V = ((a  U)  V, (b  U)  V ) = (a  U ∩ V, b  U ∩ V ) = (a, b)  U ∩ V.

(d) M × N can be partially ordered as discussed in the Definition 2.1.1. For any (a, b), (c, d) ∈ M × N, (a, b) ≤ (c, d) iff (a, b) = (c, d)  E((a, b)). Since E((a, b)) = E(a) = E(b), this implies that (a, b) ≤ (c, d) iff a = c  E(a) and b = d  E(b).

(e) Two elements (a, b), (c, d) ∈ M × N are compatible if

(a, b)  E((c, d)) = (c, d)  E((a, b)),

which can be expressed as a  E(c) = c  E(a) and b  E(d) = d  E(b). This implies that (a, b), (c, d) ∈ M × N are compatible if the following conditions are met.

• a, c ∈ M are compatible, and • b, d ∈ N are compatible.

Suppose C is a compatible subset of M × N. We define C1 ⊆ M and C2 ⊆ N as follows.

C1 = {a ∈ M | (a, b) ∈ C for some b ∈ N}, C2 = {b ∈ N | (a, b) ∈ C for some a ∈ M}.

By our previous discussion, C1 and C2 are compatible subsets of M and N respectively. Since M and N are sheaves, C1 and C2 have least upper bounds. Let a1 be the least upper bound of C1, and a2 be the least upper bound of C2. We claim that (a1, a2) ∈ M × N and (a1, a2) is the least upper bound of C. We note that [ [ E(a1) = E(a) and E(a2) = E(b),

a∈C1 b∈C2

by Lemma 2.1.6 (ii). By definition of C1, a ∈ C1 implies (a, b) ∈ C ⊆ M × N for some b ∈ N. 0 This implies that E(a) = E(b) and b ∈ C2, by definition of C2. Conversely, b ∈ C2 implies 0 0 0 0 0 0 (a , b ) ∈ C ⊆ M × N for some a ∈ M. This implies that E(a ) = E(b ) and a ∈ C1. In other words, for every element of C1, there is an element in C2 with matching extent, and vice-versa. Thus [ [ E(a) = E(b),

a∈C1 b∈C2

that is, E(a1) = E(a2). Hence, (a1, a2) ∈ M × N. We note that [ [ [ E(a) = E(b) = E((a, b)),

a∈C1 b∈C2 (a,b)∈C and this shows that [ E((a1, a2)) = E(a1) = E(a2) = E((a, b)). (a,b)∈C

21 Now, let (a, b) ∈ C. Then a ≤ a1 and b ≤ a2. Also, E((a, b)) = E(a) = E(b). Thus

(a1, a2)  E((a, b)) = (a1  E(a), a2  E(b)) = (a, b), since a ≤ a1 and b ≤ a2,

which shows that (a, b) ≤ (a1, a2) for all (a, b) ∈ C. Hence by Lemma 2.1.6 (ii), (a1, a2) is the least upper bound of C. Thus every compatible subset of M × N has a least upper bound. Hence M × N is a sheaf.

f Definition 2.1.14. If M and N are sheaves, we define a sheaf morphism M / N to be a mapping f : M / N satisfying E(f(a)) = E(a) and f(a  U) = f(a)  U for all a ∈ M and U ∈ Ω. Remark 2.1.15. The sheaves and sheaf morphisms form a category, in fact an elementary topos. For an introduction to topos theory, see [8]

f Lemma 2.1.16. Suppose M and N are sheaves and M / N is a sheaf morphism. Let a, b ∈ M, and a ≤ b. Then f(a) ≤ f(b) in the sheaf N. That is, sheaf morphisms are order-preserving.

Proof. We need to show f(b)  E(f(a)) = f(a). f We first note that a = b  E(a), since a ≤ b. Now M / N is a sheaf morphism, so E(f(a)) = E(a). Thus

f(b)  E(f(a)) = f(b)  E(a) = f(b  E(a)), using the definition of a sheaf morphism = f(a)

Hence, f(a) ≤ f(b).

Definition 2.1.17. If M is a sheaf and U ∈ Ω, we define the restriction sheaf

M  U = {a  U | a ∈ M} = {a ∈ M | E(a) ⊆ U}, with E and  inherited from M.

Lemma 2.1.18. Suppose M is a sheaf, and U ∈ Ω. Then the restriction sheaf M  U as defined above is a sheaf.

Proof. We first argue for the equality of the two sets defining M  U as follows. Let b ∈ {a  U | a ∈ M}. Then b = a  U for some a ∈ M. So

E(b) = E(a  U) = E(a) ∩ U ⊆ U, which implies that b ∈ {a ∈ M | E(a) ⊆ U}. Thus

{a  U | a ∈ M} ⊆ {a ∈ M | E(a) ⊆ U}.

Conversely, suppose b ∈ {a ∈ M | E(a) ⊆ U}. Then since b ∈ M, b  U ∈ {a  U | a ∈ M}, but

b  U = (b  E(b))  U = b  (E(b) ∩ U) = b  E(b) = b.

22 Hence b ∈ {a  U | a ∈ M}, and so

{a ∈ M | E(a) ⊆ U} ⊆ {a  U | a ∈ M}.

Thus {a  U | a ∈ M} = {a ∈ M | E(a) ⊆ U}. Now to show that M  U is a sheaf, we first note that M  U ⊆ M, and so conditions (a)-(d) in Definition 2.1.1 are clearly satisfied by the elements of M  U. To establish that M  U is a sheaf, we only need to show that a compatible subset of M  U has a least upper bound in M  U. Let C be a compatible subset of M  U. Since, C is also a subset of the sheaf, M, it has a least upper bound in M, a, say. By Lemma 2.1.6 (ii), [ [ E(a) = E(b). We note that for all b ∈ C ⊆ M  U, E(b) ⊆ U. Thus E(b) ⊆ U. This shows b∈C b∈C that E(a) ⊆ U, and so a ∈ M  U. Hence, the least upper bound of any compatible subset of M  U is in M  U. Thus M  U is a sheaf. Definition 2.1.19. If M and N are sheaves, we define the function sheaf

M f N = {(f, U) | U ∈ Ω,M  U / N  U}. The extent and restriction are then defined as follows. For any (f, U) ∈ N M , E((f, U)) = U, and for any V ∈ Ω, (f, U)  V = (f  V,U ∩ V ), where (f  V )(a) = f(a)  V = f(a  V ) for all a ∈ M  (U ∩ V ). Lemma 2.1.20. Suppose M and N are sheaves. Then the function sheaf N M as defined above is a sheaf.

f M Proof. (a) Let (f, U) ∈ N . Then M  U / N  U is a sheaf morphism and E((f, U)) = U. So, (f, U)  E((f, U)) = (f, U)  U = (f  U, U ∩ U) = (f  U, U). Now for any a ∈ M,

a  E(a  U) = a  (E(a) ∩ U) = (a  E(a))  U = a  U.

So, a  U ≤ a for all a ∈ M, and hence for all a ∈ M  U ⊆ M. Moreover, if a ∈ M  U, then E(a) ⊆ U, and so (a  U)  E(a) = a  (U ∩ E(a)) = a  E(a) = a, which shows that a ≤ a  U. Thus for all a ∈ M  U, a = a  U. So,

(f  U)(a) = f(a  U) = f(a), for all a ∈ M  U.

Hence, f  U = f, and so

M (f, U)  E((f, U)) = (f  U, U) = (f, U) for any (f, U) ∈ N .

23 (b) Let (f, U) ∈ N M and V ∈ Ω. Then

E((f, U)  V ) = E((f  V,U ∩ V )) = U ∩ V = E((f, U)) ∩ V.

(c) Let (f, U) ∈ N M , and V,W ∈ Ω. Then

((f, U)  V )  W = (f  V,U ∩ V )  W = ((f  V )  W, U ∩ V ∩ W ), where ((f  V )  W )(a) = (f  V )(a  W ) = f((a  W )  V ) = f(a  (V ∩ W )) = (f  (V ∩ W ))(a). Thus (f  V )  W = f  (V ∩ W ), and so

((f, U)  V )  W = (f  (V ∩ W ),U ∩ V ∩ W ) = (f, U)  (V ∩ W ).

M (d) N can be partially ordered as discussed in Definition 2.1.1, that is, for any (f1,U1), (f2,U2) ∈ N M , (f1,U1) ≤ (f2,U2) iff (f1,U1) = (f2,U2)  E((f1,U1)),

which is the case when (f1,U1) = (f2,U2)  U1, that is, (f1,U1) = (f2  U1,U1 ∩ U2). Hence,

(f1,U1) ≤ (f2,U2) iff f1 = f2  U1 and U1 = U1 ∩ U2.

In other words, (f1,U1) ≤ (f2,U2) iff

U1 ⊆ U2 and f1(a) = f2(a)  U1 = f2(a  U1), for any a ∈ M  U1.

M (e) Two elements (f1,U1), (f2,U2) ∈ N are compatible iff

(f1,U1)  E((f2,U2)) = (f2,U2)  E((f1,U1)), that is, iff (f1,U1)  U2 = (f2,U2)  U1.

Thus, in other words, (f1,U1) and (f2,U2) are compatible iff f1  U2 = f2  U1, that is, iff for any a ∈ M  (U1 ∩ U2), f1(a) = f2(a). Now suppose C is a compatible subset of N M . We need to show that C has a least upper bound. We consider the pair (g, V ) with g and V defined as follows. [ V = U, (f,U)∈C

and g : M  V / N  V is defined by

g(a) = sup{f(a  U) | (f, U) ∈ C} for all a ∈ M  V.

24 We first need to show that g is well-defined. This is shown as follows. Let a ∈ M  V . We first note that for any (f, U) ∈ C,

E(f(a  U)) = E(a  U),

f since M  U / N  U is a sheaf morphism and hence preserves extent. Now,

E(a  U) = E(a) ∩ U ⊆ U ⊆ V.

Thus E(f(a  U)) ⊆ V , and so f(a  U) ∈ N  V . Hence

{f(a  U) | (f, U) ∈ C} ⊆ N  V.

Next, let (f1,U1), (f2,U2) ∈ C. Then

f1(a  U1)  E(f2(a  U2)) = f1(a  U1)  E(a  U2) = f1(a  U1)  (E(a) ∩ U2) = f1((a  U1)  (E(a) ∩ U2)) = f1(a  (E(a) ∩ U1 ∩ U2)) = f1((a  E(a))  (U1 ∩ U2)) = f1(a  (U1 ∩ U2)),

f1 f2 using the fact that M  U1 / N  U1 and M  U2 / N  U2 are sheaf morphisms and hence preserve E and . Similarly, we have

f2(a  U2)  E(f1(a  U1)) = f2(a  (U1 ∩ U2)).

Now, since (f1,U1), (f2,U2) ∈ C are compatible, and since a  (U1 ∩ U2) ∈ M  (U1 ∩ U2),

f1(a  (U1 ∩ U2)) = f2(a  (U1 ∩ U2)), by our discussion of compatibility above. Thus {f(a  U) | (f, U) ∈ C} is a compatible subset of the sheaf N  V . Thus sup{f(a  U) | (f, U) ∈ C} exists and is unique. Hence g : M  V / N  V is well-defined. Let a ∈ M  V . Then

E(g(a)) = E(sup{f(a  U) | (f, U) ∈ C}) [ = E(f(a  U)), (f,U)∈C by Lemma 2.1.6 (ii). Now, for any (f, U) ∈ C, E(f(a  U)) = E(a  U) = E(a) ∩ U. Thus [ E(g(a)) = E(f(a  U)) (f,U)∈C [ = (E(a) ∩ U) (f,U)∈C [ = E(a) ∩ U (f,U)∈C = E(a) ∩ V = E(a) since E(a) ⊆ V as a ∈ M  V.

25 Thus g preserves extent. Now let W ⊆ V . Then for any a ∈ M  V , g(a  W ) = sup{f((a  W )  U) | (f, U) ∈ C} = sup{f(a  (W ∩ U)) | (f, U) ∈ C} = sup{f((a  U)  W ) | (f, U) ∈ C} = sup{f(a  U)  W | (f, U) ∈ C}, using properties of sheaf morphisms. Since for any (f, U) ∈ C,

f(a  U) ≤ sup{f(a  U) | (f, U) ∈ C}, we have that for any (f, U) ∈ C,

f(a  U)  W ≤ (sup{f(a  U) | (f, U) ∈ C})  W.

Moreover, E ((sup{f(a  U) | (f, U) ∈ C})  W )

= E (sup{f(a  U) | (f, U) ∈ C}) ∩ W   [ =  E(f(a  U)) ∩ W, (f,U)∈C using Lemma 2.1.6 (ii). Now,   [ [  E(f(a  U)) ∩ W = (E(f(a  U)) ∩ W ) (f,U)∈C (f,U)∈C [ = E(f(a  U)  W ). (f,U)∈C Thus again by Lemma 2.1.6 (ii),

sup{f(a  U)  W | (f, U) ∈ C} = (sup{f(a  U) | (f, U) ∈ C})  W. Hence, g(a  W ) = g(a)  W, g which implies that g : M  V / N  V preserves restriction as well. Thus M  V / N  V M is a sheaf morphism and hence (g, V ) is an element of N . Now, for any (f1,U1) ∈ C,

(g, V )  E((f1,U1)) = (g, V )  U1 = (g  U1,U1 ∩ V ) = (g  U1,U1), since U1 ⊆ V.

For any a ∈ M  U1, E(a) ⊆ U1. So,

(a  U1)  E(a) = a  (E(a) ∩ U1) = a  E(a) = a, which implies that a ≤ a  U1. Also,

a  E(a  U1) = a  (E(a) ∩ U1) = (a  E(a))  U1 = a  U1,

26 which implies that a  U1 ≤ a. Thus, for any a ∈ M  U1,

a ≤ a  U1 and a  U1 ≤ a.

This implies that a = a  U1 for any a ∈ M  U1. Hence, for any a ∈ M  U1,

(g  U1)(a) = g(a  U1) = g(a  U1) = g(a) = sup{f(a  U) | (f, U) ∈ C}.

Now, since {f(a  U) | (f, U) ∈ C} is a compatible subset of N  V , and (f1,U1) ∈ C,

f(a  U)  E(f1(a  U1)) = f1(a  U1)  E(f(a  U)), for any (f, U) ∈ C. This implies that

f(a  U)  E(f1(a)) = f1(a)  E(a  U), that is, f(a  U)  E(a) = f1(a)  (E(a) ∩ U). Thus f((a  U)  E(a)) = f1(a  (E(a) ∩ U)), that is, f((a  E(a))  U) = f1((a  E(a))  U).

In other words, for any a ∈ M  U1,

f(a  U) = f1(a  U) for all (f, U) ∈ C.

Thus for any a ∈ M  U1,

sup{f(a  U) | (f, U) ∈ C} = sup{f1(a  U) | (f, U) ∈ C} = sup{f1(a)  U | (f, U) ∈ C} [ = f1(a)  U, (f,U)∈C using Lemma 2.1.6 (iii). Now, [ f1(a)  U = f1(a)  V = f1(a  V ). (f,U)∈C

We note here that

(a  V )  E(a) = a  (E(a) ∩ V ) = a  E(a) since E(a) ⊆ U1 ⊆ V, and a  E(a  V ) = a  (E(a) ∩ V ) = (a  E(a)) ∩ V = a  V.

27 This shows that a = a  V , and so f1(a  V ) = f1(a). Hence we conclude that, for any a ∈ M  U1, (g  U1)(a) = sup{f(a  U) | (f, U) ∈ C} = sup{f1(a  U) | (f, U) ∈ C} = f1(a)  V = f1(a  V ) = f1(a).

Thus g  U1 = f1, and so (g, V )  E((f1,U1)) = (f1,U1), which shows that (f1,U1) ≤ (g, V ) for all (f1,U1) ∈ C, that is, (g, V ) is an upper bound for C. Furthermore, [ [ E((g, V )) = V = U = E((f, U)). (f,U)∈C (f,U)∈C

Thus using Lemma 2.1.6 (ii) again, (g, V ) is the least upper bound of C.

Definition 2.1.21. Suppose M is a sheaf. We define the power sheaf P(M) as the function sheaf M Ω1 , where Ω1 is the sheaf described in Example 2.1.7. An alternative definition of the power sheaf, as given in [31, 20], is as follows.

Definition 2.1.22. The power sheaf of a sheaf M has as elements pairs (P,U) with U ∈ Ω, and P : M / Ω satisfying the following conditions.

(i) For any a ∈ M, P (a) ⊆ E(a),

(ii) for any a ∈ M, P (a) ⊆ U, and

(iii) for any a, b ∈ M, P (a) ∩ [[a = b]] ⊆ P (b).

The extent and restriction are then defined as follows. For any (P,U) in the power sheaf, E((P,U)) = U, and for any V ∈ Ω, (P,U)  V = (P  V,U ∩ V ), where (P  V )(a) = P (a) ∩ V for all a ∈ M. We will denote the above described sheaf by P0(M).

Lemma 2.1.23. Let M be a sheaf. Then P0(M) as described above is a sheaf.

Proof. (a) Let (P,U) ∈ P0(M). Then E((P,U)) = U, and so

(P,U)  E((P,U)) = (P,U)  U = (P  U, U ∩ U) = (P  U, U). Now, for any a ∈ M, (P  U)(a) = P (a) ∩ U = P (a), since P (a) ⊆ U. Thus P  U = P , and hence

(P,U)  E((P,U)) = (P,U).

28 (b) Let (P,U) ∈ P0(M) and V ∈ Ω. Then

E((P,U)  V ) = E((P  V,U ∩ V )) = U ∩ V = E((P,U)) ∩ V.

(c) Let (P,U) ∈ P0(M), and V,W ∈ Ω. Then

((P,U)  V )  W = (P  V,U ∩ V )  W = ((P  V )  W, U ∩ V ∩ W ), where ((P  V )  W )(a) = (P  V )(a) ∩ W = P (a) ∩ V ∩ W for all a ∈ M. We note that P (a)∩V ∩W = (P  (V ∩W ))(a) for any a ∈ M. So, (P  V )  W = P  (V ∩W ). Thus ((P,U)  V )  W = ((P  V )  W, U ∩ V ∩ W ) = (P  (V ∩ W ),U ∩ V ∩ W ) = (P,U)  (V ∩ W ).

(d) P0(M) can be partially ordered as discussed in Definition 2.1.1, that is, for (P1,U1), (P2,U2) ∈ P0(M), (P1,U1) ≤ (P2,U2) iff (P1,U1) = (P2,U2)  E((P1,U1)). So (P1,U1) ≤ (P2,U2) iff (P1,U1) = (P2,U2)  U1, that is, iff P1 = P2  U1 and U1 = U2 ∩ U1. In other words,

(P1,U1) ≤ (P2,U2) iff U1 ⊆ U2 and P1(a) = P2(a) ∩ U1 for all a ∈ M.

(e) Two elements (P1,U1), (P2,U2) ∈ P0(M) are compatible iff

(P1,U1)  E((P2,U2)) = (P2,U2)  E((P1,U1)), that is, iff (P1,U1)  U2 = (P2,U2)  U1.

So, (P1,U1) and (P2,U2) are compatible iff

(P1  U2,U1 ∩ U2) = (P2  U1,U1 ∩ U2), that is, iff P1(a) ∩ U2 = P2(a) ∩ U1 for all a ∈ M.

Now suppose C is a compatible subset of P0(M). We need to show that C has a least upper bound. We consider the pair (Q, V ), where Q and V are defined as follows. [ [ V = U and Q(a) = P (a) for any a ∈ M. (P,U)∈C (P,U)∈C

29 [ Clearly, V ∈ Ω. For any a ∈ M, Q(a) = P (a) ∈ Ω. Now suppose a, b ∈ M such that (P,U)∈C a = b. Let (P,U) ∈ C. Since P : M / Ω, P (a) = P (b). So, [ [ Q(a) = P (a) = P (b) = Q(b). (P,U)∈C (P,U)∈C

Hence Q is a function from M into Ω. Now for any a ∈ M, P (a) ⊆ E(a) for all (P,U) ∈ C. So, [ Q(a) = P (a) ⊆ E(a). (P,U)∈C Also, for any a ∈ M, P (a) ⊆ U for all (P,U) ∈ C. Thus [ [ Q(a) = P (a) ⊆ U = V. (P,U)∈C (P,U)∈C

Let a, b ∈ M. Now for any (P,U) ∈ C, P (a) ∩ [[a = b]] ⊆ P (b). Then   [ Q(a) ∩ [[a = b]] =  P (a) ∩ [[a = b]] (P,U)∈C [ = (P (a) ∩ [[a = b]]) (P,U)∈C [ ⊆ P (b) (P,U)∈C = Q(b).

Thus (Q, V ) ∈ P0(M). We claim that this (Q, V ), as defined above, is the least upper bound of C. The proof is as follows.

Let (P1,U1) ∈ C. Then

(Q, V )  E((P1,U1)) = (Q, V )  U1 = (Q  U1,V ∩ U1). Now,   [ V ∩ U1 =  U ∩ U1 = U1, (P,U)∈C and, for any a ∈ M, (Q  U1)(a) = Q(a) ∩ U1   [ =  P (a) ∩ U1 (P,U)∈C [ = (P (a) ∩ U1). (P,U)∈C

30 Since C is a compatible subset of P0(M), (P1,U1) is compatible with each element of C, and hence P (a) ∩ U1 = P1(a) ∩ U for every (P,U) ∈ C. Thus [ [ (P (a) ∩ U1) = (P1(a) ∩ U) (P,U)∈C (P,U)∈C [ = P1(a) ∩ U (P,U)∈C = P1(a), [ since P1(a) ⊆ U1 ⊆ U. Hence Q  U1 = P1. This shows that (P,U)∈C

(Q, V )  E((P1,U1)) = (P1,U1),

which implies (P1,U1) ≤ (Q, V ). Thus (Q, V ) is an upper bound of C. Moreover, [ [ E((Q, V )) = V = U = E((P,U)). (P,U)∈C (P,U)∈C

Hence by Lemma 2.1.6 (ii), (Q, V ) is the least upper bound of C. This shows that every compatible subset of P0(M) has a least upper bound. Thus P0(M) is a sheaf.

Lemma 2.1.24. Suppose M is a sheaf, and (P,U) ∈ P0(M). Then for any V ∈ Ω, (P  V )(a) = P (a  V ) for all a ∈ M.

Proof. By condition (iii) of the definition of P0(M), we have

P (a  V ) ∩ [[a  V = a]] ⊆ P (a). Now, by Lemma 2.1.11 (iv) and (i), we have

[[a  V = a]] = [[a = a]] ∩ V = E(a) ∩ V. Thus P (a  V ) ∩ E(a) ∩ V ⊆ P (a), which implies that P (a  V ) ∩ E(a) ∩ V ⊆ P (a) ∩ V = (P  V )(a).

By condition (i) of the definition of P0(M), P (a  V ) ⊆ E(a  V ) = E(a) ∩ V . So,

P (a  V ) ∩ E(a) ∩ V = P (a  V ). Hence, P (a  V ) ⊆ (P  V )(a) for all a ∈ M. Conversely, P (a) ∩ [[a = a  V ]] ⊆ P (a  V ), by condition (iii) of the definition of P0(M). Using Lemma 2.1.11 (ii), we have

[[a = a  V ]] = [[a  V = a]],

31 which is equal to E(a) ∩ V as shown above. Then

P (a) ∩ E(a) ∩ V ⊆ P (a  V ), which implies that P (a) ∩ V ⊆ P (a  V ) = (P  V )(a), since P (a) ⊆ E(a) by condition (i) of the definition of P0(M). Thus

P (a  V ) = P (a) ∩ V = (P  V )(a) for all a ∈ M.

Remark 2.1.25. Continuing the discussion in the above proof, we further note that since P (a) ∈ Ω,

P (a) ∩ V = P (a)  V, the  operator here being the one for the sheaf Ω. The preceding lemma, along with this observation, not only provides a justification for the denotation P  V , but also shows that the P : M / Ω preserves . An interesting conclusion from this is that, for any (P,U) ∈ P0(M), P : M / Ω is almost a sheaf morphism, but falls short of the mark as it may not preserve E for all a ∈ M, that is, for some a ∈ M, it is possible that P (a) ( E(a). Proposition 2.1.26. The Definitions 2.1.21 and 2.1.22 of the power sheaf of a sheaf are equivalent. More specifically, for any sheaf M there is an explicit one-to-one correspondence between P(M) and P0(M) which preserves E and . Q M Proof. Suppose M is a sheaf. Let (Q, U) ∈ P(M) = Ω1 . So, M  U / Ω1  U is a sheaf morphism. We define (Q, U)0 = (P,U), where P : M / Ω is defined by

Q(a  U) = (P (a),E(a) ∩ U) for all a ∈ M.

P : M / Ω is well-defined since Q is well-defined. We now claim that (P,U) ∈ P0(M). The proof is as follows.

(i) Let a ∈ M. Then Q(a  U) = (P (a),E(a) ∩ U) ∈ Ω1  U. By definition of Ω1, this means that P (a) ⊆ E(a) ∩ U ⊆ E(a). Thus, for any a ∈ M, P (a) ⊆ E(a).

(ii) From the above argument, we also see that P (a) ⊆ U for all a ∈ M.

(iii) We note that for any a ∈ M and V ∈ Ω, since Q is a sheaf morphism,

Q(a  U)  V = Q((a  U)  V ) = Q((a  V )  U), which implies that

(P (a),E(a) ∩ U)  V = (P (a  V ),E(a  V ) ∩ U), that is, (P (a) ∩ V,E(a) ∩ U ∩ V ) = (P (a  V ),E(a) ∩ V ∩ U).

32 Thus P (a  V ) = P (a) ∩ V for all a ∈ M and V ∈ Ω. Now suppose a, b ∈ M. Then since Q is a sheaf morphism,

Q(a  U)  [[a = b]] = Q((a  U)  [[a = b]]) = Q((a  [[a = b]])  U) = Q((b  [[a = b]])  U),

since a  [[a = b]] = b  [[a = b]] by Lemma 2.1.11 (v). Now,

Q((a  [[a = b]])  U) = Q((b  [[a = b]])  U) implies that P (a  [[a = b]]) = P (b  [[a = b]]). Using our previous arguments regarding P (a  V ) for any open set V , we have

P (a  [[a = b]]) = P (a) ∩ [[a = b]], and P (b  [[a = b]]) = P (b) ∩ [[a = b]]. Combining the above equations, we have

P (a) ∩ [[a = b]] = P (b) ∩ [[a = b]] ⊆ P (b).

Thus (P,U) ∈ P0(M). ∗ Conversely, suppose (P,U) ∈ P0(M). We define (P,U) = (Q, U), where Q : M  U / Ω1  U is defined by Q(a) = (P (a),E(a)), for all a ∈ M  U.

We note that since P : M /Ω is well-defined, P (a) ∈ Ω. Now, since (P,U) ∈ P0(M), P (a) ⊆ E(a) for all a ∈ M  U. Thus (P (a),E(a)) ∈ Ω1. Moreover, for any a ∈ M  U, E(a) ⊆ U, and E(Q(a)) = E(P (a),E(a)) = E(a) ⊆ U, by definition of E in the sheaf Ω1. This shows that Q(a) = (P (a),E(a)) ∈ Ω1  U for all a ∈ M  U, and hence Q is well-defined. Also, since E(Q(a)) = E(a), Q preserves extent. Next let V ∈ Ω. Then Q(a  V ) = (P (a  V ),E(a  V )) = (P (a) ∩ V,E(a) ∩ V ) by Lemma 2.1.24 = (P (a),E(a))  V by definition of  in Ω1 = Q(a)  V. Thus Q preserves restriction as well, and hence is a sheaf morphism from M  U to Ω1  U, that 0 ∗ is, (Q, U) ∈ P(M). Thus maps elements of P(M) to elements of P0(M), while maps elements of P0(M) to elements of P(M). Now, let (Q, U) ∈ P(M). We claim that (Q, U)0∗ = (Q, U). Suppose (Q, U)0 = (P,U). Then (P,U) ∈ P0(M), and for any a ∈ M,

Q(a  U) = (P (a),E(a) ∩ U).

33 0∗ ∗ Now suppose (Q, U) = (P,U) = (Q1,U). Then (Q1,U) ∈ P(M) and for any a ∈ M  U,

Q1(a) = (P (a),E(a)).

We note that for any a ∈ M  U, E(a) ⊆ U and hence,

(a  U)  E(a) = a  (E(a) ∩ U) = a  E(a) = a, which implies that a ≤ a  U. Also, we have

a  E(a  U) = a  (E(a) ∩ U) = (a  E(a))  U = a  U, which implies that a  U ≤ a. Thus, for any a ∈ M  U, a = a  U. So, for any a ∈ M  U,

Q(a) = Q(a  U) = (P (a),E(a) ∩ U) = (P (a),E(a)) = Q1(a).

M 0∗ Hence, Q = Q1, and so (Q, U) = (Q1,U) in P(M) = Ω1 . Thus (Q, U) = (Q, U). ∗0 Conversely, for (P,U) ∈ P0(M), we claim that (P,U) = (P,U). Suppose (P,U) ∈ P0(M) and ∗ M (P,U) = (Q, U). Then (Q, U) ∈ P(M) = Ω1 , and for any a ∈ M  U, Q(a) = (P (a),E(a)).

∗0 0 Now suppose (P,U) = (Q, U) = (P1,U). Then (P1,U) ∈ P0(M) and for any b ∈ M,

Q(b  U) = (P1(b),E(b) ∩ U). Then for any b ∈ M,

(P1(b),E(b) ∩ U) = Q(b  U) = (P (b  U),E(b  U)) = (P (b) ∩ U, E(b) ∩ U) by Lemma 2.1.24.

We note that since (P,U) ∈ P0(M), P (b) ⊆ U for all b ∈ M by definition of P0(M). So, P (b) ∩ U = P (b) for all b ∈ M. Hence, for any b ∈ M,

(P1(b),E(b) ∩ U) = (P (b) ∩ U, E(b) ∩ U) = (P (b),E(b) ∩ U), which implies that P1(b) = P (b) for all b ∈ M. Thus P = P1, and hence (P,U) = (P1,U) in ∗0 P0(M). So, (P,U) = (P,U). From the above arguments, we conclude that 0 and ∗ are inverses to each other, and hence one-to-one correspondences between P(M) and P0(M). 0 ∗ 0 Lastly, we claim that preserves E and , which implies that also preserves E and  since and ∗ are inverses to each other. This can be shown as follows. M 0 Let (Q, U) ∈ P(M) = Ω1 , and (Q, U) = (P,U) ∈ P0(M). By definition of extent in a function sheaf, and in P0(M), E((Q, U)) = U and E((P,U)) = U. Thus

E((Q, U)0) = U = E((Q, U)),

0 and hence preserves extent. Now let V ∈ Ω. Then by definition of  in a function sheaf,

(Q, U)  V = (Q  V,U ∩ V ),

34 where (Q  V )(a) = Q(a  V ) for any a ∈ M  (U ∩ V ), and by definition of  in P0(M), we have

(P,U)  V = (P  V,U ∩ V ),

0 where (P  V )(b) = P (b) ∩ V for any b ∈ M. Suppose now that (Q  V,U ∩ V ) = (P1,U ∩ V ). Then for any b ∈ M, (Q  V )(b  (U ∩ V )) = (P1(b),E(b) ∩ U ∩ V ).

We note that since (P1,U ∩ V ) ∈ P0(M), for any b ∈ M, P1(b) ⊆ U ∩ V , and so

(P1(b),E(b) ∩ U ∩ V ) = (Q  V )(b  (U ∩ V )) = (Q  V )((b  U)  V ) = Q(b  U)  V = (P (b),E(b) ∩ U)  V. Thus 0 0 ((Q, U)  V ) = (P1,U ∩ V ) = (P,U)  V = (Q, U)  V. Hence, 0 preserves restriction as well. This completes the proof.

Definition 2.1.27. Suppose (M,EM , M ) and (N,EN , N ) are sheaves. We say that (N,EN , N ) is a subsheaf of (M,EM , M ) if • N ⊆ M,

• EN is the restriction of EM to N, that is, EM (a) = EN (a) for all a ∈ N, and

• N is the restriction of M to N, that is, a M U = a N U for all a ∈ N, and for any U ∈ Ω.

Remark 2.1.28. Clearly, if M is a sheaf and U ∈ Ω, then the restriction sheaf M  U as described in 2.1.17 is a subsheaf of M.

Proposition 2.1.29. Suppose M is a sheaf in Sh(T ). There is a one-to-one correspondence between the subsheafs of M and the global elements of the power sheaf of M, P(M).

0 Proof. Suppose M is a subsheaf of M. We define a map fM 0 : M / Ω1 as follows.    [  fM 0 (a) =  E(b),E(a) for all a ∈ M.   b≤a b∈M 0

We note that for any b ≤ a, E(b) ⊆ E(a), by Lemma 2.1.6 (i), and so [ E(b) ⊆ E(a). b≤a b∈M 0

This shows that fM 0 (a) ∈ Ω1 for any a ∈ M. Hence fM 0 is well defined. Moreover, by definition of extent in Ω1, E(fM 0 (a)) = E(a) for any a ∈ M. Thus fM 0 preserves extent. Next, we note that for

35 any U ∈ Ω, and for any a ∈ M,    [  fM 0 (a)  U =  E(b),E(a)  U   b≤a b∈M 0     [   =  E(b)  U, E(a)  U ,    b≤a b∈M 0 [ by definition of restriction in Ω1. Now, since E(b),E(a),U ∈ Ω, we have, by definition of the b≤a b∈M 0 restriction operator in Ω, E(a)  U = E(a) ∩ U = E(a  U), and    [  [  E(b)  U = ( E(b)) ∩ U   b≤a b≤a b∈M 0 b∈M 0 [ = (E(b) ∩ U) b≤a b∈M 0 [ = E(b). b≤aU b∈M 0 Thus    [  fM 0 (a)  U =  E(b),E(a  U) = fM 0 (a  U),   b≤aU b∈M 0

fM0 which shows that fM 0 preserves restriction as well. Hence M / Ω1 is a sheaf morphism. So M (fM 0 ,T ) ∈ Ω1 = P(M), the power sheaf of M. Since E((fM 0 ,T )) = T , this is a global element of P(M). f Conversely, suppose (f, T ) ∈ P(M) is a global element of the power sheaf, that is, M / Ω1 is a sheaf morphism. Then we define Mf ⊆ M as follows.

Mf = {a ∈ M | f(a) = (E(a),E(a))}.

We endow Mf with the E and  operators of M restricted to Mf . We note that the Mf satisfies conditions (a)-(d) of Definition 2.1.1 by virtue of the fact that it inherits the extent and the restriction operators from the sheaf M. Thus to show that Mf is a sheaf, we only need to show that any compatible subset of Mf has its least upper bound in Mf , that is, condition (e) in Definition 2.1.1. This is shown as follows. Let C be a compatible subset of Mf . Then since C is also a compatible subset of the sheaf M, it [ has a least upper bound, say, c. Using Lemma 2.1.6 (ii), we have that E(c) = E(a). We now a∈C consider the set f(C) = {f(a) | a ∈ C} = {(E(a),E(a)) | a ∈ C} ⊆ Ω1.

36 We note that for any two elements a1, a2 ∈ C,

f(a1)  E(f(a2)) = (E(a1),E(a1))  E(a2) = (E(a1) ∩ E(a2),E(a1) ∩ E(a2)) = (E(a2),E(a2))  E(a1) = f(a2)  E(f(a1)), using the definitions of E and  in Ω1, which shows that f(C) is a compatible subset of the sheaf Ω1. Hence f(C) has a least upper bound. We claim that ! [ [ (E(c),E(c)) = E(a), E(a) a∈C a∈C is the least upper bound for f(C). For any a1 ∈ C, ! ! [ [ [ [ E(a), E(a)  E(f(a1)) = E(a), E(a)  E(a1) a∈C a∈C a∈C a∈C = (E(a1),E(a1)) = f(a1), which shows that f(a1) ≤ (E(c),E(c)) for all a1 ∈ C. Moreover, [ [ E((E(c),E(c)) = E(c) = E(a) = E(f(a)). a∈C a∈C Thus, by Lemma 2.1.6 (ii), (E(c),E(c)) is indeed the least upper bound for f(C). Now, for any a ∈ C, a ≤ c. So by Lemma 2.1.16, f(a) ≤ f(c). Moreover, since f is a sheaf morphism, [ [ E(f(c)) = E(c) = E(a) = E(f(a)). a∈C a∈C Thus, by Lemma 2.1.6 (ii), f(c) is the least upper bound for f(C). Hence, by the uniqueness of the least upper bound, f(c) = (E(c),E(c)).

This shows that c ∈ Mf . Hence every compatible subset of Mf has its least upper bound in Mf , thus proving that Mf is a sheaf. So, Mf is a subsheaf of M. 0 Now, let M ⊆ M be a subsheaf of M. We define the global element (fM 0 ,T ) ∈ P(M) as    [  discussed above. So, fM 0 (a) =  E(b),E(a) for all a ∈ M. Then using the sheaf morphism   b≤a b∈M 0 fM0 M / Ω1, we define the subsheaf

M = {a ∈ M | f 0 (a) = (E(a),E(a))} ⊆ M. fM0 M We claim that M = M 0. This can be proved as follows. fM0 Let b ∈ M 0. Then    [  fM 0 (b) =  E(c),E(b) ,   c≤b c∈M 0

37 [ 0 and E(c) ⊆ E(b), by definition of Ω1. Now, since b ∈ M and b ≤ b, c≤b c∈M 0 [ E(b) ⊆ E(c) ⊆ E(b), c≤b c∈M 0 [ which implies that E(c) = E(b), and hence c≤b c∈M 0

fM 0 (b) = (E(b),E(b)).

This implies that b ∈ M . So M 0 ⊆ M . fM0 fM0 Conversely, suppose b ∈ M . Then, by definition of M , fM0 fM0

fM 0 (b) = (E(b),E(b)), and by definition of f 0 , M    [  fM 0 (b) =  E(c),E(b) .   c≤b c∈M 0 [ So E(c) = E(b). Now we consider the set c≤b c∈M 0

{c ∈ M 0 | c ≤ b} ⊆ M 0.

0 Let c1, c2 ∈ {c ∈ M | c ≤ b}. Then c1, c2 ≤ b, which means that c1 = b  E(c1) and c2 = b  E(c2). So, c1  E(c2) = (b  E(c1))  E(c2) = b  (E(c1) ∩ E(c2)) = (b  E(c2))  E(c1) = c2  E(c1). 0 0 This shows that c1, c2 are compatible. Hence {c ∈ M | c ≤ b} is a compatible subset of M . Since M 0 is a sheaf, the compatible subset {c ∈ M 0 | c ≤ b} has a least upper bound in M 0. Clearly, b is [ an upper bound for {c ∈ M 0 | c ≤ b}. Moreover, E(b) = E(c). So by Lemma 2.1.6 (ii), b is c≤b c∈M 0 the least upper bound for {c ∈ M 0 | c ≤ b}. Hence b ∈ M 0. Thus M ⊆ M 0. Hence M = M 0. fM0 fM0 f Now, suppose (f, T ) be a global section of the power sheaf P(M). Then M / Ω1 is a sheaf morphism. Since a sheaf morphism preserves extent, we have that for any a ∈ M, E(f(a)) = E(a). Thus, for any a ∈ M, f(a) is of the form (U, E(a)) ∈ Ω1, where U is some open subset of T such that U ⊆ E(a). We now define a subsheaf Mf of M as follows.

Mf = {a ∈ M | f(a) = (E(a),E(a))}.

38 Using the above defined subsheaf, we now define a global section of the power sheaf (fMf ,T ), where f Mf M / Ω1 is a sheaf morphism defined by    [  fM (a) =  E(b),E(a) for each a ∈ M. f   b≤a b∈Mf

We claim that f = fMf . This can be shown as follows. Let a ∈ M, and f(a) = (U, E(a)), where U is an open subset of T such that U ⊆ E(a). We note that E(f(a)) = E(a) = E(fMf (a)). So,

f(a)  E(fMf (a)) = f(a)  E(a) = (U, E(a))  E(a) = (U ∩ E(a),E(a)) = (U, E(a)), since U ⊆ E(a) = f(a).

This shows that f(a) ≤ fMf (a) in the sheaf Ω1. Also,

fMf (a)  E(f(a)) = fMf (a)  E(a)    [  =  E(b),E(a)  E(a)   b≤a b∈Mf     [   =  E(b) ∩ E(a),E(a)    b≤a b∈Mf    [  [ =  E(b),E(a) , since E(b) ⊆ E(a)   b≤a b≤a b∈Mf b∈Mf

= fMf (a).

This shows that fMf (a) ≤ f(a) in the sheaf Ω1. Then since ≤ is a partial order, we have f(a) = fMf (a). As a was an arbitrary element of M, this shows that f = fMf , and so (f, T ) = (fMf ,T ) in the power sheaf P(M). This completes the proof.

2.2 Higher-Order Intuitionistic Logic

The system of higher-order intuitionistic logic that we will discuss here is HIQCE. This is based on a many-sorted language L . The sorts are given by the following clauses.

(a) There is a collection of basic sorts (primitive sorts) β0, β1, β2,.... (b) If σ and τ are sorts, then so is σ × τ (the product sort of σ and τ).

(c) If σ is a sort, then so is P (σ) (the power sort of σ).

39 (d) If σ, τ are sort, then so is σ / τ (the function sort from σ to τ).

Note that higher products of sorts are defined inductively by repeated application of clause (b) above. The language L consists of (i) the sorts as described above;

(ii) a countably infinite supply of variables, denoted xσ, yσ,... for each sort σ;

(iii) a collection of predicates each designated as n-ary of type (σ1, . . . , σn), where σi(1 ≤ i ≤ n) are sorts;

(iv) an equality predicate =σ of type (σ, σ) for each sort σ;

(v) a predicate ∈σ of type (σ, P (σ)) for each sort σ;

(vi) an existence predicate Eσ of type (σ) for each sort σ;

(vii) a collection of operators each designated as n-ary of type (σ1, . . . , σn, τ), where σi(1 ≤ i ≤ n), τ are sorts;

(viii) a pairing operator πσ,τ of type (σ, τ, σ × τ), where σ, τ are sorts;

σ,τ σ,τ (ix) projection operators π1 and π2 of types (σ × τ, σ) and (σ × τ, τ) respectively, where σ, τ are sorts;

(x) an application operator Apσ,τ of type (σ / τ, σ, τ), where σ, τ are sorts;

(xi) propositional connectives ⊥, ¬, ∧, ∨, =⇒ , ⇐⇒ ;

(xii) quantifiers ∀, ∃.

We shall drop the superscripts indicating the sorts and types, when there is no chance of confusion. The terms are generated as follows.

(i) Each variable, xσ of sort σ is a term of sort σ.

(ii) If f is an n-ary operator of type (σ1, . . . , σn, τ), and s1, . . . , sn are terms of sort σ1, . . . , σn respectively, then fs1 . . . sn is a term of sort τ. The atomic formulas are:

(i) t1 = t2, where t1, t2 are terms of some sort σ and = is of type (σ, σ),

(ii) t1 ∈ t2, where t1 is of some sort σ, t2 is of sort P (σ), and ∈ is of type (σ, P (σ)),

(iii) P t1 . . . tn, where t1, . . . , tn are terms of sort σ1, . . . , σn respectively, and P is an n-ary predicate of type (σ1, . . . , σn). Then the formulas are generated as follows.

• If A is a formula, so is ¬A.

• If A, B are formulas, then so are (A ∧ B), (A ∨ B), (A =⇒ B), (A ⇐⇒ B).

• If A is a formula and x is a variable occurring in A, then ∀x A, and ∃x A are formulas.

40 Definition 2.2.1. The complexity of a formula is the number of occurrences of propositional connectives, ¬, ∧, ∨, =⇒ , ⇐⇒ , and quantifiers ∀, ∃.

Definition 2.2.2. An occurrence of a variable x in a formula A is said to be bound in A if it is within the scope of a quantifier ∀x or ∃x in A. An occurrence of a variable x is said to be free in A if it is not bound.

Definition 2.2.3. A formula A is called a sentence if it has no free variables.

A more detailed discussion on the above concepts can be found at [30, 23].

2.3 An interpretation of higher-order intuitionistic logic

The sheaves over a topological space T form a model for higher-order intuitionistic logic and arithmetic in the following way.

• Each basic sort σ is interpreted as a sheaf Mσ, a product sort σ × τ is interpreted as the sheaf Mσ Mσ×τ := Mσ × Mτ , a function sort σ / τ is interpreted as the sheaf Mσ / τ := Mτ , and M a power sort P (σ) is interpreted as the sheaf Ω1 := P(Mσ).

• We extend the language with a constant symbol for each member of a sheaf Mσ, for each sort σ.

• For each closed term s of sort σ, there is a member [[s]] of the sheaf Mσ. The closed terms are interpreted as follows.

– If a is a constant symbol of sort σ, then [[a]] ∈ Mσ. Moreover, if a ∈ Mσ, then [[a]] := a. – For closed terms s of sort σ and t of sort τ, [[πst]] is an element of the product sheaf Mσ × Mτ defined by  [[πst]] = [[s]]  E([[t]]), [[t]]  E([[s]]) .

– If u is a closed term of sort σ × τ, then [[u]] = (a, b) for some (a, b) ∈ Mσ × Nτ . Then

[[π1u]] = a, and [[π2u]] = b.

Mσ – If t is a closed term of sort σ / τ, then [[t]] = (f, U) for some (f, U) ∈ Mτ . Moreover, if s is a closed term of sort σ, then ts is a closed term of sort τ, and

[[Apts]] = f([[s]]  U).

• To each atomic sentence A, we assign a truth value [[A]] ∈ Ω as follows.

– For s, t closed terms of sort σ,

[[s = t]] = S{U ∈ Ω | U ⊆ E([[s]]) ∩ E([[t]]) and [[s]]  U = [[t]]  U} = the largest U ⊆ E([[s]]) ∩ E([[t]]) such that [[s]]  U = [[t]]  U.

– For t a closed term of sort σ, [[Et]] = [[t = t]] = E([[t]]).

41 – For s a closed term of sort σ and t a closed term of sort P (σ) with [[t]] = (Q, V ) ∈ Mσ P(Mσ) = Ω1 , we define [[s ∈ t]] as follows.

Q([[s]]  V ) = ([[s ∈ t]],E([[s]]) ∩ V ) .

By Proposition 2.1.26, we can alternatively take [[t]] = (P,U) ∈ P0(Mσ). In that case, [[s ∈ t]] can be defined as follows.

[[s ∈ t]] = P ([[s]]).

• For sentences of higher complexity, we use the following and proceed by induction.

– For the propositional connectives,

[[A ∧ B]] = [[A]] ∩ [[B]], [[A ∨ B]] = [[A]] ∪ [[B]], [[⊥]] = ∅,

[[A =⇒ B]] = [[A]] =⇒ [[B]], where U =⇒ V = ((T \ U) ∪ V )◦ = the interior of (T \ U) ∪ V,

and [[¬A]] = [[A =⇒ ⊥]] that is, [[¬A]] = (T \ [[A]])◦.

– For the quantifiers, [ [[∃x A(x)]] = [[Ea ∧ A[x/a]]], and

a∈Mσ

!◦ \ [[∀x A]] = [[Ea =⇒ A[x/a]]] ,

a∈Mσ where x is a variable of sort σ.

A sheaf model over a topological space is denoted by Sh(T ) and is said to satisfy a sentence A if [[A]] = T . Now, we will show some of the rules and axioms that hold in these sheaf models. The first of these is the substitution of equals.

Lemma 2.3.1. For any sentence, A, and closed terms s, t of the same sort, the following substitu- tion rule is valid in Sh(T ) for any topological space, T .

[[s = t]] ∩ [[A(t)]] ⊆ [[A(s)]].

Proof. The atomic sentences of HIQCE are of the form

(a) u = v

(b) Eu

(c) u ∈ v where the closed terms u, v are of appropriate sorts and the predicates, =, E, ∈ are of appropriate types.

42 (a) Suppose A is the atomic sentence, t = u, where t, u are closed terms of some sort, σ. Then

[[s = t]] ∩ [[t = u]] ⊆ [[s = u]],

where s is also a closed term of sort σ follows from Lemma 2.1.6 (iii).

(b) Suppose A is the atomic sentence, Et, where t is a closed term of some sort, σ. We need to show that [[s = t]] ∩ [[Et]] ⊆ [[Es]], where s is also a closed term of sort σ. Let α ∈ [[s = t]] ∩ [[Et]] = [[s = t]] ∩ E([[t]]). Then α ∈ E([[t]]), and there is an open U ⊆ T such that

α ∈ U ⊆ E([[s]]) ∩ E([[t]]) and [[s]]  U = [[t]]  U, which shows that α ∈ E([[s]]) = [[Es]].

(c) Finally suppose A is the atomic sentence, t ∈ u, where t is a closed term of some sort, σ, and u is a closed term of sort P (σ). We need to show that

[[s = t]] ∩ [[t ∈ u]] ⊆ [[s ∈ u]],

and [[u = v]] ∩ [[t ∈ u]] ⊆ [[t ∈ v]], where s is a closed term of sort σ, and v is a closed term of sort P (σ). Suppose [[t]] ∈ M, M and [[u]] ∈ P(M) = Ω1 . Then, [[u]] = (Q, U) for some open U ⊆ T and a sheaf morphism Q M  U / Ω1  U. Moreover,

Q([[t]]  U) = ([[t ∈ u]],E([[t]]) ∩ U) , and Q([[s]]  U) = ([[s ∈ u]],E([[s]]) ∩ U) .

Let [[s = t]] = V . Then V is the largest open subset of E([[s]]) ∩ E([[t]]) such that [[s]]  V = [[t]]  V . Now, Q([[t]]  U)  V = ([[t ∈ u]],E([[t]]) ∩ U)  V = ([[t ∈ u]] ∩ V,E([[t]]) ∩ U ∩ V ) ,

by definition of  in Ω1. By definition of a sheaf morphism,

Q([[t]]  U)  V = Q([[t]]  (U ∩ V )) = Q(([[t]]  V )  U) = Q(([[s]]  V )  U) = Q([[s]]  (U ∩ V )).

Now, [[s]]  (U ∩ V ) ≤ [[s]]  U since

([[s]]  U)  E ([[s]]  (U ∩ V )) = ([[s]]  U)  (E([[s]]) ∩ U ∩ V ) = [[s]]  (U ∩ E([[s]]) ∩ U ∩ V ) = ([[s]]  E([[s]]))  (U ∩ U ∩ V ) = [[s]]  (U ∩ V ).

So by Lemma 2.1.16, Q([[s]]  (U ∩ V )) ≤ Q([[s]]  U). Hence,

Q([[t]]  U)  V ≤ Q([[s]]  U),

43 which implies that

([[t ∈ u]] ∩ V,E([[t]]) ∩ U ∩ V ) ≤ ([[s ∈ u]],E([[s]] ∩ U) .

By Example 2.1.7 (d), this means

[[s ∈ u]] ∩ E([[t]]) ∩ U ∩ V = [[t ∈ u]] ∩ V.

Now, V ⊆ E([[s]]) ∩ E([[t]]) ⊆ E([[t]]). Also, since ([[s ∈ u]],E([[s]]) ∩ U) ∈ Ω1  U, [[s ∈ u]] ⊆ E([[s]]) ∩ U ⊆ U by definition of Ω1. Thus

[[s ∈ u]] ∩ E([[t]]) ∩ U ∩ V = [[s ∈ u]] ∩ V.

Hence, [[t ∈ u]] ∩ V = [[s ∈ u]] ∩ V ⊆ [[s ∈ u]], that is, [[t ∈ u]] ∩ [[s = t]] ⊆ [[s ∈ u]].

Suppose [[t]] ∈ M, and [[u]], [[v]] ∈ P(M). Then [[u]] = (Q, U), and [[v]] = (R,V ) for some open Q R U, V ⊆ T and sheaf morphisms M  U / Ω1  U, and M  V / Ω1  V . Moreover,

Q([[t]]  U) = ([[t ∈ u]],E([[t]]) ∩ U) , and R([[t]]  V ) = ([[t ∈ v]],E([[t]]) ∩ V ) . Let [[u = v]] = W . Then W is the largest open subset of E([[u]]) ∩ E([[v]]) = U ∩ V such that [[u]]  W = [[v]]  W , that is, (Q  W, U ∩ W ) = (R  W, V ∩ W ). Now,

([[t ∈ u]] ∩ W, E([[t]]) ∩ U ∩ W ) = Q([[t]]  U)  W = Q([[t]]  (U ∩ W )) = (Q  W )([[t]]  (U ∩ W )) = (R  W )([[t]]  (V ∩ W )) = R([[t]]  (V ∩ W )) = R([[t]]  V )  W = ([[t ∈ v]] ∩ W, E([[t]]) ∩ V ∩ W ) .

Thus [[t ∈ u]] ∩ W = [[t ∈ v]] ∩ W ⊆ [[t ∈ v]], that is, [[t ∈ u]] ∩ [[u = v]] ⊆ [[t ∈ v]].

Thus the substitution rule is valid for any atomic sentence, A. To extend this result to include all sentences, we will use induction on the complexity, n of the sentence, A. From the preceding argument, we have that the substitution rule is valid for the base case, n = 0. As the induction hypothesis, we assume that the substitution rule is valid for all sentences with complexity less than or equal to k for some non-negative integer k ≥ 0. Suppose A is a sentence with complexity k + 1. Then we have the following cases.

44 (i) Suppose A is of the form ¬B. Then the complexity of B is k. We need to show that

[[s = t]] ∩ [[¬B(s)]] ⊆ [[¬B(t)]],

where s, t are closed terms of the same sort. Let [[s = t]] = U. Then, [[s = t]] ∩ [[¬B(s)]] = U ∩ (T \ [[B(s)]])◦ = (U ∩ (T \ [[B(s)]]))◦ . Now, by the induction hypothesis,

U ∩ [[B(t)]] ⊆ [[B(s)]].

So, T \ [[B(s)]] ⊆ T \ (U ∩ [[B(t)]]). Thus (U ∩ (T \ [[B(s)]]))◦ ⊆ (U ∩ (T \ (U ∩ [[B(t)]])))◦ = (U ∩ ((T \ U) ∪ (T \ [[B(t)]])))◦ = ((U ∩ (T \ U)) ∪ (U ∩ (T \ [[B(t)]])))◦ = (U ∩ (T \ [[B(t)]]))◦ ⊆ (T \ [[B(t)]])◦ = [[¬B(t)]] Hence, [[s = t]] ∩ [[¬B(s)]] ⊆ [[¬B(t)]].

(ii) Suppose A is of the form B ∧ C. Then the complexities of B and C are less than or equal to k. We need to show that

[[s = t]] ∩ [[B(s) ∧ C(s)]] ⊆ [[B(t) ∧ C(t)]],

where s, t are closed terms of the same sort. Now, [[s = t]] ∩ [[B(s) ∧ C(s)]] = [[s = t]] ∩ ([[B(s)]] ∩ [[C(s)]]) = ([[s = t]] ∩ [[B(s)]]) ∩ ([[s = t]] ∩ [[C(s)]]) ⊆ [[B(t)]] ∩ [[C(t)]], by the induction hypothesis. Hence,

[[s = t]] ∩ [[B(s) ∧ C(s)]] ⊆ [[B(t) ∧ C(t)]],

(iii) Suppose A is of the form B ∨ C. Then the complexities of B and C are less than or equal to k. We need to show that

[[s = t]] ∩ [[B(s) ∨ C(s)]] ⊆ [[B(t) ∨ C(t)]],

where s, t are closed terms of the same sort. Now, [[s = t]] ∩ [[B(s) ∨ C(s)]] = [[s = t]] ∩ ([[B(s)]] ∪ [[C(s)]]) = ([[s = t]] ∩ [[B(s)]]) ∪ ([[s = t]] ∩ [[C(s)]]) ⊆ [[B(t)]] ∪ [[C(t)]], by the induction hypothesis. Hence,

[[s = t]] ∩ [[B(s) ∨ C(s)]] ⊆ [[B(t) ∨ C(t)]],

45 (iv) Suppose A is of the form B =⇒ C. Then the complexities of B and C are less than or equal to k. We need to show that

[[s = t]] ∩ [[B(s) =⇒ C(s)]] ⊆ [[B(t) =⇒ C(t)]],

where s, t are closed terms of the same sort. Let [[s = t]] = U. Now,

[[s = t]] ∩ [[B(s) =⇒ C(s)]] = U ∩ ((T \ [[B(s)]]) ∪ [[C(s)]])◦ = (U ∩ ((T \ [[B(s)]]) ∪ [[C(s)]]))◦ = ((U ∩ (T \ [[B(s)]]))∪ (U ∩ [[C(s)]]))◦

By the induction hypothesis, U ∩ [[B(t)]] ⊆ [[B(s)]], which implies that T \ [[B(s)]] ⊆ T \ (U ∩ [[B(t)]]) = (T \ U) ∪ (T \ [[B(t)]]). So, U ∩ (T \ [[B(s)]]) ⊆ U ∩ ((T \ U) ∪ (T \ [[B(t)]])) = (U ∩ (T \ U)) ∪ (U ∩ (T \ [[B(t)]])) = U ∩ (T \ [[B(t)]]) ⊆ T \ [[B(t)]]. Also, by the induction hypothesis, we have

U ∩ [[C(s)]] ⊆ [[C(t)]].

So, (U ∩ (T \ [[B(s)]])) ∪ (U ∩ [[C(s)]]) ⊆ (T \ [[B(t)]]) ∪ [[C(t)]], which implies that

((U ∩ (T \ [[B(s)]])) ∪ (U ∩ [[C(s)]]))◦ ⊆ ((T \ [[B(t)]]) ∪ [[C(t)]])◦ .

Hence, U ∩ [[B(s) =⇒ C(s)]] ⊆ [[B(t) =⇒ C(t)]].

(v) Suppose A is of the form B ⇐⇒ C. Then the complexities of B and C are less than or equal to k. We need to show that

[[s = t]] ∩ [[B(s) ⇐⇒ C(s)]] ⊆ [[B(t) ⇐⇒ C(t)]],

where s, t are closed terms of the same sort. Now,

[[B(s) ⇐⇒ C(s)]] = [[(B(s) =⇒ C(s)) ∧ (C(s) =⇒ B(s))]].

So, the argument for B ⇐⇒ C follows easily from the cases (ii) and (iv) above.

46 (vi) Suppose A is of the form ∀x B(x), where the variable x is of some sort, σ. Then the complexity of B is k. We need to show that

[[s = t]] ∩ [[∀x B(s)(x)]] ⊆ [[∀x B(t)(x)]],

where s, t are closed terms of the same sort, say τ. Let [[s = t]] = U, and let the sheaf corresponding to the sort σ be M. Then !◦ \ U ∩ [[∀x B(s)(x)]] = U ∩ [[Ea =⇒ B(s)(a)]] a∈M !◦ \ = U ∩ [[Ea =⇒ B(s)(a)]] a∈M !◦ \ = (U ∩ [[Ea =⇒ B(s)(a)]]) . a∈M Now, by case (iv), for each a ∈ M,

U ∩ [[Ea =⇒ B(s)(a)]] ⊆ [[Ea =⇒ B(t)(a)]].

Thus !◦ !◦ \ \ (U ∩ [[Ea =⇒ B(s)(a)]]) ⊆ [[Ea =⇒ B(t)(a)]] a∈M a∈M = [[∀x B(t)(x)]]. Hence, [[s = t]] ∩ [[∀x B(s)(x)]] ⊆ [[∀x B(t)(x)]],

(vii) Suppose A is of the form ∃x B(x), where the variable x is of some sort, σ. Then the complexity of B is k. We need to show that

[[s = t]] ∩ [[∃x B(s)(x)]] ⊆ [[∃x B(t)(x)]],

where s, t are closed terms of the same sort, say τ. Let [[s = t]] = U, and let the sheaf corresponding to the sort σ be M. Then [ U ∩ [[∃x B(s)(x)]] = U ∩ [[Ea ∧ B(s)(a)]] a∈M [ = (U ∩ [[Ea ∧ B(s)(a)]]). a∈M Now, by case (ii), for each a ∈ M,

U ∩ [[Ea ∧ B(s)(a)]] ⊆ [[Ea ∧ B(t)(a)]].

Thus [ [ (U ∩ [[Ea ∧ B(s)(a)]]) ⊆ [[Ea ∧ B(t)(a)]] a∈M a∈M = [[∃x B(t)(x)]]. Hence, [[s = t]] ∩ [[∃x B(s)(x)]] ⊆ [[∃x B(t)(x)]],

47 Lemma 2.3.2. For any sentence A, and any closed terms s, t of the same sort, if [[s]] ≤ [[t]] in Sh(T ), where T is any topological space, then

[[A(s)]] ∩ E([[s]]) = [[A(t)]] ∩ E([[s]]), and [[A(s)]] ∩ E([[s]]) ⊆ [[A(t)]] ∩ E([[t]]).

Proof. We first note that [[s]] ≤ [[t]] implies that [[s]] = [[t]]  E([[s]]). So,

E([[s]]) = E([[t]]  E([[s]])) = E([[t]]) ∩ E([[s]]) ⊆ E([[t]]). Now, [[s = t]] is the largest open subset U of T such that U ⊆ E([[s]]) ∩ E([[t]]) = E([[s]]) such that [[s]]  U = [[t]]  U. We note that

[[s]]  E([[s]]) = [[s]] = [[t]]  E([[s]]). Thus [[s = t]] = E([[s]]). Then

[[A(s)]] ∩ E([[s]]) = [[A(s)]] ∩ [[s = t]] ⊆ [[A(t)]], by Lemma 2.3.1.

Also, [[A(s)]] ∩ E([[s]]) ⊆ E([[s]]). So,

[[A(s)]] ∩ E([[s]]) ⊆ [[A(t)]] ∩ E([[s]]).

Conversely, we have [[A(t)]] ∩ E([[s]]) = [[A(t)]] ∩ [[s = t]] ⊆ [[A(s)]], by Lemma 2.3.1. So, since [[A(t)]] ∩ E([[s]]) ⊆ E([[s]]),

[[A(t)]] ∩ E([[s]]) ⊆ [[A(s)]] ∩ E([[s]]).

Hence, [[A(s)]] ∩ E([[s]]) = [[A(t)]] ∩ E([[s]]). Now, since E([[s]]) ⊆ E([[t]]), we have [[A(t)]] ∩ E([[s]]) ⊆ [[A(t)]] ∩ E([[t]]). Thus

[[A(s)]] ∩ E([[s]]) ⊆ [[A(t)]] ∩ E([[t]]).

We now present two propositions below, without proof.

Proposition 2.3.3. The following axioms of extensionality are satisfied in Sh(T ) for any topological space, T .

(a) ∀y∀z (y = z ⇐⇒ ∀x (x ∈ y ⇐⇒ x ∈ z)), where x is a variable of some sort σ, and y, z are variables or sort P (σ).

48 (b) ∀z∀w (z = w ⇐⇒ ∀x∃y (zx = y ∧ wx = y)),

where x, y are variables of sorts σ, τ respectively, and z, w are variables of sort σ / τ. Proposition 2.3.4. The following comprehension schemes are satisfied in Sh(T ) for any topological space, T . (a) ∃y∀x (x ∈ y ⇐⇒ A(x)), where x is a variable of some sort σ, y is a variable of sort P (σ), and A(x) is a formula with no free variables other than x.

(b) ∀x∃!y A(x, y) =⇒ ∃z∀x∃y(zx = y ∧ A(x, y)),

where x, y are variables of sort σ, τ respectively, z is a variable of sort σ / τ, and A(x, y) is a formula with only two free variables x, y.

2.4 Sheaves over poset spaces

Definition 2.4.1. A poset is a non-empty set, K with a ≤ such that for all α, β, γ ∈ K, (a) α ≤ α (reflexive),

(b) if α ≤ β and β ≤ α, then α = β (antisymmetric),

(c) if α ≤ β and β ≤ γ, then α ≤ γ (transitive). Definition 2.4.2. Let (K, ≤) be a poset. A set U ⊆ K is said to be upward closed if for all α, β ∈ K, if α ≤ β and α ∈ U, then β ∈ U. Proposition 2.4.3. The upward closed sets of a poset (K, ≤) form a topology on K.

Proof. The empty set ∅ and the whole set K are trivially upward closed. Suppose U1,U2 are upward closed subsets of K. Let α ∈ U1 ∩ U2, and β ∈ K such that α ≤ β. Since α ∈ U1,U2 and U1,U2 are both upward closed, β ∈ U1,U2. Thus β ∈ U1 ∩ U2. Hence, U1 ∩ U2 is upward closed. In fact, if \ \ {Uk | k ∈ I} is a family of upward closed sets, then Uk is upward closed, because if α ∈ Uk k∈I k∈I and β ≥ α, then since α ∈ Uk for every k ∈ I and each Uk is upward closed, β ∈ Uk for every k ∈ I. [ Let α ∈ Uk, and β ∈ K such that α ≤ β. Then α ∈ Uk for some k ∈ I. Since Uk is upward k∈I [ [ closed, β ∈ Uk. Hence, β ∈ Uk. Thus Uk is upward closed. k∈I k∈I Remark 2.4.4. This topology of the upward closed sets of a poset K is called the Alexandrov topology on K. A sheaf model over a poset (K, ≤) with the respective Alexandrov topology is denoted by Sh(K). We will now explore some of the topological properties of an Alexandrov topology, that will be required for later developments. The standard topological ideas used here can be found in, for example, [15].

49 Lemma 2.4.5. Suppose (K, ≤) is a poset. Then for any point α ∈ K, there is a smallest neigh- borhood of α, namely Uα = {β ∈ K | α ≤ β} in the Alexandrov topology on K.

Proof. We note that Uα is an upward closed subset of K containing α. Thus Uα is a neighborhood of α. Let U be a neighborhood of α ∈ K. Then U is an open subset of K and hence upward closed. Let β ∈ Uα. So, α ≤ β. Since U is upward closed, β ∈ U. Thus Uα ⊆ U. Hence, Uα is the smallest neighborhood of α.

Lemma 2.4.6. Suppose (K, ≤) is a poset. Let {Ai}i∈I be a family of subsets of K. Then !◦ \ \ ◦ Ai = Ai i∈I i∈I in the Alexandrov topology on K.

◦ \ ◦ Proof. We note that for each i ∈ I, Ai is open in K. Then by the proof of Proposition 2.4.3, Ai i∈I !◦ ◦ \ ◦ \ \ is open in K. Moreover, for each i ∈ I, Ai ⊆ Ai. So, Ai ⊆ Ai. Now, Ai is the largest i∈I i∈I i∈I \ open set contained in Ai. So, i∈I !◦ \ ◦ \ Ai ⊆ Ai . i∈I i∈I !◦ !◦ \ \ Let α ∈ Ai . Then by Lemma 2.4.5, since Ai is an open subset of K containing α, i∈I i∈I !◦ !◦ \ \ \ Uα ⊆ Ai . Now since Ai ⊆ Ai, Uα ⊆ Ai for each i ∈ I. So, for any i ∈ I, Uα i∈I i∈I i∈I ◦ is an open subset of Ai, and hence for each i ∈ I, Uα ⊆ Ai , the largest open subset of Ai. Thus \ ◦ \ ◦ Uα ⊆ Ai , which implies that α ∈ Ai . So, i∈I i∈I !◦ \ \ ◦ Ai ⊆ Ai . i∈I i∈I Hence, !◦ \ \ ◦ Ai = Ai . i∈I i∈I

Definition 2.4.7. A topological space, T is said to be locally connected at x ∈ T if for every neighborhood U of x, there is a connected neighborhood V of x contained in U. If T is locally connected at each of its points, it is said to be locally connected. Lemma 2.4.8. Any poset (K, ≤) with the respective Alexandrov topology is locally connected.

50 Proof. Let α ∈ K and Uα = {β ∈ K | α ≤ β}. We first show that Uα is connected by way of contradiction. Suppose Uα is not connected. Then there exists non-empty open sets V and W such that

Uα = V ∪ W and V ∩ W = ∅.

This implies that since α ∈ Uα, α ∈ V or α ∈ W , but not both. Suppose α ∈ V . Now by Lemma 2.4.5, since Uα is the smallest open set containing α, Uα ⊆ V . So, Uα = V . But then W = ∅, because Uα is the union of the disjoint open sets V and W . This is a contradiction. Hence, Uα must be connected. Now, if U is any open set containing α, then by Lemma 2.4.5 again Uα ⊆ U. Thus K is locally connected.

Definition 2.4.9. A function f from a topological space T to a set X is said to be locally constant if for every x ∈ T , there exists a neighborhood U of x, such that f is constant on U.

Lemma 2.4.10. Let (K, ≤) be a poset. Let U be an open subset of K under the Alexandrov topology on it. A f : U / R is locally constant.

Proof. Let α ∈ K and Uα = {β ∈ K | α ≤ β}. Then Uα is an open set containing α. We first show that any continuous function f : Uα / R is a constant function. −1 Let f(α) = r and  > 0. Now, since f is continuous, f (r − , r + ) is open in Uα. Moreover, as −1 Uα is open in K, f (r − , r + ) is open in K and contains α. By Lemma 2.4.5, Uα is the smallest −1 −1 open set of K containing α. Thus Uα ⊆ f (r − , r + ). Hence, Uα = f (r − , r + ). Since this is true for any arbitrary  > 0, f(Uα) = {r}. Thus f : Uα / R is a constant function. Now, if U is any open set in K and f : U / R is any continuous function, then for any α ∈ U, α ∈ Uα ⊆ U. By our previous argument, f : Uα / R is constant. This shows that f : U / R is locally constant.

Remark 2.4.11. Every locally constant function from a topological space into another is contin- uous. This can be proved as follows. Suppose T1,T2 are two topological spaces, and f : T1 / T2 −1 −1 is a locally constant function. Let V be an open set of T2. If f (V ) = ∅, then f (V ) is open in −1 T1. If not, then suppose x ∈ f (V ). Since f is locally constant, there exists U open in T1, such that x ∈ U and f is constant on U, that is, f(U) = {f(x)} ⊆ V . This implies that U ⊆ f −1(V ). −1 This proves that f (V ) is open in T1. Hence, f is continuous. Definition 2.4.12. A poset, (K, ≤) is said to be directed if every finite subset of K is bounded above i.e., for any two elements α, β ∈ K, there exists an element γ ∈ K such that α ≤ γ and β ≤ γ.

Lemma 2.4.13. Suppose (K, ≤) is a directed poset and X any set. Then any locally constant function f : U / X, where U is an upward closed subset of K, is constant. The converse is also true, provided the set X has more than one element.

Proof. Let (K, ≤) be a directed poset and α ∈ U. Since f is locally constant, there exists V ⊆ U open in U such that α ∈ V and f is constant on V , that is, f(V ) = {f(α)}. V is also open in K as U is open in K. So by Lemma 2.4.5, Uα = {β ∈ K | α ≤ β}, the smallest open set in K containing α, is contained in V . Now, let γ ∈ U \ V . By similar arguments as above, there exists W ⊆ U open in U, and hence in K, such that Uγ = {β ∈ K | γ ≤ β} ⊆ W , and f(W ) = {f(γ)}. Since K is directed, there exists δ ∈ K such that α, γ ≤ δ. Then δ ∈ Uα and δ ∈ Uγ. Thus f(δ) = f(α) and

51 f(δ) = f(γ), which implies, f(α) = f(γ). This proves that f(U) = {f(α)}, that is, f is a constant function on U. Conversely, suppose (K, ≤) is not directed. So there exists two elements α, β ∈ K with no upper bound. Then Uα,Uβ are open subsets of K. Moreover, Uα ∩ Uβ = ∅, since otherwise if γ ∈ Uα ∩ Uβ, then α, β ≤ γ, which contradicts our assumption that there is no upper bound for α, β. Let x, y ∈ X such that x 6= y. We now define f : Uα ∪ Uβ / X by f(Uα) = x and f(Uβ) = y. Clearly f is well-defined and locally constant, but not constant, on the upward closed set Uα ∪ Uβ, because Uα,Ubeta are disjoint and x 6= y. Hence, if K is not directed and X has more than one element, then there are locally constant functions from open subsets of K into X that are not constant. This proves that if every locally constant function from an open subset of K into X is constant, then (K, ≤) is a directed poset, assuming that X has more than one element.

We denote the collection of all constant functions from open subsets of a topological space T c into a set X by Co(T,X). Remark 2.4.14. The set of constant functions from open subsets of a topological space T into R, or another topological space, is not a sheaf in general. As an example, we may consider the collection of constant functions from open subsets of R into R. Then f : (0, 1) / R defined by f(x) = 0 for all x ∈ (0, 1), and g : (1, 2) / R defined by g(x) = 1 for all x ∈ (1, 2) are members of this collection. Now {f, g} is a compatible subset of elements of this collection since the domains of f, g are disjoint. But {f, g} does not have a join in the collection of constant functions from open c c subsets of R into R, Co(R, R). So Co(R, R) is not a sheaf.

2.5 K-sets

In this section, we present another interpretation of higher-order intuitionistic logic that is equiva- lent to sheaves over posets.

Definition 2.5.1. Let (K, ≤) be a poset. Then a K-set is a family of sets, hMαi indexed by K, together with a collection of maps, hMαβi between these sets satisfying the following conditions.

(i) For each pair of elements α, β ∈ K with α ≤ β, there is a map Mαβ : Mα / Mβ.

(ii) Mαα : Mα / Mα is the identity map on Mα.

(iii) If α ≤ β and β ≤ γ in K, then Mαγ = Mβγ ◦ Mαβ.

We denote this K-set by hMα,Mαβi.

Definition 2.5.2. Suppose M = hMα,Mαβi and N = hNα,Nαβi are K-sets. We define a K-set f morphism M / N to be a family of maps hfα : Mα / Nαi indexed by K such that for any α, β ∈ K with α ≤ β, the following diagram commutes.

Mαβ Mα / Mβ

fα fβ

  Nα / Nβ Nαβ

52 For any K-set M = hMα,Mαβi, the identity morphism on M, IM is given by

IM := hIMα iα∈K ,

where IMα is the identity map on Mα. For K-sets M = hMα,Mαβi,N = hNα,Nαβi, and P = f=hfαiα∈K g=hgαiα∈K hPα,Pαβi, if M −−−−−−−→ N, and N −−−−−−−→ P are K-set morphisms, then the composite g◦f arrow M −−→ P is given by

hg ◦ fiα := gα ◦ fα, for each α ∈ K.

Remark 2.5.3. The K-sets and the K-set morphisms form a category. We denote this category by K-Set.

Proposition 2.5.4. The category of sheaves over K, Sh(K) and the category K-Set are structurally similar, that is there exist between K-Set and Sh(K).

Proof. Let M = hMα,Mαβi be a K-set. Then we define,

sh Y M := {a = (aα)α∈U ∈ Mα | U ∈ Ω; Mαβ(aα) = aβ α∈U whenever α ≤ β; α, β ∈ U}.

sh sh sh Moreover, we define maps, E : M / Ω, and : M × Ω / M as follows: • E(a) := dom(a),

• a  V := a  V . sh We claim that (M ,E, ) is a sheaf over K. We note that the following properties of sheaves are sh satisfied by (M ,E, ). sh (i) For any a ∈ M , a  (E(a)) = a  (dom(a)) = a. (ii) Let a ∈ M sh, and U ∈ Ω. Then

E(a  U) = dom(a  U) = dom(a) ∩ U = E(a) ∩ U.

(iii) Let U, V ∈ Ω, and a ∈ M sh. Then

(a  U)  V = (a  U)  V = a  (U ∩ V ) = a  (U ∩ V ).

sh (iv) M can be partially ordered by letting a ≤ b if and only if a = b  E(a) that is, if and only if a = b  dom(a). sh (v) A set C ⊆ M is compatible if a  E(b) = b  E(a) that is, if a  dom(b) = b  dom(a). Let C be any compatible subset of M sh. Then there is a least upper bound of C with respect to sh ≤, namely, thea ˆ ∈ M such thata ˆ  dom(a) = a for each a ∈ C. Thus there exists a sheaf in Sh(K) for each K-set in K-Set. Conversely, let M = (M,E, ) be a sheaf over K (that is, M ∈ Sh(K)). Then we define,

• Mα := {a ∈ M | E(a) = Uα}, where Uα := {β | α ≤ β},

53 • Mαβ : Mα / Mβ, by a 7→ a  Uβ. We note the following.

(i) For each α ∈ K, there is a set Mα.

(ii) For α, β ∈ K with α ≤ β, Uα ⊇ Uβ. This ensures that Mαβ : Mα / Mβ is well-defined.

(iii) Suppose α ∈ K, and a ∈ Mα. So, E(a) = Uα. Then Mαα(a) = a  Uα = a  E(a) = a. Thus Mαα is the identity map on Mα.

(iv) Suppose α, β, γ ∈ K such that α ≤ β, β ≤ γ. So, Uα ⊇ Uβ ⊇ Uγ. Let a ∈ Mα. Then we have the maps Mαβ : Mα / Mβ,Mβγ : Mβ / Mγ, and Mαγ : Mα / Mγ.

Mβγ ◦ Mαβ(a) = Mβγ(a  Uβ) = (a  Uβ)  Uγ = a  (Uβ ∩ Uγ) = a  Uγ,

since Uβ ⊇ Uγ. Thus Mαγ = Mβγ ◦ Mαβ.

Let Msh = hMα,Mαβi. Then Msh is a K-set. Thus we have a K-set in K-Set for every sheaf in Sh(K). We define Φ: K-Set / Sh(K) by Φ(M) := M sh, where M = hMα,Mαβi is a K-set, and

Ψ : Sh(K) / K-Set by Ψ(M) := Msh, where M = (M,E, ) is a sheaf over K. sh sh Let M = hMα,Mαβi and N = hNα,Nαβi be K-sets. Then Φ(M) = M , and Φ(N) = N . Let f = hfαiα∈K be an arrow from M to N in K-Set, where fα : Mα / Nα. Then, for all α, β ∈ K with α ≤ β, the following diagram commutes.

Mαβ Mα / Mβ

fα fβ

  Nα / Nβ Nαβ

sh Y sh sh Let a = (aα)α∈U ∈ M = Mα, for some U ∈ Ω. We define Φ(f): M / N by α∈U

Φ(f)(a) := (fα(aα))α∈U . We need to show that Φ(f) is a sheaf morphism from M sh to N sh. We note that (i) E(a) = U = E(Φ(f)(a)); and (ii) for any V ∈ Ω, Φ(f)(a  V ) = Φ(f)(a  V ) = Φ(f)((aα)α∈U∩V ) = (fα(aα))α∈U∩V = (fα(aα))α∈U  V = Φ(f)(a)  V = Φ(f)(a)  V

54 Φ(f) Thus M sh −−−→ N sh is a sheaf morphism. On the other hand let M = (M,EM , M ) and N = (N,EN , N ) be sheaves over K. Then

Ψ(M) = Msh = hMα,Mαβiα≤β∈K , and Ψ(N) = Nsh = hNα,Nαβiα≤β∈K . g Let M −→ N be a sheaf morphism. Then EN (g(a)) = EM (a) and (g(a)) N V = g(a M V ) for all a ∈ M, and for all V ∈ Ω. Let aα ∈ Mα. Then EM (aα) = Uα, where Uα = {β ∈ K | α ≤ β}. We define Ψ(g)α : Mα / Nα by Ψ(g)α(aα) := g(aα) for each α ∈ K, and Ψ(g) = (Ψ(g)α)α∈K . We need to show that Ψ(g) is a K-set morphism from Msh to Nsh. We note that for any α, β ∈ K with α ≤ β,

Nαβ(Ψ(g)α(aα)) = Nαβ(g(aα)) = g(aα) N Uβ = g(aα M Uβ) = g(Mαβ(aα)) = Ψ(g)β(Mαβ(aα)) In other words, the following diagram commutes for every α, β ∈ K with α ≤ β.

Mαβ Mα / Mβ

Ψ(g)α Ψ(g)β

  Nα / Nβ Nαβ

Ψ(g) Thus Msh −−−→ Nsh is a K-set morphism. We claim that Φ and Ψ as described above are functors. Suppose M = hMα,Mαβi,N = hNα,Nαβi, and P = hPα,Pαβi be K-sets. Recall that IM = hIMα iα∈K , where IMα is the identity map on Mα, is the identity arrow on M in K-Set. So for any sh a = (aα)α∈U ∈ M , where U ∈ Ω,

Φ(IM )(a) = (IMα (aα))α∈U = (aα)α∈U = a

sh Thus Φ(IM ) is the identity arrow on M in Sh(K). f=hf i g=hg i Next, suppose M −−−−−−−→α α∈K N, and N −−−−−−−→α α∈K P be K-set morphisms. Then for any sh a = (aα)α∈U ∈ M where U ∈ Ω,

Φ(g ◦ f)(a) = (h◦fiα(aα))α∈U = (gα ◦ fα(aα))α∈U = (gα(fα(aα)))α∈U = Φ(g)(((fα(aα))α∈U ) = Φ(g)(Φ(f)(a)) = Φ(g) ◦ Φ(f)(a)

55 Hence, Φ : K-Set / Sh(K) is a . IM Suppose M = (M,EM , M ),N = (N,EN , N ), and P = (P,EP , P ) be sheaves. Let M −−→ M be the identity arrow on M. Then for each α ∈ K, and aα ∈ Mα,

Ψ(IM )α(aα) = IM (aα) = aα.

Thus hΨ(IM )iα is the identity map on Mα for each α ∈ K. So, Ψ(IM ) = (Ψ(IM )α)α∈K is the identity arrow on Msh in Sh(K). h k Next, suppose M −→ N, and N −→ P be sheaf morphisms. Then for any α ∈ K, and aα ∈ Mα,

Ψ(k ◦ h)α(aα) = (k ◦ h)(aα) = k(h(aα)) = k(Ψ(h)α(aα)) = Ψ(k)α(Ψ(h)α(aα)) = (Ψ(k)α ◦ Ψ(h)α)(aα) = (Ψ(k) ◦ Ψ(h))α(aα)

Thus Ψ(k ◦ h) = Ψ(k) ◦ Ψ(h), and hence Ψ : Sh(K) / K-Set is also a functor.

Remark 2.5.5. In fact, it can be shown that the functors Φ and Ψ, as described in the above proposition constitute an equivalence of the categories Sh(K) and K-Set. However, since the equiv- alence of the two categories is not required for later development in this document. A sophisticated proof of this equivalence using further category theoretic machinery can be found in [32].

56 Chapter 3

Number systems and sheaves

3.1 The Natural Numbers

Following [31], we first show that Co(T, N) is a Peano structure. Then since any two Peano struc- tures are isomorphic, we have the representation of the natural numbers in Sh(T ). The details are as follows. f Definition 3.1.1. A number structure is an ordered triple (X, f, c) where X is a sheaf, X / X is a sheaf morphism, and c ∈ X is such that the following sentence is valid.

∀Y (c ∈ Y ∧ ∀x(x ∈ Y =⇒ fx ∈ Y ) =⇒ Y = X) where c denotes a designated element of X, f denotes a designated element of the function sheaf XX , x is a variable of sort X, Y is a variable of sort P (X), and X denotes the element X in the power sheaf P(X). A Peano structure is a number structure satisfying in addition

∀x¬(c = fx), ∀x ∀y (fx = fy =⇒ x = y) where c, f are as before, and the variables x, y are of sort X. Then we state the following lemma without proof from [31]. Lemma 3.1.2. (i) If (X, f, c) is a Peano structure and (X0, f 0, c0) a number structure, there exists a unique homomorphism, ϕ such that

ϕ(c) = c0, ϕ(f(x)) = f 0(ϕ(x)) for all x ∈ X.

(ii) Any two Peano structures are isomorphic.

(iii) In any Peano structure (X, f, c) there are uniquely determined functions satisfying the equa- tions for the primitive recursive functions (identifying c with 0, and f with S). In particular, there are uniquely determined + and · such that for all x, y ∈ X

x + c = x, x + f(y) = f(x + y), x · c = c, x · f(y) = x · y + x.

Lemma 3.1.3. Suppose T is any topological space, and U is any open subset of T . Let X be a discrete topological space. Then any continuous function f : U / X is locally constant. Moreover, if U is connected, then f is constant.

57 Proof. Suppose U is an open subset of T , and f : U / X is a continuous function. Let t ∈ U. Then {f(t)} ⊆ X. Since X has the discrete topology, {f(t)} is an open subset of X. Thus, by continuity of f, f −1 ({f(t)}) is an open subset of U. Clearly, t ∈ f −1 ({f(t)}), and f is constant on f −1 ({f(t)}). Hence, f is locally constant. Now, suppose U is connected. As before, let t ∈ U. We consider the sets {f(t)} and X \{f(t)}. These are both open, because X has the discrete topology. Then, by continuity of f, f −1 ({f(t)}) = A (say), and f −1 (X \{f(t)}) = B (say) are open subsets of U. Moreover, A∩B = ∅, and U = A∪B. Since, U is connected, B = ∅. Hence, A = U, that is, f(U) = {f(t)}, which implies that f is a constant function on U.

Proposition 3.1.4. The sheaf in Sh(T ) corresponding to N is Co(T, N), the set of partial continuous functions from T to N with open domain. sh Proof. To simplify the notation for this proof, we will write N for Co(T, N). Let 0 : T / N be sh sh the constant zero function. We also define a function S : N / N as follows. S(a)(t) = a(t) + 1 for all t ∈ U,

sh where U is an open subset of T , and a : U / N ∈ N . We claim that S as defined is a sheaf sh morphism. Let a : U / N ∈ N . Then E(a) = U = E(S(a)), and for any open subset V of T , we have S(a  V )(t) = (a  V )(t) + 1 = a(t) + 1 for all t ∈ U ∩ V = S(a)(t) for all t ∈ U ∩ V = (S(a)  V )(t).

sh sh S sh shN Thus N / N is a sheaf morphism, and hence an element of N . We now show that sh (N , S, 0) is a Peano structure using HIQCE as the underlying logic. Let S and 0 be the denota- tions for themselves in the language of HIQCE.

• We start with the simplest of the three sentences that need to be satisfied in order for sh (N , S, 0) to be a Peano structure, that is, ∀x ¬(0 = Sx),

sh sh where x is a variable of sort N . Let a ∈ N , and W = [[0 = Sa]]. Then by the interpretation of equality, W is the largest open subset of T such that W ⊆ E(0) ∩ E(S(a)) such that 0  W = S(a)  W . Now, E(0) = T , and E(S(a)) = E(a) as shown above. Thus W ⊆ E(a). Moreover, 0  W = S(a)  W, which implies 0(t) = S(a)(t) for all t ∈ W, which implies 0 = a(t) + 1, for all t ∈ W.

This is impossible since a(t) ∈ N for all t. Thus [[0 = Sa]] = W = ∅. So, T \ [[0 = Sa]] = T , which implies that (T \ [[0 = Sa]])◦ = T , and clearly, we have

E(a) ⊆ (T \ [[0 = Sa]])◦ = [[¬(0 = Sa)]].

Therefore, (T \ E(a)) ∪ [[¬(0 = Sa)]] = T, and hence E(a) =⇒ [[¬(0 = Sa)]] = ((T \ E(a)) ∪ [[¬(0 = Sa)]])◦ = T.

58 sh Since, a ∈ N was arbitrary, we have \ (E(a) =⇒ [[¬(0 = Sa)]]) = T. a∈Nsh So,  ◦ \  (E(a) =⇒ [[¬(0 = Sa)]]) = T. a∈Nsh Hence [[∀x ¬(0 = Sx)]] = T.

• Next, we evaluate the sentence ∀x∀y (Sx = Sy =⇒ x = y),

sh sh where x, y are variables of sort N . Let a, b ∈ N , and W = [[Sa = Sb]]. Then by the interpretation of equality, W is the largest open subset of T such that W ⊆ E(S(a))∩E(S(b)) and S(a)  W = S(b)  W . Now, E(S(a)) = E(a) and E(S(b)) = E(b), which implies that W ⊆ E(a) ∩ E(b). Moreover,

S(a)  W = S(b)  W, which implies S(a)(t) = S(b)(t) for all t ∈ W, which implies a(t) + 1 = b(t) + 1 for all t ∈ W, which implies a(t) = b(t) for all t ∈ W, which implies a  W = b  W. This shows that W ⊆ [[a = b]], that is, [[Sa = Sb]] ⊆ [[a = b]]. Therefore, [[Sa = Sb =⇒ a = b]] = T. Then, E(b) ⊆ [[Sa = Sb =⇒ a = b]], which implies that E(b) =⇒ [[Sa = Sb =⇒ a = b]] = T.

sh This is true for every b ∈ N . Thus \ (E(b) =⇒ [[Sa = Sb =⇒ a = b]]) = T, b∈Nsh and hence,  ◦ \  (E(b) =⇒ [[Sa = Sb =⇒ a = b]]) = T. b∈Nsh Thus [[∀y (Sa = Sy =⇒ a = y)]] = T. sh Now, this is true for all a ∈ N . So, using similar arguments, we have,  ◦ \  (E(a) =⇒ [[∀y (Sa = Sy =⇒ a = y)]]) = T, a∈Nsh and hence, [[∀x∀y (Sx = Sy =⇒ x = y)]] = T.

59 • Finally, we need to show that the sentence

sh ∀Y (0 ∈ Y ∧ ∀x(x ∈ Y =⇒ Sx ∈ Y ) =⇒ Y = N ),

sh sh where x is a variable of sort N and Y is a variable of sort P (N ), evaluates to T . Let sh M sh N sh (M,U) ∈ P(N ) = Ω1 . So, N  U / Ω1  U. Let V be an open subset of T such that V ⊆ [[0 ∈ M ∧ ∀x (x ∈ M =⇒ Sx ∈ M)]],

which implies that

V ⊆ [[0 ∈ M]] and V ⊆ [[∀x (x ∈ M =⇒ Sx ∈ M)]].

Now, M(0  U) = ([[0 ∈ M]],E(0) ∩ U) = ([[0 ∈ M]],U) ,

since E(0) = T . Since ([[0 ∈ M]],U) ∈ Ω1, [[0 ∈ M]] ⊆ U, by definition of Ω1. So, V ⊆ [[0 ∈ M]] implies that V ⊆ U. sh sh N We need to show that V ⊆ [[M = N ]]. The sheaf morphism (N,T ) ∈ Ω1 defined by sh sh sh N(a) = (E(a),E(a)) ∈ Ω1 for all a ∈ N represents N in the sheaf P(N ). Now, V ⊆ [[∀x (x ∈ M =⇒ Sx ∈ M)]]

implies that  ◦ \ V ⊆  (E(a) =⇒ [[a ∈ M =⇒ Sa ∈ M]]) . a∈Nsh sh Therefore, for any a ∈ N , V ⊆ (E(a) =⇒ [[a ∈ M =⇒ Sa ∈ M]]) = ((T \ E(a)) ∪ [[a ∈ M =⇒ Sa ∈ M]])◦ ⊆ (T \ E(a)) ∪ [[a ∈ M =⇒ Sa ∈ M]],

which implies that V ∩ E(a) ⊆ [[a ∈ M =⇒ Sa ∈ M]] = ((T \ [[a ∈ M]]) ∪ [[Sa ∈ M]])◦ ⊆ (T \ [[a ∈ M]]) ∪ [[Sa ∈ M]]. Thus V ∩ E(a) ∩ [[a ∈ M]] ⊆ [[Sa ∈ M]]. Then using the interpretation of ‘∈’, we have

M(a  U) = ([[a ∈ M]],E(a) ∩ U) ∈ Ω1, which implies that [[a ∈ M]] ⊆ E(a) ∩ U ⊆ E(a). Hence, we have

V ∩ E(a) ∩ [[a ∈ M]] = V ∩ [[a ∈ M]] ⊆ [[Sa ∈ M]].

sh sh This is true for every a ∈ N . Now, for each n ∈ N, there is an element nb ∈ N with sh E(nb) = T , and nb(t) = n, for all t ∈ T . These are global elements of the sheaf, N . So, for each n ∈ N, we have V ∩ [[nb ∈ M]] ⊆ [[Snb ∈ M]].

60 We also have that V ⊆ [[0 ∈ M]]. Applying the principle of induction externally, we have

V ⊆ [[nb ∈ M]], for all n ∈ N. Now, by Lemma 3.1.3, any continuous function from an open subset of T into sh N is locally constant. So, for any a ∈ N = Co(T, N), [ E(a) = [[a = nb]], sh nb∈N which implies that [ V ∩ E(a) ⊆ E(a) = [[a = nb]]. sh nb∈N sh For any nb ∈ N , we have V ∩ E(a) ⊆ V ⊆ [[nb ∈ M]], sh and for any a ∈ N , we have by Lemma 2.3.1, [[a = nb]] ∩ [[nb ∈ M]] ⊆ [[a ∈ M]]. Combining the above facts, we have V ∩ E(a) ⊆ [[a ∈ M]], sh for all a ∈ N , which implies that V ∩ E(a) ⊆ [[a ∈ M]] ∩ V . We note that E(M) ∩ E(N) = sh U ∩ T = U. We know that V ⊆ U, so V ⊆ E(M) ∩ E(N). Now, for any a ∈ N  (U ∩ V ) = sh N  V , (N  V )(a) = N(a)  V = (E(a),E(a))  V = (E(a) ∩ V,E(a) ∩ V ), and (M  V )(a  U) = (M  V )(a) = M(a)  V = ([[a ∈ M]] ∩ V,E(a) ∩ U ∩ V ) = ([[a ∈ M]] ∩ V,E(a) ∩ V ) .

Since ([[a ∈ M]] ∩ V,E(a) ∩ V ) ∈ Ω1, [[a ∈ M]] ∩ V ⊆ E(a) ∩ V . Thus [[a ∈ M]] ∩ V = E(a) ∩ V. So, (M  V )(a) = (E(a) ∩ V,E(a) ∩ V ) = (N  V )(a), sh for all a ∈ N  V . Thus V ⊆ E(M) ∩ E(N) and M  V = N  V . So, by the interpretation of equality, we have sh V ⊆ [[M = N ]]. sh sh Hence, N = Co(T, N) is a Peano structure. Then by the Lemma 3.1.2, the sheaf N = Co(T, N) represents N in Sh(T ). sh Remark 3.1.5. In the above proof, we have used the fact that every member of N = Co(T, N) is locally constant. This is due to the topology of N. If we replace N by any set X with the discrete topology on it, then Co(T,X) is a sheaf as pointed out in Example 2.1.4, but in addition, the elements of Co(T,X) are locally constant, by Lemma 3.1.3. lc Thus, for any discrete topological space X, Co(T,X) = Co (T,X). sh lc Remark 3.1.6. We define X as the sheaf Co (T,X) in Sh(T ), for any set X. Remark 3.1.7. It can be similarly shown that the sheaves in Sh(T ) corresponding to Z, and Q are respectively, Co(T, Z) and Co(T, Q). See [31][Volume II, Chapter 15] for more details.

61 3.2 The Baire Space

The Baire space is the set of all infinite sequences of natural numbers. This is denoted by NN. In this section, we discuss the sheaf representation for the Baire space in Sh(T ), where T is any sh topological space. Since N is represented by the sheaf N in Sh(T ), the Baire space is given by the sh shN function sheaf N in Sh(T ). Y Lemma 3.2.1. Let X = Xi be a product of topological spaces, and for i ∈ I, let pi : X / Xi i∈I be the canonical projection map. Let Y be a topological space, and let f : Y /X be any function. Then f is continuous iff pi ◦ f : Y / Xi is continuous for each i ∈ I. Proof. The proof of this basic topological fact about product spaces can be found in any standard textbook on , for example [15].

sh shN Proposition 3.2.2. Suppose T is a topological space. Then the Baire space N is isomorphic to the sheaf Co(T, NN), that is, the sheaf of partial continuous functions from T into NN with open domain, where NN is endowed with the product topology. sh Proof. We first note that every element of N = Co(T, N) is a locally constant function from T sh sh lc N shN into N, and for any open U ⊆ T , N  U = Co (U, N). To show that Co(T, N ) and N are sh shN isomorphic sheaves, we now define a function ϕ : Co(T, NN) / N as follows

N ϕ(a) = (fa,U), a ∈ Co(T, N ),

f sh a sh where U = dom(a), and N  U / N  U is a sheaf morphism defined by

(fa(g)) (t) = (a(t)) (g(t)),

sh lc for any g ∈ N  U = Co (U, N) and for any t ∈ U ∩ dom(g) = dom(g), since dom(g) ⊆ U. sh shN Next, we need to show that ϕ is well-defined, that is, (fa,U) ∈ N for any a ∈ Co(T, NN) sh sh with dom(a) = U. To see that fa : N  U / N  U is well defined, we first note that for lc N any g ∈ Co (U, N), g(t) ∈ N for all t ∈ U = dom(a), and since a ∈ Co(T, N ), a(t): N / N for sh any t ∈ U. Moreover, E(fa(g)) = dom(g) ⊆ U. Thus fa(g) ∈ N  U. Thus fa is a well-defined sh sh function from N  U into N  U. To show that fa is also a sheaf morphism, we need to show that it preserves E and . This is shown as follows. From the definition of fa, and the above arguments, it is clear that E(fa(g)) = E(g) for any sh sh g ∈ N  U. To show that fa preserves  as well, suppose g ∈ N  U, and V is an open subset of U. We need to show that fa(g  V ) = fa(g)  V . We note that for any t ∈ dom(g) ∩ V ,

(fa(g  V )) (t) = (a(t))((g  V )(t)) = ((a  V )(t)) ((g  V )(t)) = ((fa(g))  V )(t).

f sh sh a sh shN Thus fa preserves . Hence N  U / N  U is a sheaf morphism, and so (fa,U) ∈ N . This proves that ϕ is well-defined. f sh a By definition of ϕ, for any a ∈ Co(T, NN), ϕ(a) = (fa,U), where U = dom(a) and N  U / sh N  U is a sheaf morphism. Thus for any a ∈ Co(T, NN),

E(ϕ(a)) = E ((fa,U)) = U = dom(a).

62 Hence, ϕ preserves extent. Now to show that ϕ preserves restriction, let a ∈ Co(T, NN) with E(a) = U and let V be an open subset of T . Then, since E(a  V ) = E(a) ∩ V = U ∩ V ,

ϕ(a  V ) = (faV ,U ∩ V ) ,

f sh aV sh where N  (U ∩ V ) / N  (U ∩ V ) is a sheaf morphism defined by

(faV (g)) (t) = ((a  V )(t)) (g(t)),

sh sh  for any g ∈ N  (U ∩ V ) = N  U  V and for any t ∈ U ∩ V . Now,

(faV (g)) (t) = ((a  V )(t)) (g(t)) = (a(t)) (g(t))  V = (fa(g)) (t)  V = ((fa  V )(g)) (t).

Thus faV = fa  V . Hence, ϕ(a  V ) = (faV ,U ∩ V ) = (fa  V,U ∩ V ) = (fa,U)  V = ϕ(a)  V, and so ϕ respects restriction. Next we need to show that ϕ is one-to-one and onto. To show that ϕ is one-to-one, let a, b ∈ Co(T, NN) such that ϕ(a) = ϕ(b). Let Ua = dom(a) and Ub = dom(b). Then

ϕ(a) = (fa,Ua) and ϕ(b) = (fb,Ub).

f =f sh a b sh Since, ϕ(a) = ϕ(b), Ua = Ub = U (say). Also, N  U / N  U are sheaf morphisms defined by (fa(g))(t) = (a(t))(g(t)) and (fb(g))(t) = (b(t))(g(t)), sh for any g ∈ N  U and for any t ∈ dom(g) ⊆ U. Since fa = fb, this implies that (a(t))(g(t)) = sh sh (b(t))(g(t)) for all g ∈ N  U and for any t ∈ dom(g). Now, for any n ∈ N, nb  U ∈ N  U, and (nb  U)(t) = n for all t ∈ dom(nb  U) = U. Hence, for any n ∈ N,

(a(t))((nb  U)(t)) = (b(t))((nb  U)(t)), which implies that for any n ∈ N, (a(t))(n) = (b(t))(n) for all t ∈ U = dom(a) = dom(b). Thus a = b. This shows that ϕ is a one-to-one function from sh shN Co(T, NN) into N . sh f shN sh sh Finally, to show that ϕ is onto, let (f, U) ∈ N . Then N  U / N  U is a sheaf sh sh N morphism. For each n ∈ N, nb  U ∈ N  U, and so f(nb  U) ∈ N  U. We define a : U / N as follows. (a(t))(n) = (f(nb  U))(t) for all n ∈ N, for each t ∈ U. Hence a(t): N / N is well-defined for each t ∈ U. We note that since f(nb  U) ∈ sh lc N  U = Co (U, N), f(nb  U) is continuous for each n ∈ N. Thus a considered as a function in t

63 Y and n is continuous as a function of t for each fixed n. Now, NN = N is a product space, and n∈N hence by Lemma 3.2.1, since a is continuous for each n, it is a continuous function from U into NN. Thus a ∈ Co(T, NN). By definition of a, it is clear that dom(a) = E(a) = U. So, ϕ(a) = (fa,U), f sh a sh where N  U / N  U is a sheaf morphism defined as before. We first note that for any n ∈ N, (fa(nb  U))(t) = (a(t))((nb  U)(t)) = (a(t))(n) = (f(nb  U))(t), sh lc [ for all t ∈ U. Now since any g ∈ N  U = Co (U, N) is locally constant, E(g) = [[g = nb]]. For n∈N any n ∈ N, and for any t ∈ [[g = nb]], g(t) = nb(t), and hence (fa(g))(t) = (f(g))(t) by the above argument. Hence for every t ∈ dom(g) = E(g), (fa(g))(t) = (f(g))(t). Hence fa(g) = f(g) for sh every g ∈ N  U. Thus fa = f, and so

ϕ(a) = (fa,U) = (f, U).

This proves that ϕ is onto. sh shN Hence ϕ : Co(T, NN) / N is a one-to-one and onto function that respects E and . So it is an isomorphism between the two sheaves.

Proposition 3.2.3. Suppose T is a locally connected topological space. Then the Baire space is sh lc N N represented by the sheaf Co (T, N ) = N in Sh(T ). In other words, if T is locally connected, then sh  sh shN ∼ N lc N N N = Co(T, N ) = Co (T, N ) = N .

Proof. We need to show that if T is locally connected, then every member of the sheaf Co(T, NN), that is any continuous function from T into NN with open domain, is locally constant. To prove this, it suffices to show that any continuous function a : U / NN, where U ⊆ T is a connected open set, is constant. Let U be a connected open subset of T , and a ∈ Co(T, NN) with E(a) = U. Then a : U / NN is continuous. We define the function fi : U / N by fi(t) = (a(t))(i), i ∈ N. Then fi = πi ◦ a, th where πi : NN / N is the i projection map. Then by Lemma 3.2.1, fi is a continuous function from U into N. Now, by Lemma 3.1.3, every continuous function from a connected open subset of T into N is constant. Hence, fi is constant, which implies that a is constant. Remark 3.2.4. The above two results can be generalized to any exponential AB, where A, B are any two sets, AB is endowed with the product topology, and A has the discrete topology. That is, if B B T is any topological space, then the sheaf for A is Co(T,A ). Moreover, if T is locally connected, B lc B then Co(T,A ) = Co (T,A ).

lc N Corollary 3.2.5. Suppose (K, ≤) is a poset. Then the Baire space is represented by Co (K, N ) = sh NN in Sh(K). Proof. We know that a poset (K, ≤) with the Alexandrov topology is locally connected by Lemma 2.4.8. Then the statement of the corollary follows from Proposition 3.2.3.

64 3.3 The Real Numbers

Unlike in classical mathematics, the Cauchy reals may or may not be isomorphic to the Dedekind reals with HIQCE as the underlying logic. We show two sheaf models below, one where they are different, and one where they coincide.

Definition 3.3.1. Let S ⊆ Q. S is called a left cut (or cut) or Dedekind real if S satisfies the following conditions. (a) ∃r (r ∈ S), ∃s(s∈ / S)(boundedness) (b) ∀r ∈ S ∃s ∈ S (r < s)(openness) (c) ∀rs (r < s =⇒ r ∈ S ∨ s∈ / S)(locatedness) d We denote the collection of all Dedekind reals by R . S is called a strong Dedekind real if S satisfies boundedness (a), openness (b), and the following strong form of locatedness. (c0) ∃α : Q × Q / N ∀rs (r < s =⇒ (α(r, s) = 0 ∧ r ∈ S)∨ (α(r, s) = 1 ∧ s∈ / S))

We now state the following two propositions (without proof) from [31][Volume II, Chapter 15]. d Proposition 3.3.2. The sheaf corresponding to R in Sh(T ) is Co(T, R), where R denotes the classical set of real numbers with the usual topology. [31, 15.1.5, Volume II] Proposition 3.3.3. If the topological space T is locally connected, the sheaf corresponding to the c Cauchy reals, denoted by R , in Sh(T ) is lc Co (T, R) = {a ∈ Co(T, R) | a is locally constant}, where R denotes the classical set of real numbers with the usual topology. [31, 15.2.2, Volume II] A substantial part of the above discussion on number systems owes itself to the one in [19, 20, 6]. c d Corollary 3.3.4. The Cauchy reals, R is not isomorphic to the Dedekind reals, R in Sh(R). d Proof. By Proposition 3.3.2 R is represented by the sheaf Co(R, R) in Sh(R). Moreover, since R c lc is locally connected, by Proposition 3.3.3, R is represented by the sheaf Co (R, R) in Sh(R). Now, lc Co (R, R) ( Co(R, R), since there are continuous real-valued functions on open subsets of R which are not locally constant.

lc Corollary 3.3.5. The Dedekind and the Cauchy reals are both represented by Co (K, R) in Sh(K) for any poset (K, ≤).

Proof. By Proposition 3.3.2, the sheaf corresponding to the Dedekind reals is Co(K, R) in Sh(K). Now, by Lemma 2.4.8, K is a locally connected topological space, and hence by Proposition 3.3.3, lc the Cauchy reals are represented by Co (K, R) in Sh(K). By Lemma 2.4.10, every continuous function from an open subset of K into R is locally constant. lc So Co(K, R) = Co (K, R). Thus the Cauchy and the Dedekind reals coincide in Sh(K) for any poset (K, ≤).

65 Remark 3.3.6. Later in Chapter 3, we shall prove a generalization of Corollary 3.3.5 to the effect lc that Co(T, R) = Co (T, R) for a wide range of topological spaces T . See Corollary 4.6.2. The following result augments our understanding of reals in Sh(K), where (K, ≤) is a directed poset.

c d Corollary 3.3.7. As discussed above, if (K, ≤) is a poset, then R and R are both represented lc c by the sheaf Co (K, R). Now by Lemma 2.4.13, we can conclude that Co(K, R) is a sheaf and lc c c Co (K, R) = Co(K, R) iff K is directed. So, in other words, Co(K, R) is a sheaf, and

c d c R = R = Co(K, R), iff (K, ≤) is a directed poset.

66 Chapter 4

A few principles

In this chapter we discuss the validity of certain principles which are either incompatible with classical logic, but may be true in an intuitionistic interpretation, or are classically true, but may or may not be true in a constructive setting. We start with the principle of the excluded middle, which is classically valid, but not in any intuitionistic system.

4.1 The principle of the excluded middle

According to the principle of the excluded middle, or PEM, for any arbitrary sentence, A, the sentence A ∨ ¬A is logically valid, that is true in all models. Let T be a topological space, and U be an open set. Then T 6= U ∪ (T \ U)◦ in general. So, for any arbitrary sentence A, [[A ∨ ¬A]] = [[A]] ∪ (T \ [[A]])◦ 6= T that is, the principle of excluded middle does not hold in Sh(T ) for a general topological space, T . Definition 4.1.1. A topological space, T is called almost discrete if every open subset U of T is also closed, or equivalently, every closed subset F of T is also open. Proposition 4.1.2. The principle of excluded middle, PEM, holds in a sheaf model Sh(T ) iff T is almost discrete. Proof. From the above discussion, PEM fails to hold, in general, in a sheaf model Sh(T ), because T 6= U ∪ (T \ U)◦ in general for an arbitrary open set U in T . So to prove the statement of the current proposition, we only need to show that T = U ∪ (T \ U)◦ for any open subset U of T iff T is almost discrete. Suppose T is almost discrete, and let U be an open subset of T . Then U is also closed. So T \ U is open, and hence (T \ U)◦ = T \ U. Hence U ∪ (T \ U)◦ = U ∪ (T \ U) = T. Conversely, suppose T is a topological space such that for any open subset U of T U ∪ (T \ U)◦ = T. Then for any open subset U,(T \ U)◦ = T \ U. Since (T \ U)◦ is open, this implies that T \ U is open for any open subset U of T . This implies that U is closed for every open subset U of T . In other words, every open subset of U of T is closed, and hence T is almost discrete.

67 4.2 The weak law of the excluded middle

In this section, we investigate the weak law of the excluded middle, (WEM) ¬A ∨ ¬¬A. If T is a topological space then the interpretation of WEM in Sh(T ) is given by [[WEM]] = (T \ [[A]])◦ ∪ T \ (T \ [[A]])◦ ◦. Similar to the case of PEM, [[WEM]] 6= T for a general topological space, T . However, for an Alexandrov topology over certain posets, the weak law of the excluded middle is valid. Proposition 4.2.1. Suppose (K, ≤) is a directed poset. Let A be any sentence in HIQCE. Then Sh(K) |= ¬A ∨ ¬¬A. That is, the weak law of excluded middle holds in Sh(K), for any directed poset K. Proof. The interpretation of WEM in Sh(K) is given by [[WEM]] = (K \ [[A]])◦ ∪ K \ (K \ [[A]])◦ ◦. Clearly, if [[A]] = ∅ or K, then [[WEM]] = K. So, suppose [[A]] 6= ∅,K. Since [[A]] 6= ∅,(K \ [[A]])◦ 6= ◦ ◦ K. So, (K \ [[A]]) ( K. If (K \ [[A]]) = ∅, then [[WEM]] = K. Suppose, (K \ [[A]])◦ 6= ∅. Let α ∈ [[A]], β ∈ (K \ [[A]])◦ . Since (K, ≤) is directed, there exists γ ∈ K such that α, β ≤ γ. Then, since both [[A]] and (K \[[A]])◦ are open, and hence upward closed, γ ∈ [[A]] ∩ interior of (K \ [[A]]), which is impossible. Thus in all possible cases [[WEM]] = K.

The converse of the above proposition is not true, that is, the success of the weak law of the excluded middle in Sh(K) for a poset (K, ≤) does not imply that (K, ≤) is directed. Example 4.2.2. Take K = {α, β}, where α k β. Clearly, K is not directed. The open sets are {α}, {β},K, ∅. Clearly, for any open set U, [[WEM]] = (K \ U)◦ ∪ interior of (K \ interior of (K \ U)) = K. Remark 4.2.3. In fact Sh(K) |= PEM with (K, ≤) as in the above example, since the upward closed sets of (K, ≤) generate a discrete topology on K. Proposition 4.2.4. Let (K, ≤) be a poset with two elements α, β ∈ K such that there is no upper bound for {α, β} but there exists a γ ∈ K such that γ ≤ α, β. Then the weak law of excluded middle fails in Sh(K).

Proof. Consider the open set Uα = {η ∈ K | α ≤ η}. Then ◦ ◦ ◦ γ∈ / (K \ Uα) ∪ K \ (K \ Uα) . So, [[WEM]] 6= K.

68 4.3 Markov’s principle

Markov’s principle can be formally stated as

(MP) (∀t (A(t) ∨ ¬A(t)) ∧ ¬¬∃t A(t)) =⇒ ∃t A(t), where t is a variable of sort N. We first show that Markov’s principle is not always valid. For this, we consider the sheaf model Sh(T ), where T = 2N, the Cantor space. Here 2 denotes the two element set {0, 1} with the discrete topology, and 2N has the product topology.

Proposition 4.3.1. Markov’s principle (MP) is not valid in Sh(2N).

Proof. Let n ∈ N. Then the set {x ∈ 2N | x(n) = 1} ⊆ 2N is open. The complement of this set, N sh {x ∈ 2 | x(n) = 0} is also open. Now, for every n ∈ N, there is a global element nb ∈ N = Co(2N, N), as discussed in the proof of Proposition 3.1.4. We define

N [[A(nb)]] = {x ∈ 2 | x(n) = 1} for each n ∈ N. Then for any n ∈ , N ◦ N  [[¬A(nb)]] = 2 \ [[A(nb)]] = {x ∈ 2N | x(n) = 0}◦ = {x ∈ 2N | x(n) = 0}, since this is also an open set in 2N. Thus for any n ∈ N,

N [[A(nb) ∨ ¬A(nb)]] = [[A(nb)]] ∪ [[¬A(nb)]] = 2 . Now,  ◦ \ [[∀t (A(t) ∨ ¬A(t))]] =  (E(a) =⇒ [[A(a) ∨ ¬A(a)]]) a∈Nsh  ◦ \   =  (2N \ E(a)) ∪ [[A(a) ∨ ¬A(a)]]  a∈Nsh sh [ [ sh We note that for any a ∈ N , E(a) = [[a = nb]] = [[a = nb]], since every section of N is sh n∈ nb∈N N sh locally constant. Moreover, by Lemma 2.3.1, for any a ∈ N and for any n ∈ N,

[[A(nb) ∨ ¬A(nb)]] ∩ [[a = nb]] ⊆ [[A(a) ∨ ¬A(a)]].

N Since [[A(nb) ∨ ¬A(nb)]] = 2 , this means that

[[a = nb]] ⊆ [[A(a) ∨ ¬A(a)]] for all n ∈ N. So, [ E(a) = [[a = nb]] ⊆ [[A(a) ∨ ¬A(a)]], n∈N sh sh for any a ∈ N . Thus, for any a ∈ N , (2N \ E(a)) ∪ [[A(a) ∨ ¬A(a)]] = 2N,

69 and hence \   (2N \ E(a)) ∪ [[A(a) ∨ ¬A(a)]] = 2N. a∈Nsh This implies that  ◦ \   [[∀t (A(t) ∨ ¬A(t))]] =  (2N \ E(a)) ∪ [[A(a) ∨ ¬A(a)]]  = 2N. a∈Nsh

Now we note that for any n ∈ N,

N E(nb) ∩ [[A(nb)]] = 2 ∩ [[A(nb)]] = [[A(nb)]] = {x ∈ 2N | x(n) = 1}, and so, [ [ N (E(nb ∩ [[A(nb)]]) = {x ∈ 2 | x(n) = 1} n∈N n∈N N = 2 \ {h0in∈N}. Then since [ [ (E(nb) ∩ [[A(nb)]]) ⊆ (E(a) ∩ [[A(a)]]), n∈N a∈Nsh we have ! N [ N N [ 2 \ (E(a) ∩ [[A(a)]]) ⊆ 2 \ 2 \ (E(nb) ∩ [[A(nb)]]) . a∈Nsh n∈N So,  ◦ ◦ N [ N N  2 \ (E(a) ∩ [[A(a)]]) ⊆ 2 \ 2 \ {h0in∈N} a∈Nsh ◦ = {h0in∈N} = ∅, which implies that  ◦ [ 2N \ (E(a) ∩ [[A(a)]]) = ∅. a∈Nsh Thus   ◦◦ [ [[¬¬∃t A(t)]] = 2N \ 2N \ (E(a) ∩ [[A(a)]])  a∈Nsh ◦ = 2N \ ∅ = 2N. Hence, [[∀t (A(t) ∨ ¬A(t)) ∧ ¬¬∃t A(t)]] = [[∀t (A(t) ∨ ¬A(t)]] ∩ [[¬¬∃t A(t)]] = 2N. Now, [ [[∃t A(t)]] = (E(a) ∩ [[A(a)]]). a∈Nsh

70 [ sh Since, E(a) = [[a = nb]], we have for each a ∈ N , n∈N ! [ E(a) ∩ [[A(a)]] = [[a = nb]] ∩ [[A(a)]] n∈ [ N = ([[a = nb]] ∩ [[A(a)]]). n∈N Using Lemma 2.3.1, we have [[a = nb]] ∩ [[A(a)]] ⊆ [[A(nb]]), sh for any a ∈ N and for any n ∈ N. Thus [ [ ([[a = nb]] ∩ [[A(a)]]) ⊆ [[A(nb)]] n∈ n∈ N [N = {x ∈ 2N | x(n) = 1} n∈N N = 2 \ {h0in∈N}. Thus we have that N E(a) ∩ [[A(a)]] ⊆ 2 \ {h0in∈N} sh for each a ∈ N . Hence

[ N [[∃t A(t)]] = (E(a) ∩ [[A(a)]]) ⊆ 2 \ {h0in∈N}. a∈Nsh Thus [[∀t (A(t) ∨ ¬A(t)) ∧ ¬¬∃t A(t) =⇒ ∃t A(t)]] ◦ = 2N \ [[∀t (A(t) ∨ ¬A(t)) ∧ ¬¬∃t A(t)]] ∪ [[∃t A(t)]] ◦ N N N  = 2 \ 2 ∪ 2 \ {h0in∈N} ◦ N  = 2 \ {h0in∈N} N = 2 \ {h0in∈N} Hence Markov’s principle is not valid in Sh(2N).

However, for a poset space, Markov’s principle is true. This is shown in the following proposition.

Proposition 4.3.2. Suppose (K, ≤) is a poset. Then Sh(K) |= MP.

Proof. To show that Markov’s principle is valid in Sh(K), we need to show that

[[(∀t (A(t) ∨ ¬A(t)) ∧ ¬¬∃t A(t)) =⇒ ∃t A(t)]] = K, that is, we need to show that

[[∀t (A(t) ∨ ¬A(t)) ∧ ¬¬∃t A(t)]] ⊆ [[∃t A(t)]].

Suppose α ∈ [[∀t (A(t) ∨ ¬A(t)) ∧ ¬¬∃t A(t)]] = [[∀t (A(t) ∨ ¬A(t))]] ∩ [[¬¬∃t A(t)]]. Then α ∈ [[∀t (A(t) ∨ ¬A(t))]] and α ∈ [[¬¬∃t A(t)]].

71 Now, α ∈ [[∀t (A(t) ∨ ¬A(t)]] implies that  ◦ \ α ∈  (E(a) =⇒ [[A(a) ∨ ¬A(a)]]) . a∈Nsh

sh We know that for each n ∈ N, there is a global element nb ∈ N = Co(K, N), as discussed in the proof of Proposition 3.1.4. Clearly, \ \ (E(a) =⇒ [[A(a) ∨ ¬A(a)]]) ⊆ (E(nb) =⇒ [[A(nb) ∨ ¬A(nb)]]) a∈ sh n∈ N \N = (K =⇒ [[A(nb) ∨ ¬A(nb)]]) n∈N \ ◦ = ((K \ K) ∪ [[A(nb) ∨ ¬A(nb)]]) n∈N \ ◦ = ([[A(nb) ∨ ¬A(nb)]]) n∈ \N = [[A(nb) ∨ ¬A(nb)]] n∈ \N = ([[A(nb)]] ∪ [[¬A(nb)]]) . n∈N Thus  ◦ !◦ \ \  (E(a) =⇒ [[A(a) ∨ ¬A(a)]]) ⊆ ([[A(nb)]] ∪ [[¬A(nb)]]) a∈Nsh n∈N \ ⊆ ([[A(nb)]] ∪ [[¬A(nb)]]) . n∈N \ Hence α ∈ ([[A(nb)]] ∪ [[¬A(nb)]]), which implies that for every n ∈ N, n∈N ◦ α ∈ [[A(nb)]] or α ∈ [[¬A(nb)]] = (K \ [[A(nb)]]) . (4.1) Now, [[¬¬∃t A(t)]] = (K \ (K \ [[∃t A(t)]])◦)◦   ◦◦ [ = K \ K \ (E(a) ∩ [[A(a)]])  . a∈Nsh sh [ As discussed in the proof of Proposition 3.1.4, for any a ∈ N , E(a) = [[a = nb]]. So, for each n∈N sh a ∈ N , ! [ E(a) ∩ [[A(a)]] = [[a = nb]] ∩ [[A(a)]] n∈ [ N = ([[a = nb]] ∩ [[A(a)]]) . n∈N sh By Lemma 2.3.1, for any fixed a ∈ N , for each n ∈ N

[[a = nb]] ∩ [[A(a)]] ⊆ [[A(nb)]].

72 sh Hence for each a ∈ N , [ [ ([[a = nb]] ∩ [[A(a)]]) ⊆ [[A(nb)]], n∈N n∈N which implies that [ E(a) ∩ [[A(a)]] ⊆ [[A(nb)]]. n∈N Then [ [ (E(a) ∩ [[A(a)]]) ⊆ [[A(nb)]], a∈Nsh n∈N which implies that [ [ K \ [[A(nb)]] ⊆ K \ (E(a) ∩ [[A(a)]]), n∈N a∈Nsh and so !◦  ◦ [ [ K \ [[A(nb)]] ⊆ K \ (E(a) ∩ [[A(a)]]) . n∈N a∈Nsh Thus  ◦ !◦ [ [ K \ K \ (E(a) ∩ [[A(a)]]) ⊆ K \ K \ [[A(nb)]] , a∈Nsh n∈N which implies that

  ◦◦ !◦!◦ [ [ K \ K \ (E(a) ∩ [[A(a)]])  ⊆ K \ K \ [[A(nb)]] . a∈Nsh n∈N Hence, !◦!◦ [ [[¬¬∃t A(t)]] ⊆ K \ K \ [[A(nb)]] , n∈N and so α ∈ [[¬¬∃t A(t)]] implies that

!◦!◦ [ α ∈ K \ K \ [[A(nb)]] . (4.2) n∈N To prove the current proposition, we need to show that [ α ∈ [[∃t A(t)]] = (E(a) ∩ [[A(a)]]) . a∈Nsh

sh Suppose α 6∈ [[∃t A(t)]]. Then α 6∈ (E(a) ∩ [[A(a)]]) for all a ∈ N , and so in particular, α 6∈ ◦ (E(nb) ∩ [[A(nb)]]) = [[A(nb)]] for all n ∈ N. Thus, by condition 4.1 above, α ∈ (K \ [[A(nb)]]) for all n ∈ N. So, !◦ \ ◦ \ α ∈ (K \ [[A(nb)]]) = (K \ [[A(nb)]]) , n∈N n∈N

73 by Lemma 2.4.6. Now, !◦ !◦ \ [ (K \ [[A(nb)]]) = K \ [[A(nb)]] . n∈N n∈N So, α ∈ K \ S [[A(n)]]◦, which implies that n∈N b !◦ [ α 6∈ K \ K \ [[A(nb)]] , n∈N which in turn implies that !◦!◦ [ α 6∈ K \ K \ [[A(nb)]] . n∈N This contradicts condition 4.2 above. Hence α ∈ [[∃t A(t)]]. This completes the proof. Now, we introduce a generalized version of Markov’s principle (GMP) (∀t (A(t) ∨ ¬A(t)) ∧ ¬¬∃t A(t)) =⇒ ∃t A(t), lc where t is a variable of sort Co (T,X) for any topological space X. In the particular case, when lc sh X = N, or any discrete topological space, we have t of sort Co (T,X) = Co(T,X) = X , since any continuous function from an open subset of T into N is locally constant as discussed in Remark 3.1.5. Proposition 4.3.3. Suppose (K, ≤) is a poset. Then Sh(K) |= GMP. Proof. The proof is similar to the one used for Proposition 4.3.2 with some obvious changes. The sh sh property of N that is crucial in the proof of the above proposition is that the elements of N are sh [ locally constant functions from K into N. This allows us to have for any a ∈ N , E(a) = [[a = nb]], n∈N sh where nb denotes the global element of N defined by the constant function on K with range {n}. sh lc Now, in the general case, we replace N by Co (K,X), where X is a topological space. For each x ∈ X, we have the global element xb defined by the constant function on K with range {x}. lc So we replace n by x. Then since any element a ∈ Co (K,X) is locally constant, we still have [ b b E(a) = [[a = xb]]. x∈X With the above adjustments, the proof of the current claim can easily be established following the proof of Proposition 4.3.2. Remark 4.3.4. We know, by Corollary 3.3.5, that the Cauchy reals and the Dedekind reals coincide lc in Sh(K) and are both represented by the sheaf Co (K, R). Hence an important consequence of Proposition 4.3.3 is that we have a Markov’s principle for real numbers in Sh(K).

4.4 The law of trichotomy for real numbers

In this section, we discuss the validity of the law of trichotomy for real numbers, (TR) ∀x∀y(x < y ∨ y < x ∨ x = y), which is true in the classical reading, but may not be true in all sheaf models. More specifically, d we will show that the law of trichotomy does not hold for the Dedekind reals, R is not valid in Sh(T ) with T = R (the set of classical real numbers with the usual topology).

74 Proposition 4.4.1. The law of trichotomy does not hold for the Dedekind reals in Sh(R). d Proof. The sheaf corresponding to R in Sh(R) is Co(R, R) = M (say). Note that [[TR]] = [[∀x∀y(x < y ∨ y < x ∨ x = y)]]  ◦ \ =  [[(Ea ∧ Eb) =⇒ (a < b ∨ b < a ∨ a = b)]] . a,b∈M

For any fixed s ∈ R, consider the elements a : R / R defined by a(r) = s − r for all r ∈ R, b : R / R defined by b(r) = r − s for all r ∈ R, of M. Then [[Ea ∧ Eb]] = E(a) ∩ E(b) = dom(a) ∩ dom(b) = R, [[a = b]] = {r ∈ dom(a) ∩ dom(b) | a(r) = b(r)}◦ = {s}◦ = ∅, [[a < b]] = {r ∈ dom(a) ∩ dom(b) | a(r) < b(r)} = (s, ∞), [[b < a]] = {r ∈ dom(a) ∩ dom(b) | b(r) < a(r)} = (−∞, s). So, we have [[(Ea ∧ Eb) =⇒ (a < b ∨ b < a ∨ a = b)]] = [[Ea ∧ Eb]] =⇒ [[a < b ∨ b < a ∨ a = b]] = E(a) ∩ E(b) =⇒ (s, ∞) ∪ (−∞, s) ∪ ∅   ◦ = R \ R ∪ R \{s} = R \{s}. Hence, [[TR]] ⊆ R \{s}, and in fact, [[TR]] = ∅.

Proposition 4.4.2. The law of trichotomy holds for the Cauchy reals in Sh(T ) if T is locally connected. Proof. Since T is locally connected, the sheaf corresponding to the Cauchy reals in Sh(T ) is lc lc Co (T, R). Then for any a, b ∈ Co (T, R), {t ∈ T | a(t) = b(t)} is an open subset of T , and hence [[Ea ∧ Eb]] = dom(a) ∩ dom(b) ⊆ [[a < b]] ∪ [[b < a]] ∪ [[a = b]]. This implies that [[(Ea ∧ Eb) =⇒ (a < b ∨ b < a ∨ a = b)]] = T lc for all a, b ∈ Co (T, R). Thus [[TR]] = [[∀x∀y(x < y ∨ y < x ∨ x = y)]] = T. So, the law of trichotomy holds for the Cauchy reals in Sh(T ).

Corollary 4.4.3. The law of trichotomy for real numbers hold in Sh(K) for any poset K. Proof. This follows from Proposition 3.3.5.

75 4.5 The weak law of trichotomy for real numbers

The weak law of trichotomy for real numbers, WTR, can be formally stated as follows.

(WTR) ∀x∀y∀z(x < y =⇒ x < z ∨ z < y)

As mentioned in Chapter 5 in the Volume I of [31], even though the law of trichotomy for real numbers is not intutionistically acceptable, a weaker version of it, the weak law of trichotomy is acceptable. The following proposition shows that the weak law of trichotomy is valid in any sheaf model Sh(T ) over any topological space T .

Proposition 4.5.1. The weak law of trichotomy for the real numbers is valid in M = Co(T, R) for any T . So, the weak law of trichotomy is true for the Dedekind reals in Sh(T ).

Proof. We note that for any a, b, c ∈ M,

[[a < b]] ⊆ [[a < c]] ∪ [[c < b]], which implies [[a < b =⇒ (a < c ∨ c < b)]] = T, and that implies [[(Ea ∧ Eb ∧ Ec) =⇒ (a < b =⇒ (a < c ∨ c < b))]] = T

So, [[WTR]] = [[∀x∀y∀z(x < y =⇒ x < z ∨ z < y)]] = T .

lc Corollary 4.5.2. The weak law of trichotomy for the real numbers is valid in the sheaf Co (T, R). So, if T is locally connected, the weak law of trichotomy is true for the Cauchy reals in Sh(T ).

lc Proof. Co (T, R) ⊆ Co(T, R). Remark 4.5.3. In particular, the weak law of trichotomy for real numbers holds in Sh(K) for any poset K.

4.6 The axiom of countable choice

The axiom of countable choice can be expressed formally as

(AC0) ∀x ∃y A(x, y) =⇒ ∃z ∀x A(x, zx),

sh where x is a variable of sort N , y is a variable of some sort σ, and z is a variable of sort N / σ. In this section, we will show that the axiom of countable choice is not valid in all sheaf models. However, it has an important implication for the interpretation of the real numbers in the sheaf model over a topological space T , in case Sh(T ) |= AC0, as discussed below. c ∼ d Proposition 4.6.1. Suppose T is any topological space. Then Sh(T ) |= AC0 implies R = R in Sh(T ).

Proof. Outline:

• We first need to show that in the presence of AC0, a Dedekind real is always a strong Dedekind real.

• Then we need to show that the collection of strong Dedekind reals with < inherited from the d c collection of Dedekind reals R is order isomorphic to the collection of Cauchy reals R , by sh an isomorphism which is the identity on the rationals Q .

76 d c • Thus, combining the above, we can conclude that in the presence of AC0, R and R are order sh isomorphic via an isomorphism which is the identity on Q . (Further arguments for this fact can be found in [31].)

Corollary 4.6.2. If T is a locally connected topological space and if Sh(T ) satisfies AC0, then lc Co(T, R) = Co (T, R) in Sh(T ). In other words, every continuous function from an open subset of T into R is locally constant, in the presence of the axiom of countable choice in Sh(T ), if T is locally connected.

Proof. The sheaf corresponding to the Dedekind reals in Sh(T ), where T is any topological space, is Co(T, R), by Proposition 3.3.2. By Proposition 3.3.3, the sheaf corresponding to the Cauchy lc reals in Sh(T ) is Co (T, R), if T is locally connected. Combining these with the above proposition, we can conclude that if T is locally connected, and if Sh(T ) |= AC0, then the sheaves Co(T, R) lc lc and Co (T, R) are isomorphic. Now, since Co (T, R) ⊆ Co(T, R), this implies that if T is locally lc connected and Sh(T ) |= AC0, then Co(T, R) = Co (T, R).

Corollary 4.6.3. Sh(R) 6|= AC0. c d Proof. By Corollary 3.3.4, R 6= R in Sh(R). Thus the above proposition implies that Sh(R) 6|= AC0.

We next present a direct proof of the failure of the axiom of countable choice in Sh(R).

Proposition 4.6.4. The axiom of countable choice is not valid in Sh(R), that is, Sh(R) 6|= AC0.

Proof. To show that the axiom of countable choice is not true in Sh(R), we need to show that

[[∀x ∃y A(x, y) =⇒ ∃z ∀x A(x, zx)]] 6= R,

sh sh where x is a variable of sort N , y is a variable of some sort σ, and z is a variable of sort N / σ. sh For our counterexample, we take y a variable of sort Q = Co(R, Q), where Q has the discrete sh sh topology on it. Then as discussed in Remark 3.1.5, any section of either N or Q is locally sh constant. We also note that for each n ∈ N, there is a global section nb ∈ N , and for each q ∈ Q, sh there is a global section qb ∈ Q . We define for each n ∈ N, and each q ∈ Q, −n [[A(n,b qb)]] = {t ∈ R | |q − t| < 2 }.

We will first show that [[∀x ∃y A(x, y)]] = R. This is achieved as follows. Suppose t ∈ R. Then for any n ∈ N, there exists a rational number q ∈ Q, such that

|q − t| < 2−n, since Q is dense in R. This implies that for any n ∈ N,

[ −n {t ∈ R | |q − t| < 2 } = R, q∈Q that is, for any n ∈ N, [ [[A(n,b qb)]] = R. q∈Q

77 Now, for any n ∈ N, [ [ [[A(n,b qb)]] = (E(qb) ∩ [[A(n,b qb)]]) q∈Q q∈Q [ ⊆ (E(b) ∩ [[A(n,b b)]]) . b∈Qsh So, for any n ∈ N, [ [[∃y A(n,b y)]] = (E(b) ∩ [[A(n,b b)]]) = R. b∈Qsh By Lemma 2.3.1, we have for any a ∈ N,

[[a = nb]] ∩ [[∃y A(n,b y)]] ⊆ [[∃y A(a, y)]], sh for all n ∈ N. So for any a ∈ N ,

[[a = nb]] ⊆ [[∃y A(a, y)]], sh for all n ∈ N. Thus, for any a ∈ N , [ [[a = nb]] ⊆ [[∃y A(a, y)]]. n∈N

sh [ sh Now, since every section of N is locally constant, E(a) = [[a = nb]], for any a ∈ N . So, n∈N E(a) ⊆ [[∃y A(a, y)]],

sh for any a ∈ N . This implies (R \ E(a)) ∪ [[∃y A(a, y)]] = R, and hence ◦ ((R \ E(a)) ∪ [[∃y A(a, y)]]) = R sh for each a ∈ N . Thus E(a) =⇒ [[∃y A(a, y)]] = R, sh for any a ∈ N , and so \ (E(a) =⇒ [[∃y A(a, y)]]) = R. a∈Nsh Hence,  ◦ \ [[∀x ∃y A(x, y)]] =  (E(a) =⇒ [[∃y A(a, y)]]) = R. a∈Nsh Now suppose r ∈ [[∃z ∀x A(x, zx)]]. Then [ r ∈ (E((f, U)) ∩ [[∀x A(x, (f, U)x)]]) sh (f,U)∈QshN [ = (U ∩ [[∀x A(x, (f, U)x)]]) . sh (f,U)∈QshN

78 f sh sh So, there exists a sheaf morphism N  U / Q  U such that r ∈ U ∩ [[∀x A(x, (f, U)x)]]  ◦ \ = U ∩  (E(a) =⇒ [[A(a, (f, U)a)]]) a∈Nsh \ \ Since, (E(a) =⇒ [[A(a, (f, U)a)]]) ⊆ (E(nb) =⇒ [[A(n,b (f, U)nb)]]), this implies that a∈Nsh n∈N !◦ \ r ∈ U ∩ (E(nb) =⇒ [[A(n,b (f, U)nb)]]) n∈ N !◦ \ = U ∩ (R =⇒ [[A(n,b (f, U)nb)]]) n∈ N !◦ \ ◦ = U ∩ ((R \ R) ∪ [[A(n,b (f, U)nb)]]) n∈ N !◦ \ ◦ = U ∩ ([[A(n,b (f, U)nb)]]) n∈ N !◦ \ = U ∩ [[A(n,b (f, U)nb)]] n∈N So, !◦ \ r ∈ U ∩ [[A(n,b f(nb  U))]] n∈ N !◦ \ −n = U ∩ {t ∈ R | |f(nb  U) − t| < 2 } . n∈N Thus there is an open set V ⊆ U such that r ∈ V and

−n V ⊆ {t ∈ R | |f(nb  U) − t| < 2 } for all n ∈ N. −n This is impossible since the length of the open interval {t ∈ R | |f(nb  U) − t| < 2 } tends to zero as n increases. Hence, [[∃z ∀x A(x, zx)]] must equal the empty set. So, we have

[[∀x ∃y A(x, y)]] = R, whereas [[∃z ∀x A(x, zx)]] = ∅.

Thus [[∀x ∃y A(x, y) =⇒ ∃z ∀x A(x, zx)]]

◦ = ((R \ [[∀x ∃y A(x, y)]]) ∪ [[∃z ∀x A(x, zx)]]) ◦ = ((R \ R) ∪ ∅) = ∅, which implies that AC0 is false in Sh(R).

We now present examples of topological spaces T , for which Sh(T ) |= AC0. The Baire space is such an example. We first need to prove the following lemma.

79 Lemma 4.6.5. For every collection U of open subsets of the Baire space NN, there exists a countable collection V of open subsets of NN, such that (i) S V = S U ,

(ii) for all V ∈ V , there exists U ∈ U , such that V ⊆ U, and

(iii) for all V,V 0 ∈ V , if V 6= V 0, then V ∩ V 0 = ∅.

Proof. In the following arguments, we use the notation α  n to denote the finite initial segment, of length n, of α ∈ NN, and [p] to denote the basic open subset of NN consisting of all infinite extensions of the finite sequence of natural numbers p. Let U be a collection of open subsets of NN. Now, we define the collection V of open subsets of NN as follows.

V = {[p] | p minimal such that there exists U ∈ U , [p] ⊆ U}.

We first note that for every p satisfying the above conditions, Vp = [p] ⊂ U for some U ∈ U . So, S S S V ⊆ U . Now, for every α ∈ U , there is an U ∈ U such that α ∈ U, and there exists n ∈ N S S S S minimal such that [a  n] ⊆ U. Then α ∈ [α  n] ∈ V . Thus U ⊆ V . Hence V = U . Moreover, every member of V is contained in some member of U . Since there are only countably many finite sequences of natural numbers, V = {Vp} is countable. Also, it is clear from the definition that the members of V are pairwise disjoint. Hence the proof.

Proposition 4.6.6. The axiom of countable choice is true in the sheaf over the Baire space NN, that is, Sh(NN) |= AC0.

sh Proof. Suppose M is a sheaf over NN. We need to show, for the sheaf M N ,

U = [[∀x ∃y A(x, y)]] ⊆ [[∃z ∀x A(x, zx)]].

Then U is an open subset of NN, such that \ [ U ⊆ ([[A(n,b a)]] ∩ E(a)) . n∈N a∈M

Hence for all n ∈ N, [ U ⊆ ([[A(n,b a)]] ∩ E(a)) . a∈M So, for each n ∈ N, Un = {[[A(n,b a) ∩ E(a) ∩ U | a ∈ M} is an open cover of U. Then by Lemma 4.6.5, there exists, for each n ∈ N, a countable collection of pairwise disjoint open sets Vn such that S S • Vn = Un = U, and

• for each V ∈ Vn, there exists an a ∈ M such that V ⊆ [[A(n,b a)]] ∩ E(a) ∩ U.

Then by using the axiom of countable choice externally, we choose, for each V ∈ Vn, aV ∈ M such that V ⊆ [[A(n,b aV )]] ∩ E(aV ) ∩ U.

80 0 0 We also note that V ⊆ E(aV ) from the above relation. Now, for any V,V ∈ Vn, V ∩ V = ∅. So,

0 0 0 E(aV  V ) = E(aV ) ∩ V = V and E(aV 0  V ) = E(aV 0 ) ∩ V = V are disjoint. Thus {aV  V | V ∈ Vn} is a compatible collection in the sheaf M. Hence, sup (aV  V ) exists. We define, for each n ∈ N, V ∈Vn

an = sup (aV  V ) . V ∈Vn

sh −1 Let g ∈ N  U = Co(U, N). Now, {an  g (n) | n ∈ N} is a compatible collection in M, because −1 −1  sh of the disjointness of the g (n). Hence, sup an  g (n) exists. We define ϕ : N  U / M  U n∈N by −1  ϕ(g) = sup an  g (n) . n∈N We note that E(g) ⊆ U. Then, by Lemma 2.1.6(ii), we have

[ −1  [ −1  E(ϕ(g)) = E an  g (n) = E(an) ∩ g (n) . n∈N n∈N

Now, again by Lemma 2.1.6(ii), for any n ∈ N, [ [ E(an) = E (aV  V ) = V = U. V ∈Vn V ∈Vn Thus [ −1  E(ϕ(g)) = E(an) ∩ g (n) n∈ [N = U ∩ g−1(n) n∈ N [ = U ∩ g−1(n) n∈N = U ∩ E(g) = E(g). Hence, ϕ preserves extent. Next, let W be an open subset of U. Then

−1  ϕ(g  W ) = sup an  (g  W ) (n) n∈N −1  = sup an  g (n) ∩ W n∈  N  −1  = sup an  g (n)  W n∈N = ϕ(g)  W.

ϕ sh Thus ϕ preserves restriction. Hence, N  U / M  U is a sheaf morphism, and so, (ϕ, U) ∈ sh sh M N with E((ϕ, U)) = U. Now, for any g ∈ N , we claim that

U ∩ E(g) ⊆ [[A(g, (ϕ, U)g)]].

81 Proof of claim: Let x ∈ U ∩ E(g) ⊆ U. Then since g : E(g) / N is locally constant, there exists −1 −1 an n ∈ N such that g (n) is open and x ∈ g (n). Now, for this fixed n, there is a V ∈ Vn such −1 −1 that x ∈ V , since Vn is an open cover of U. So, x ∈ V ∩ g (n) ⊆ U ∩ E(g). Let V ∩ g (n) = W . Now, for this chosen n, and the open subset V , there exists an aV ∈ M such that

V ⊆ [[A(n,b aV )]] ∩ E(aV ) ∩ U, and so, since W ⊆ V , W ⊆ [[A(n,b aV )]] ∩ E(aV ) ∩ U ⊆ [[A(n,b aV )]]. (4.3) By the interpretation of equality, [ [[nb = g]] = {X | X open, X ⊆ E(nb) ∩ E(g), and nb  X = g  X}.

−1 We note that E(nb) ∩ E(g) = N ∩ E(g) = E(g), and W ⊆ E(g). Also, since W ⊆ g (n), nb  W = g  W . Thus W ⊆ [[nb = g]]. (4.4) Again by the interpretation of equality, S [[aV = (ϕ, U)g]] = {Y | Y open, Y ⊆ E(aV ) ∩ E((ϕ, U)g) and aV  Y = ((ϕ, U)g)  Y }.

Now, W ⊆ V ⊆ E(aV ). Also, since

E((ϕ, U)g) = E(ϕ(g  U)) = E(g  U) = E(g) ∩ U, and W = V ∩ g−1(n) ⊆ U ∩ E(g),

W ⊆ E((ϕ, U)g). Thus W ⊆ E(aV ) ∩ E((ϕ, U)g). Next, we note that

((ϕ, U)g)  W = ϕ(g  U)  W = ϕ((g  U)  W ) = ϕ(g  (U ∩ W )) = ϕ(g  W ), since W ⊆ U −1  = sup am  (g  W ) (m) m∈N −1 = an  (g  W ) (n),

−1 −1 since W ⊆ g (n), and so (g  W ) (m) = ∅ for all m 6= n. Thus −1 ((ϕ, U)g)  W = an  (g  W ) (n) −1 = an  (g (n) ∩ W ) −1 = an  W, since W ⊆ g (n) 0 = sup aV 0  V  W 0 V ∈Vn 0 −1 = sup aV 0  V  (V ∩ g (n)) V 0∈  Vn  0 −1 = sup aV 0  V  V  g (n) 0 V ∈Vn −1 = (aV  V )  g (n) −1  = aV  V ∩ g (n) = aV  W.

82 Thus W ⊆ [[aV = (ϕ, U)g]]. (4.5) Hence, combining 4.3, 4.4, and 4.5, we have

x ∈ W ⊆ [[nb = g]] ∩ [[aV = (ϕ, U)g]] ∩ [[A(n,b aV )]] ⊆ [[A(g, (ϕ, U)g)]], by Lemma 2.3.1.

Thus U ∩ E(g) ⊆ [[A(g, (ϕ, U)g)]].

Now, since U ∩ (K \ E(g)) ⊆ K \ E(g), we have

U = (U ∩ E(g)) ∪ (U ∩ (K \ E(g))) ⊆ (K \ E(g)) ∪ [[A(g, (ϕ, U)g)]].

Then, since U is open, this implies that

U ⊆ ((K \ E(g)) ∪ [[A(g, (ϕ, U)g)]])◦ .

sh We note that the choice of g ∈ N above was arbitrary. So, \ U ⊆ ((K \ E(g)) ∪ [[A(g, (ϕ, U)g)]])◦ . g∈Nsh Again, since U is open, we have  ◦ \ ◦ U ⊆  ((K \ E(g)) ∪ [[A(g, (ϕ, U)g)]])  g∈Nsh = [[∀x A(x, (ϕ, U)x)]].

Finally, as E((ϕ, U)) = U, we have

U ⊆ E((ϕ, U)) ∩ [[∀x A(x, (ϕ, U)x)]] [ (E((f, Y )) ∩ [[∀x A(x, (f, X)x)]]) sh (f,Y )∈M N = [[∃z ∀x A(x, zx)]].

Thus [[∀x ∃y A(x, y)]] ⊆ [[∃z ∀x A(x, zx)]], which proves that Sh(NN) |= AC0. For a somewhat different proof of the above theorem, see [31, 15.2.1, Volume II].

Remark 4.6.7. We note that in the above proof of the validity of AC0 in Sh(NN), the topo- logical property of the Baire space, described in Lemma 4.6.5, is the only property of NN that is instrumental. So, it is safe to say that if T is any topological space with this property, then Sh(T ) |= AC0.

83 Remark 4.6.8. We note that in the above proof of the validity of the axiom of countable choice sh in Sh(NN), we did not use any property of N, or the sheaf N , other than that the topology on N is discrete. So, we can generalize the above proposition to the following. Let X (possibly uncountable) be a discrete topological space. Then as discussed in Remark sh lc 3.1.5, X = Co(T,X) = Co (T,X), and

Sh(NN) |= ∀x ∃y A(x, y) =⇒ ∃z ∀x A(x, zx), where x is a variable of sort Xsh, y is a variable of some sort σ, and z is a variable of sort Xsh / σ. This gives us a choice axiom that is stronger than the axiom of countable choice in Sh(NN). c Corollary 4.6.9. The Cauchy and the Dedekind reals coincide in Sh(NN), that is, Sh(NN) |= R = d R . Proof. This follows from Proposition 4.6.1 and 4.6.6.

Remark 4.6.10. We know that NN is a totally disconnected space and hence not locally connected. c lc N N So we cannot apply Proposition 3.3.3 to say that R = Co (N , R) in Sh(N ). We also note that not every continuous function from an open subset of NN is locally constant, for example, the identity function from NN into NN is continuous but not locally constant. d c d Now by Proposition 3.3.2, R = Co(NN, R), and by the above corollary, R = R . So in Sh(NN), c N lc N R = Co(N , R) 6= Co (N , R). We have seen before in Proposition 3.3.5, that the sheaves corresponding to the Cauchy reals and the Dedekind reals are identical in Sh(K) for any poset, K. Now, we will show that the axiom of countable choice is in fact true in a sheaf model over a poset, (K, ≤) for any K. This gives us another way of showing that the Dedekind and Cauchy reals are isomorphic over Sh(K) for any K.

Proposition 4.6.11. Suppose (K, ≤) is a poset. Then Sh(K) |= AC0.

sh Proof. Suppose M is a sheaf over K. We need to show, for the sheaf M N ,

U = [[∀x ∃y A(x, y)]] ⊆ [[∃z ∀x A(x, zx)]].

Clearly, \ [ U ⊆ ([[A(n,b a)]] ∩ E(a)). n∈N a∈M Hence for all n ∈ N, [ U ⊆ ([[A(n,b a)]] ∩ E(a)). a∈M Let α ∈ U. Then for all n ∈ N, α ∈ [[A(n,b a)]] ∩ E(a) for some a ∈ M. Using the axiom of countable choice externally, we choose for each n ∈ N, an an ∈ M such that

α ∈ [[A(n,b an)]] ∩ E(an).

Moreover, since [[A(n,b an)]] ∩ E(an) is open, and hence upward closed,

Uα = {β ∈ K | α ≤ β} ⊆ [[A(n,b an)]] ∩ E(an). sh −1 Let g ∈ N  Uα = Co(Uα, N). Then, {an  (g (n) ∩ Uα) | n ∈ N} is a compatible collection in M because of the disjointness of the g−1(n). Hence,

−1  sup an  (g (n) ∩ Uα) n

84 sh exists. Let ϕ : N  Uα / M  Uα be defined by −1  ϕ(g) = sup an  (g (n) ∩ Uα) . n

We note that E(g) ⊆ Uα. Then by Lemma 2.1.6, we have

[ −1  [ −1  E(ϕ(g)) = E(an) ∩ (g (n) ∩ Uα) = g (n) ∩ Uα = E(g), n n because Uα ⊆ E(an) and E(g) ⊆ Uα. Also, for any V , open in K,

−1  ϕ(g  V ) = sup an  (g  V ) (n) ∩ Uα) n −1  = sup an  (g (n) ∩ V ∩ Uα) n  −1  = sup an  (g (n) ∩ Uα)  V n = ϕ(g)  V

ϕ sh sh Thus N  Uα / M  Uα is a sheaf morphism, and hence (ϕ, Uα) ∈ M N with E((ϕ, Uα)) = Uα. sh Now, for any g ∈ N , we claim that  Uα ⊆ int (K \ E(g)) ∪ [[A(g, (ϕ, Uα)g)]] .

Proof of claim: Let β ∈ Uα. Then either β ∈ E(g), or β∈ / E(g). If β∈ / E(g), then β ∈ K \ E(g), and hence  β ∈ (K \ E(g)) ∪ [[A(g, (ϕ, Uα)g)]] . −1 Suppose, β ∈ E(g). This implies Uβ ⊆ E(g). β ∈ E(g) also implies that β ∈ g (n) for some n, −1 and hence Uβ ⊆ g (n), since g is locally constant. By the interpretation of equality, [ [[nb = g]] = {V | V ⊆ E(nb) ∩ E(g) and nb  V = g  V }.

Note that E(nb) ∩ E(g) = N ∩ E(g) = E(g). So, Uβ ⊆ [[nb = g]], and hence

β ∈ [[nb = g]]. Again by the interpretation of equality, S [[an = (ϕ, Uα)g]] = {W | W ⊆ E(an) ∩ E ((ϕ, Uα)g) and an  W = ((ϕ, Uα)g))  W }.

Now, Uβ ⊆ Uα ⊆ E(an), and

E ((ϕ, Uα)g) = E (ϕ(g  Uα)) = E(g  Uα) = E(g) ∩ Uα.

Then, since Uβ ⊆ E(g),Uα, Uβ ⊆ E(an) ∩ E ((ϕ, Uα)g). Also,

((ϕ, Uα)g))  Uβ = ϕ(g  Uα)  Uβ = an  Uβ. So, β ∈ [[an = (ϕ, Uα)g]].

85 Now by Lemma2.3.1, since β ∈ Uα ⊆ [[A(n,b an)]],

[[nb = g]] ∩ [[an = (ϕ, Uα)g]] ∩ [[A(n,b an)]] ⊆ [[A(g, (ϕ, Uα)g)]], which shows that β ∈ [[A(g, (ϕ, Uα)g)]]. Hence,  Uα ⊆ int (K \ E(g)) ∪ [[A(g, (ϕ, Uα)g)]] .

Then, \  Uα ⊆ int (K \ E(g)) ∪ [[A(g, ϕ(g  Uα))]] g∈Nsh = [[∀x A(x, (ϕ, Uα)x)]]

Since, E((ϕ, Uα)) = Uα, then we have

Uα ⊆ E(ϕ, Uα) ∩ [[∀x A(x, (ϕ, Uα)(x))]] [ ⊆ E(f, V ) ∩ [[∀x A(x, (f, V )x)]] sh (f,V )∈M N = [[∃z ∀x A(x, zx)]]

Then since, α ∈ U and hence Uα was arbitrary, we have

U ⊆ [[∃z ∀x A(x, zx)]].

Remark 4.6.12. We note that in the above proof of the validity of the axiom of countable choice in Sh(K), we did not use any property of N other than that the topology on N is discrete. So, as in Remark 4.6.8, we can generalize the above proposition to the following. Let X (possibly uncountable) be a discrete topological space. Then as discussed in Remark sh lc 3.1.5, X = Co(T,X) = Co (T,X), and

Sh(K) |= ∀x ∃y A(x, y) =⇒ ∃z ∀x A(x, zx), where x is a variable of sort Xsh, y is a variable of some sort σ, and z is a variable of sort Xsh / σ. In case X is uncountable, we replace the external use of the axiom of countable choice in the above proof by an external use of the axiom of choice for families of sets indexed by X. This gives us a choice axiom that is stronger than the axiom of countable choice in Sh(K).

Remark 4.6.13. It has however been shown in [3] that within intuitionistic higher-order logic, the full axiom of choice implies the law of excluded middle. Therefore, the full axiom of choice cannot be valid in any model for intuitionistic higher-order logic, which is not also a model of classical higher-order logic.

86 Chapter 5

The Muchnik model

Kolmogorov, in 1932, gave an interpretation of intuitionistic propositional logic as a calculus of prob- lems ([9]). This informal interpretation has come to be known as the BHK-interpretation where B, H, K stand for Brouwer, Heyting, and Kolmogorov respectively. An account of Kolmogorov’s efforts in the field of intuitionistic logic can also be found in [2]. Then in 1955, Medvedev in an attempt to formalize the concept of a problem, defined mass problems, a reducibility notion, called strong or Medvedev reducibility, on these, and based on this, strong degrees of mass problems. Within a few years, in 1963, Muchnik in [14] defined another notion of reducibility, called weak or Muchnik reducibility, on the class of mass problems, and based on this, weak degrees of mass prob- lems. Both these notions were found fitting extensions of Kolmogorov’s ideas and interpretations for intuitionistic propositional logic. Later work on the connections between intuitionism and the Muchnik degrees can be found in [26, 27]. The following is an attempt to extend the idea for an interpretation of higher-order intuitionistic logic.

5.1 Preliminaries

We start with the basic definitions and properties leading up to the Turing degrees. For a detailed discussion, see [5, 16, 22, 24, 21].

Definition 5.1.1. An oracle is a total function g : N / N. The set of all such functions, NN, viewed as a topological space, is the Baire space.

Definition 5.1.2. A register machine is a model for computation described as follows.

• There are an infinite number of registers R1,R2,...,Ri,....

• Each register contains a natural number ri at any given point of time. • A register is said to be empty if the number contained in it is 0. At any given time, all but finitely many of the registers are empty.

• There are three types of instructions:

+ – Increment instruction, Ri : adding 1 to ri. − – Decrement instruction, Ri : if ri = 0, go to e, otherwise subtract 1 from ri. 0 – Oracle instruction, Ri : if ri = n, replace n by g(n), where g is an oracle.

87 Definition 5.1.3. An oracle program is a connected flow diagram consisting of the above de- scribed instructions along with a start and a stop instruction. Each program has exactly one start instruction.

k Definition 5.1.4. A (partial) function ψ :⊆ N / N, where k ≥ 1, is said to be (partial) com- putable, or (partial) recursive, if there exists a program P (with no oracle instructions) which computes ψ, that is, for all m1, . . . , mk ∈ N,

ψ(m1, . . . , mk) ↓ iff P(m1, . . . , mk) halts,

k where ψ(m1, . . . , mk) ↓ denotes that ψ is defined at the point (m1, . . . , mk) ∈ N , and P(m1, . . . , mk) denotes the run of P with m1, . . . , mk in R1,...,Rk and all other registers empty. In this case, ψ(m1, . . . , mk) appears in Rk+1.

g We will write P (m1, . . . , mk) to denote the run of the program P starting with m1, . . . , mk in the registers, R1,...,Rk and all other registers empty, using g as the oracle.

g k Definition 5.1.5. Given g ∈ NN and k ≥ 1, a partial function, ψ :⊆ N / N is said to be (partial) g-computable, computable relative to g if there exists an oracle program P such that for all m1, . . . , mk ∈ N, g g ψ (m1, . . . , mk) ↓ iff P (m1, . . . , mk) halts, g g where ψ (m1, . . . , mk) ↓ denotes that the partial function ψ is defined at the point (m1, . . . , mk) ∈ k g N . In this case, ψ (m1, . . . , mk) appears in Rk+1. Instead of using a fixed oracle, g as in Definition 5.1.5, we can also regard g as a variable, as in the following definition.

k Definition 5.1.6. A partial functional Ψ:⊆ NN × N / N, where k ≥ 0, is said to be (partial) computable, or (partial) recursive, if there exists an oracle program P such that for all g ∈ NN and all m1, . . . , mk ∈ N, g Ψ(g, m1, . . . , mk) ↓ iff P (m1, . . . , mk) halts, in which case Ψ(g, m1, . . . , mk) appears in Rk+1. More generally, we have the following definition.

k Definition 5.1.7. A partial functional Ψ:⊆ NN × N / NN, where k ≥ 0, is said to be (partial) computable, or (partial) recursive, if there exists an oracle program P such that for all g, h ∈ NN and all m1, . . . , mk ∈ N,

g Ψ(g, m1, . . . , mk) = h iff ∀m (P (m1, . . . , mk, m) halts) , in which case h(m) appears in Rk+2.

Definition 5.1.8. Given f, g ∈ NN, we say that f is Turing reducible to g, if f is g-computable, that is f is computable using g as an oracle. This is denoted by f ≤T g. Equivalently, f is Turing reducible to g, if there exists a partial recursive functional (in the sense of Definition 5.1.7 with k = 0) Ψ :⊆ NN / NN such that f = Ψ(g).

Definition 5.1.9. Given f, g ∈ NN, we say that f is Turing equivalent to g, if f ≤T g and g ≤T f. This is denoted by f ≡T g.

Lemma 5.1.10. Some basic facts about ≤T are as follows.

88 (i) For any f ∈ NN, f ≤T f, that is, ≤T is reflexive relation on NN.

(ii) For any f, g, h ∈ NN, if f ≤T g and g ≤T h, then f ≤T h, that is, ≤T is a transitive relation on NN.

Proof. (i) The functional Ψ : NN / NN is recursive, and Ψ(f) = f. Thus f ≤T f.

(ii) Since f ≤T g, there exists a partial recursive functional Ψ :⊆ NN / NN such that Ψ(g) = f. Similarly, since g ≤T h, there exists a partial recursive functional Φ :⊆ NN / NN such that Ψ(h) = g. Thus (Φ ◦ Ψ) (h) = f. Now, Φ ◦ Ψ:⊆ NN / NN is partial recursive as Ψ, Φ are so. Hence, f ≤T h.

Corollary 5.1.11. The relation ≡T is an equivalence relation on NN. Proof. This follows easily from the Lemma 5.1.10.

Definition 5.1.12. For any f ∈ NN, we define the Turing degree of f to be the equivalence class of f under ≡T. This is denoted by degT(f). We let DT = the set of all Turing degrees. We partially order DT by letting degT(f) ≤ degT(g) if and only if f ≤T g. Remark 5.1.13. There is a minimum Turing degree, 0, which is the degree of any recursive element in NN. Lemma 5.1.14. Any two Turing degrees have a least upper bound.

N Proof. Let a, b ∈ DT. Then a = degT(f), and b = degT(g), for some f, g ∈ N . The least upper bound of a and b, denoted by sup(a, b) is the Turing degree of h ∈ NN defined by h(2n) = f(n) h(2n + 1) = g(n) for all n ∈ N.

Corollary 5.1.15. Thus DT is a directed poset. Remark 5.1.16. However, for any two Turing degrees, a, b, there may or may not be a greatest lower bound in DT. Hence, DT is not a lattice.

5.2 The Muchnik topos

Definition 5.2.1. A mass problem is a set P ⊆ NN. Definition 5.2.2. Let P,Q be mass problems. We say that P is weakly reducible to Q, if for each g ∈ Q, there exists f ∈ P such that f ≤T g. This is denoted by P ≤w Q. We say P ≡w Q if and only if P ≤w Q and Q ≤w P .

Lemma 5.2.3. Some basic facts about ≤w are as follows.

(i) For any P ⊆ NN, P ≤w P , that is, ≤w is reflexive.

(ii) For any P, Q, R ⊆ NN, if P ≤w Q and Q ≤w R, then P ≤w R, that is, ≤w is transitive.

89 Corollary 5.2.4. The relation ≡w is an equivalence relation on the set of all mass problems. Proof. This follows easily from Lemma 5.2.3.

Definition 5.2.5. The weak degree, or Muchnik degree of a mass problem, P , denoted by degw(P ), is the equivalence class of P under ≡w. We let Dw = the set of all weak degrees. We partially order Dw by letting

degw(P ) ≤ degw(Q) iff P ≤w Q. Remark 5.2.6. The function defined by

degT(f) 7→ degw({f}) is an embedding of DT into Dw. This is one-to-one and order preserving, that is,

f ≤T g iff {f} ≤w {g}.

Moreover, this embedding preserves joins or suprema and the bottom element. However, the embedding fails to preserve infima.

We define U(DT) to be the set of upward closed subsets of DT. Then U(DT) can be partially ordered by the set inclusion relation. In fact, U(DT) is a complete distributive lattice. For an introduction to lattice theory, see [1].

Proposition 5.2.7. Dw is dually isomorphic to the lattice U(DT), that is, there is an order reversing isomorphism from Dw onto U(DT).

Proof. We define a map Θ : Dw / U(DT) as follows. For any P ∈ NN,

Θ(degw(P )) = {degT(g) | degT(f) ≤ degT(g) for some f ∈ P } = {degT(g) | f ≤T g for some f ∈ P } [ = {degT(g) | f ≤T g}. f∈P

Clearly, Θ(degw(P )) is upward closed and hence in U(DT). To show that Θ is well-defined, let N N P,Q ∈ N such that degw(P ) = degw(Q). Let g ∈ N such that degT(g) ∈ Θ(degw(P )). Then there exists f ∈ P such that f ≤T g. Now, degw(P ) = degw(Q) implies that Q ≤w P . So there exists h ∈ Q such that h ≤T f. Then by transitivity of ≤T, we have h ≤T g. Thus degT(g) ∈ Θ(degw(Q)). Hence,

Θ(degw(P )) ⊆ Θ(degw(Q)).

By a similar argument and using the fact that degw(P ) = degw(Q) also implies that P ≤w Q, we can show that Θ(degw(Q)) ⊆ Θ(degw(P )). Thus we have Θ(degw(P )) = Θ(degw(Q)), and hence Θ is well-defined. N From the above arguments, we observe that for P,Q ⊆ N , if degw(Q) ≤ degw(P ), then

Θ(degw(P )) ⊆ Θ(degw(Q)).

90 N Conversely, suppose P,Q ⊆ N such that Θ(degw(P )) ⊆ Θ(degw(Q)). Let g ∈ P . Then degT(g) ∈ Θ(degw(P )) ⊆ Θ(degw(Q)). So, there exists f ∈ Q such that f ≤T g. This shows that Q ≤w P and hence degw(Q) ≤ degw(P ). We summarize the above as follows.

degw(P ) ≤ degw(Q) in Dw iff Θ(degw(Q)) ⊆ Θ(degw(P )) in U(DT) for any P,Q ⊆ NN. Thus Θ is a poset homomorphism. To show that Θ is an isomorphism, we need to show that it is one-to-one and onto. N Let P,Q ∈ N such that Θ(degw(P )) = Θ(degw(Q)). Then

Θ(degw(P )) ⊆ Θ(degw(Q)) and Θ(degw(Q)) ⊆ Θ(degw(P )). This implies by the above arguments that

Q ≤w P and P ≤w Q, and hence P ≡w Q or degw(P ) = degw(Q). Thus Θ is 1-1. N To show that Θ is onto, let T be an upward closed subset of DT, and P = {f ∈ N | degT(f) ∈ T } ⊆ NN. Then [ Θ(degw(P )) = {degT(g) | degT(f) ≤ degT(g)}. f∈P

N Let f ∈ P . Then degT(f) ∈ T . Now for any g ∈ N such that degT(f) ≤ degT(g), degT(g) ∈ T since T is upward closed. Thus

{degT(g) | degT(f) ≤ degT(g)} ⊆ T for all f ∈ P. So [ {degT(g) | degT(f) ≤ degT(g)} = Θ(degw(P )) ⊆ T. f∈P

N Conversely, suppose a ∈ T . Then there exists f ∈ N such that degT(f) = a. This implies that f ∈ P . So, degT(f) ∈ Θ(degw(P )) which implies that a ∈ Θ(degw(P )). Thus

T ⊆ Θ(degw(P )). So, we have that T = Θ(degw(P )) showing that Θ is onto. Hence Θ is an order-reversing poset isomorphism from Dw onto U(DT). More on mass problems can be found in [21, 25].

Definition 5.2.8. The sheaves over the poset (DT, ≤) with the corresponding Alexandrov topology, Sh(DT) is defined as the Muchnik topos. Remark 5.2.9. The above definition is motivated by the Proposition 5.2.7.

Proposition 5.2.10. The weak law of excluded middle holds in Sh(DT), that is, Sh(DT) |= WEM.

Proof. By Lemma 5.1.14, (DT, ≤) is a directed poset. Then by Proposition 4.2.1, we have that

Sh(DT) |= WEM.

91 Proposition 5.2.11. Markov’s principle is valid in Sh(DT). In fact, the generalized Markov’s principle, introduced in Section 4.3, is valid in Sh(DT). Proof. This follows from Proposition 4.3.2 and Proposition 4.3.3.

Proposition 5.2.12. Let X (possibly uncountable) be a discrete topological space. Then Sh(DT) satisfies the following choice axiom

∀x ∃y A(x, y) =⇒ ∃z ∀x A(x, zx),

sh lc where x is a variable of sort X = Co (DT,X), y is a variable of sort σ, and z is a variable of sort Xsh / σ. In particular, if X = N, the above choice principle reduces to the axiom of countable choice, AC0. Thus Sh(DT) |= AC0. Proof. This can be concluded from Proposition 4.6.11 and Remark 4.6.12.

5.3 Muchnik Reals a Definition 5.3.1. Let , where a, b ∈ , b > 0, and gcd(a, b) = 1, be a rational number. Then we b Z a a define the G¨odelnumber # of the rational number as follows b b  3a · 5b if a > 0 a  # = 2 · 3−a · 5b if a < 0 b  1 if a = 0

Definition 5.3.2. Let r be a real number. We define a set of natural numbers, Nr as follows

Nr = {#(q) ∈ N | q ∈ Q, q ≤ r}.

Then the characteristic function of Nr, χr : N /{0, 1} is an element of the Cantor space, 2N ⊂ NN. The Turing degree of r, denoted by degT(r) is defined as the Turing degree of χr, that is degT(χr).

Now, we define a class of real numbers, that we call the Muchnik reals as a K-set with K = DT. m Definition 5.3.3. The set of Muchnik reals, denoted by R , is defined as the K-set, hMa,Mabi, where Ma = {r ∈ R | degT(r) ≤ a}, for each a ∈ DT, and Mab : Ma / Mb is the inclusion map from Ma to Mb whenever a ≤ b in DT. m Now, using the proof of Proposition 2.5.4, the sheaf corresponding to R in Sh(DT) is Y {a = (ra)a∈U ∈ Ma | U ⊆ DT upward closed; a∈U Mab(ra) = rb whenever a ≤ b; a, b ∈ U}.

Since Mab : Ma /Mb is the inclusion map whenever a ≤ b, Mab(ra) = ra. So, the elements of the above described sheaf are constant functions from upward closed subsets of DT into R. Following m m m Proposition 2.5.4, we also have the maps E : R / U(DT) and : R × U(DT) / R as follows:

E(a) = dom(a) and a  V = a  V, for any V ∈ U(DT).

92 m We note that for any a : E(a) / R ∈ R , a(a) = r, for some r ∈ R, for every a ∈ E(a), and E(a) is an upward closed subset of Turing degrees such that degT(r) ≤ a. Conversely, given any r ∈ R, m there is an element in ar ∈ R with extent U = {a ∈ DT | degT(r) ≤ a}. We can thus describe the Muchnik reals as the sheaf m c R = {a ∈ Co(DT, R) | dom(a) is open, and degT(a(a)) ≤ a for all a ∈ dom(a)} m with E(a) = dom(a) and a  V = a  V , for any a ∈ R , and V ⊆ DT open. As before the sheaf corresponding to the Dedekind reals in Sh(DT) is Co(DT, R), the set of all partial continuous functions from DT into R with open domain, and the sheaf corresponding lc to the Cauchy reals is Co (DT, R), the set of all locally constant, partially continuous functions with open domain. Since every partial continuous function from a poset into R is locally constant, the Dedekind and the Cauchy reals coincide in Sh(DT). Moreover, since DT is a directed poset, every locally constant function from an upward closed (i.e., open) subset of DT into R is constant by Lemma 2.4.13. Therefore by Corollary 3.3.7, the sheaf corresponding to the Cauchy or the Dedekind reals in Sh(DT) is the collection of all constant functions from open subsets of DT into m R. But not every constant function with open domain is in the sheaf representing R because of the restriction on the extents. The Muchnik reals can be described as the set of constant functions with open domain, such that the domain of an element lies within the cone above the Turing degree of its range. So, we have the following relation between the three classes of reals.

m c d R (R = R in Sh(DT).

Corollary 5.3.4. The law of trichotomy holds for the Muchnik reals in Sh(DT). Proof. The law of trichotomy for real numbers holds in Sh(K) for any poset K by Corollary 4.4.3. Since the sheaf corresponding to the Muchnik reals is contained in the sheaf corresponding to the Dedekind or Cauchy reals in Sh(DT), the law of trichotomy is true for the Muchnik reals as well. Remark 5.3.5. Thus the Muchnik reals satisfy the weak law of trichotomy as well. This fact also m c d follows from the Remark 4.5.3 since R (R = R in Sh(DT). We will use the following notation. m m • For any a ∈ R , ba is the unique member of R such that range(ba) = range(a) and E(ba) = degw(range(a)). m • For any a ∈ R with E(a) 6= ∅, a is the unique real number such that range(a) = {a}. m Remark 5.3.6. The following facts are easy consequences of the definition of R . (i) For any a ∈ m, E(a) = U = the Turing upward closure of deg (a). R b degT(a) T m (ii) For any a ∈ R , a ≤ ba, because ba  E(a) = a, as E(a) ⊆ E(ba) and range(ba) = range(a). m (iii) For any a, b ∈ R such that E(a),E(b) 6= ∅, a ≤ b =⇒ a = b  E(a) =⇒ range(a) = range(b) =⇒ a = b =⇒ degw(range(a)) = degw(range(b)) =⇒ ba = bb.

93 m Definition 5.3.7. For any a, b ∈ R , we define  E(a) ∩ E(b), if a ≤ b [[a ≤ b]] = T T ∅, otherwise.

m Also, for any a, b, c ∈ R , we define   E(a) ∩ E(b) ∩ E(c), if degT(a) ≤ degT((b, c)) [[a ≤T (b, c)]] = = sup(degT(b), degT(c))  ∅, otherwise.

We now prove a choice principle and a bounding principle for the Muchnik reals. The choice principle can be formally stated as

(CHP) (∀x ∃y A(x, y)) =⇒ (∃u ∃z ∀x (ux ≤T (x, z) ∧ A(x, y))),

m m m where x, y are variables of sort R and u is a variable of sort R R . The bounding principle can be formally stated as

(BDP) (∀x ∃y A(x, y)) =⇒ (∃z ∀x ∃y (y ≤T (x, z) ∧ A(x, y))),

m where x, y, z are variables of sort R . We first prove a technical lemma, that will allow us to shrink certain unions in the proof of the choice principle.

m Lemma 5.3.8. We can shrink a union over all elements of R of the form [ (E(c) ∩ [[B(c)]]) c∈Rm m to one over only maximal elements of R , that is [ [ (E(c) ∩ [[B(c)]]) = (E(bc) ∩ [[B(bc)]]) . m m c∈R bc∈R Proof. Clearly, [ [ (E(bc) ∩ [[B(bc)]]) ⊆ (E(c) ∩ [[B(c)]]) . m m bc∈R c∈R m m m Now, for each c ∈ R , there is a bc ∈ R such that c ≤ bc. Then by Lemma 2.3.2, for any c ∈ R ,

E(c) ∩ [[B(c)]] ⊆ E(bc) ∩ [[B(bc)]], which implies that [ [ (E(c) ∩ [[B(c)]]) ⊆ (E(bc) ∩ [[B(bc)]]) . m m c∈R bc∈R Thus [ [ (E(c) ∩ [[B(c)]]) = (E(bc) ∩ [[B(bc)]]) . m m c∈R bc∈R

We now prove the choice principle in the following proposition.

94 Proposition 5.3.9. Sh(DT) |= CHP. Proof. To show that

[[(∀x ∃y A(x, y)) =⇒ (∃u ∃z ∀x (ux ≤T (x, z) ∧ A(x, ux)))]] = DT, we need to show [[∀x ∃y A(x, y)]] ⊆ [[∃u ∃z ∀x (ux ≤T (x, z) ∧ A(x, ux))]]. Let U = [[∀x ∃y A(x, y)]], and W = [[∃u ∃z ∀x (ux ≤T (x, z) ∧ A(x, ux))]]. Let c ∈ m be such that deg (c) ∈ U and E(c) = U , that is c = c. Clearly, E(c) ⊆ U. It will R T degT(c) b suffice to show that degT(c) ∈ W . Now

U = [[∀x ∃y A(x, y)]] !◦ \ = (E(a) =⇒ [[∃y A(x/a, y)]]) a∈ m \ R = (E(a) =⇒ [[∃y A(x/a, y)]])◦ , a∈Rm

m by Lemma 2.4.6. Then since E(a) =⇒ [[∃y A(x/a, y)]] is open in DT for any a ∈ R , we have \ U = (E(a) =⇒ [[∃y A(x/a, y)]]) a∈ m R ! \ [ = E(a) =⇒ (E(b) ∩ [[A(x/a, y/b)]]) a∈ m b∈ m R R !◦ \ [ = (DT \ E(a)) ∪ (E(b) ∩ [[A(x/a, y/b)]]) a∈Rm b∈Rm

In future arguments, we will use the notation A(a, b) for A(x/a, y/b). Now, since, degT(c) ∈ U, !◦ [ degT(c) ∈ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) , b∈Rm

m m m for any a ∈ R . This implies that, for any a ∈ R , and for all d ∈ R such that c ≤T d, [ degT(d) ∈ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) . b∈Rm Using the union shrinking argument of Lemma 5.3.8, we have [ [   (E(b) ∩ [[A(a, b)]]) = E(b) ∩ [[A(a,b)]] . b∈ m m R b∈R

m m Then, for any a ∈ R , and any d ∈ R such that c ≤T d, [   degT(d) ∈ (DT \ E(a)) ∪ E(b) ∩ [[A(a,b)]] . (5.1) b∈Rm

95 Now, W = [[∃u ∃z ∀x (ux ≤T (x, z) ∧ A)]] ! [ = E((f, Y )) ∩ [[∃z ∀x ((f, Y )x ≤T (x, z) ∧ A(x, (f, Y )x))]] m (f,Y )∈ mR R [ [  = E((f, Y )) ∩ E(c)∩ m (f,Y )∈ mR c∈Rm R !  [[∀x ((f, Y )x ≤T (x, c) ∧ A(x, (f, Y )x))]] .

Then by the union shrinking argument of Lemma 5.3.8, we have

[ [  W = E((f, Y )) ∩ E(bc)∩ m (f,Y )∈ mR c∈Rm R b !  [[∀x ((f, Y )x ≤T (x, bc) ∧ A(x, (f, Y )x))]]

[ [  = E((f, Y )) ∩ E(bc)∩ m (f,Y )∈ mR c∈Rm R b !  \ ◦ E(a) =⇒ [[f(a  Y ) ≤T (a, bc)]] ∩ [[A(a, f(a  Y ))]] a∈ m R [ [  = E((f, Y )) ∩ E(bc)∩ m (f,Y )∈ mR c∈Rm R b ! \ ◦ E(a) =⇒ [[f(a  Y ) ≤T (a, bc)]] ∩ [[A(a, f(a  Y ))]] a∈ m R [ [  = E((f, Y )) ∩ E(bc)∩ m (f,Y )∈ mR c∈Rm R b ! \  E(a) =⇒ [[f(a  Y ) ≤T (a, bc)]] ∩ [[A(a, f(a  Y ))]] . a∈Rm m m Thus to prove the choice principle, we need to show that there is an (f, Y ) ∈ R R such that for m our chosen bc ∈ R , degT(c) ∈ E((f, Y )) and [  \  degT(c) ∈ E(bc) ∩ E(a) =⇒ [[f(a  Y ) ≤T (a, bc)]] ∩ [[A(a, f(a  Y ))]] . m m bc∈R a∈R m mR m So, it will suffice to show that there is an (f, Y ) ∈ R such that for our chosen bc ∈ R , degT(c) ∈ E((f, Y )) and \  degT(c) ∈ E(a) =⇒ [[f(a  Y ) ≤T (a, bc)]] ∩ [[A(a, f(a  Y ))]] a∈Rm \ ◦ = (DT \ E(a)) ∪ ([[f(a  Y ) ≤T (a, bc)]] ∩ [[A(a, f(a  Y ))]]) . a∈Rm m m m m So we need to show that there is an (f, Y ) ∈ R R , such that for any a ∈ R and for any d ∈ R with c ≤T d,

degT(d) ∈ (DT \ E(a)) ∪ ([[f(a  Y ) ≤T (a, bc)]] ∩ [[A(a, f(a  Y ))]]) .

96 m m Suppose d ∈ R be such that c ≤T d. We fix an a ∈ R . Case - 1: degT(d) ∈/ E(a). m mR In this case, degT(d) ∈ DT \ E(a), and thus for any (f, Y ) ∈ R ,

degT(d) ∈ (DT \ E(a)) ∪ ([[f(a  Y ) ≤T (a, bc)]] ∩ [[A(a, f(a  Y ))]]) . So, we are done. Note that, this case also covers the special case when E(a) = ∅. Case - 2: degT(d) ∈ E(a). We first note that, since c ≤T (a, c), degT(c) ∈ U, and U is upward closed,

degT((a, c)) ∈ U. So, then by the arguments leading up to equation (5.1), [   degT((a, c)) ∈ (DT \ E(ba  U)) ∪ E(b) ∩ [[A(ba  U,b)]] . b∈Rm

Also, since a ≤ degT((a, c)) and E(a) is upward closed, degT((a, c)) ∈ E(ba). So,

degT((a, c)) ∈ E(ba ∩ U = E(ba  U).

Then, since degT((a, c)) ∈/ DT \ E(ba  U), [   degT((a, c)) ∈ E(b) ∩ [[A(ba  U,b)]] . b∈Rm m m Hence, for any a ∈ R such that degT(a, c) ∈ E(ba  U), there exists b ∈ R such that

degT((a, c)) ∈ E(b) ∩ [[A(ba  U,b)]]. m m Now, using the axiom of choice externally, we define a function f : R  E(bc) / R  E(bc) by

f(a  E(bc)) = b  E(a) ∩ E(bc), m m for any a ∈ R , where b ∈ R is such that degT((a, c)) ∈ E(b), that is, b ≤T (a, c) and

degT(a, c) ∈ [[A(ba  U,b)]]. The above choice of b is made so that b depends only on a and not on E(a). We now note that for m any a  E(bc) ∈ R  E(bc),

E(f(a  E(bc))) = E(b  E(a) ∩ E(bc)) = E(b) ∩ E(a) ∩ E(bc). Now, for any r ∈ E(a) ∩ E(bc), a ≤T r and c ≤T r, which implies that (a, c) ≤T r. So, since b ≤T (a, c), b ≤T r. This implies that r ∈ E(b). Hence E(a) ∩ E(bc) ⊆ E(b). Thus

E(f(a  E(bc))) = E(a) ∩ E(bc) = E(a  E(bc)).

Hence, f preserves extent. Next let Y be any open subset of DT. Then

f((a  Y )  E(bc)) = b  (E(a  Y ) ∩ E(bc)) = b  (E(a) ∩ Y ∩ E(c))   b = b  E(a) ∩ E(bc)  Y = f(a  E(bc))  Y. 97 f Thus f preserves restriction. Hence, m E(c) / m E(c) is a sheaf morphism, and so m R  b R  b mR (f, E(bc)) ∈ R . We note that degT(d) ∈ E((f, E(bc))) = E(bc). Now, since f(a  E(bc)) = b  E(a) ∩ E(bc) and b ≤T (a, c), [[f(a  E(bc)) ≤T (a, bc)]] = E(a  E(bc)) ∩ E(a) ∩ E(bc) = E(a) ∩ E(bc) ∩ E(a) ∩ E(bc) = E(a) ∩ E(bc).

Since, degT(d) ∈ E(a),E(bc),

degT(d) ∈ [[f(a  E(bc)) ≤T (a, bc)]].

We also note that, since ba  U ≤ ba, and E(ba  U) = E(ba) ∩ U,

[[A(ba  U,b)]] ∩ E(ba) ∩ U = [[A(ba,b)]] ∩ E(ba) ∩ U, by Lemma 2.3.2. Then, since a ≤ ba,

[[A(ba,b)]] ∩ E(a) = [[A(a,b)]] ∩ E(a), again by Lemma 2.3.2. Thus, since E(a) ⊆ E(ba),

[[A(ba  U,b)]] ∩ E(a) ∩ U = [[A(ba  U,b)]] ∩ E(a) ∩ E(ba) ∩ U = [[A(ba,b)]] ∩ E(a) ∩ E(ba) ∩ U = [[A(a,b)]] ∩ E(a) ∩ E(ba) ∩ U = [[A(a,b)]] ∩ E(a) ∩ U.

Now, degT(d) ∈ E(a). So, a ≤T d. Also, c ≤T d. Thus degT(a, c) ≤ degT(d). So, since degT((a, c)) ∈ E(b) ∩ [[A(ba  U,b)]],

degT(d) ∈ E(b) ∩ [[A(ba  U,b)]] ⊆ [[A(ba  U,b)]].

We further note that degT(d) ∈ U, since E(bc) ⊆ U. Thus

degT(d) ∈ [[A(ba  U,b)]] ∩ E(a) ∩ U = [[A(a,b)]] ∩ E(a) ∩ U ⊆ [[A(a,b)]].

Then we note that b  E(a) ∩ E(bc) ≤ b and

E(b  E(a) ∩ E(bc)) = E(b) ∩ E(a) ∩ E(bc) = E(a) ∩ E(bc), because E(a) ∩ E(bc) ⊆ E(b). So, by Lemma 2.3.2,

[[A(a,b)]] ∩ E(a) ∩ E(bc) = [[A(a,b  E(a) ∩ E(bc))]] ∩ E(a) ∩ E(bc) ⊆ [[A(a,b  E(a) ∩ E(bc))]] = [[A(a, f(a  E(bc)))]]. Thus degT(d) ∈ [[A(a, f(a  E(bc)))]].

98 Combining the above, we have

degT(d) ∈ (DT \ E(a)) ∪ ([[f(a  E(bc)) ≤T (a, bc)]] ∩ [[A(a, f(a  E(bc)))]]. m Thus, for any a ∈ R ,   degT(d) ∈ (DT \ E(a)) ∪ [[f(a  E(bc)) ≤T (a, bc)]] ∩ [[A(a, f(a  E(bc)))]] , which implies that, !◦   degT(c) ∈ (DT \ E(a)) ∪ [[f(a  E(bc)) ≤T (a, bc)]] ∩ [[A(a, f(a  E(bc))a)]] .

So, ! \   degT(c) ∈ E(a) =⇒ [[(f(a  E(bc)) ≤T (a, bc)]] ∩ [[A(a, f(a  E(bc)))]] . a∈Rm Hence, degT(bc) ∈ W . Thus U ⊆ W . Remark 5.3.10. In the above proof of U ⊆ W , that is the choice principle, we can avoid the f m m external use of the axiom of choice to find the sheaf morphism R  E(bc) / R  E(bc). The alternative argument is described as follows. m We know that for any a ∈ R , such that degT(a, c) ∈ E(ba  U), [   degT(a, c) ∈ E(b) ∩ [[A(ba  U,b)]] . b∈Rm

m So, there is a b ∈ R such that

degT(a, c) ∈ E(b) ∩ [[A(ba  U,b)]]. m Now, degT(a, c) ∈ E(b) implies that b ≤T (a, c). Then we define a function g : R  E(bc) / N by

g(a  E(bc)) = e, where e is the least among the indices of the oracle machine programs that compute b using (a, c) (1),(a,c) m as an oracle, that is, φe = b, and degT((a, c)) ∈ [[A(ba  U,b)]]. Then we define f : R  m E(bc) / R  E(bc), as before, by

f(a  E(bc)) = b  E(a) ∩ E(bc), (1),(a,c) where b = φe and e = g(a  E(bc)). We will now prove a few sentences in the wider generality of a sheaf model over any topological space T . Lemma 5.3.11. Suppose T is any topological space. Then the following sentences are true in Sh(T ). (i) (∃z ∀x ∃y (B(x, y, z) ∧ A(x, y))) =⇒ (∀x ∃y A(x, y)),

(ii) (∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))) =⇒ (∀x ∃y A(x, y)),

99 (iii) (∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))) =⇒ (∃z ∀x ∃y (B(x, y, z) ∧ A(x, y))),

(iv) (∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))) =⇒ (∃u ∀x A(x, ux)),

(v) (∃u ∀x A(x, ux)) =⇒ (∀x ∃y A(x, y)), where x, y, z are of sorts σ, τ, ρ and u is of sort σ / τ.

Proof. Let M,N, and P be the sheaves corresponding to the sorts σ, τ, and ρ respectively. Then the sheaf N M corresponds to the sort σ / τ.

(i) To show that

Sh(T ) |= (∃z ∀x ∃y (B(x, y, z) ∧ A(x, y))) =⇒ (∀x ∃y A(x, y)),

that is, [[∃z ∀x ∃y (B(x, y, z) ∧ A(x, y)) =⇒ (∀x ∃y A(x, y))]] = T, we need to show that

[[∃z ∀x ∃y (B(x, y, z) ∧ A(x, y))]] ⊆ [[∀x ∃y A(x, y)]].

Let s ∈ [[∃z ∀x ∃y (B(x, y, z) ∧ A(x, y))]] [ = (E(c) ∩ [[∀x ∃y (B(x, y, c) ∧ A(x, y))]]) . c∈P Thus there is a c ∈ P such that s ∈ E(c) and

s ∈ [[∀x ∃y (B(x, y, c) ∧ A(x, y))]] !◦ \ = (E(a) =⇒ [[∃y (B(a, y, c) ∧ A(a, y))]]) a∈M !!◦ \ [ = E(a) =⇒ (E(b) ∩ [[(B(a, b, c)]] ∩ [[A(a, b))]]) . a∈M b∈N Now we note that for any a ∈ M and b ∈ N

E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]] ⊆ E(b) ∩ [[A(a, b)]].

Thus !!◦ \ [ s ∈ E(a) =⇒ (E(b) ∩ [[(B(a, b, c)]] ∩ [[A(a, b))]]) a∈M b∈N !!◦ \ [ ⊆ E(a) =⇒ (E(b) ∩ [[A(a, b))]]) a∈M b∈N !◦ \ = (E(a) =⇒ [[∃y A(a, y)]]) a∈M = [[∀x ∃y A(x, y)]]. Hence [[∃z ∀x ∃y (B(x, y, z) ∧ A(x, y))]] ⊆ [[∀x ∃y A(x, y)]].

100 (ii) To show that

Sh(T ) |= (∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))) =⇒ (∀x ∃y A(x, y)),

that is, [[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux)) =⇒ (∀x ∃y A(x, y))]] = T, we need to show that

[[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]] ⊆ [[∀x ∃y A(x, y)]].

Let s ∈ [[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]] [ = (E((f, Y )) ∩ [[∃z ∀x (B(x, (f, Y )x, z) ∧ A(x, (f, Y )x))]]) (f,Y )∈N M ! [ [ = Y ∩ (E(c) ∩ [[∀x (B(x, (f, Y )x, c) ∧ A(x, (f, Y )x))]]) . (f,Y )∈N M c∈P

f Thus there is a sheaf morphism M  Y / N  Y and a c ∈ P such that s ∈ E((f, Y )) = Y , s ∈ E(c) such that

s ∈ [[∀x (B(x, (f, Y )x, c) ∧ A(x, (f, Y )x))]] !◦ \ = (E(a) =⇒ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]])) a∈M So, there is an open subset K of T , such that \ s ∈ K ⊆ (E(a) =⇒ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]])) . a∈M Thus, for any a ∈ M,

K ⊆ E(a) =⇒ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]]) ◦ = ((DT \ E(a)) ∪ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]])) ⊆ (DT \ E(a)) ∪ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]]).

Let b = f(a  Y ) ∈ N for any a ∈ M. Then

E(b) = E(f(a  Y )) = E(a  Y ) = E(a) ∩ Y,

f because M  Y / N  Y is a sheaf morphism. Now, we note that K ∩ Y is an open subset of T which contains s. Let x ∈ K ∩ Y . Case - 1: x∈ / E(a)

Then x ∈ (DT \ E(a)). So, [ x ∈ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) . b∈N

Case - 2: x ∈ E(a)

101 Then x ∈ [[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]] ⊆ [[A(a, f(a  Y ))]] = [[A(a, b)]]. Also, we note that x ∈ E(a) ∩ Y = E(b). Thus x ∈ E(b) ∩ [[A(a, b)]] [ ⊆ (E(b) ∩ [[A(a, b)]]) b∈M [ ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) b∈N Thus, for any a ∈ M, [ x ∈ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) , b∈N which implies that, for any a ∈ M, [ K ∩ Y ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) . b∈N Then, since K ∩ Y is an open subset of T , !◦ [ K ∩ Y ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) b∈N [ = E(a) =⇒ (E(b) ∩ [[A(a, b)]]) , b∈N for all a ∈ M. Thus ! \ [ K ∩ Y ⊆ E(a) =⇒ (E(b) ∩ [[A(a, b)]]) a∈M b∈N \ = (E(a) =⇒ [[∃y A(a, y)]]) . a∈M Now, since K ∩ Y is open and s ∈ K ∩ Y , this implies that !◦ \ s ∈ (E(a) =⇒ [[∃y A(a, y)]]) a∈M = [[∀x ∃y A(x, y)]].

Hence, [[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]] ⊆ [[∀x ∃y A(x, y)]].

(iii) To show that Sh(T ) |= (∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))) =⇒ (∃z ∀x ∃y (B(x, y, z) ∧ A(x, y))),

102 we need to show that

[[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]] ⊆ [[(∃z ∀x ∃y (B(x, y, z) ∧ A(x, y)))]].

Let s ∈ [[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]].

Then using the same arguments as in (ii), we conclude that there is a sheaf morphism M  f Y / N  Y and a c ∈ P such that s ∈ E((f, Y )) = Y , s ∈ E(c), and s ∈ [[∀x (B(x, (f, Y )x, c) ∧ A(x, (f, Y )x))]] !◦ \ = (E(a) =⇒ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]])) a∈M As before, this means that there is an open subset K of T , such that \ s ∈ K ⊆ (E(a) =⇒ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]])) . a∈M Thus, for any a ∈ M,

K ⊆ E(a) =⇒ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]]) ◦ = ((DT \ E(a)) ∪ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]])) ⊆ (DT \ E(a)) ∪ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]]).

Let b = f(a  Y ) ∈ N for any a ∈ M. Then

E(b) = E(f(a  Y )) = E(a  Y ) = E(a) ∩ Y,

f because M  Y / N  Y is a sheaf morphism. Now, we note that K ∩ Y is an open subset of T which contains s. Let x ∈ K ∩ Y . Case - 1: x∈ / E(a)

Then x ∈ (DT \ E(a)). So, [ x ∈ (DT \ E(a)) ∪ (E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]]) . b∈N

Case - 2: x ∈ E(a) Then x ∈ [[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]] = [[B(a, b, c)]] ∩ [[A(a, b)]]. Also, we note that x ∈ E(a) ∩ Y = E(b). Thus x ∈ E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]] [ ⊆ (E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]]) b∈N [ ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]]) . b∈N

103 Thus, for any a ∈ M, [ x ∈ (DT \ E(a)) ∪ (E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]]) , b∈N which implies that, for any a ∈ M, [ K ∩ Y ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]]) . b∈N Then, since K ∩ Y is an open subset of T , !◦ [ K ∩ Y ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]]) b∈N [ = E(a) =⇒ (E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]]) , b∈N for all a ∈ M. Thus ! \ [ K ∩ Y ⊆ E(a) =⇒ (E(b) ∩ [[B(a, b, c)]] ∩ [[A(a, b)]]) a∈M b∈N \ = (E(a) =⇒ [[∃y (B(a, y, c) ∧ A(a, y))]]) . a∈M Now, since K ∩ Y is open and s ∈ K ∩ Y , this implies that !◦ \ s ∈ (E(a) =⇒ [[∃y (B(a, y, c) ∧ A(a, y))]]) a∈M = [[∀x ∃y (B(x, y, c) ∧ A(x, y))]].

Then, since s ∈ E(c), we have

s ∈ E(c) ∩ [[∀x ∃y (B(x, y, c) ∧ A(x, y))]] [ ⊆ (E(c) ∩ [[∀x ∃y (B(x, y, c) ∧ A(x, y))]]) c∈P = [[∃z ∀x ∃y (B(x, y, c) ∧ A(x, y))]].

Hence, [[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]] ⊆ [[∃z ∀x ∃y (B(x, y, z) ∧ A(x, y))]].

(iv) To show that

Sh(DT) |= (∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))) =⇒ (∃u ∀x A(x, ux)),

we need to show that

[[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]] ⊆ [[∃u ∀x A(x, ux)]].

Let s ∈ [[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]].

104 Then using the same arguments as in (ii) and (iii), we conclude that there is a sheaf morphism f M  Y / N  Y and a c ∈ P such that s ∈ E((f, Y )) = Y , s ∈ E(c), and s ∈ [[∀x (B(x, (f, Y )x, c) ∧ A(x, (f, Y )x))]] !◦ \ = (E(a) =⇒ ([[B(a, f(a  Y ), c)]] ∩ [[A(a, f(a  Y ))]])) a∈M !◦ \ ⊆ (E(a) =⇒ [[A(a, f(a  Y ))]]) a∈M = [[∀x A(x, (f, Y )x)]]. Thus s ∈ Y ∩ [[∀x A(x, (f, Y )x)]] = E((f, Y )) ∩ [[∀x A(x, (f, Y )x)]] [ ⊆ (E((f, Y )) ∩ [[∀x A(x, (f, Y )x)]]) (f,Y )∈N M = [[∃u ∀x A(x, ux)]]. Hence, [[∃u ∃z ∀x (B(x, ux, z) ∧ A(x, ux))]] ⊆ [[∃u ∀x A(x, ux)]].

(v) To show that Sh(T ) |= (∃u ∀x A(x, ux)) =⇒ (∀x ∃y A(x, y)), we need to show that [[∃u ∀x A(x, ux)]] ⊆ [[∀x ∃y A(x, y)]]. Let s ∈ [[∃u ∀x A(x, ux)]] [ = (E((f, Y )) ∩ [[∀x A(x, (f, Y )x)]]) . (f,Y )∈N M

f Thus there is a sheaf morphism M  Y / N  Y , where Y is an open set, such that s ∈ E((f, Y )) = Y , and

s ∈ [[∀x A(x, (f, Y )x)]] !◦ \ = (E(a) =⇒ [[A(a, f(a  Y ))]]) a∈M Then there exists an open subset K of T such that s ∈ K and \ K ⊆ (E(a) =⇒ [[A(a, f(a  Y ))]]) . a∈M Thus, for any a ∈ M,

K ⊆ E(a) =⇒ [[A(a, f(a  Y ))]] ◦ = ((DT \ E(a)) ∪ [[A(a, f(a  Y ))]]) ⊆ (DT \ E(a)) ∪ [[A(a, f(a  Y ))]].

Let b = f(a  Y ) ∈ N for any a ∈ M. Then

E(b) = E(f(a  Y )) = E(a  Y ) = E(a) ∩ Y,

105 f because M  Y / N  Y is a sheaf morphism. Now, we note that K ∩ Y is an open subset of T which contains s. Let x ∈ K ∩ Y . Case - 1: x∈ / E(a)

Then x ∈ (DT \ E(a)). So, [ x ∈ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) . b∈N Case - 2: x ∈ E(a) Then x ∈ [[A(a, f(a  Y ))]] = [[A(a, b)]]. Also, we note that x ∈ E(a) ∩ Y = E(b). Thus x ∈ E(b) ∩ [[A(a, b)]] [ ⊆ (E(b) ∩ [[A(a, b)]]) b∈N [ ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) . b∈N Thus, for any a ∈ M, [ x ∈ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) , b∈N which implies that, for any a ∈ M, [ K ∩ Y ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) . b∈N Then, since K ∩ Y is an open subset of T , !◦ [ K ∩ Y ⊆ (DT \ E(a)) ∪ (E(b) ∩ [[A(a, b)]]) b∈N [ = E(a) =⇒ (E(b) ∩ [[A(a, b)]]) , b∈N for all a ∈ M. Thus ! \ [ K ∩ Y ⊆ E(a) =⇒ (E(b) ∩ [[A(a, b)]]) a∈M b∈N \ = (E(a) =⇒ [[∃y A(a, y)]]) . a∈M Now, since K ∩ Y is open and s ∈ K ∩ Y , this implies that !◦ \ s ∈ (E(a) =⇒ [[∃y A(a, y)]]) a∈M = [[∀x ∃y A(x, y)]]. Hence, [[∃u ∀x A(x, ux)]] ⊆ [[∀x ∃y A(x, y)]].

106 Proposition 5.3.12. The following statements are logically equivalent in Sh(DT). (i) ∀x ∃y A(x, y)

(ii) ∃z ∀x ∃y (y ≤T (x, z) ∧ A(x, y))

(iii) ∃u ∃z ∀x (ux ≤T (x, z) ∧ A(x, ux)) (iv) ∃u ∀x A(x, ux)

m m m x, y, z in the above sentences are of type R and u is of type R R . Proof. Let U = [[∀x ∃y A(x, y)]], V = [[∃z ∀x ∃y (y ≤T (x, z) ∧ A(x, y))]], W = [[∃u ∃z ∀x (ux ≤T (x, z) ∧ A(x, ux))]], and X = [[∃u ∀x A(x, ux)]].

To show that (i), (ii), (iii) and (iv) are logically equivalent in Sh(DT), we need to show that U = V = W = X. We note that U ⊆ W by Proposition 5.3.9. We next note the following

• V ⊆ U is a special case of Lemma 5.3.11 (i),

• W ⊆ U is a special case of Lemma 5.3.11 (ii),

• W ⊆ V is a special case of Lemma 5.3.11 (iii),

• W ⊆ X is a special case of Lemma 5.3.11 (iv), and

• X ⊆ U is a special case of Lemma 5.3.11 (v).

Combining U ⊆ W ⊆ V ⊆ U, we have U = V = W , and combining

W ⊆ X ⊆ U ⊆ W, we have U = W = X. Thus U = V = W = X. In particular, U ⊆ V proves that Sh(DT) |= BDP.

107 References

[1] G. Birkhoff, Lattice theory, Amer. Math. Soc. Colloq. Pub., vol. XXV, Amer. Math. Soc., 1948.

[2] T. Coquand, Kolmogorov’s contribution to intuitionistic logic, Kolmogorov’s Heritage in Math- ematics (E. Charpentier, A. Lesne, and N. K Nikolski, eds.), Springer, 2007, pp. 19–40.

[3] R. Diaconescu, Axiom of choice and complementation, Proc. Amer. Math. Soc. 51 (1975), no. 1, 175–178.

[4] M. Dummett, Elements of intuitionism, second ed., Oxford, 2000.

[5] Herbert B. Enderton, Computability theory, Elsevier, 2011.

[6] M. Fourman and J. Hyland, Sheaf models for analysis, Applications of Sheaves (M. Four- man, C. Mulvey, and D. Scott, eds.), Lecture Notes in Mathematics, vol. 753, Springer, 1979, pp. 280–301.

[7] John W. Gray, Fragments of the history of sheaf theory, Applications of Sheaves (M. Fourman, C. Mulvey, and D. Scott, eds.), Lecture Notes in Mathematics, vol. 753, Springer-Verlag, 1979, pp. 1–79.

[8] P. T. Johnstone, Sketches of an elephant: A topos theory compendium, Oxford Logic Guides, vol. I and II, Oxford, 2002.

[9] A. N. Kolmogorov, On the interpretation of intuitionistic logic, Mathematische Zeitschrift 35 (1932), 58–65.

[10] J. Lambek and P. J. Scott, Introduction to higher-order categorical logic, Cambridge University Press, 1986.

[11] Saunders Mac Lane, Categories for the working mathematician, 2nd ed., Springer, 1998.

[12] Saunders Mac Lane and Ieke Moerdijk, Sheaves in geometry and logic, Springer-Verlag, 1992.

[13] Yu. T. Medvedev, Degrees of difficulty of the mass problem, Doklady Academii Nauk SSSR 104 (1955), 501–504.

[14] A. A. Muchnik, On strong and weak reducibility of algorithmic problems, Siberian Mathematical Journal 4 (1963), 1328–1341.

[15] J. Munkres, Topology, second ed., Prentice Hall, 2000.

[16] Hartley Rogers, Jr., Theory of recursive functions and effective computation, McGraw-Hill, 1967.

108 [17] D. S. Scott, Extending the topological interpretation to intuitionistic analysis, Compositio Mathematica 20 (1968), 194–210.

[18] , Extending the topological interpretation to intuitionistic analysis II, Intuitionism and Proof Theory, Studies in Logic and Foundations of Mathematics, North-Holland, 1970.

[19] , Identity and existence in intuitionistic logic, Applications of Sheaves (M. Fourman, C. Mulvey, and D. Scott, eds.), Lecture Notes in Mathematics, vol. 753, Springer, 1979, pp. 660–696.

[20] D. S. Scott and M. Fourman, Sheaves and logic, Applications of Sheaves (M. Fourman, C. Mul- vey, and D. Scott, eds.), Lecture Notes in Mathematics, vol. 753, Springer, 1979, pp. 302–401.

[21] S. G. Simpson, Degrees of unsolvability - lecture notes, http://www.math.psu.edu/simpson/ notes/dou.pdf.

[22] , Foundations of mathematics - lecture notes, http://www.math.psu.edu/simpson/ notes/fom.pdf.

[23] , Mathematical logic - lecture notes, http://www.math.psu.edu/simpson/notes/ logic.pdf.

[24] , Topics in logic and foundations - lecture notes, http://www.math.psu.edu/simpson/ notes/topics-s04.pdf.

[25] , Mass problems and randomness, The Bulletin of Symbolic Logic 11 (2005), no. 1, 1–27.

[26] , Mass problems and intuitionism, Notre Dame J. Formal Logic 49 (2008), no. 2, 127– 136.

[27] A. Sorbi and S. A. Terwijn, Intuitionistic logic and Muchnik degrees, arXiv:1003.4489v1 [math.LO] (2010).

[28] A. S. Troelstra, History of constructivism in the twentieth century, ITLI Prepublication Series ML-91-05 (1991).

[29] D. van Dalen, Intuitionistic logic, second ed., Handbook of Philosophical logic, vol. 5, ch. 1, Kluwer Academic, 2002.

[30] , Logic and structure, fourth ed., Springer, 2008.

[31] D. van Dalen and A. S. Troelstra, Constructivism in mathematics, an introduction, Studies in Logic and the Foundations of Mathematics, vol. I and II, North-Holland, 1988.

[32] M. A. Warren, Notes on sheaf semantics, 2010.

109 Vita

Sankha Subhra Basu

Born: July 6, 1980 in Calcutta (presently called Kolkata), India

Education

PhD August 2013 The Pennsylvania State University, University Park, PA. USA Thesis Advisor: Stephen G. Simpson

MS May 2008 Marquette University, Milwaukeee, WI. USA MSc 2004 University of Calcutta, Calcutta, India BSc 2002 University of Calcutta, Calcutta, India