From Bounded Sequences to Compact Sets
The Bolzano-Weierstrass Theorem says that every bounded sequence of real numbers has a convergent subsequence. The Heine-Borel Theorem turns this sequential fact into a statement about open covers: in the real line, a set is compact exactly when it is closed and bounded. The proof connects the two viewpoints. Closedness keeps limits of selected subsequences inside the set, while boundedness lets us apply Bolzano-Weierstrass.
An open cover may contain infinitely many sets, and compactness says that finitely many already suffice. The theorem is specific to the real line (and, more generally, finite-dimensional Euclidean space); in arbitrary metric spaces, closedness and boundedness alone need not imply compactness.
The empty set is compact: every collection of open sets covers it, and the empty subcollection is already a finite cover. It is also closed and bounded. We can therefore treat it separately when a proof needs to select points from a set.
Closed Sets Keep Limits
Proof. Suppose instead that \(x\notin F\). Since \(F\) is closed, \(\mathbb R\setminus F\) is open. It contains \(x\), so there is an \(r>0\) such that \((x-r,x+r)\subseteq\mathbb R\setminus F\). Convergence gives an \(N\) such that \(|x_n-x|<r\) for every \(n\geq N\). Thus \(x_n\in\mathbb R\setminus F\) for \(n\geq N\), contradicting that every \(x_n\) belongs to \(F\). Therefore \(x\in F\). \(\square\)
This lemma is the precise role of closedness in one direction of Heine-Borel. The Bolzano-Weierstrass Theorem supplies a convergent subsequence; the lemma ensures its limit remains in the set.
Compact Sets Must Be Bounded and Closed
Proof. Let \(K\subseteq\mathbb R\) be compact. If \(K\) is empty, it is bounded and closed. Suppose \(K\) is nonempty.
For each positive integer \(n\), let \(U_n=(-n,n)\). The collection \(\{U_n:n\geq1\}\) covers \(\mathbb R\), hence covers \(K\). Compactness provides a finite subcover \(U_{n_1},\ldots,U_{n_m}\). Let \(N\) be the largest of the indices \(n_1,\ldots,n_m\). Since the intervals are nested, \(U_{n_i}\subseteq U_N\) for every \(i\). Therefore \(K\subseteq U_N=(-N,N)\), proving that \(K\) is bounded.
To show that \(K\) is closed, fix \(x\in\mathbb R\setminus K\). For every \(y\in K\), define \(d_y=|x-y|>0\) and take the open interval \(V_y=(y-d_y/3,y+d_y/3)\). These intervals cover \(K\), so compactness gives a finite subcover \(V_{y_1},\ldots,V_{y_m}\). Set \(\delta=\min_{1\leq i\leq m}d_{y_i}/3\), which is positive. We claim that \((x-\delta,x+\delta)\) misses \(K\).
If some \(z\in K\) belonged to this interval, it would also belong to one of the covering intervals \(V_{y_i}\). The triangle inequality and the definitions would then give
which is impossible because \(d_{y_i}>0\). Thus every \(x\notin K\) has an open neighborhood disjoint from \(K\). The complement of \(K\) is open, so \(K\) is closed. \(\square\)
The finite subcover is essential twice. It reduces the cover by expanding intervals to one interval that bounds all of \(K\). For closedness, it lets us choose one positive radius \(\delta\) that separates the point \(x\) from every part of \(K\) covered by the selected intervals.
The Heine-Borel Theorem
Proof. If \(K\) is compact, the preceding theorem shows that \(K\) is closed and bounded.
Conversely, suppose \(K\) is closed and bounded. If \(K\) is empty, it is compact, so assume \(K\) is nonempty. Let \((x_n)\) be any sequence in \(K\). Boundedness of \(K\) makes \((x_n)\) a bounded real sequence. By the Bolzano-Weierstrass Theorem, it has a subsequence \((x_{n_j})\) converging to some \(x\in\mathbb R\). Every term of this subsequence lies in \(K\), and \(K\) is closed. The Lemma (Limits of Sequences in Closed Sets) therefore gives \(x\in K\). We have shown that every sequence in \(K\) has a subsequence converging to a point of \(K\), so \(K\) is sequentially compact.
The Compactness and Sequential Compactness in Metric Spaces theorem, established earlier in the course, says that a metric space is compact if and only if it is sequentially compact. Apply it to \(K\) with the metric inherited from \(\mathbb R\). It follows that \(K\) is compact. This proves the reverse implication and completes the theorem. \(\square\)
The argument separates the two conditions: boundedness provides a convergent subsequence, and closedness keeps its limit in \(K\). Sequential compactness then gives compactness by the earlier metric-space theorem. Neither condition can be dropped in \(\mathbb R\).
Worked Applications
Worked Example: A Closed Interval Is Compact
Let \(a\leq b\) be real numbers. The interval \([a,b]\) is bounded because every \(x\in[a,b]\) satisfies \(|x|\leq\max(|a|,|b|)\). It is closed: its complement is \((-\infty,a)\cup(b,\infty)\), an open set. By Heine-Borel, \([a,b]\) is compact.
This also covers the degenerate case \(a=b\): the set \([a,a]=\{a\}\) is closed and bounded, hence compact. In open-cover terms, the conclusion means that from any collection of open sets covering the interval, a finite number can be selected to cover every point of it.
Worked Example: An Open Interval Is Not Compact
Consider \(K=(0,1)\), which is bounded but not closed. For each positive integer \(n\), define \(U_n=(1/n,1)\). Each \(U_n\) is open in \(\mathbb R\), and the collection covers \((0,1)\): given \(x\in(0,1)\), choose an integer \(n>1/x\), so \(1/n<x<1\).
No finite subcollection covers \(K\). If \(U_{n_1},\ldots,U_{n_m}\) are selected and \(N\) is the largest index, their union is \(U_N=(1/N,1)\), which omits, for example, the point \(1/(2N)\in(0,1/N]\). Thus this open cover has no finite subcover, confirming directly that \((0,1)\) is not compact.
Worked Example: A Sequence Together with Its Limit
Consider \(K=\{0\}\cup\{1/n:n\geq1\}\). It is bounded because \(0\leq x\leq1\) for every \(x\in K\). We verify that it is closed using the sequential criterion for closed subsets of \(\mathbb R\): a set is closed if and only if every convergent sequence of its points has its limit in the set.
Let \((x_j)\) be a sequence in \(K\) converging to \(L\). Since \(K\subseteq[0,1]\), order is preserved under limits and \(0\leq L\leq1\). If \(L=0\), then \(L\in K\). Suppose \(L>0\). Eventually \(x_j>L/2\), so those terms cannot be zero. Write them as \(x_j=1/m_j\) for positive integers \(m_j\). Then \(m_j=1/x_j\) converges to \(1/L\). A convergent sequence of integers is eventually constant: once its terms are within \(1/3\) of its limit, at most one integer can occur in that interval. Consequently \(m_j=m\) eventually for some positive integer \(m\), and hence \(L=1/m\in K\). Every convergent sequence in \(K\) therefore has its limit in \(K\), so \(K\) is closed.
Heine-Borel now implies that \(K\) is compact. The limit point \(0\) matters: the set \(\{1/n:n\geq1\}\) alone is bounded but not closed, since its sequence \(1/n\) converges to \(0\), which is not in that set.
Why Both Conditions Matter
Heine-Borel provides a quick test in \(\mathbb R\), but it is important to check both properties. The set \((0,1)\) is bounded yet fails to be closed; \(\mathbb R\) is closed yet unbounded. Neither is compact. For the latter claim, the open cover \(\{(-n,n):n\geq1\}\) has no finite subcover of \(\mathbb R\): any finite selection is contained in \((-N,N)\) for its largest index \(N\), leaving points outside that interval uncovered.
A useful proof strategy is to decide which direction is needed before applying the theorem. To prove compactness in the real line, establish closedness and boundedness, then invoke Heine-Borel. To disprove compactness, show that one condition fails or exhibit an open cover with no finite subcover. The characterization depends on the setting: in a general metric space, the implication from closed and bounded to compact can fail, so the theorem should not be applied outside its stated context.
Check Your Understanding
Use the proof and examples to answer each question.
- Where does boundedness enter the proof that a closed bounded subset of \(\mathbb R\) is compact?
- Why does closedness ensure that the limit supplied by Bolzano-Weierstrass belongs to \(K\)?
- How does compactness show that a subset of \(\mathbb R\) is bounded?
- Why does the cover \(U_n=(1/n,1)\) of \((0,1)\) have no finite subcover?
- Which part of Heine-Borel would fail if one tried to use the theorem in an arbitrary metric space?