# Hyperreal numbers

The hyperreal numbers or nonstandard reals (usually denoted as *R or *ℝ) are an extension of the real numbers R that adds infinitely large as well as infinitesimal numbers to R. These new numbers are very useful in presenting nonstandard analysis which, for many, is more intuitive than standard real analysis. When Isaac Newton and Gottfried Leibniz introduced differentials, they used infinitesimals and these were still regarded as useful by Leonhard Euler and Augustin Louis Cauchy. Nonetheless these concepts were from the beginning seen as suspect and when in the 1800's calculus was put on a firm footing through the development of the epsilon-delta definition of a limit by Augustin Louis Cauchy, Karl Weierstrass and others, they were largely abandoned.

However, in the 1960s Abraham Robinson showed how infinitely large and infinitesimal numbers can be rigourously defined and developed what is called nonstandard analysis. Because his theory in its full-fledged form makes unrestricted use of classical logic and set theory and, in particular, of the axiom of choice, it is suspected to be nonconstructive from the outset. The construction given below is a simplified version of Robinson's more general construction and is due to Lindstrom.

The hyperreals *R form a ordered field containing the reals R as a subfield. Unlike the reals, the hyperreals do not form a metric space, but by virtue of their order they carry an order topology.

The hyperreals are defined in such a way that every first-order logic statement that uses basic arithmetic (the natural numbers, plus, times, comparison) and quantifies only over the real numbers is also true if we presume that they quantify over hyperreal numbers. For example, we can state that for every real number there is another number greater than it:

forall x in R : exist y in R : x < y

The same will then also hold for hyperreals:

forall x in *R : exist y in *R : x < y

Another example is the statement that if you add 1 to a number you get a bigger number:

forall x in R : x < x + 1

which will also hold for hyperreals:

forall x in *R : x < x + 1

This however doesn't mean that R and *R behave the same. For instance, in *R there exists an element w such that

1<w, 1+1<w, 1+1+1<w, 1+1+1+1<w, ...

but there is no such number in R. This is possible because the nonexistence of this number cannot be expressed as a first order statement of the above type. A hyperreal number like w is called infinitely large; the reciprocals of the infinitely large numbers are the infinitesimals.

We are going to construct the hyperreals via sequences of reals. This is nice, because we can immediately identify the real number r with the sequence (r, r, r, ...) and we can also add and multiply sequences: (a0, a1, a2, ...) + (b0, b1, b2, ...) = (a0 + b0, a1 + b1, a2 + b2, ...) and analogously for multiplication. An infinitely large number w can be defined as (1, 2, 3, 4, 5, ...).

We also need to be able to compare sequences, and there we run into trouble: some entries of the first sequence may be bigger than the corresponging entries of the second sequence, and some others may be smaller. We have to specify "which positions matter". This is done with a free ultrafilter U on the natural numbers which does not contain any finite sets. Such an U exists by the axiom of choice. (In fact, there are many such U, but it turns out that it doesn't matter which one we take.) We think of U as singling out those sets of indices that "matter": We write (a0, a1, a2, ...) ≤ (b0, b1, b2, ...) if and only if the set of natural numbers { n : anbn } is in U. This is a total preorder and it turns into a total order if we agree not to distinguish between two sequences a and b if ab and ba. With this identification, the ordered field *R of hyperreals is constructed.