# Bolzano–Weierstrass theorem

In mathematics, specifically in real analysis, the Bolzano–Weierstrass theorem, named after Bernard Bolzano and Karl Weierstrass, is a fundamental result about convergence in a finite-dimensional Euclidean space $\mathbb {R} ^{n}$. The theorem states that each infinite bounded sequence in $\mathbb {R} ^{n}$ has a convergent subsequence. An equivalent formulation is that a subset of $\mathbb {R} ^{n}$ is sequentially compact if and only if it is closed and bounded. The theorem is sometimes called the sequential compactness theorem.

## History and significance

The Bolzano–Weierstrass theorem is named after mathematicians Bernard Bolzano and Karl Weierstrass. It was actually first proved by Bolzano in 1817 as a lemma in the proof of the intermediate value theorem. Some fifty years later the result was identified as significant in its own right, and proved again by Weierstrass. It has since become an essential theorem of analysis.

## Proof

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-valued index $n$ of a sequence a "peak" 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}<n_{2}<n_{3}<\dots <n_{j}<\dots$ 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}<n_{2}$ and $x_{n_{1}}<x_{n_{2}}$. Again, $n_{2}$ comes after the final peak, hence there is an $n_{3}$ where $n_{2}<n_{3}$ with $x_{n_{2}}\leq x_{n_{3}}$. Repeating this process leads to an infinite non-decreasing subsequence $x_{n_{1}}\leq x_{n_{2}}\leq x_{n_{3}}\leq \ldots$, thereby proving that every infinite sequence $(x_{n})$ in $\mathbb {R}$ has a monotone subsequence.
Now suppose one has a bounded sequence in $\mathbb {R} ^{1}$; 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

There is also an alternative proof of the Bolzano–Weierstrass theorem using nested intervals. We start with a bounded sequence $(x_{n})$:
* Because $(x_{n})_{n\in \mathbb {N} }$ is bounded, this sequence has a lower bound $s$ and an upper bound $S$.
* We take $I_{1}=[s,S]$ as the first interval for the sequence of nested intervals.
* Then we split $I_{1}$ at the mid into two equally sized subintervals.
* 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 \mathbb {N} }$. We take this subinterval as the second interval $I_{2}$ of the sequence of nested intervals.
* Then we split $I_{2}$ again at the mid into two equally sized subintervals.
* Again, one of these subintervals contains infinitely many members of $(x_{n})_{n\in \mathbb {N} }$. We take this subinterval as the third subinterval $I_{3}$ of the sequence of nested intervals.
* 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

Definition: A set $A\subseteq \mathbb {R} ^{n}$ is sequentially compact if every sequence $\{x_{n}\}$ in $A$ has a convergent subsequence converging to an element of $A$.
Theorem: $A\subseteq \mathbb {R} ^{n}$ is sequentially compact if and only if $A$ is closed and bounded.
Proof: (sequential compactness implies closed and bounded)
Suppose $A$ is a subset of $\mathbb {R} ^{n}$ with the property that every sequence in $A$ has a subsequence converging to an element of $A$. Then $A$ must be bounded, since otherwise the following unbounded sequence $\{x_{n}\}\in A$ can be constructed. For every $n\in \mathbb {N}$, define $x_{n}$ to be any arbitrary point such that $||x_{n}||\geq n$. Then, every subsequence of $\{x_{n}\}$ is unbounded and therefore not convergent. Moreover, $A$ must be closed, since any limit point of $A$, which has a sequence of points in $A$ converging to itself, must also lie in $A$.
Proof: (closed and bounded implies sequential compactness)
Since $A$ is bounded, any sequence $\{x_{n}\}\in A$ is also bounded. From the Bolzano-Weierstrass theorem, $\{x_{n}\}$ contains a subsequence converging to some point $x\in \mathbb {R} ^{n}$. Since $x$ is a limit point of $A$ and $A$ is a closed set, $x$ must be an element of $A$.
Thus the subsets $A$ of $\mathbb {R} ^{n}$ for which every sequence in A has a subsequence converging to an element of $A$ – i.e., the subsets that are sequentially compact in the subspace topology – are precisely the closed and bounded subsets.
This form of the theorem makes especially clear the analogy to the Heine–Borel theorem, which asserts that a subset of $\mathbb {R} ^{n}$ is compact if and only if it is closed and bounded. In fact, general topology tells us that a metrizable space is compact if and only if it is sequentially compact, so that the Bolzano–Weierstrass and Heine–Borel theorems are essentially the same.

## Application to economics

There are different important equilibrium concepts in economics, the proofs of the existence of which often require variations of the Bolzano–Weierstrass theorem. One example is the existence of a Pareto efficient allocation. An allocation is a matrix of consumption bundles for agents in an economy, and an allocation is Pareto efficient if no change can be made to it that makes no agent worse off and at least one agent better off (here rows of the allocation matrix must be rankable by a preference relation). The Bolzano–Weierstrass theorem allows one to prove that if the set of allocations is compact and non-empty, then the system has a Pareto-efficient allocation.