Real number (as Cauchy sequence)

Consider the set of all Cauchy sequences of rational numbers: concretely, the set \($X = \{ (a_n)_{n=1}^{\infty} : a_n \in \mathbb{Q}, (\forall \epsilon \in \mathbb{Q}^{>0}) (\exists N \in \mathbb{N})(\forall n, m \in \mathbb{N}^{>N})(|a_n - a_m| < \epsilon) \}\)$

Define an equivalence relation on this set, by \((a_n) \sim (b_n)\) if and only if, for every rational \(\epsilon > 0\), there is a natural number \(N\) such that for all \(n \in \mathbb{N}\) bigger than \(N\), we have \(|a_n - b_n| < \epsilon\). This is an equivalence relation (exercise).

  • It is symmetric, because \(|a_n - b_n| = |b_n - a_n|\).

  • It is reflexive, because \(|a_n - a_n| = 0\) for every \(n\), and this is \(< \epsilon\).

  • It is transitive, because if \(|a_n - b_n| < \frac{\epsilon}{2}\) for sufficiently large \(n\), and \(|b_n - c_n| < \frac{\epsilon}{2}\) for sufficiently large \(n\), then \(|a_n - b_n| + |b_n - c_n| < \frac{\epsilon}{2} + \frac{\epsilon}{2} = \epsilon\) for sufficiently large \(n\); so by the triangle inequality, \(|a_n - c_n| < \epsilon\) for sufficiently large \(n\). <div><div>

Write \([a_n]\) for the equivalence class of \((a_n)_{n=1}^{\infty}\). (This is a slight abuse of notation, omitting the brackets that indicate that \(a_n\) is actually a sequence rather than a rational number.)

The set of real numbers is the set of equivalence classes of \(X\) under this equivalence relation, endowed with the following totally ordered field structure:

  • \([a_n] + [b_n] := [a_n + b_n]\)

  • \([a_n] \times [b_n] := [a_n \times b_n]\)

  • \([a_n] \leq [b_n]\) if and only if \([a_n] = [b_n]\) or there is some \(N\) such that for all \(n > N\), \(a_n \leq b_n\).

This field structure is well-defined (proof).


  • Any rational number \(r\) may be viewed as a real number, being the class \([r]\) (formally, the equivalence class of the sequence \((r, r, \dots)\)).

  • The real number \(\pi\) is indeed a real number under this definition; it is represented by, for instance, \((3, 3.1, 3.14, 3.141, \dots)\). It is also represented as \((100, 3, 3.1, 3.14, \dots)\), along with many other possibilities.