The hyperreals can be developed either axiomatically or by constructive methods. The essence of the axiomatic approach is to assert (1) the existence of at least one infinitesimal number, and (2) the validity of the transfer principle. In the following subsection we give a detailed outline of a more constructive approach. This method allows one to construct the hyperreals if given a set-theoretic object called an
ultrafilter, but the ultrafilter itself cannot be explicitly constructed.
From Leibniz to Robinson When
Newton and (more explicitly)
Leibniz introduced differentials, they used infinitesimals and these were still regarded as useful by later mathematicians such as
Euler and
Cauchy. Nonetheless these concepts were from the beginning seen as suspect, notably by
George Berkeley. Berkeley's criticism centered on a perceived shift in hypothesis in the definition of the derivative in terms of infinitesimals (or fluxions), where
dx is assumed to be nonzero at the beginning of the calculation, and to vanish at its conclusion (see
Ghosts of departed quantities for details). When in the 1800s
calculus was put on a firm footing through the development of the
(ε, δ)-definition of limit by
Bolzano, Cauchy,
Weierstrass, and others, infinitesimals were largely abandoned, though research in
non-Archimedean fields continued (Ehrlich 2006). However, in the 1960s
Abraham Robinson showed how infinitely large and infinitesimal numbers can be rigorously defined and used to develop the field of
nonstandard analysis. Robinson developed his theory
nonconstructively, using
model theory; however it is possible to proceed using only
algebra and
topology, and proving the transfer principle as a consequence of the definitions. In other words hyperreal numbers
per se, aside from their use in nonstandard analysis, have no necessary relationship to model theory or first order logic, although they were discovered by the application of model theoretic techniques from logic. Hyper-real fields were in fact originally introduced by
Hewitt (1948) by purely algebraic techniques, using an ultrapower construction.
Model-theoretic construction We begin with a language which contains a constant symbol c_r for every standard real number r, a function symbol f_F for every n-ary function F on the standard real numbers, and a predicate symbol P_R for every relation R on the real numbers. Construct a
model, called \mathfrak{R}, whose universe is \R, and we interpret each symbol in the obvious way (i.e. c_r^{\mathfrak{R}}=r, f_F^\mathfrak{R}=F, P_R^\mathfrak{R} = R). Consider the
theory \text{Th}\mathfrak{R}, that is, the set of all
sentences true in \mathfrak{R}. This theory is complete, which is to say, for every
formula \phi, either \phi or \neg\phi is an element of \text{Th}\mathfrak{R}. Further, \text{Th}\mathfrak{R} contains every fact that is expressible about any function or relation on the real numbers in a
first-order sentence. We now will augment this theory with a set of formulas, \Sigma = \{c_r P_; where each individual formula is essentially saying that v_1 is greater than some standard real number r. Now, the set of sentences \text{Th}\mathfrak{R}\cup\Sigma is finitely satisfiable - in particular, this satisfaction can be achieved for any finite fragment of that set by simply assigning v_1 a sufficiently high value. Thus, by the
compactness theorem, it is satisfiable in some structure \mathfrak{A}. Note first that because \text{Th}\mathfrak{R} is complete, \mathfrak{A}\equiv\mathfrak{R} (\mathfrak{A} is
elementarily equivalent to \mathfrak{R}). Since every sentence or its negation is an element of \text{Th}\mathfrak{R}, every sentence true in \mathfrak{R} holds in \mathfrak{A}, and vice versa. However, \mathfrak{A}\not\cong\mathfrak{R}, because, by construction, there exists an element of \mathfrak{A} that is greater than every element of \mathfrak{R}, which is to say, is greater than any standard real and so infinite. However, the function h(r)=c_r^\mathfrak{A} that takes each standard real to the interpretation of its corresponding constant symbol in \mathfrak{A} is an isomorphic embedding. So, in our final step, we utilize the fact that there is an isomorphic embedding of \mathfrak{R} into \mathfrak{A}, and we'll simply replace, for each standard real number r, the interpretation of c_r in \mathfrak{A} by r, fixing the interpretations of various function and predicate symbols accordingly. This gives us a structure *\mathfrak{R}, which is isomorphic to \mathfrak{A}, and which represents the hyperreal numbers. The transfer principle follows straightforwardly from this definition - it simply utilizes the fact that the structures \mathfrak{R} and *\mathfrak{R} are elementarily equivalent. While the construction of *\mathfrak{R} does not explicitly mention infinitesimals, it is possible, in \mathfrak{R}, to express the fact that every non-zero number has a multiplicative inverse by way of a first order sentence, namely: :\forall x \exists y \{x \neq c_0 \rightarrow f_{\times}xy=c_1\}. Accordingly, this sentence must hold true in *\mathfrak{R} by construction. So the infinite elements of *\mathfrak{R} must have multiplicative inverses. These multiplicative inverses must also be less than any standard real, and so are our desired infinitesimals. This is likewise because the property that :1 is expressible as a first-order sentence in our language.
Ultrapower construction We are going to construct a hyperreal field via
sequences of reals. In fact we can add and multiply sequences componentwise; for example: : (a_0, a_1, a_2, \ldots) + (b_0, b_1, b_2, \ldots) = (a_0 +b_0, a_1+b_1, a_2+b_2, \ldots) and analogously for multiplication. This turns the set of such sequences into a
commutative ring, which is in fact a real
algebra A. We have a natural embedding of \R in
A by identifying the real number
r with the sequence (
r,
r,
r, …) and this identification preserves the corresponding algebraic operations of the reals. The intuitive motivation is, for example, to represent an infinitesimal number using a sequence that approaches zero. The inverse of such a sequence would represent an infinite number. As we will see below, the difficulties arise because of the need to define rules for comparing such sequences in a manner that, although inevitably somewhat arbitrary, must be self-consistent and well defined. For example, we may have two sequences that differ in their first
n members, but are equal after that; such sequences should clearly be considered as representing the same hyperreal number. Similarly, most sequences
oscillate randomly forever, and we must find some way of taking such a sequence and interpreting it as, say, 7+\epsilon, where \epsilon is a certain infinitesimal number. Comparing sequences is thus a delicate matter. We could, for example, try to define a relation between sequences in a componentwise fashion: : (a_0, a_1, a_2, \ldots) \leq (b_0, b_1, b_2, \ldots) \iff (a_0 \leq b_0) \wedge (a_1 \leq b_1) \wedge (a_2 \leq b_2) \ldots but here we run into trouble, since some entries of the first sequence may be bigger than the corresponding entries of the second sequence, and some others may be smaller. It follows that the relation defined in this way is only a
partial order. To get around this, we have to specify which positions matter. Since there are infinitely many indices, we don't want finite sets of indices to matter. A consistent choice of index sets that matter is given by any free
ultrafilter U on the
natural numbers; these can be characterized as ultrafilters that do not contain any finite sets. (The good news is that
Zorn's lemma guarantees the existence of many such
U; the bad news is that they cannot be explicitly constructed.) 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 :
an ≤
bn } 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
a ≤
b and
b ≤
a. With this identification, the ordered field *\R of hyperreals is constructed. From an algebraic point of view,
U allows us to define a corresponding
maximal ideal I in the commutative ring
A (namely, the set of the sequences that vanish in some element of
U), and then to define *\R as
A/
I; as the
quotient of a commutative ring by a maximal ideal, *\R is a field. This is also notated
A/
U, directly in terms of the free ultrafilter
U; the two are equivalent. The maximality of
I follows from the possibility of, given a sequence
a, constructing a sequence
b inverting the non-null elements of
a and not altering its null entries. If the set on which
a vanishes is not in
U, the product
ab is identified with the number 1, and any ideal containing 1 must be
A. In the resulting field, these
a and
b are inverses. The field
A/
U is an
ultrapower of \R. Since this field contains \R it has
cardinality at least that of the
continuum. Since
A has cardinality : (2^{\aleph_0})^{\aleph_0} = 2^{\aleph_0^2} =2^{\aleph_0}, it is also no larger than 2^{\aleph_0}, and hence has the same cardinality as \R. One question we might ask is whether, if we had chosen a different free ultrafilter
V, the quotient field
A/
U would be isomorphic as an ordered field to
A/
V. This question turns out to be equivalent to the
continuum hypothesis; in
ZFC with the continuum hypothesis we can prove this field is unique up to
order isomorphism, and in ZFC with the negation of continuum hypothesis we can prove that there are non-order-isomorphic pairs of fields that are both countably indexed ultrapowers of the reals. For more information about this method of construction, see
ultraproduct.
An intuitive approach to the ultrapower construction The following is an intuitive way of understanding the hyperreal numbers. The approach taken here is very close to the one in the book by
Goldblatt. Recall that the sequences converging to zero are sometimes called infinitely small. These are almost the infinitesimals in a sense; the true infinitesimals include certain classes of sequences that contain a sequence converging to zero. Let us see where these classes come from. Consider first the sequences of real numbers. They form a
ring, that is, one can multiply, add and subtract them, but not necessarily divide by a non-zero element. The real numbers are considered as the constant sequences, the sequence is zero if it is identically zero, that is,
an = 0 for all
n. In our ring of sequences one can get
ab = 0 with neither
a = 0 nor
b = 0. Thus, if for two sequences a, b one has
ab = 0, at least one of them should be declared zero. Surprisingly enough, there is a consistent way to do it. As a result, the equivalence classes of sequences that differ by some sequence declared zero will form a field, which is called a hyperreal
field. It will contain the infinitesimals in addition to the ordinary real numbers, as well as infinitely large numbers (the reciprocals of infinitesimals, including those represented by sequences diverging to infinity). Also every hyperreal that is not infinitely large will be infinitely close to an ordinary real, in other words, it will be the sum of an ordinary real and an infinitesimal. This construction is parallel to the construction of the reals from the rationals given by
Cantor. He started with the ring of the
Cauchy sequences of rationals and declared all the sequences that converge to zero to be zero. The result is the reals. To continue the construction of hyperreals, consider the zero sets of our sequences, that is, the z(a)=\{i: a_i=0\}, that is, z(a) is the set of indexes i for which a_i=0. It is clear that if ab=0, then the union of z(a) and z(b) is \N (the set of all natural numbers), so: • One of the sequences that vanish on two complementary sets should be declared zero. • If a is declared zero, ab should be declared zero too, no matter what b is. • If both a and b are declared zero, then a+b should also be declared zero. Now the idea is to choose a collection
U of
subsets of \N and to declare that a=0 if and only if z(a) belongs to
U. From the above conditions one can see that: • From two complementary sets one belongs to
U. • Any set having a subset that belongs to
U, also belongs to
U. • An intersection of any two sets belonging to
U belongs to
U. • Finally, we do not want the
empty set to belong to
U because then everything would belong to
U, as every set has the empty set as a subset. Any family of sets that satisfies (2–4) is called a
filter (an example: the complements to the finite sets, it is called the
Fréchet filter and it is used in the usual limit theory). If (1) also holds, U is called an
ultrafilter (because you can add no more sets to it without breaking it). The only explicitly known example of an ultrafilter is the family of sets containing a given element (in our case, say, the number 10). Such ultrafilters are called trivial, and if we use it in our construction, we come back to the ordinary real numbers. Any ultrafilter containing a finite set is trivial. It is known that any filter can be extended to an ultrafilter, but the proof uses the
axiom of choice. The existence of a nontrivial ultrafilter (the
ultrafilter lemma) can be added as an extra axiom, as it is weaker than the axiom of choice. Now if we take a nontrivial ultrafilter (which is an extension of the Fréchet filter) and do our construction, we get the hyperreal numbers as a result. If f is a real function of a real variable x then f naturally extends to a hyperreal function of a hyperreal variable by composition: : f(\{x_n\})=\{f(x_n)\} where \{ \dots\} means "the equivalence class of the sequence \dots relative to our ultrafilter", two sequences being in the same class if and only if the zero set of their difference belongs to our ultrafilter. All the arithmetical expressions and formulas make sense for hyperreals and hold true if they are true for the ordinary reals. It turns out that any finite (that is, such that |x| for some ordinary real a) hyperreal x will be of the form y+d where y is an ordinary (called standard) real and d is an infinitesimal. It can be proven by bisection method used in proving the Bolzano-Weierstrass theorem, the property (1) of ultrafilters turns out to be crucial. == Properties of infinitesimal and infinite numbers ==