定理

康托爾對角線論證:為什麼實數無法全部列成一張清單

2026年6月26日閱讀時間 2 分鐘
康托爾對角線論證:為什麼實數無法全部列成一張清單

假設有人遞給你一張清單。這是一張無限長的清單,他們宣稱它包含 0 到 1 之間的每一個實數。不是抽樣,也不是挑選:是每一個,整齊地編號為 r1、r2、r3,依此類推,永遠延伸下去。

康托爾(Georg Cantor)在 1891 年的回應是:不論你遞給我什麼清單,我都能讀出一個不在其上的數。這個構造只需要大約三十秒就能描述完。它的後果卻花了數學家數十年才消化,因為它意味著無限不只有一種大小。

計數與列表

在進入對角線的手法之前,先精確說明什麼叫做「可數」會有幫助。如果你能給一個集合的每個元素指派一個獨一無二的自然數標籤:第一個元素、第二個元素、第三個元素,依此類推,而且沒有任何剩餘,那麼這個集合就是可數的。自然數本身依定義就是可數的。整數也是(把它們列成 0、1、-1、2、-2……),甚至有理數也是,不過要列出每個分數,需要一個巧妙的之字形模式。

康托爾的論證顯示,0 到 1 之間的實數確實不一樣:不論你怎麼嘗試,都不存在這樣的標號。這不是想像力的失敗,而是一個證明,說明這項任務是不可能的。

假設清單存在

這個論證是一個反證法。先把對方想要的一切都給他:假設一張包含 (0, 1) 中每個實數的完整清單確實存在。把每個數寫成無限小數展開。

清單的開頭可能像這樣:

  • r1=0.14159265…r_{1} = 0.14159265\dots
  • r2=0.73205080…r_{2} = 0.73205080\dots
  • r3=0.00000000…r_{3} = 0.00000000\dots
  • r4=0.27182818…r_{4} = 0.27182818\dots
  • r5=0.91415926…r_{5} = 0.91415926\dots
  • ...

每個條目都永遠寫下去。清單也永遠寫下去。而且依照假設,0 到 1 之間的每個實數都出現在清單上的某處。

現在來看看沿著對角線往下讀時會發生什麼。

讀出對角線

看 r1 的第一位小數、r2 的第二位小數、r3 的第三位,依此類推。在上面的例子中,這些對角線上的數字是:1, 3, 0, 2, 9, ...

現在你一位一位地造出一個新的數,稱它為 d。規則是:對每個對角線上的數字,選一個不同的數字,但刻意避開 0 和 9。

r₁0.14159
r₂0.33333
r₃0.50000
r₄0.71828
r₅0.60259
new0.24138…

Each highlighted digit sits on the diagonal. The new number changes every one of them (1 3 0 2 9 becomes 2 4 1 3 8), so it cannot equal any row in the list.

對角線上的數字是 1、3、0、2、9。套用規則得到 2、4、1、3、8。於是 d=0.24138…d = 0.24138\dots

避開 0 和 9 是一個小而必要的防護措施。有些實數有兩種小數表示法:0.4999…… 與 0.5000…… 指的是數線上的同一個點。把一個數字翻轉成 0 或 9,可能會讓你落在清單上某個數的「另一個名字」,這會弄混論證。只要每個被翻轉的數字都落在 1 到 8 的範圍內,就能保證 d 恰好只有一種小數展開,下面的比較也就乾淨了。

新的數與每一個條目都不同

關鍵的成果就在這裡。

1

d 在第一位小數與 r1 不同

d 的第一位數字被選為與 r1 的第一位數字不同。所以 d≠r1d \neq r_1。它們在第 1 位不同。

2

d 在第二位小數與 r2 不同

d 的第二位數字被選為與 r2 的第二位數字不同。所以 d≠r2d \neq r_2。它們在第 2 位不同。

3

對每個 n,d 在第 n 位小數與 rn 不同

依構造,d 的第 n 位數字與 rn 的第 n 位數字不同。由於兩個數只要在任何一個位置上有不同的數字就不相等,所以對你說出的任何 n,都有 d≠rnd \neq r_n。

這就是對角線的手法:d 被設計成與清單上的每個條目衝突,而且衝突的位置,正是每個條目最容易被攻破的地方,也就是它自己的對角線位置。

4

d 是 0 到 1 之間的實數,卻不在清單上

數 d=0.24138…d = 0.24138\dots 顯然是區間 (0, 1) 中的實數。但我們剛剛證明了它與 r1、r2、r3,以及每一個條目都不同。如果清單是完整的,d 就必須出現在其中某處。它沒有。所以清單不是完整的。

矛盾非常尖銳:我們假設清單是完整的,卻造出了一個不在其上的實數。這個假設必定是錯的。不可能存在 0 到 1 之間實數的完整清單。

這究竟說了什麼

數學家說自然數的基數是阿列夫零(用希伯來字母阿列夫書寫:第一個超限基數)。實數的基數則嚴格地更大,有時寫成 c,或寫成 2 的阿列夫零次方。是康托爾的論證確立了這兩種無限的大小並不相同。

