# Topological Space - Heine-Borel Theorem in Metric Space
在 *metric space* 中,*compact* 就自動有 *closed* 跟 *bounded*。但反過來說未必會對,*closed* 跟 *totally bounded* 未必有 *compact*。那 *compact* 有沒有什麼充分必要條件呢?這邊有一個:
## Totally Bounded
:::warning
**Def (Totally Bounded)**
假定 $X$ 是一個 *metric space*,而 $M \subseteq X$。若對於任意 $\epsilon > 0$,都存在有限個 $p_1 \dots p_{N_\epsilon} \in M$,使得:
$$
M \subseteq \bigcup_{i = 1}^{N_\epsilon} B(p_i, \epsilon)
$$
那麼就稱 $M$ 為 *totally bounded*。
:::
有了這個之後,就可以在 *metric space* 中找到類似 * Heine-Borel Theorem*,也就是 *compact* 跟 *closed*, *complete*, *totally bounded* 各種性質排列組合的那個充分必要條件很像的定理:
## Generalized Heine-Borel Theorem
:::danger
**Thm (Generalized Heine-Borel Theorem)**
假定 $X$ 是個 *complete* *metric* *space*,則:
$$
\begin{align}
&S \mathbf{\ compact\ }\iff
\newline
& S \mathbf{\ closed}\text{ and }\mathbf{totally\ bounded}
\end{align}
$$
:::
==$\Rightarrow$==:*closed* 是已經證過的,剩下 *totally bounded*,這時候就可以用上 *open cover*。因為對於任意 $\epsilon > 0$,所有以 $S$ 中的點為中心,半徑 $\epsilon$ 的開球,必定會形成一個 $S$ 的 *open cover*。即:
$$
\mathfrak U = \{B(p, \epsilon)\}_{p \in S}
$$
是一個 $S$ 的 *open cover*。這時再用 *open cover* 的那個 *compact* 定義,知道 $\mathfrak U$ 必定有一個 *finite subcover*,而這個 *finite subcover* 就是有限個以 $S$ 中的元素為中心,$\epsilon$ 為半徑的開球。因此得證 *totally bounded*。
==$\Leftarrow$==:這個證明跟「閉區間 *compact*」 的證明一樣。只不過那時候的證明方法是二分,而這邊的證明方法是依照 *totally bounded* 的那些開球數目去分。
假定 $A = \{a_j\}_{j = 1}^{\infty}$ 是一個 $S$ 中的序列。現在的任務是:想辦法說明 $A$ 有收斂子序列。如同剛剛所說,這個證明從 *totallu bounded* 出發。令:
$$
\epsilon_k = \frac {1}{k}
$$
因為有 *totally bounded*,所以對於任何一個 $\epsilon_i$,都存在有限數目的開球, $B\left(p_{1}^k, \epsilon_k\right) \dots B\left((p_{N_k}^k, \epsilon_k\right)$,使得:
$$
\begin{align}
&\exists \left\{B\left(p_j^k, \epsilon_k\right)\right\}_{j = 1}^{N_1}.
\newline
& \quad A \subseteq S \subseteq \bigcup_{j = 1}^{N_1}B\left(p_j^k, \epsilon_k\right)
\end{align}
$$
既然可以把數目無限的 $A$ 塞在數目有限個開球中,依照鴿籠原理,在這些開球:
$$
B\left(p_1^{k}, \epsilon_k\right) \dots B\left(p_{N_k}^k, \epsilon_k\right)
$$
中,一定至少有一個包住了無限多個 $A$ 中的點。這時,就可以這個特性,構造出一個 $A$ 的 *nested sequence of set*。而且裡面所有集合的的半徑,還會隨著包含關係而嚴格遞減。方法是這樣:
1. 從 $\epsilon_1 = 1$ 開始。假定這個開球是是 $B\left(p_j^1, 1\right)$,那麼令:
$$
A_1 = B\left(p_j^1, \epsilon_1\right) \cap A
$$
2. 而這時,$A_1 \subseteq A = \{a_j\}_{j = 1}^{\infty}$ 裡面的元素,就可以形成一個 $A$ 的子序列。比如說:把 $A_1$ 中的每個元素,依照在原序列 $A$ 的 *index* 大小由小往大排,就生出一個 $A$ 的子序列了。
3. 而 $A_1$ 又是一個無限多元素的序列,而且 $A \supset A_1$。這時令 $\epsilon_2 = 1/2$,然後找 *totally bounded* 保證的,可以蓋住 $S$ 的有限個開球們。
4. 接下來,再度因為鴿籠原理,$A_1$ 是無限的集合,但這些蓋住 $S$ 的半徑 $1/2$ 的開球只有有限個。所以這些半徑為 $1/2$ 的開球中,一定有某一個某個包含了無限多個 $A_1$ 元素。令這個半徑為 $1/2$ 的開球跟 $A_1$ 的交集為 $A_2$,然後再令 $\epsilon_3 = 1/3$...
如此一直遞迴地做下去,也就是像這樣:
$$
A_k =
\begin{cases}
A = \{a_j\}_{j = 1}^{\infty} & \text{if } k = 0
\newline
\newline
\text{some }p \in X \text{, gauranteed by totally bounded, }
\newline
\quad \text{such that }(B(p, \epsilon_k) \cap A_{k - 1}) \text{ has infinite point} & \text{if }k \geq 1
\end{cases}
$$
這樣一來,每一個 $A_i$ 都能形成一個 $\{a_j\}$ 的子序列,因為只要把 $A_i$ 中的元素,對應在 $A = \{a_j\}_{j = 1}^{\infty}$ 中的 *index* 由小到大寫出來,就構成了一個 $A$ 的子序列。除此之外, $\{A_k\}_{k = 1}^{\infty}$ 形成了一個 *nested sequence of set*,也就是:
$$
\{a_j\}_{j = 1}^{\infty} = A \supset A_1 \supset \dots \supset A_j \supset \cdots
$$
更進一步,對於任意 $A_k$,因為 $A_k$ 當初都是跟半徑為 $1/k$ 的開球取交集得到的,所以整個 $A_k$ 都會塞在半徑為 $1/k$ 的開球中。因此,$A_k$ 這個子序列中任兩點的距離比 $1/k$ 還要小,而且又 *nested*。這些特性就足以在完備的 $X$ 中找出收斂子序列了。比如說:用下面的方法構造出 $\{a_j\}$ 的收斂子序列:
1. 在所有的 $A_k$ 中取一個點。即取:
$$
a_{j_k} \subset A_k \subset A
$$
2. 因為每個 $A_k \subseteq A$,所以這序列選出來的元素都是 $A$ 中的元素,照這個方法取出來的這個序列也會是 $A$ 的子序列。假定這個取出來的序列叫做 $\{a_k\}_{k = 1}^{\infty}$
$$
\{a_{j_k}\}_{k = 1}^{\infty} \subset A
$$
這樣一來,就可以證明 $\{a_{j_k}\}$ 是收斂的。這是因為:
1. 任意一個 $A_k$ 塞在半徑為 $1/k$ 的開球中,所以裡面任兩點距離不超過 $1/k$。換句話說:這個取出來的序列 $\{a_{j_k}\}$ 只要 $k$ 夠大,任兩點間可以小於 $1/k$。也就是他 *Cauchy*。
2. 而這個空間又完備,所以柯西列都收斂。因此 $\{a_{k}\}$ 收斂。
3. 更進一步,因為 $\{a_{j_k}\}$ 是 $A$ 的子序列,而 $A$ 又是 $S$ 中的序列,但 $S$ 又 *closed*。所以 $\{a_{j_k}\}$ 收斂到的點會在 $S$ 裡面。
因為任何一個 $S$ 中的序列都可以這樣構造出收斂子序列,所以就證明了 $S$ *compact*。