對角論證法是喬治·康托爾於1891年提出的用於說明實數集合是不可數集的證明。
對角線法並非康托爾關於實數不可數的第一個證明,而是發表在他第一個證明的三年後。他的第一個證明既未用到十進制展開也未用到任何其它數系。自從該技巧第一次使用以來,在很大範圍內的證明中都用到了類似的證明構造方法,它們一般亦稱為對角論證法。
康托爾的證明表明區間[0, 1]不是可數無窮大。該證明是用反證法完成的,步驟如下:
- 假設區間[0, 1]是可數無窮大的,已知此區間中的每個數字都能以小數形式表達。
- 我們把區間中所有的數字排成數列(這些數字不需按序排列;事實上,有些可數集,例如有理數也不能按照數字的大小把它們全數排序,但單只是成數列就沒有問題的)。對於那些有兩種小數形式的數字,例如0.499 ... = 0.500 ...,我們選擇前者。
- 舉例,如果該數列小數形式表現如下:
- r1 = 0 . 5 1 0 5 1 1 0 ...
- r2 = 0 . 4 1 3 2 0 4 3 ...
- r3 = 0 . 8 2 4 5 0 2 6 ...
- r4 = 0 . 2 3 3 0 1 2 6 ...
- r5 = 0 . 4 1 0 7 2 4 6 ...
- r6 = 0 . 9 9 3 7 8 3 8 ...
- r7 = 0 . 0 1 0 5 1 3 5 ...
- ...
- 考慮小數點後的第k個位,我們給這些數字加上底線與粗體。從這裡可以看出「對角論證法」名稱的由來。
- r1 = 0 . 5 1 0 5 1 1 0 ...
- r2 = 0 . 4 1 3 2 0 4 3 ...
- r3 = 0 . 8 2 4 5 0 2 6 ...
- r4 = 0 . 2 3 3 0 1 2 6 ...
- r5 = 0 . 4 1 0 7 2 4 6 ...
- r6 = 0 . 9 9 3 7 8 3 8 ...
- r7 = 0 . 0 1 0 5 1 3 5 ...
- ...
- 我們設一實數,其中的第k個小數位為的第個小數位加2之後的個位數值。(例如說,r1的第1個小數位加2便是7)
- 明顯地是一個在區間[0, 1]內的實數,以之前的數列為例,則相對應的應為 0 . 7 3 6 2 4 5 7 ...。
- 由於的特殊定義,和會在第個小數位不同。這使得序列之中所有的實數俱不能與完全相等,即不在序列中。
- 但我們假設包括了所有區間[0, 1]內的實數,即應該要存在一個。這發生了矛盾。
- 所以在第一點內所提出的假設「區間[0, 1]是可數無窮大的」不成立,證畢。