康托爾發表這個結果時,引起了極大的爭議。有些同事把這個結果當成奇聞或錯誤而不予理會。它兩者都不是。它位於數學家思考集合、基數和實數線結構的基礎之中,並且直接連結到關於什麼可以計算、什麼不可計算的問題(另一個可證明為真的事物卻逼近形式系統極限的例子,也請參見古德斯坦定理中的證明)。

為什麼對角線有效

這個論證優雅之處在於它的具體性。你不是在猜測一個遺漏的數,也不是訴諸對實數有多大的模糊直覺。你是在讀出每個條目掌控著清單上的哪些位置,然後造出一個恰好在那個位置上避開每一個條目的數。

清單本身告訴你該往哪裡看。清單上的每個條目都交給你一個坐標,也就是它自己的對角線數字,而這個構造把這些坐標變成一個清單無法包含的數。

這種簡單是有欺騙性的。這裡完全不需要知道清單上的條目是什麼。清單上有哪些數、以什麼順序、如何被選出,都不重要。這個論證是通用的:挑任何一張實數清單,對角線構造都會產生一個不在那張清單上的實數。

它的禪意

康托爾的對角線論證屬於一個悠久傳統:那些感覺不應該成立的數學結果。你盯著這個證明,等著找出那個把戲、那個隱藏的假設、那個邏輯出現破綻的地方。但它們並不存在。這個證明恰如它看起來的那麼簡單。

它要求你接受的事,比證明本身更奇怪:「無限」不是單一的終點。整數和實數都是無限的,但它們在本質上以不同的方式無限。對角線論證就是那條分界線。

想進一步感受無限的集合可以有多奇怪,接下來可以看看無限小數的結構,或是極限如何運作,也就是數列永遠趨近某個值卻永遠達不到它的時候。對角線論證屬於同一個家族:對無限邊緣所發生之事的一種精確而耐心的觀察,在那裡,直覺需要靠證明來保持誠實。

無限不只有一種。這就是這個論證帶來的消息。而傳達這個消息的論證,只要半頁就寫得完。

常見問題

康托爾的對角線論證證明了什麼?
它證明 0 到 1 之間的實數是不可數的:不論清單造得多巧妙,都不可能包含那個區間內的每一個實數。實數的數量就是多於任何一張清單上的位置。
「不可數」是什麼意思?
如果你能把一個集合的每個成員與一個自然數(1、2、3……)配成一對,而且沒有任何遺漏,這個集合就是可數的。自然數、整數,甚至有理數都是可數的。實數則不是:它們的數量太多,無法放進任何這樣的一一對應中。
為什麼不能直接把漏掉的那個數加進清單?
你可以加,但這時對角線論證會再次作用在這張新的、更長的清單上,產生另一個漏掉的數。這個論證對任何清單都有效,不論多長或排得多巧妙,所以沒有辦法把清單修補成完整的。
為什麼翻轉時要避開數字 0 和 9?
有些實數有兩種小數表示法:0.4999…… 與 0.5000…… 是同一個數。如果你把某個數字翻轉成 0 或 9,可能不小心落在清單上某個數的「另一個名字」。避開 0 和 9 就能繞過這個技術細節,讓證明保持乾淨。
有理數也是不可數的嗎?
不是。有理數是可數的:你可以有系統地列出每一個分數 p/q,並給每一個分數一個自然數的編號,不留任何遺漏。康托爾的對角線論證針對的是實數,不是有理數。

動手練一練

喜歡這樣一步步想通嗎?

Math Zen 把這種直覺變成每天的練習,用自適應題目涵蓋 24 個數學主題。

下載 iOS 版下載 Android 版

Math Zen 暂未在中国大陆的应用商店上架。

Not available in app stores in mainland China.

相關文章

古德斯坦定理:先爆炸、最後必定回到零的數列

古德斯坦定理:先爆炸、最後必定回到零的數列

古德斯坦定理描述一個整數數列:它會衝過古戈爾,甚至超越可觀測宇宙的原子數,大到一輩子都寫不完,卻能被證明最後一定回到零。本文用圖像說明遺傳進位記法、背後只會往下走的序數影子、與它等價的九頭蛇遊戲,以及為什麼皮亞諾算術無法證明這個定理,帶你看懂數的大小只是雜訊、結構才是訊號,全程不必跟著讀任何邏輯證明。

小數是什麼?直覺理解小數(為什麼小數點會移動)

小數是什麼?直覺理解小數(為什麼小數點會移動)

小數看起來很難,是因為那個點像個特殊符號。本文說明小數其實只是位值往右延伸,並解釋對齊小數點、數小數位數、移動小數點這些規則為什麼都成立,涵蓋小數的加減乘除、分數、小數與百分率的互換,以及位值誤讀、小數點錯位、太早四捨五入這三種常見錯誤,再附上一個一秒鐘就能完成的估算檢查,讓你在定案前先確認答案的大小合理。

極限是什麼?直覺理解微積分背後的核心概念

極限是什麼?直覺理解微積分背後的核心概念

極限是微積分的根基,其實比符號看起來簡單。用「函數正往哪裡走」的直覺看懂極限:多數題目直接代入就好,再來是左極限與右極限、0 比 0 的不定型怎麼化簡、無限遠處的極限與漸近線,以及極限如何引出瞬時速率與導數。全程不需要 ε-δ,也說明極限為何常被教得像一堵牆,最後附上不會讓人練到倦怠的混合練習方法。