Need help understanding a proof on the least upper bound property of the reals. I'm trying to learn from a book called "Vector Calculus, Linear Algebra, and differential forms".
In chapter 0.5, there's a proof on the least upper bound property of reals. I'm learning the material by myself, so I don't have anyone to ask about what the author is saying on the proof.
The Proof goes on like this: (the bold texts are written by the author, and the normal-texts are my questions)
Need to show: Every nonempty subset $X\subset \mathbb{R}$ that has an upper bound has a least lower bound $\sup X$  (*Q1. It doesn't mean $\sup X \in X$ in all cases, does it? I need to be sure).
Proof. We'll construct successive decimals of supX
Suppose $x \in X$ (since $X \neq \varnothing$ , $\exists x \in X$), and $a$ is an upper bound of $X$. We'll assume that $x >0$.
If $x = a$, then supX = a.
If $x \neq a$ (which means $x < a$), there is a largest $j \in \mathbb{N}$ such that $[x]_{j} < [a]_{j}$
(* I understood this with this example:
Suppose x = 3.127898... and
        a = 3.129876...
      Then, $[x]_{-2}$ = 3.12, $[a]_{-2}$ = 3.12 BUT $[x]_{-3}$ = 3.127 < 3.129 = $[a]_{-3}$
 Thus, in this case, $j = -3$
But when $x_{2} = 35.054345$ and $a_{2} = 100.34523$, then, $[a_{2}]_{2} = 100 > 35 = [x_{2}]_{2}$, and in this case, $j = 2$
)
There are 10 numbers that have the same $k_{2}$th digit as x for $k_{1} > j$ and that have 0 as the $k_{2}$ th digit for $k_{2} < j$
(* Following the example above with x = 3.127898... and j=-3, I understood those 10 numbers to be:
$n_{0}$ = 3.12000000
$n_{1}$ = 3.12100000...
$n_{2}$ = 3.12200000...
...
$n_{9}$ = 3.1290000...)
Consider those that are in $[[x]_{j},a]$
(* I thought the author meant "Among $n_{0},...,n_{9}$,consider those ...)
This set is not empty, since $[x]_{j}$ is one of them.
(* I guessed "this set" to be: {$n_{0},n_{1},n_{2},...,n_{9}$}$\cap$ $[[x]_{j},a]$, and since $[x]_{j} \in \left \{n_{0},n_{1},...,n_{9}\right \}$
"this set" is not empty.)
Let $b_{j}$ be the largest such that $X \cap [b_{j},a] \neq \varnothing$; such a $b_{j}$ exists, since $x \in X \cap [[x]_{j},a]$.
(*I'm confused about what this is saying...is $b_{j}$ one of $n_{1},...,n_{9}$ or is it just another real number?)
Now, consider the set of numbers in $[b_{j},a]$ that have the same kth digit as $b_{j}$ for $k>j-1$ and 0 for $k<j-1$. This is a non-empty set with at most 10 elements, and $b_{j}$ is one of them (the smallest). Call $b_{j-1}$ the largest such that $X \cap [b_{j-1},a] \neq \varnothing$. Such a $b_{j-1}$ exists, since if necessary we can choose $b_{j}$. Keep going this way, defining $b_{j-2},b_{j-3},$ and so on.
Let b be the number whose nth decimal digit (for all n) is the same as the nth decimal digit of $b_{k}$.
We claim that b = supX. Indeed, if $\exists y \in X$ with $y > b$, then there is a first digit k of y that differs from the kth digit of b, and $b_{k}$ was not the largest number with k digits that is not an upper bound, since using the kth digit of y would give a bigger one.
(* ok...I'm not 100% getting what the author meant here...)
So b is an upper bound. Now, suppose that b' < b is also an upper bound. Again, there is a first digit k of b that differs from the kth digit of b'. This contradicts the fact that $b_{k}$ was not an upper bound, since then $b_{k} > b$.
gosh that was long...anyway, help me understand this proof! 
Thanks :D
 A: My guess is that most people here will frown at this proof, because most classical constructions of $\mathbb{R}$ require the completeness axiom to show that decimal expansions exist. Your proof tries to go the other way around, which is probably more amenable to a non-mathematician view of the real numbers but more formally problematic.
Anyway, the notation in your proof makes it confusing to me, but the idea is very simple: since $X$ has a upper bound, the set of integer parts of the numbers in $X$ has a maximum $b_0$; this will be the integer part of $b$. Now apply the same reasoning to the set of elements in $X$ that have integer part $b_0$ and are truncated to the first decimal; there are at most ten numbers in this set, so it has a maximum $b_1$. Next you work with the numbers in $X$ with integer part $b_0$, first decimal equal to that of $b_1$, and truncated to two decimals; call the maximum of this set, $b_2$. Continuining this way, you get a sequence $b_j$ of numbers with $b_j$ and $b_{j+1}$ agreeing to the first $j$ decimal places. The supremum $b$ is the number whose $j^{\rm th}$ decimal agrees with that of $b_j$.
