First we prove the theorem for \mathbb{R} (set of all
real numbers), in which case the ordering on \mathbb{R} can be put to good use. Indeed, we have the following result:
Lemma: Every infinite sequence (x_n) in \mathbb{R} has an infinite
monotone subsequence (a subsequence that is either
non-decreasing or
non-increasing). Proof: Let us call a positive integer n of a sequence a "peak index" of the sequence when x_m \leq x_n for every m > n. Suppose first that the sequence has infinitely many peaks, which means there is a subsequence with the following indices n_1 and the following terms x_{n_1} \geq x_{n_2} \geq x_{n_3} \geq \dots \geq x_{n_j} \geq \dots. So, the infinite sequence (x_n) in \mathbb{R} has a monotone (non-increasing) subsequence, which is (x_{n_j}). But suppose now that there are only finitely many peaks, let N be the final peak if one exists (let N=0 otherwise) and let the first index of a new subsequence (x_{n_j}) be set to n_1=N+1. Then n_1 is not a peak, since n_1 comes after the final peak, which implies the existence of n_2 with n_1 and x_{n_1} . Again, n_2 comes after the final peak, hence there is an n_3 where n_2 with x_{n_2} . Repeating this process leads to an infinite non-decreasing subsequence x_{n_1} , thereby proving that every infinite sequence (x_n) in \mathbb{R} has a monotone subsequence. Now suppose one has an infinite
bounded sequence in \mathbb{R}. By the lemma proven above, there exists a monotone subsequence, likewise also bounded. It follows from the
monotone convergence theorem that this subsequence converges. The general case in \mathbb{R}^n can be proven using this lemma as follows. Firstly, we will acknowledge that any sequence (x_m)_{m \in I} in \mathbb{R}^n (where I denotes its
index set) has a convergent subsequence if and only if there exists a countable set K \subseteq I such that (x_m)_{m \in K} converges. Let (x_m)_{m \in I} be any bounded sequence in \mathbb{R}^n, then it can be expressed as an n-tuple of sequences in \mathbb{R} by writing x_m = (x_{m1}, x_{m2}, \dots, x_{mn}), where (x_{mj})_{m \in I} is a sequence for j=1,2,\dots,n. Since (x_m) is bounded, (x_{mj}) is also bounded for j=1,2,\dots, n. It follows then by the lemma that (x_{m1}) has a convergent subsequence and hence there exists a countable set K_1 \subseteq I such that (x_{m1})_{m \in K_1} converges. For the sequence (x_{m2}), by applying the lemma once again there exists a countable set K_2 \subseteq K_1 \subseteq I such that (x_{m2})_{m \in K_2} converges and hence (x_{m2}) has a convergent subsequence. This reasoning may be applied until we obtain a countable set K_n for which (x_{mj})_{m \in K_n} converges for j=1,2,\dots,n. Hence, (x_m)_{m \in K_n} converges and therefore, since (x_m) was arbitrary, any bounded sequence in \mathbb{R}^n has a convergent subsequence.
Alternative proof over R using nested intervals There is also an alternative proof of the Bolzano–Weierstrass theorem using
nested intervals. We start with a bounded sequence (x_n): File:Bolzano–Weierstrass theorem - step 1.svg|Because (x_n)_{n\in\N} is bounded, this sequence has a lower bound s and an upper bound S. File:Bolzano–Weierstrass theorem - step 2.svg|We take I_1=[s,S] as the first interval for the sequence of nested intervals. File:Bolzano–Weierstrass theorem - step 3.svg|Then we split I_1 at the middle into two equally sized subintervals.|alt=Then we split I 1 {\displaystyle I_{1}} at the mid into two equally sized subintervals. File:Bolzano–Weierstrass theorem - step 4.svg|Because each sequence has infinitely many members, there must be (at least) one of these subintervals that contains infinitely many members of (x_n)_{n\in\N}. We take this subinterval as the second interval I_2 of the sequence of nested intervals. File:Bolzano–Weierstrass theorem - step 5.svg|Then we split I_2 again at the mid into two equally sized subintervals. File:Bolzano–Weierstrass theorem - step 6.svg|Again, one of these subintervals contains infinitely many members of (x_n)_{n\in\N}. We take this subinterval as the third subinterval I_3 of the sequence of nested intervals. File:Bolzano–Weierstrass theorem - step 7.svg|We continue this process infinitely many times. Thus we get a sequence of nested intervals. Because we halve the length of an interval at each step, the limit of the interval's length is zero. Also, by the
nested intervals theorem, which states that if each I_n is a closed and bounded interval, say : I_n = [a_n, \, b_n] with : a_n \leq b_n then under the assumption of nesting, the intersection of the I_n is not empty. Thus there is a number x that is in each interval I_n. Now we show, that x is an
accumulation point of (x_n). Take a neighbourhood U of x. Because the length of the intervals converges to zero, there is an interval I_N that is a subset of U. Because I_N contains by construction infinitely many members of (x_n) and I_N \subseteq U, also U contains infinitely many members of (x_n). This proves that x is an accumulation point of (x_n). Thus, there is a subsequence of (x_n) that converges to x. == Sequential compactness in Euclidean spaces ==