2006/09/23

Bolzano-Weierstrass 定理證明

任意有界(無窮)數列必有收斂子數列

證明:設數列 {an} 有界。把數列的每個值放進集合 S 中,然後分 S 元素個數有窮和無窮兩個情形討論:

  1. S 為有窮點集,那麼一定有一個元素在 {an} 出現無窮多次。因為倘若每個元素都只出現有限次,總共又只有有窮個元素,那麼這個數列將不是無窮數列 →←,所以至少有一個元素會出現無窮多次。那麼就取那個出現無窮次的元素為所求的子數列,顯然收斂。
  2. S 為無窮點集,那麼就再找無窮二分搜尋與區間套定理登場。因為 {an} 有界,所以可以找到一個區間把 {an} 所有的值都收納在裡面。在中間值定理證明中實施無窮二分搜尋時,我們選擇左半或右半區間的準則是維持兩端函數值異號,這裡則是選擇「含有 S 中無窮元素」的那一半。這一定會存在,因為倘若左半和右半區間都只有有窮元素,那 S 會是有窮點集(或 {an} 不為無窮數列)→←,所以一定會有某一半含有 S 裡面的無窮個元素。遞迴實施此步驟,我們就得到和中間值定理證明一樣的區間套。同時,我們在嵌套過程中,對每個取到的區間都取裡面一個(也在 S 裡面的)數當作子數列的下一個數。因為所選區間內含無窮個元素,所以無論在上一個區間內取到的數在原數列中的 index 為何,在當前這個區間一定都能取到 index 比前一個 index 還大的數列元素作為子數列的下一個元素。而區間套定理保證最後會套到唯一一個實數,也就保證無窮二分搜尋途中所取的子數列最終會收斂到那個實數。

這證明也很玄妙 :)!

接下來是一個 lemma,稍後證明最大最小值定理時會派上用場:f[a, b] 上連續,則 S = {f(x) | x \in [a, b]} 有界

證明:用反證法,假設 f 無界。我們於是能在區間 [a, b] 裡面找到一個數列 {xn},把這個數列的值依序軋進 f 裡面使得函數值(的絕對值)愈跳愈高直至無窮。由 B-W 定理知,這個數列中必存在一個收斂子數列 {xnk} 收斂到一點 x0 \in [a, b],也就是 limk → ∞ xnk = x0。因為把這個子數列的值依序軋入 f 最終也會使 f 的函數值(的絕對值)跳到無窮,所以 limk → ∞ f(xnk) 不存在,但根據連續函數的性質,lim 和 f 的施用順序可調換,也就是 f(limk → ∞ xnk) = f(x0),這應該是個有限(也就是存在的)實數 →←!於是得到 f 有界,從而 S 亦有界。

--
下次我用 LaTeX 的語法打一打就算了 ─ HTML 源碼內的數學式整個被破壞掉了 XD。Blogger(or Firefox, Safari, ...)有沒有打算提供對 LaTeX 的原生支援(native support)?XD