波尔查诺-魏尔斯特拉斯定理

波尔查诺-魏尔施特拉斯定理（Bolzano–Weierstrass theorem）是数学中，尤其是拓扑学与实分析中，用以刻画 $\mathbb{R}^n$中的紧集的基本定理，得名于数学家伯纳德·波尔查诺与卡尔·魏尔施特拉斯。波尔查诺-魏尔斯特拉斯定理说明，有限维实向量空间$\mathbb{R}^n$中的一个子集$E$是序列紧致（每个序列都有收敛子序列）当且仅当$E$是有界闭集。

## 历史

这个定理最早由伯纳德·波尔查诺证明，当他在证明介值定理时，附带证明了这个定理，但是他的证明已经散佚。卡尔·魏尔施特拉斯独自发现并证明了这个定理。波尔查诺-魏尔施特拉斯定理是实分析中的基本定理。

## 基础概念

- 子列：也称为子序列。一个序列$(a_n)_{n\in\mathbb{N}}$的一个子列是指在$(a_n)_{n\in\mathbb{N}}$中抽取无穷多个元素，然后按照它们在原来序列里的顺序排列起来的序列。严格的定义是：如果存在一个从$\mathbb{N}$到$\mathbb{N}$的严格单调递增的映射$\phi$，使得$a_{\phi (n)} = b_n, \; \forall n\in\mathbb{N}$，就称$(b_n)_{n\in\mathbb{N}}$是$(a_n)_{n\in\mathbb{N}}$的一个子列。
- 有界闭集：$\mathbb{R}^n$中的有界闭集概念建立在给定的拓扑和度量上的。由于在有限维向量空间中所有度量等价，所以可以将$\mathbb{R}^n$视为装备了欧几里德度量的度量空间（并且可以定义相应的范数）。$\mathbb{R}^n$的子集$E$有界，当且仅当所有$E$中元素$x$的范数小于一个给定常数$K$。注意这时对应的拓扑是欧几里德范数诱导的自然拓扑。
- 序列紧致：称一个集合$S$是序列紧致的，是指每个由集合$S$中元素所组成的数列都包含收敛的子列，并且该子列收敛到集合$S$中的某个元素。

## 定理

波尔查诺-魏尔斯特拉斯定理可以视为刻画有限维实向量空间$\mathbb{R}^n$中序列紧致集合的定理。波尔查诺-魏尔斯特拉斯定理的核心部分可以仅仅使用序列的语言来表示：

定理 1：

任一$\mathbb{R}^n$中的有界序列$(a_n)_{n\in\mathbb{N}}$都至少包含一个收敛的子列。

从这个定理出发，在给定的有界闭集$F$中任取一个序列，那么这个序列是有界的，从而至少包含一个收敛的子列。而从$F$的封闭性可知，这个子列作为$F$的一部分，其收敛的极限必然也在$F$中。所以可以推知：

推论：

任一$\mathbb{R}^n$中的有界闭集必然序列紧致。

这个推论给出了$\mathbb{R}^n$中集合序列紧致的充分条件。另一方面，可以证明序列紧致的集合必然是有界闭集。这样就将充分条件推进为充要条件：

定理 2：

$\mathbb{R}^n$中的一个子集$E$是序列紧致的，当且仅当$E$是有界闭集。

由于有限维赋范向量空间都与装备了欧几里德范数的$\mathbb{R}^n$同胚，所以以上的定理都可以扩展到任意有限维赋范向量空间。

## 证明

证明的关键是定理的核心部分，也就是定理1：任一$\mathbb{R}^n$中的有界序列$(a_n)_{n\in\mathbb{N}}$都至少包含一个收敛的子列。

引理：

任何实数列必然包含单调的子列。

引理的证明：

设有实数列$(a_n)_{n \in \mathbb{N}}$，定义集合：$X = \{ a_k ; \ \forall n \ge k , \ a_k \ge a_n \}$。集合中的每个元素，都比序列中排在其后的所有元素都大。

