Ultrafilters VI.b: Hyperreals

In a recent post, we considered the history of the infinitesimal in calculus, from its central and controversial role in the original formulations of Newton and Leibniz to its banishment in the 19th century through the introduction of the limit. Today, we move forward to the mid-20th century, when the use of infinitesimals in calculus was finally put on a rigorous (and elegant) foundation by Abraham Robinson and his development of what came to be known as non-standard analysis.

Abraham Robinson

The basic idea is as follows: first, we will construct an extension of the standard real numbers, which will be called the “hyperreals.” The hyperreals will contain all of the standard real numbers but will also contain infinitesimal and infinite elements. Then, to perform basic calculus computations (such as taking derivatives), we will make use of the infinitesimals in the hyperreals and then translate the result back to the familiar world of the standard real numbers.

Let us now construct the hyperreals, which we denote by \mathbb{R}^*. To do this, let \mathcal{U} be any non-principal ultrafilter on \mathbb{N}. Let X be the set of all functions from \mathbb{N} to \mathbb{R}. If f and g are elements of X, then we say f =_{\mathcal{U}} g if f and g take the same values on a large set, or, to be more precise, if \{n \in \mathbb{N} \mid f(n) = g(n)\} \in \mathcal{U}.

Speaking somewhat imprecisely, the hyperreals are the members of X, where we say that two elements f,g \in X are in fact the same hyperreal if f =_\mathcal{U} g. (Speaking more precisely for those familiar with the terminology, the hyperreals are the equivalence classes of X modulo the equivalence relation =_{\mathcal{U}}.) We want to think of the hyperreals as extending the standard reals, \mathbb{R}, so, if r \in \mathbb{R}, then we identify r with the constant function f_r:\mathbb{N} \rightarrow \mathbb{R}, defined so that f_r(n) = r for all n \in \mathbb{N}.

We also want to be able to do everything with \mathbb{R}^* that we can do with \mathbb{R}. For example, we want to be able to say if one hyperreal is less than another, and we want to be able to add, subtract, multiply, and divide hyperreals. We do this as follows.

First, for f,g \in X, we say f <_{\mathcal{U}} g if \{n \in \mathbb{N} \mid f(n) < g(n)\} \in \mathcal{U}. We similarly define f \leq_{\mathcal{U}} g, f \geq_{\mathcal{U}} g, and f >_{\mathcal{U}} g. Since \mathcal{U} is an ultrafilter, if f,g \in X, then exactly one of the following three statements is true:

  • f <_{\mathcal{U}} g
  • f =_{\mathcal{U}} g
  • f >_{\mathcal{U}} g

Thus, we can order the hyperreals by \leq_{\mathcal{U}} (we haven’t shown that \leq_\mathcal{U} is in fact a linear ordering on the hyperreals; one piece of this will be done below and the rest left to you). Moreover, this ordering extends the usual ordering  \leq of the real numbers, since, if r,s \in \mathbb{R} and r < s, then clearly f_r <_{\mathcal{U}} f_s.

The arithmetic operations are defined pointwise. For example, f+g is defined to be the function from \mathbb{N} to \mathbb{R} such that, for all n \in \mathbb{N}, (f+g)(n) = f(n) + g(n). Subtraction, multiplication, and division are defined in the same way. With division, we must be slightly careful with regards to division by zero. The details are unimportant for us, but let me just say that we can define the quotient f/g for any f,g \in X provided that g \neq_{\mathcal{U}} 0. In order to check that these operations are in fact well-defined, we would need to show, for instance, that, if f_0 =_{\mathcal{U}} f_1 and g_0 =_{\mathcal{U}} g_1, then f_0 + g_0 =_{\mathcal{U}} f_1 + g_1, and so on. I will leave this to the interested reader.

Here’s another imprecisely stated and important fact about the relationship between \mathbb{R} and \mathbb{R}^*: a first-order sentence is true about \mathbb{R} if and only if it is true about \mathbb{R}^*. I will not define ‘first-order sentence’ here, but let me illustrate this by an example. We know that \leq, the usual ordering of the real numbers, is transitive, i.e. if r \leq s and s \leq t, then r \leq t (in fact, transitivity is one of the requirements for being called an ‘ordering’). Let us show that \leq_{\mathcal{U}} is also transitive.

To do this, consider f,g,h \in X such that f \leq_{\mathcal{U}} g and g \leq_{\mathcal{U}} h. We must show that  f \leq_{\mathcal{U}} h. Let Y_0 = \{n \in \mathbb{N} \mid f(n) \leq g(n)\} and Y_1 = \{n \in \mathbb{N} \mid g(n) \leq h(n)\}. Since f \leq_{\mathcal{U}} g and g \leq_{\mathcal{U}} h, we know that both Y_0 and Y_1 are in \mathcal{U}. Since \mathcal{U} is an ultrafilter, this means that Y_0 \cap Y_1 \in \mathcal{U}. If n \in Y_0 \cap Y_1, then f(n) \leq g(n) and g(n) \leq h(n), so, by the transitivity of \leq, we have f(n) \leq h(n). Let Y_2 = \{n \in \mathbb{N} \mid f(n) \leq h(n)\}. We have shown that Y_0 \cap Y_1 \subseteq Y_2 and Y_0 \cap Y_1 \in \mathcal{U}. Therefore, Y_2 \in \mathcal{U}, so f \leq_{\mathcal{U}} h.

