How to construct the real numbers, starting from nothing but sets.
Constructing the Reals, part 4: Reals
At last, after all that work, we can finally make the real numbers out of rationals! This time, the method being used actually has a name; they’re called Dedekind cuts, after the mathematician Richard Dedekind, among the first mathematicians to actually give a rigorous definition of real numbers. One of the other methods is to simply define reals by their decimal expansion; this has the advantage of being simpler in some cases, but subtraction and division are much harder to define explicitly due to borrowing and the difficulty of explicitly dividing infinitely long numbers.
A real number is simply a nonempty set, A, of rational numbers with these properties:
- There is a rational number x not in A.
- If x is in A, and y < x, then y is in A.
- If x is in A, then there is some z also in A such that z > x.
We can then identify each rational q with the set of all rational x < q; this set is nonempty, it has a number not in it, if x < q and y < x, then y < q, and if x < q, then there is a z with x < z < q.
We first define comparison: A < B if and only if A is a subset of B. Addition is straightforward: A + B is just the set of all a + b, where a and b are in A and B. Subtraction is also fairly simple; define A – B to be the set of all a – b, where a < 0 and a is in A and b is in Q\B, the set of all rational numbers not in B. Negation is then just 0 – B. Multiplication is a little harder; if A and B are both non-negative, then AB is just the set of all x that are less than some ab for a, b > 0 and a, b in A, B respectively. On the other hand, if at least one of A and B is negative, we define AB = (-A)B = A(-B) = (-A)(-B) and use these relations to compute a positive product. Division is similar; for B > 0, define B-1 to be the set of all 1/b where b is nonzero and in Q\B, and define A/B to be AB-1. If B < 0, then B-1 = -(-B)-1 and A/B = A(-B)-1.
And there you have it; we now have enough structure to get the rest of the operations we have on the reals, such as exponentiation, logarithms, and functions. As an aside, Dedekind cuts technically consist of two sets, A and Z, with Z = Q\A, but Z is very rarely used, as it’s uniquely determined by A. On the other hand, the surreal numbers are defined via an analogous construction: each surreal corresponds to at least one ordered pair of sets of surreal numbers (L, R). However, the only requirement for surreals is that if x is in L and y is in R, then x < y. At first, this definition of surreals as sets of surreals appears to be circular; if we need surreals to make surreals, how can we make one? But I’ll leave that for you to ponder.
Constructing the Reals, part 3: Rationals
Sorry for the delay; physics camp has been killing me lately.
In the previous Constructing the Reals post, I derived the non-negative rationals from the natural numbers. Now we’ll finally get symmetry by adding negative number to get the signed rational numbers. The naive way to do so is to simply say that a signed rational number is a rational number with a sign. This does make multiplication easy, but it makes addition fairly difficult to define. So we take an alternative definition that makes addition, subtraction, and multiplication all easy; the only difficult part is division.
Define a signed rational number x as an ordered pair (|a|,|b|) of unsigned rational numbers, identifying the unsigned rational x with the signed rational (|x|, |0|). We define (|a|, |b|) = (|c|, |d|) if and only if |a| + |d| = |b| + |c|. Addition is simply pairwise: (|a|, |b|) + (|c|, |d|) = (|a| + |c|, |b| + |d|). Multiplication isn’t, however, but by analogy with algebra, we can easily guess that (|a|, |b|)(|c|, |d|) = (|a||c| + |b||d|, |a||d| + |b||c|). As it turns out, we can finally define subtraction as well: (|a|, |b|) – (|c|, |d|) = (|a|, |b|) + (|d|, |c|).
Division, however, is harder; we have to define it by saying that when |w/x| > |y/z|, the inverse of (|w/x|, |y/z|), written (|w/x|, |y/z|)-1, is equal to (|zx/(wz-xy)|, |0|), where we define a – b for non-negative integers a, b to be the unique integer c such that a = b + c (although I should probably prove that such a c exists, that’s not the point). On the other hand, if |w/x|< |y/z|, the inverse is (|0|, |zx/(xy-wz)|). If |w/x|= |y/z|, of course, then (|w/x|, |y/z|) has no inverse (since it would be like the inverse of 0). But using inverses, we can define x/y = x y-1. It can be shown that multiplication and addition under these definitions follow the rules you expect them to, as do addition and subtraction. In other words, they form what is called a field, which can be roughly defined as ‘anything with addition, subtraction, multiplication, and division that behave like they do for real numbers’. Other common fields are the complex numbers and the real numbers themselves, although there are obviously others.
Tomorrow, I’ll finally get to everyone’s favorite: the reals! And this time I mean it; I’ve got the post queued up in WordPress and everything. After that, I’ll show you a different method that both gets you to the reals faster (we get them all at once!) and extends them to both infinitely large and infinitely small numbers, and even numbers that are neither positive, negative nor zero. But that’ll have to wait, and with graduation and physics camp and everything, I don’t know when I’ll start on that series.
Constructing the Reals, part 2: Non-negative rationals
In my first post in the Constructing the Reals series, I explained how to create the natural numbers, such as 0, 7, and 23, using only sets, as well as define addition and multiplication. Now, using those tools, we can construct the (non-negative) rationals, like 11/8, 78/7, and 11/1. To avoid repetition, I’ll leave out the word non-negative in the rest of this post.
But first, we have to define an ordered pair, which is exactly what it sounds like. Formally, the ordered pair (a, b) is the set {{a}, {a, b}}. Using this definition, we distinguish the first part of the pair as the object in both sets and the second element as the object in only one set. We can now define the (non-negative) rational number |x/y|, with x and y natural numbers and y ? 0, as the set of ordered pairs of natural numbers (a, b) with� b ? 0 such that ay = bx. Obviously, this definition includes the ordered pair (x, y), since xy = yx. The reason for the bars is that I intend to use the general notation x/y for all rational numbers; they should not be confused with the absolute value operator.
Much like with the non-negative integers, now that we have the rationals, we need to define what you can do with them. Equality again is defined as being the same set; it’s not too hard to show then that |a/b| = |x/y| if and only if ay = bx. For addition and multiplication we basically pull the definition from how we ordinarily work with rationals: |a/b| < |x/y| if and only if ay < bx, |a/b| + |x/y| = |(ay + bx)/by|, and |a/b||x/y| = |(ax)/(by)|.� But we can now define a new operation that didn’t exist in the natural numbers: division. We just define it as usual: |a/b| / |x/y| = |a/b||y/x| = |ay/bx|. Again, these have the properties we usually associate with them.
Now that we have the rationals, the question arises: how do we place each one of the natural numbers as a rational? It turns out that the answer is simple: each natural number x is identified with the rational number |x/1|. If we do this, then 0 maps to |0/1|, which has the property that |a/b| + |0/1| = |(a1 + b0)/(b1)| = |a/b|: |0/1| is the additive identity. Similarly, 1 maps to |1/1|, which satisfies |a/b||1/1| = |(a1)/(b1)| = |a/b|; it’s the multiplicative identity. If you’re familiar with group theory, then the non-negative rationals as we’ve defined them form a group under multiplication with |0/1| excluded: closure is obvious, associativity follows from the associativity of natural number multiplication, since (|a/b||c/d|)|e/f| = |(ab)c/(de)f| = |a(bc)/x(yz)| = |a/b|(|c/d||e/f|), we just showed that |1/1| is an identity, and the inverse of |a/b| is |b/a|: |a/b||b/a| = |ab/ba| = |1/1|.
Strictly speaking, the standard method to construct the rationals from the natural numbers is to define an equivalence relation, ?, between ordered pairs (x, y) of natural numbers (again with y nonzero), and define rational numbers as equivalence classes of these ordered pairs (the equivalence class of an ordered pair (x, y) is the set of all pairs (a, b) with (a, b) ? (x, y)).� But that definition is essentially identical to the one I used. I will use this definition for negative numbers, to give you an idea of what it’s like, but that will have to wait until the next post! Your homework is to prove that multiplication of rational numbers distributes over addition.
Constructing the Reals, part 1: The natural numbers
We all work with real numbers every day, although different people use different subsets. Everybody uses the integers, numbers with no fractional part such as 2, -158, or 0, to count things out or to figure out how many minutes are left until a certain time. We also use rational numbers (which are fractions of integers such as -5/7 or 11/3 as well as the integers, since 11 = 11 / 1) when calculating prices: a price of $5.99 is the same as 599/100 dollars, and finding a 15% tip is the same as multiplying by 15/100. Mathematicians use real numbers, which are the rationals as well as the square root of 2 or ?, the ratio of the circumference of a circle to its diameter. But most people (including many mathematicians!) don’t really know what the reals are, only that they have certain properties. That’s what this series, ‘Constructing the Reals’, is about: constructing a solid definition of the real numbers starting with only the concept of sets, and in the process proving wrong the famous mathematician Leopold Kronecker, who once remarked that “God made the integers; all else is the work of man.” As we will see, even the integers are ‘the work of man’; God only made the empty set!
Of course, you can’t go straight from sets to real numbers; you have to make stops along the way. There are different orders in which various subsets of the reals can be constructed, but one common way is to start with the non-negative integers (usually, but not always!, called the natural numbers), then construct the non-negative rational numbers, then all rational numbers, and finally all real numbers. This is the path that I’ll take, with one construction per post.
A word of caution is required here: as we construct larger subsets of reals, the ‘same’ number will appear as different sets. For example, 0 is both the set {}, which contains nothing, and the set that contains all pairs of natural numbers where the first element is 0 and the second is not, such as (0, 2) or (0, 9). To avoid ambiguity, I’ll use subscripts on numbers to distinguish which is being considered: natural numbers will use ?, non-negative rationals will use ?+, general rationals will use ?, and the general real number will not use anything. The same convention applies for operations such as addition and comparisons like less than; <? refers to comparing natural numbers, as opposed to <?+ which compares non-negative rationals. It turns out equality is always the same, with two things being equal if and only if they have the same elements, so we don’t need a subscript for those. I’ll also leave out subscripts when there’s no danger of ambiguity. With that out of the way, let’s begin!
The concept of a set is hard to define exactly, but for our purposes we can define it as ‘a collection of other objects without repetition’. The simplest set is the set that contains nothing at all, the empty set, written as {} or ?. So we identify it with the simplest number, 0. The next simplest set is the set that contains the empty set, { {} }, which we call 1. But 2 is not the set that contains 1?, but rather the set containing both 0 and 1: 2 = {0, 1} = { {}, { {} } }. We continue to add more and more numbers like this, each one being the same as the set of all the numbers before it.
We now have the natural numbers, but we don’t yet know how to do anything with them. Equality is obvious: two numbers are equal if and only if they have the same elements in them. The next obvious operation is ‘less than’: we say x < y if and only if x is in y (or, in set-theory notation,