- 如果$X$中有无限个元素，在其中取下标递增的一个数列，那么这个数列是$(a_n)_{n \ge 0}$的子列，并且单调递减，构造完毕。
- 如果$X$中元素个数有限，那么设$N$为$X$中元素的下标中最大的一个。对任意$n > N$，考虑$a_n$，$a_n$不在集合$X$中，所以$a_n$之后至少会有一个元素大于$a_n$。换句话说，序列$(a_n)_{n \in \mathbb{N}}$里面排在$a_N$后面的任一元素，它后面都必然还有一个比它大的元素。于是取$k_0 = N+1$，$\scriptstyle k_1 > k_0$为第一个大于$a_{k_0}$的元素的下标，$\scriptstyle k_2 > k_1$为第一个大于$a_{k_1}$的元素的下标，依此类推，就可以得到$(a_n)_{n \in \mathbb{N}}$的一个单调递增的子列。

综上可得，任何实数列必然包含单调的子列。

定理的证明：

先考虑一维（也就是$n = 1$）的情况。给定有界的实数列$(a_k)_{k \in \mathbb{N}}$，取它的一个单调子列。不妨设这个子列单调递增，由于数列有上界，依据数列的单调收敛定理，这个子列必然收敛。

对于高维（$n \geqslant 2$）的情况，证明的思路是取多次子列。

设$(a_k)_{k\in \mathbb{N}} = (a_{1k} , a_{2k} , \cdots , a_{nk})_{k\in \mathbb{N}} \in \mathbb{R}^n$为一个有界序列，则$n$个实数列$(a_{ik})_{k\in \mathbb{N}} , 1 \le i \le n$都是有界数列。于是存在$(a_k)_{k\in \mathbb{N}}$的子列$(a_{\phi_1 ( k)})_{k \in \mathbb{N}}$使得$(a_{1 \phi_1 (k)})_{k\in \mathbb{N}}$收敛。但是$(a_{\phi_1 ( k)})_{k\in \mathbb{N}}$仍是有界数列，因而存在子列$(a_{\phi_2 (\phi_1 ( k))})_{k\in \mathbb{N}}$使得$(a_{2 \phi_2 (\phi_1 (k))})_{\in \mathbb{N}}$也收敛（注意这里$(a_{1 \phi_2 (\phi_1 (k))})_{k\in \mathbb{N}}$必然是收敛的）。在进行类似的$n$次操作后，我们就可以得到一个子列，使得$\forall 1 \le i \le n, \ (a_{i \phi_n ( \cdots \phi_2 (\phi_1 (k)) \cdots )})_{k\in \mathbb{N}}$都收敛，也就是说存在子列$\ (a_{\phi_n ( \cdots \phi_2 (\phi_1 (k)) \cdots )})_{k\in \mathbb{N}}$收敛。证毕。

## 波尔查诺-魏尔斯特拉斯性质

在有限维度量空间中，波尔查诺-魏尔斯特拉斯说明了序列紧致的集合就是有界闭集。然而在一般的度量空间中，有界闭集不一定是序列紧致的。为此，拓扑学中将一般度量空间中的序列紧致称为波尔查诺-魏尔斯特拉斯性质。

定义：

设$K$为度量空间$(E ; \; d)$的子集。若$K$中任一序列$(a_n)_{n\in\mathbb{N}}$都包含一个收敛的子列，其极限也是$K$中元素，就称$K$具有波尔查诺-魏尔斯特拉斯性质。

如果度量空间本身满足波尔查诺-魏尔斯特拉斯性质，就称这个度量空间为紧空间。在度量空间中，波尔查诺-魏尔斯特拉斯性质等价于海恩-波莱尔性质：所有$K$的开覆盖都有限子覆盖。

## 参考来源

- Fitzpatrick, Patrick M. (2006) Advanced Calculus (2nd ed.). Belmont, CA: Thompson Brooks/Cole. ISBN 0-534-37603-7.

## 外部链接

- A proof of Bolzano–Weierstrass Theorem
- PlanetMath: proof of Bolzano–Weierstrass Theorem
- Proof of Bolzano–Weierstrass Theorem as a rap
- Demonstration of Bolzano–Weierstrass Theorem