Embed the rationals in the reals by mapping x to the constant sequence x,x,x,x… etc.
Let s and t be two real numbers, two Cauchy sequences of rationals. Let u be the difference sequence: uj = sj-tj. Given ε, find n so that sj is within ε/2 of sn and tj is within ε/2 of tn for all j > n. Now uj is within ε of un, hence u is a Cauchy sequence of rationals. We can add or subtract real numbers and the result is well defined. Furthermore, adding or subtracting rationals, embedded in the reals, gives the expected result. The constant sequence 2.5 + the constant sequence 4.3 gives the constant sequence 6.8, hence 2.5+4.3 = 6.8.
Let two sequences be equivalent if their difference is a sequence that approaches the rational number 0. This seems like circular reasoning, but it's not. We can talk about convergence using only rational numbers. For each rational ε there is n such that everything beyond un is between -ε and ε, hence u approaches 0. A formula, strictly within the rationals, determines whether two real numbers are equivalent.
If s-t approaches 0 then negate all the terms to show that t-s approaches 0. The relation is symmetric. Also, restrict r-s and s-t to ε/2 and add together to restrict r-t to ε. In other words, if r and s are equivalent and s and t are equivalent then r and t are equivalent. We have an equivalence relation, so clump all the equivalent sequences together to make one real number. You've seen this before. 3.699999… is the same as 3.700000…, because their difference gives a sequence .01 .001 .0001 .00001 etc that approaches 0. They are actually the same real number. And these aren't the only sequences that approach 3.7, they are just the simplest examples. Other sequences include 3.7-1/n and 3.7+2-n.
Return to the definition of addition and subtraction. We must show that the result does not depend on the particular sequence used to represent the real number. Start with u = s-t, as real numbers or as sequences. Let e be a sequence that approaches 0 and add it to s, thus creating an equivalent sequence to s. This adds e to u, term by term. The new sequence u+e is equivalent to u by definition, thus the result has not changed. Addition and subtraction of real numbers is well defined.
If c is rational and s is real, c×s is the real number produced by the sequence c×sn. This is a scale multiple of s. If e approaches 0, add e to s. Of course c×e still approaches 0, so the result is equivalent to c×s. Scaling by rationals is well defined. In other words, the reals form a vector space over the rationals.
If r is a real number other than 0 then its sequence contains infinitely many terms outside of ±ε. Yet the seequence is Cauchy, and its tail is trapped within ε/2 of rn for some n. This tail includes some rj, at least ε away from 0, hence the entire tail is ε/2 away from 0. In other words, most of r is positive or negative, and bounded away from 0. Let the real number r be positive or negative, according to its tail. This is consistent with the positive and negative rationals as they embed in the reals.
As a corollary, the absolute value of a real number is found by taking the absolute value of its sequence. If the sequence approaches 0 it still approaches 0, and if its tail went negative, that tail is now positive.
Define an order s < t if t-s is positive. Note that adding e to s or t does not change the fact that s-t is positive, hence the ordering is well defined on real numbers. Verify that this is a linear ordering on the reals. In other words, r<s and s<t implies r<t, and every pair of numbers is equal, or one is less than the other. This ordering agrees with the ordering on the rationals.
Now we are ready to turn the reals into a metric space. The distance between s and t is the absolute value of s-t. Two reals will not have distance 0 unless their difference is equivalent to 0, which makes s and t equivalent - hence the same real number. And t-s produces the negated sequence of s-t, and when we take the absolute value, we obtain the same distance. The only thing left is the triangular inequality. If r s and t are sequences defining real numbers, the triangular inequality holds term by term. That is, |rj-tj| ≤ |rj-sj| + |sj-tj|. The second sequence dominates the first, and is at least as large as the first. So distance is a valid metric, and we have a metric space.
Base open sets are open intervals of all sizes about all points. This is the linear topology.
Let s and t be distinct real numbers with s-t positive. If u is the difference sequence, there is an integer n and positive rational b such that uj exceeds b for all j > n. We saw this earlier; a positive real number has a tail that is positive, and bounded away from 0. Let c = tn+b/2. This is at least b/2 above the tail of t, and at least b/2 below the tail of s. Thus c is a rational number between s and t. If we want an irrational number, find some rational whose square root is less than b/2 and add it to c. The result is an irrational number between s and t. The rationals and the irrationals are both dense in the reals.
Consider a new base for the topology of the reals, open intervals with rational end points. If x lies inside an arbitrary open interval, there is a rational b between x and the lesser endpoint and a rational c between x and the greater end point. The interval (b,c) contains x and is contained in the larger interval. The entire interval is covered by open rational intervals, and remains open. Rational intervals are sufficient to build the topology of the reals.
If r is a real number, let s be the tail of r, with finitely many lead terms discarded. Let the difference sequence e be given by ej = rj-sj, or rj-rj+i. Since r is Cauchy, rj and rj+i approach each other. Thus e is a sequence that approaches 0, and s represents the same real number as r. If r is nonzero, we often restrict r to a tail, so that all terms have the same sign and are bounded away from 0.
Implement multiplication and division of real numbers by multiplying or dividing the terms of their sequences. The terms of a nonzero dividend are bounded away from 0 as described above, so division per term is well defined. Division by the real number 0 is of course undefined.
If the sequence s is bounded by b, and t approaches 0, then b×t also approaches 0. Since b×t dominates s×t, s×t = 0. In other words, 0 times any real number is 0.
When s and t are nonzero, let b act as a bound on s. Since b×t is Cauchy, s×t is trapped within b×t, and is also Cauchy. As we saw above, we can add a 0 sequence e to t, which adds b×e = 0 to the result, so multiplication does not depend on the particular sequence; it is well defined on real numbers.
If t is nonzero, consider the inverse of t, implemented by taking the inverse of each term. Let the terms of t all exceed b, for some rational b > 0. Let the terms of t be restricted to c±ε beyond tn. Consider 1/c - 1/(c±ε). This becomes ±ε/(c×(c±ε)). We only make this term larger by replacing the denominator with b2. Now ε/b2 shrinks as ε shrinks, hence 1/t is Cauchy. If the sequence e approaches 0, add e to t and consider 1/(t+e). Subtract 1/tj from 1/(tj+ej). Once again the difference is bounded by ej divided by b2, which goes to 0 as j approaches infinity. The inverse of a real number does not depend on the sequence representing that real number.
As an exercise, you may want to prove the following about real numbers. These properties are inherited from the rationals, as you operate term by term on the representative sequences.
You may not be used to treating mathematical operators as continuous functions, so let me illustrate with 100×400 = 40,000. Let 100 deviate by ε/400 and let 400 deviate by ε/100, hence the product deviates by no more than 2ε+ε2/40000. Assuming ε < 1, this is less than 3ε. We can always restrict the domain, so that the product is arbitrarily close to a given value, hence multiplication is continuous.