Tricki
a repository of mathematical know-how

How to use the Bolzano-Weierstrass theorem

Quick description

The Bolzano-Weierstrass theorem asserts that every bounded sequence of real numbers has a convergent subsequence. More generally, it states that if X is a closed bounded subset of \mathbb{R}^n then every sequence in X has a subsequence that converges to a point in X. This article is not so much about the statement, or its proof, but about how to use it in applications. As we shall see, there are certain signs to look out for: if you come across a statement of a certain form (to be explained in the article), then the Bolzano-Weierstrass theorem may well be helpful.

Example 1: every continuous function on a closed bounded interval is bounded

Let f be a continuous function defined on the closed interval [u,v]. A well-known theorem says that f is bounded. There are various proofs, but one easy one uses the Bolzano-Weierstrass theorem.

The purpose of this article is to show that the proof using the Bolzano-Weierstrass theorem is not just easy to follow, but easy to spot in the first place. However, this is not quite so obvious, since the theorem makes no mention of sequences, so let us interrupt the discussion of this example and talk about how to convert statements that do not involve sequences into statements that do.

General discussion

Suppose you have a statement like "For every \delta>0 there exists a\in X such that |f(a)-c|\leq\delta." Then in particular you know that for every n\in\mathbb{N} there exists a\in X such that |f(a)-c|\leq 1/n. If for each n you choose such an a and call it a_n, then you get a sequence (a_n)_{n=1}^\infty such that |f(a_n)-c|\leq 1/n for every n.

So far, this applies to any statement of the form "For every \delta>0 there exists a\in X such that P(a,\delta)," where P(a,\delta) is some statement that involves a and \delta. It gives us a sequence (a_n)_{n=1}^\infty such that P(a_n,1/n) holds for every n\in\mathbb{N}. However, the resulting statement may not be equivalent to the statement we started with. For instance, the statement "For every \delta>0 there exists a\in X such that f(a)=\delta" is not equivalent to the statement "There is a sequence (a_n) such that f(a_n)=1/n for every n."

Suppose, however, that we knew that the statement P(a,\delta) was such that if \delta_1<\delta_2 then P(a,\delta_1) implies P(a,\delta_2). (An example of such a statement is "|f(a)-c|<\delta.") Then suppose that we have a sequence (a_n) such that P(a_n,1/n) for every n. The Archimedean property of the real numbers tells us that for every \delta>0 we can find n\in\mathbb{N} such that 1/n<\delta. But then P(a_n,1/n) holds, which implies that P(a_n,\delta) holds, by our assumption about the property P. This implies that there exists a such that P(a,\delta) holds.

Similar reasoning shows that if P is a property such that for every a, if C_1>C_2 then P(C_1,a) implies P(C_2,a), then the statement "For every C there exists a\in X such that P(a,C)" is equivalent to the statement "There is a sequence (a_n) in X such that P(a_n,n) for every n\in\mathbb{N}."

Example 1, continued

We are told that f is continuous. This is the statement that for every x\in [a,b] and every \epsilon>0 there exists \delta>0 such that if |y-x|<\delta then |f(x)-f(y)|<\epsilon. Unfortunately, because "for every x" is involved in this statement, and because what is guaranteed to exist is \delta rather than an element of [a,b], we don't get very far if we apply the above procedure to this statement.

Does that mean we cannot apply the Bolzano-Weierstrass theorem? Not at all, because we also have the option of looking at the contrapositive of the statement we are trying to prove. That is, it would be enough to prove that if f is unbounded then f cannot be continuous. So now we have a different hypothesis to look at.

That hypothesis is "For every C there exists a\in [u,v] such that |f(a)|>C." If C_1>C_2 and |f(a)|>C_1, then |f(a)|>C_2, so this time we are in exactly the situation we want in order to generate a sequence. And the sequence (a_n) we obtain has the property that |f(a_n)|>n for every n. Since this sequence lives inside the closed bounded interval [u,v], we can apply the Bolzano-Weierstrass theorem to it, so we simply do so and see what happens.

The Bolzano-Weierstrass theorem tells us that there is a subsequence a_{n_1},a_{n_2},\dots that converges to a limit a that also belongs to [u,v]. The information we have about this subsequence is that |f(a_{n_k})|>n_k for every k.