Here’s a slightly more complex example: ‘for every x, if x \geq 0, then there is y such that y^2 = x.’ This is of course true in \mathbb{R}. To show that it is true in \mathbb{R}^*, suppose we are given f such that f \geq_{\mathcal{U}} f_0. We must find g such that g^2 =_{\mathcal{U}} f. Note that, since f \geq_{\mathcal{U}} f_0, there is a set A \in \mathcal{U} such that, for every n \in A, f(n) \geq 0. Thus, by the existence of square roots in \mathbb{R}, for every n \in A, there is a real number r_n such that r_n^2 = f(n). Define a function g:\mathbb{N} \rightarrow \mathbb{R} by letting g(n) = r_n for n \in A and g(n) = 0 for n \not\in A. Then, for all n \in A, g(n)^2 = f(n), so g^2 =_{\mathcal{U}} f, and we have proven that our sentence is true in \mathbb{R}^*.

In addition to containing all of \mathbb{R}, \mathbb{R}^* also contains many non-standard elements, and among these are two very interesting types of hyperreals. First, \mathbb{R}^* contains infinite elements, i.e. elements that are larger in magnitude than every standard real number. As an example, consider the function f \in X defined by f(n) = n for all n \in \mathbb{N}. To see that f is larger than every standard real number, consider a number r \in \mathbb{R}, and let m be the least natural number such that r < m. Then, for every natural number n \geq m, f(n) > f_r(n). Since \mathcal{U} is a non-principal ultrafilter, \{n \in \mathbb{N} \mid n \geq m\} \in \mathcal{U}, so f >_{\mathcal{U}} f_r. Such an f is a positive infinite element. Analogously, \mathbb{R}^* also contains negative infinite elements.

Second, \mathbb{R}^* contains infinitesimal elements, elements that are non-zero but are smaller in magnitude than any standard real number. An easy way to see this is simply to take the reciprocal of an infinite element: if f is positive and infinite, then 1/f (or f_1/f, more precisely) is positive and smaller than any positive real number. If f is the infinite element defined above, then 1/f is the function g \in X defined by g(n) = 1/n for all n \in \mathbb{N}.

An important fact about \mathbb{R}^* is that, although it contains many non-standard elements, every hyperreal is either infinite or infinitely close to a standard real number (where we say that a hyperreal f is infinitely close to a hyperreal g if f-g is either 0 or infinitesimal). We can therefore define the standard part of a hyperreal f (denoted by st(f)) as follows:

  • if f is positive and infinite, then st(f) = \infty;
  • if f is negative and infinite, then st(f) = -\infty;
  • if f is finite, then st(f) is the unique r \in \mathbb{R} such that f-f_r is 0 or infinitesimal.

We are now ready to do calculus with infinitesimals! Let us show, for example, how to compute a derivative. Recall that, in its original formulation, the derivative of a function F at a real number x (denoted F'(x)) was defined to be:


where h is infinitesimal. Now that we have a solid theory of infinitesimals, this is (almost) exactly the formula we will use! The only issue is that the result of this calculation will be a hyperreal, whereas we typically want answers in the standard real numbers. Therefore, we say that F'(x), if it exists, is equal to:

st(\frac{F(f_x + h) - F(f_x)}{h}),

where h is an infinitesimal hyperreal. To illustrate this, let’s compute the derivative of F(x) = x^2. Let h be an infinitesimal hyperreal (for example, the function given by h(n) = 1/n. Then:

st(\frac{F(f_x+h)-F(f_x)}{h}) =

st(\frac{(f_x+h)^2-f_x^2}{h}) =

st(\frac{f_x^2 + 2f_xh + h^2 - f_x^2}{h}) =

st(\frac{2f_xh+h^2}{h}) =


Since h is infinitesimal, we have st(2f_x+h) = 2x, so, as expected, F'(x) = 2x.

The astute reader will note that the calculation we have done does not differ substantially from the calculation we would have carried out using the limit definition of the derivative. Although non-standard analysis has led to some new technical work, its appeal is in large part historical (setting the original formulations of Newton, Leibniz, and others on a rigorous foundation) and conceptual. Infinitesimals are (to me, at least) just nicer than limits. They seem more intuitively clear; they are more easily graspable by students; they’re more fun. And they’re made possible by the heroes of our story: ultrafilters.



2 thoughts on “Ultrafilters VI.b: Hyperreals

  1. I have a question about your description of the Standard Part function. I’ve usually seen it described as only being defined for finite Hyperreals, such that infinite Hyperreals do not have any standard part. What would it mean to say that st(h)=∞? Shouldn’t the standard part of a Hyperreal be a Real?


    1. Yes, you’re certainly right that the standard part function is usually only defined on the finite hyperreals. This is certainly the more principled approach, and probably the one I should have taken as well. I am just using \mathrm{st}(h) = \infty to stand for the assertion that h is a positive, infinite hyperreal. This is a natural way to extend the standard part function to the entire hyperreals. This extended function loses some of the nice properties of the finite standard part function (it no longer really makes sense to talk about it as a ring homomorphism, for example), but this went beyond the scope of my post. One very modest benefit we get from extending the standard part function to infinite hyperreals is that it makes precise the intuition that, for example, the derivative of the function f(x) = x^{1/3} at x=0 is positive and infinite.

      Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s