漫談反證法 江銘輝 五夢網
在談反證法時,我們先講一個非常有趣的反證法故事,故事如下:
1.窮人欠了惡棍的債無發償還,因此必須要作牢。
2.惡棍專放高利貸,想跟窮人女兒結婚。
3.窮人女兒很討厭惡棍。
4.於是惡棍就提議:
「我要從路上隨便撿起一塊白石頭和一塊黑石頭,放進袋子裡。然後讓你的女兒伸手從袋子裡抓出一塊,如果她抓到白石頭,那麼債務就一筆勾消。但是,如果她抓到是黑石頭,那一定要和我結婚。」
5.說完,惡棍就偷偷地把兩塊黑石頭放進袋子裡。
6.這事情的真相被窮人女兒洞穿,可憐的女兒要怎麼辦?
(1)拒絕抓石頭。
(2)把「袋子石頭都是黑的」的真相抖出。
(3)咬緊牙關伸手去抓,然後哭哭啼啼跟著惡棍結婚。
7.以上三種方法,對窮人都很不利,到底窮人女兒要怎麼辦呢?
8.聰慧的女兒,想到一種絕妙辦法,她把手伸入袋子裡,抓出一塊石頭,接著驚叫一聲「哎呀!」後,故意讓石頭掉落在地上,並且這樣說:「我不知道落在地上的石頭顏色,不過查看袋子剩下的另一顆石頭便知道因為掉落在地上石頭的顏色,剛好和袋子裡的石頭顏色相反。」(圖1)
圖1:窮人女兒假裝不小心將拿出的石頭掉落在滿地都是石頭的地上。
反證法是一種重要的證明方法,它不直接證明問題,而是先假設問題“否定的結論”成立,再證明這個“否定的結論”與已知的定理或命題的條件互相矛盾,如此可推論命題成立。換言之,要證明"若P則q"的命題,我們先假設命題的已知條件P及結論的否定~q為真,然後從P和~q中,推出P和~q同時成立時,它們會有矛盾結果,如此可證明“若P則q”的命題成立。
例1:設a, b, c是同一平面內的三條直線,且a//c,b//c則a//b。
上例中,我們先假設P和~q為真,即P(a, b, c是同一平面內的三條直線,且a//c,b//c)成立和~q(a≠b)成立。
由~q知a≠b,則直線a與直線b必相交於一點X。
但依P,因為a//c,b//c得直線a和直線c沒有交點且直線b和直線c也沒有交點。所以直線a,直線b,直線c皆沒有交點,此顯然和(1)式矛盾。即P和相互矛盾,所以必然a//b。
例2:設a1, a2……a8都是正數,且
a1+a2+……+a8=20……(1)
a1×a2×a3……×a8=12……(2)
求證:a1,a2……,a8中至少有一個數小於1。
證明:假定a1, a2……a8都不小於1,即ai≧1,
(i=1,2……8)
則可設,(i=1, …8)……(3)
由(1), (3)式得
b1+b2+……+b8 =20-8=12
又由(2)式知:
a1×a2×……a8=(1+b1)(1+b2)+……(1+b8)
≧1+b1+b2+……+b8=13……(4)
顯然(4)式與已知條件(2)相矛盾。因此,a1,a2,……a8中至少有一個數小於1。
例3:用0, 1, 2, 3……9十個數字組成若干數目,每一數字只能並且要用一次,使這些數目的和為100。
對於這個問題,一開始我們直接用併湊的方法進行,發現:
19+28+31+7+6+5+4=100,它滿足“和”是100,但“1”使用兩次,“0”卻完全沒用到。
19+28+30+7+6+5+4=99,雖然每個字都用,但“和”只有99。
1+8+27+64=100,雖然數字都不相同,且“和”也是100,但3, 5, 9, 0卻沒有用到。經多次失敗以後,我們只好將例3重新改寫為:
用0, 1, 2, 3……9十個數字組成若干數目,若每一數字只能並且要用一次,則它們的和不可能是“100”……(1)
要證明式(1),我們可用反證法,證明如下:
0, 1, 2, 3,……9的組合,若可由一個或兩個數字組成和為100的數字組。則由兩個數字組合的個數至多只有三組,設此三組二位數以t, u, v表示其十位數。因為0, 1, 2,……9每個數字恰好出現一次,且有的數字是當作個位數,則個位數字的和就是45-(t+u+v)。因此:
10(t+u+v)+〔45-(t+u+v)〕=100
得t+u+v=
因為t, u, v是0~9的其中一個數字,所以t+u+v應該是整數。但我們卻得t+u+v=,顯然與假設“和”為100相矛盾,同理可證數組中若僅有二組或一組二位數,命題亦成立。
所以我們得到一個結論:若0, 1, 2,……9十個數字,只能用一次並且一定要用一次,所組成數目的和不可能是100。
最早使用反證法的是柏拉圖及與他同時代畢達哥拉斯學派的希波克拉底斯(Hippocrates),柏拉圖學派的弟子歐幾里德(Euclid)及尤多克薩斯(Eudoxus of Cnidus)都是使用“反證法”的頂尖高手。事實上歐幾里德的〈幾何原本〉著作中便常見到反證法。