This page gives an elementary description of the locale of real numbers, that is the localic real line. The development is manifestly constructive and even predicative over the natural numbers (although we are somewhat careless with the language and do not always point out when a set may predicatively be a proper class). Ideally, we will show that our construction satisfies the seven ‘headline properties’ of the real line described by Bauer & Taylor (although so far we cover only the Heine–Borel theorem).
The exposition here is pretty much my own work, although of course the basic ideas are well known to many. In particular, the technical zigzag lemma is mine (but it is not a very deep result!).
To describe the locale of the real numbers, we need first of all to describe what an open in the real line is. The key insight is that an open set is determined by the open intervals of rational numbers that it contains. This is analogous to the key insight of Richard Dedekind's definition of real number: that a point in the real line is determined by which open intervals of rational numbers that it belongs to. (Once you're talking about rational numbers, things are manageable.)
An open in the real line is a binary relation ${\sim}$ on the rational numbers that satisfies the four properties listed below. Intuitively, we have $a \sim b$ iff the open interval $(a,b)$ is contained in the corresponding open set.
If we suggestively formally write $(a, b) \subseteq U_\sim$ for $a \sim b$, and $(a, b) \subseteq (c, d)$ for $c \leq a$ and $b \leq d$, then these say
Property (1) is motivated because $(a,b)$ is empty whenever $a \geq b$. Property (2) is motivated because inclusion is transitive. Property (3) is motivated because if $c \lt b$, then $(a, d) = (a, b) \cup (c, d)$. Property (4) is motivated because $\bigcup_{(b, c) \subsetneq (a, d)} (b, c) = (a, d)$.
The really interesting property is property (3). It in fact generalises as follows:
then $a_1 \sim b_n$.
We call the combined hypothesis of this property a zigzag; each hypothesis $a_i \sim b_i$ is a zig, and each hypothesis $b_i \gt a_{i^+}$ is a zag. To indicate the length of a zigzag, we will count the zigs; the zigzag (1) has $n$ zigs (and $n - 1$ zags). A typical nondegenerate zigzag with $3$ zigs is shown below; it consists of $3$ overlapping open intervals, each of which belongs to a given open set; we are motivated to conclude that the entire interval from $a_1$ to $b_3$ belongs to that open set.
Thus the zigzag property for $n = 2$ is property (3), the zigzag property for $n = 1$ is trivial (if $a \sim b$, then $a \sim b$), and the zigzag property for $n \gt 2$ may be proved by induction. (There is also a sense in which the zigzag property for $n = 0$ is property (1), but I haven't quite got my head around that. It would be awesome if the zigzag property for $n = \infty$ could be interepreted as property (4), but that seems unlikely so far.)
If $G$ is an open in the real line, then we write $(a,b) \subseteq G$ to mean that $a$ is related to $b$ through $G$ and say that $G$ contains the interval from $a$ to $b$.
We will often have occasion to consider a zigzag as in (1), but where the various zigs are taken relative to different opens. Nevertheless, we will usually want to say something about the relationship of $a_1$ to $b_n$, and it will often be convenient to assume, for all $i$, that $a_1 \leq a_i$ and $b_i \leq b_n$. We may do so without loss of generality as follows: consider the smallest value of $i$ such that $b_i \geq b_n$, truncate the zigzag so that it now has only $i$ zigs, and change the new endpoint $b_i$ to the old endpoint $b_n$. The final zig $(a_i,b_i) \subseteq G_i$ becomes $(a_i,b_n) \subseteq G_i$, which will hold by property (2) since $b_i \geq b_n$. Now consider the largest value of $j \leq i$ such that $a_1 \geq a_j$, and truncate similarly on the other side. We now have a zigzag with $i - j + 1$ zigs that never falls below $a_1$ on a zag nor rises above $b_n$ on a zig.
To be precise:
Given a collection $\mathcal{C}$ of opens and a zigzag in which each zig holds relative to some open in $\mathcal{C}$, there exists a zigzag (1) in which each zig holds relative to some open in $\mathcal{C}$, $a_1 \leq a_i$ for each $i$, and $b_i \leq b_n$ for each $i$.
(Since each $b_i \gt a_{i^+}$, it follows further that $a_i \lt b_n$ for each $i \gt 1$ and $a_1 \lt b_i$ for each $i \lt n$, although this corollary doesn't seem to be particularly useful.)
At the moment, this lemma is used only in the proof of the infinite distributivity law.
The opens form a sub-poset of the power set $\mathcal{P}(\mathbb{Q} \times \mathbb{Q})$. This poset is in fact a frame, as we will now show. (It is not a subframe of the power set, since the joins are different. It is a sub-inflattice of the power set, although this seems to be a red herring at least for infinitary meets, since those are not part of the frame structure that we need.)
The top open, denoted $\mathbb{R}$, is the binary relation which is always true. Given two opens $G$ and $H$, their meet in the poset of opens, denoted $G \cap H$, is simply their conjunction, that is their intersection as subsets of $\mathbb{Q} \times \mathbb{Q}$. (In fact, given any collection of opens, their meet is their conjunction.) It is straightforward to check that $\mathbb{R}$ and $G \cap H$ are opens and to prove that these are the desired meets. Intuitively, this all works because an open interval will be contained in the intersection of a family of open sets if and only if it is contained in each individual open set.
The bottom open, denoted $\empty$, is the binary relation $\geq$. That is, $(a,b) \subseteq \empty$ iff $a \geq b$. It is easy to check that this is an open; it precedes every open by property (1). Intuitively, this corresponds to the empty subset of the real line; $(a,b)$ is empty if and only if $a \geq b$. However, note that $\empty$ is not the empty subset of $\mathbb{Q} \times \mathbb{Q}$; the notation follows our topological intuition rather than the algebra of relations.
Given two opens $G$ and $H$, their join in the poset of opens, denoted $G \cup H$, is defined as follows: $(a,b) \subseteq G \cup H$ if and only if there exists a zigzag (1) with $a = a_1$ and $b = b_n$ in which each zig is of the form $(a_i,b_i) \subseteq G$ or $(a_i,b_i) \subseteq H$. It is immediate that this is an open in which $G$ and $H$ are both contained. Conversely, any open in which $G$ and $H$ are contained must contain this open $G \cup H$, by property (3).
More generally, given any family $(G_k)_k$ of opens, their join in the poset of opens, denoted $\bigcup_k G_k$, is defined as follows: $(a,b) \subseteq \bigcup_k G_k$ if and only if $a \geq b$ or there exists a zigzag (1) with $a = a_1$ and $b = b_n$ in which each zig is of the form $(a_i,b_i) \subseteq G_k$ for some $k$. (We can leave out the $a \geq b$ clause if the family is inhabited.) The same argument applies as before. Note that each individual zigzag has finitely many zigs, and therefore involves finitely many of the opens $G_k$, even when taking the join of an infinite family.
Finally, we must check the distributive law $G \cap \bigcup_k H_k \subseteq \bigcup_k (G \cap H_k)$. That is, if $a \sim b$ directly through $G$ and $a \sim b$ through a zigzag of $H$s (or $a \geq b$), then we need that $a \sim b$ through a zigzag in which each zig is related both through $G$ and through some $H$ (or $a \geq b$). To prove this (ignoring the trivial case where $a \geq b$), start with the zigzag of $H$s, and apply the zigzag lemma to get a zigzag of $H$s in which each zig involves values bounded by $a$ and $b$. Then these zigs hold for $G$ as well, by property (2). Therefore, we may interpret each zig using $G \cap H_k$ for some $k$, proving the desired result.
This frame of opens, interpreted as a locale, is the locale of real numbers. As usual, we denote this locale with the same symbol as the top element of its frame, in this case $\mathbb{R}$. (Of course, the true etymology of the symbols runs in the other order.)
Given rational numbers $a$ and $b$, the open interval $(a,b)$ may itself be interpreted as an open in the real line, also denoted $(a,b)$, as follows: let $(c,d) \subseteq (a,b)$ hold if every rational number strictly between $c$ and $d$ (in that order) is also strictly between $a$ and $b$ (in that order). In other words, we interpret ‘${\subseteq}$’ literally as comparing subsets of $\mathbb{Q}$. It is straightforward to check that this condition does indeed define an open. There is now a third way to interpret ‘$(c,d) \subseteq (a,b)$’; interpreting both intervals as opens in the real line, this states that the first is contained in the second. But again, it is easy to check that this is equivalent; $(c,d) \subseteq (a,b)$ (in the set-theoretic sense) if and only if $(e,f) \subseteq (a,b)$ whenever $(e,f) \subseteq (c,d)$. Notice that $(a,b) = \empty$ whenever $a \geq b$.
We can actually generalise this somewhat. Given any set $L$ of rational numbers and any set $U$ of rational numbers, we may define the open $(\inf U, \sup L)$ as follows: let $(a,b) \subseteq (\inf U, \sup L)$ hold if every rational number strictly between $a$ and $b$ (in that order) is greater than some element of $U$ and less than some element of $L$. If the infimum of $U$ and the supremum of $L$ exist in the usual sense as rational numbers, then this agrees with the previous paragraph. If instead $U$ or $L$ is the set of all rational numbers, then we write $-\infty$ for $\inf U$ or $\infty$ for $\sup L$. In general, we may interpret $\inf U$ as an extended upper real and $\sup L$ as an extended lower real. Classically, every extended upper or lower real is either a real number, $-\infty$, or $\infty$; only the converse holds constructively. Notice that $(-\infty,\infty) = \mathbb{R}$.
Since we will refer to them below, we will state for the record the complete definitions of $(-\infty,a)$ and $(a,\infty)$ for a rational number $a$. We have $(b,c) \subseteq (-\infty,a)$ iff every rational number strictly between $b$ and $c$ is less than $a$, that is iff $b \geq c$ or $c \leq a$. Similarly, we have $(b,c) \subseteq (a,\infty)$ iff every rational number strictly between $b$ and $c$ is greater than $a$, that is iff $b \geq c$ or $b \geq a$. A fortiori, $(b,c) \subseteq (-\infty,0)$ if $c = 0$, and $(b,c) \subseteq (1, \infty)$ if $b = 1$.
We think of each open as defining an open subset of the real line, but we can equally well think of it as defining a closed subset. The difference between these perspectives is reflected in complementary criteria for when a real number belongs to the set. So to make sense of this, we must identify the points of the real line.
Recall that a real number may be defined as a pair $(L,U)$ of inhabited subsets of $\mathbb{Q}$ satisfying the following properties:
We define a point of the real line to be a real number in this sense. Given such a point $x = (L,U)$ and a rational number $a$, we write $a \lt x$ to mean that $a \in L$ and $a \gt x$ to mean that $a \in U$. If we wish to refer to $L$ and $U$ directly, we may call $L$ the lower set of $x$ and $U$ the upper set.
Given a point $x$ and an open $G$, we say that $x$ belongs to $G$, written $x \in G$, if $(a,b) \subseteq G$ for some $a \lt x$ and $b \gt x$; that is, $G$ contains an interval from some element of the lower set to some element of the upper set of $x$. We have $x \in \mathbb{R}$ since its lower and upper sets are inhabited. If $x \in G$ and $x \in H$, with $(a,b) \subseteq G$ and $(c,d) \subseteq H$, then $\big(\max(a,c), \min(b,d)\big) \subseteq G \cap H$, so $x \in G \cap H$; note that this argument fails for infinitary intersections. (The converse, that $x \in G$ and $x \in H$ if $x \in G \cap H$, is immediate.) Dually, suppose that $x \in \bigcup_k G_k$, as shown by some zigzag (since $a \geq b$ is impossible when $a \lt x$ and $b \gt x$, by 3). Applying condition (4) of the definition of real number to each zag, we have $a_{i^+} \lt x$ or $b_i \gt x$, for each $i \lt n$. Checking all $2^{n-1}$ possibilities, and knowing that $a_1 \lt x$ and $b_n \gt x$ in any case, we must have $a_i \lt x$ and $b_i \gt x$ for some $i$. Then we have $x \in G_k$ for some $k$, whichever corresponds to the $i$th zig. (The converse, that $x \in \bigcup_k G_k$ if $x \in G_k$ for some $k$, is immediate.)
Therefore, each point defines a completely prime filter on the frame of all opens, which is the definition of a point in general locale theory. Conversely, given such a completely prime filter $P$, let $L$ be the set of all rational numbers $a$ such that the open interval $(a, \infty)$ (when interpreted as an open in the real line as defined above) is in $P$, and symmetrically let $U$ be the set of all $a$ such that $(-\infty, a) \in P$.
Given a point $x$ and an open $G$, we say that $x$ co-belongs to $G$, written $x \notin G$, if we never have $a \lt x$, $b \gt x$, and $(a,b) \subseteq G$, which is precisely the negation of the property that $x \in G$. We think of this condition as defining a closed set to which $x$ does belong. Notice that $x \notin \bigcup_k G_k$ if and only if $x \notin G_k$ for each $k$, giving the desired behaviour for an arbitrary intersection of closed sets (which corresponds to union of open sets under de Morgan duality). We also have that $x \notin \mathbb{R}$ always fails, and $x \notin G \cap H$ if $x \notin G$ or $x \notin H$. To prove that $x \notin G$ or $x \notin H$ whenever $x \notin G \cap H$, however, we must use excluded middle; constructively, closed sets don't behave well under union.
A related question is whether we can reconstruct $G$ from the set of points which belong to it. This should be equivalent to the fan theorem, which is classically true and also accepted by Brouwer's school of intuitionism, but refuted in the Russian school in which all real numbers are assumed to be computable. (I should check this.) Arguably, the real lesson of these logical technicalities is that we should remember that opens, not points, are the fundamental concept in a locale.
The classical Heine–Borel theorem, as a statement about sets of real numbers, may fail constructively; this is related to the comments above about the fan theorem. But the beauty of the localic approach is that Heine–Borel necessarily holds when interpreted as a statement about opens in the locale of real numbers. To state the theorem, we must define what it means for a collection of opens to cover the unit interval. We will give an ad-hoc definition, but this may also be derived from the general theory of closed sublocales which allows us to interpret the unit interval as a compact locale in its own right.
An open cover of the unit interval is a collection $\mathcal{C}$ of opens in the real line such that $\mathbb{R}$ is the join of $(-\infty,0)$, $(1,\infty)$, and the elements of $\mathcal{C}$.
(Heine–Borel)
Every open cover of the unit interval has a finite subcover.
The proof is almost embarrassingly simple. The key point is that the construction of joins in terms of zigzags involves only finite zigzags, even for an infinitary join.
Let $J$ be the join of $(-\infty,0)$, $(1,\infty)$, and the elements of $\mathcal{C}$. If this equals $\mathbb{R}$, then in particular $(-1,2) \subseteq J$, a fact which is given by some zigzag $\zeta$. This zigzag involves only finitely many of the elements of $\mathcal{C}$; let $\mathcal{D}$ be the collection of these, and let $K$ be the join of $(-\infty,0)$, $(1,\infty)$, and $\mathcal{D}$. Now if $(a,b)$ is any pair of rational numbers, we construct a zigzag showing that $(a,b) \subseteq K$ as follows: the zig $(a,0) \subseteq (-\infty,0)$, the zag $0 \gt -1$, the zigzag $\zeta$ from $-1$ to $2$, the zag $2 \gt 1$, and the zig $(1,b) \subseteq (1,\infty)$. This is always a valid zigzag, so $K = \mathbb{R}$. Therefore, the finite collection $\mathcal{D}$ covers the unit interval.
This proof generalises immediately to any closed interval $[a,b]$, for $a$ any upper real and $b$ any lower real. But note that we do not say ‘extended’ here; we need to find some rational number (analogous to $-1$ in the proof above) smaller than $a$ and some rational number (analogous to $2$ above) larger than $b$. So the Heine–Borel theorem applies only to bounded closed intervals.
The locale of real numbers is the classifying locale of the geometric theory of Dedekind real numbers.
There are two general ways to define functions on the locale of real numbers, via the rational numbers and via the Dedekind real numbers.
The first approach uses existing functions already defined on the rational numbers $\mathbb{Q}$. Suppose that one has a locally uniformly continuous function $f:\mathbb{Q} \to \mathbb{Q}$. Then one could extend $f$ to a continuous map $f':\mathbb{R} \to \mathbb{R}$ on the locale of real numbers.
The other approach is via using existing functions defined on the Dedekind real numbers $\mathbb{R}$. In particular, given any well-defined continuous function $x \mapsto f(x)$ on the Dedekind real numbers, and a geometric morphism $F:\mathrm{Set} \to \mathrm{Sh}(\mathbb{R}_D)$ from Set to the sheaf topos $\mathrm{Sh}(\mathbb{R}_D)$, if for all Dedekind real numbers $x \in \mathbb{R}_D$, $f(F^*(x)) = F^*(f(x))$, then the function $x \mapsto f(x)$ lifts to a function $x \mapsto f'(x)$ on the locale of real numbers.
This allows us to first define real-valued functions normally on the set of Dedekind real numbers, and then lift them up to a real-valued function on the locale of real numbers, thus allowing us to define functions such as the exponential function, the sine, and the cosine which can’t be directly defined using functions on the rational numbers.
Significantly, since the field operations on the discrete locale of rational numbers are all locally uniformly continuous on the $\mathbb{Q}$, and the field operations are well-defined and continuous on the Dedekind real numbers $\mathbb{R}_D$, the field operations in both cases lift up to a field structure on the locale of real numbers, allowing one to do basic arithmetic on $\mathbb{R}$.
The locale of real numbers as the classifying locale of the geometric theory of two-sided Dedekind cuts is described in section 2.2 of:
An (impredicative) construction of the locale of real numbers can be found in section 5.3 of:
On lifting functions from the Dedekind real numbers to the locale of real numbers, see:
Madeleine Birchfield, Simon Henry, The field structure on the locale of real numbers, (MathOverflow)
Valery Isaev, Simon Henry, Locallic maps given by series (MathOverflow)
Last revised on November 17, 2022 at 23:21:33. See the history of this page for a list of all contributions to it.