How do we use that information? Well, we are trying to prove that f is not continuous, which means that we are trying to prove that there exists some c such that f is not continuous at c. We have just generated a point a and it seems a pretty plausible candidate for c. But if we want to prove the theorem using as little thought as possible, then we can add in another tip, which is useful in conjunction with the Bolzano-Weierstrass theorem. And that is to use sequence-based definitions (or equivalent formulations) of concepts like closed sets, continuous functions and the like. The statement that f is continuous at a is equivalent to the statement that if (b_m) is any sequence that converges to a then f(b_m) converges to f(a). But we've got a sequence that converges to a, namely the sequence (a_{n_k}). So if f is continuous at a then f(a_{n_k}) converges to f(a). But that is impossible if |f(a_{n_k})|>n_k for every k.

General discussion

The techniques we used in order to reduce the problem to very simple exercises were these.

  • Look for a statement "For every \delta>0 there exists a such that P(a,\delta)" such that \delta_1<\delta_2 implies P(a,\delta_1) implies P(a,\delta_2), or of the (equivalent, if you let C=1/\delta) form "For every C there exists a such that P(a,C)" with P(a,C_1) implying P(a,C_2) whenever C_1>C_2. Usually P(a,\delta) and P(a,C) will have these properties if they end with " \leq\delta" or " \geq C", respectively (or alternatively with " <\delta" or " >C").

  • If there is a well-known reformulation of a basic definition in terms of sequences, then use it.

  • Whatever you are trying to prove, consider trying to prove the contrapositive instead. (That is, consider going for a proof by contradiction.)

Example 2: the distance between a closed bounded set and a closed set in \mathbb{R}^n

If K is a closed bounded subset of \mathbb{R}^n, X is a closed subset of \mathbb{R}^n, and K\cap X=\emptyset, then there exists \delta>0 such that d(u,x)\geq\delta for every u\in K and every x\in X. (Here, d(u,x) stands for the usual distance between u and x, but any sensible notion of distance would be OK.) How can we prove this using the Bolzano-Weierstrass theorem?

Let us use the tips just mentioned. First, we look at the contrapositive of the above statement. If the conclusion is false, then for every \delta>0 there exist u\in K and x\in X such that d(u,x)\leq\delta. This is a statement of the required form, since it starts with "for every \delta>0" and ends with " \leq \delta". So let us convert it into an equivalent statement about sequences: there is a sequence of pairs (u_1,x_1),(u_2,x_2),(u_3,x_3),\dots such that each u_n belongs to K, each x_n belongs to X, and d(u_n,x_n)\leq 1/n for every n\in\mathbb{N}.

Since the u_n belong to K and K is closed and bounded, then without thinking about whether there is any point in doing it, we apply the Bolzano-Weierstrass theorem to obtain a subsequence (u_{n_k}) that converges to some u\in K. But d(u_{n_k},x_{n_k})\leq 1/n_k for every k, so x_{n_k} also converges to u.

What do we know about X? We know that it is closed. The second tip tells us to use the sequence formulation of this definition, which is that any sequence in X that converges in \mathbb{R}^2 has a limit in X. So u must belong to X. But then u\in K\cap X, which contradicts the assumption that K and X are disjoint.

Example 3: a nested intersection of a sequence of non-empty closed bounded subsets of \mathbb{R}^n is non-empty

This is a somewhat different example, in that the way the sequence arises is more direct. Let F_1\supset F_2\supset F_3\supset\dots be non-empty closed bounded sets. The non-emptiness immediately tells us that we can find a sequence (a_n) with a_n\in F_n for every n. Since each a_n belongs to F_1, the sequence (a_n) is bounded, so it has a convergent subsequence (a_{n_k}) in \mathbb{R}^n. Moreover, for each k the subsequence a_{n_k},a_{n_{k+1}},\dots lives in F_{n_k}, so by the sequence definition of closed sets, the limit a of this subsequence also belongs to F_{n_k}. But then a belongs to F_n for every n<F_k as well. Since this is true for infinitely many k, a belongs to every F_n, so the intersection of the F_n is non-empty, as claimed.