First of all, it should be pointed out
that any
complete ordered field is
isomorphic to the
real numbers
 that is, once you have a complete ordered field, you already have the
real numbers.
But, of course, set theorists like to define everything
in terms of sets. There are several ways to construct the
real numbers in terms of sets; This writeup will present the method that
Paul Bernays used.
This method takes a construction of the rational numbers (go read
that now!) and defines a "real number" as a set of rational numbers that
meets certain criteria. These sets can later be interpreted as "Dedekind
cuts" once we have our complete ordered field constructed.
Now, Professor Bernays uses the term "fraction triplet" throughout his
formal construction of the real numbers to avoid creating any preconceived
ideas. However, construction of the rational numbers showed that
we can represent rational numbers as fraction triplets, as equivalence
classes of fraction triplets, or as canonical examples from each equivalence
class. We will use the term "rational number" for better understanding.
I have also renamed some of the functors.
If you don't understand the notation here follow
this link.
A word of warning: we will be using operators like +,
,
*,
/,
<,
and = to mean different operations on different sets, and
you will have to infer which is which from context.
A
real number is a nonempty set
r of
rational numbers such that:

Given a rational number x in r, all rational
numbers less than x are also in r.
x e r <> (y < x > y e r).

For each rational number x in r, there
is always a rational number y greater than x
that is also in r.
x e r <> (Ey)(IsRational(x) &
x < y & y e r).

For each rational number x in r, there
is always a rational number y greater than x
which is not in r.
x e r <> (Ey)(IsRational(y) x < y & x !e r).
Bernays defined it as
IsReal (c) <> c* < { x  FractionTriplet(x)
}
& c != 0
& (x)(x e c > (Ey)(y e c & x < y))
& (x)(y)(y e c & (x=y or x < y) > x e c)
Our first criterion can be used to show that for any y
that is not in r, none of the rational numbers greater
than y are in r.
IsReal (r) <> y !e r <> (x > y > x !e r).
From that, we can say that every rational number in r is
less than every rational number that is not in r.
IsReal (r) <> (x e r & IsRational(y) & y !e r >
y > x).
This last statement tells us that we have defined each real number as
the left half of a Dedekind cut.
We can define equality for real numbers as set equality, and totally order real numbers with the subset relation.
Now, consider any set s of real numbers with an upper
bound b. Define
UNION(s) = {q 
(Er)(r e s & q e r)}.
UNION(s):

must be a real number.

For each q e UNION(s), there exists an r e s
such that q e r. For each p < q,
p
e r and so p e UNION(s).

Similarly, for each q e UNION(s), there exists an
r
such that q e r. Since r is real,
there exists a p e r such that p < q.
Since p e r, p e UNION(s).

b > q for all q e UNION(s).

must be an upper bound for s, since r <= UNION(s)
for all r e s.

must be the least upper bound for s, since if there were
a lower upper bound c, there would be a q such that c < RLT(q)
< UNION(s). But q could not then be an
element of any element of s.
UNION(s) may or may not be in
s; we do
not have a
wellorder. However, this proves our construction of
real numbers "complete".
So how do we interpret these sets as numbers? We will define
arithmetic operations for them.
Recall that we constructed the rational numbers as an ordered field.
We will build upon these operations to show that the real numbers also
form an ordered field. The property stated above then makes the system
a complete ordered field.
First, let us define RLT(q) as the set of all rational
numbers less than a given rational number q.
RLT(q) meets criterion #1 and criterion #3 by definition.
But the set of rational numbers is dense in itself: between any two distinct
rational numbers there is a third! So for any p e RLT (q),
there exists r such that p < r < q.
RLT(q) thus meets criterion #2, and counts as a real number.
We then have a real number to represent each rational number. RLT
is also a homomorphism, since x < y > RLT (x) < RLT (y)for
all x and y should be immediately apparent.
(As an aside, we didn't start our construction from Dedekind cuts, because
both RLT (q) and RLT (q) U {q}
are the left half of a Dedekind cut for each rational q.
Thus requirement #2, specifying that a real number has no greatest element).