![Page 1: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/1.jpg)
02 邏 輯
預備知識第 1 章 邏輯是探究推論方法的學問基本上邏輯提供了決定一個提出的論證是否正確的
規則和技巧邏輯推論在數學上用來證明定理在計算機科學上用來驗證程式的正
確性並證明定理在自然與物理學上用來獲得實驗的結論在社會科學上及我們的
日常生活上則用來解決一大堆形形色色的問題實際上我們經常使用邏輯推論
本章我們將討論一些基本的想法
回顧 在 1840 年代一位英國數學家奧古斯都笛摩根(Augustus De Morgan)開始推廣
古希臘人所發展出來的邏輯並修正這些概念中的一些弱點笛摩根
(1806-1871)出生於印度但在英國受教育他在倫敦大學任教多年並且是
第一位使用ldquo歸納法rdquo這個字來描述一個先前較不正式使用的證明方法還
為這種證明方法建立了堅固嚴密的基礎在 1847 年也就是在笛摩根邏輯推
廣系統結果出現的幾年後他的同胞喬治布爾(George Boole)出版了邏輯的
數學分析(The Mathematical Analysis of Logic)這本書緊接著幾年後又出版了
另一本書思考定律研究(An investigation of the Laws of Thought)布爾寫這些書的
目的是研究內心進行推論行為的基本定律賦予它們計算的符號語言表示
式並在此基礎之上建立邏輯科學與它的方法lowast布爾在這個領域的研究工作
堅定的建立了邏輯應該使用符號與代數性質應該從邏輯探討的觀點喬治
布爾(1815-1864)在愛爾蘭的皇后學院任教多年因此由笛摩根開始而由
布爾完成了將一大部分邏輯的研究彙整到數學中在本章中我們會簡單的研
lowast 引述自Victor J Katz A History of Mathematics An Introduction New York Harper Collins
1993 p 619
離散數學 82
究笛摩根和布爾在邏輯上的工作而在第八章我們會進一步檢驗布爾的成
果在數學和計算機科學許多領域上的重要應用
奧古斯都笛摩根 喬治布爾 Augustus De Morgan George Boole
21 命題與邏輯運算(Propositions and Logical Operations)
一個述句(statement)或命題(proposition)是一個宣告的句子可能為真或偽
但不會同時既真又偽
1
下列何者為述句 (a) 地球是圓的
(b) 2 3 5+ = (c) 你說英文嗎
(b) 3 5xminus = (e) 服用兩顆阿司匹靈 (f) 金星表面的溫度是華氏 800 度 (g) 明天太陽還是會出來
(a) 和 (b) 是無論如何都為真的述句 (c) 是一個問題所以它不是一個述句 (b) 是一個宣告句但不是一個述句因其真偽視 x 的值而定 (e) 不是一個述句它是一個命令
Chapter 02邏輯 83
(f) 是一個述句其真偽此刻我們無法得知然而原則上是可以決定它的
真偽所以它是一個述句 (g) 是一個述句因為它可以為真或偽但不會是既真又偽雖然我們必須
等到明天才能發現其真偽
邏輯連詞與複合述句(Logical Connectives and Compound Statements)
數學上字母 x y z hellip經常用來表示可以被實數取代的變數而這些變數可以用
我們熟知的運算+-times和divide連結起來邏輯上字母 p q r hellip表示命題變數
(propositional variables)亦即可以被述句代換的變數因此我們可以寫 p 今天陽光普照q 天氣很冷述句或命題變數可以用邏輯連詞連結起來而得到複
合述句(compound statements)舉例來說我們可以把前面的述句用連詞且(and)連接起來形成複合述句 p 且 q 陽光普照且天氣很冷複合述句的真值視於被
連結述句的真值以及所使用連詞的類型而定以下我們將討論最重要的連詞
若 p 為一述句p 的否定式(negation)是述句非 p(not p)表示為 ~p因此 ~p 為述句ldquo不是 p 的情況rdquo從這個定義
得知若 p 為真則 ~p 為偽且若 p 為偽則 ~p 為真
~p 相對於 p 的真值列在如表 21由複合述句的組成部分決
定複合述句的真值稱為真值表(truth table)嚴格來說
非(not)並不是連詞因為它並沒有結合兩個述句而 ~p 並不真的是一個複合
述句無論如何非對述句的聚集來說是一個單元運算若 p 為述句則 ~p 為述
句
2
提出下列述句的否定式 (a) 2 3 1p + gt (b) q 天氣很冷
(a) ~p 2+3 不大於 1亦即~ p 2 3 1+ le 因為 p 在此為真~p 為偽 (b) ~q 不是天氣很冷的情形簡單的說~q 天氣不冷
若 p 和 q 為述句p 和 q 的合取式(conjunction)為複合述句ldquop 且 qrdquo表示
成 p qand 連詞且(and)以符號 and來表示在 16 節的語言中且在述句的集合
上是一個二元運算複合述句 p qand 為真當 p 和 q 二者皆為真否則則為偽
表 21
p ~p
T F F T
離散數學 84
以 p 和 q 的真值換算而得的 p qand 的真值見表 22 的真值表意即要給出 p qand
的真值表我們需要考慮四種可能的情況這是由 p 和 q 分別都可以為真或偽這
個事實推斷的結果
表 22
p ~p p qand
T T T T F F F T T F F F
3
寫出下列各小題中 p 和 q 的合取式 (a) p 天正在下雪 q 我很冷 (b) p 2lt3 5 8q minus gt minus (c) p 天正在下雪 3 5q lt
(a) p qand 天正在下雪而且我很冷 (b) p qand 2 3lt 且 5 8minus gt minus (c) p qand 天正在下雪且 3 5lt
例題 3(c)顯示在邏輯上不同於日常用語我們可以用連詞且來連結兩個完全不
相關的述句
若 p 和 q 為述句p 和 q 的分取式(disjunction)為複合述
句ldquop 或 qrdquo表示成 p qor 連詞或(or)以符號 or來表
示複合述句 p qor 為真若至少 p 或 q 其中之一為真當 p和 q 二者皆為偽時則為偽表 23 中的真值表顯示 p qor
的真值
4
寫出下列各小題中 p 和 q 的分取式 (a) p2 為正整數 q 2 為有理數 (b) 2 3 5p + ne q倫敦是法國的首都
表 23 p p p or q
T T T T F T F T T F F F
Chapter 02邏輯 85
(a) p qor 2 為正整數或 2 為有理數因為 p 為真分取式 p qor 為真即
使 q 為偽 (b) p qor 2 3 5+ ne 或倫敦是法國的首都因為 p 和 q 二者皆為偽 p qor 為
偽
例題 4(b)顯示了在邏輯上不同於日常用語我們可以用連詞或來連結兩個完全
不相關的述句
連詞或比連詞且要更複雜因為或在語言上有兩種不同的用法假設我們說ldquo我
星期一前往西班牙或我星期五前往西班牙rdquo在這個複合述句中我們有述句 p我星期一前往西班牙和述句 q我星期五前往西班牙的分取式當然兩種可能
性中只恰有一種情形可能發生不會兩者同時發生所以連詞或是一種排斥性
(exclusive)的用法另一方面我們來考慮分取式 ldquo我數學及格或我法文不及
格rdquo在這個情況中兩種可能性中至少有一種會發生無論如何兩者可能同
時發生所以連詞或是一種包含性(inclusive)的用法在數學或計算機科學上
我們同意一直以包含性的用法來使用連詞或
通常一個複合述句可以有許多組成部分每一個組成部分本身是一個述句分
別以命題變數來表示述句 ( ( ))s p q p ror and or 包含了三個命題pq 和 r每一
個命題可以獨立為真或偽pq 和 r 總共有 23 或 8 種可能的真值組合而 s 的
真值表必須給出所有狀況下 s 的真偽若複合述句 s 包含 n 個組成述句s 的真
值表中將需要有 2n 列(在 31 節我們會討論如何計算在這些條件之下有多少種
可能性)這種真值表可以用下列方法系統性的建立起來
步驟 1 將表的前 n 行以組成命題變數加以標記接著針對所有變數的中間組
合加入更多的行最後以表示整個述句的那一行作為結束
步驟 2 在前 n 個標題之下列出 n 個組成述句的 2n 種可能真值
步驟 3 對其餘每一行依序計算未求得的真值
5 寫出述句 ( ) (~ )p q pand or 的真值表
因為有兩個命題包含在內真值表將會有 22 或 4 列前兩行我們列出所有 p和 q 可能的真值組合其他行下方的數表示此行填寫的順序
離散數學 86
p q pandq or ~p T T T T F T F F F F F T F T T F F F T T (1) (3) (2)
量詞(Quantifiers) 在 11 節中我們以列舉集合中元素的共同性質 P( )x 來定義集合因此 |P( )x x中的元素是使述句 P( )t 為真的物件 t這樣的句子 P( )x 稱為述詞(predicate)因
為在英文文法上性質是一種述詞P( )x 也稱為命題函數(propositional function)
因為每一個 x 的選擇會產生一個命題 P( )x 為真或為偽述詞的另一個應用是關於
程式的撰寫兩種常用的結構是ldquo若 P( )x 則執行一定的步驟rdquo以及ldquo當 Q( )x
做特定的動作rdquo述詞 P( )x 和 Q( )x 稱為程式碼區塊的控制員(guards)通常區
塊控制員是一個合取式或分取式
6 令 |A x x= 為小於 8 的整數此處 P( )x 是述句ldquox 為小於 8 的整數rdquo共通性質
是ldquo為小於 8 的整數rdquo因為 P(1) 為真1 Aisin
述詞 P( )x 的全稱量化(universal quantification)為述句ldquo對所有 x 的值 P( )x 為
真rdquo這裡我們假設只考慮在 P( )x 中有意義的 x 的值 P( )x 的全稱量化表示為
xforall P( )x 符號forall稱為全稱量詞(universal quantifier)
7 (a) 述句 P( )x ( )x xminus minus = 是對實數 x 有意義的一個述詞 P( )x 的全稱量詞
xforall P( )x 是一個為真的述句因為對所有的實數 ( )x xminus minus = (b) 令 Q( )x 1 4x + lt 則 xforall Q( )x 是一個為偽的述句因為 Q(5)不為真
全稱量詞也以說成ldquo對每一個 xrdquoldquo每一個 xrdquo 或ldquo對任何 xrdquo
一個述詞可以包含好幾個變數全稱量詞可以被用在每一個變數上舉例來說
交換律可以表示為 x yforall forall x y = y x全稱量詞被考慮的順序並不影響真值
數學述句經常會包括隱含的全稱量詞(例如在定理 112 節)
Chapter 02邏輯 87
在某些情況下我們只要求至少有一個值使得述詞為真述詞 P( )x 的存在量化
(existential quantification)是述句ldquo存在一個值 x 使 P( )x 為真rdquo P( )x 的存在
量化表示為 xexist P( )x 符號 exist稱為存在量詞(existential quantifier)
8 (a) 令 Q( )x 1 4x + lt Q( )x 的存在量化 xexist Q( )x 是一個為真的述句因為 Q(2)
是為真的述句 (b) 述句 2y y yexist + = 為偽沒有一個 y 值能使命題函數 2y y+ = 產生為真的述句
在中文上 xexist 可以說成ldquo有一個 xrdquoldquo有某個 xrdquoldquo存在一個 xrdquo或ldquo至少有一個 xrdquo
在一個述詞中存在量化可以用在好幾個變數上而這些存在量化被考慮的順序
並不會影響真值對一個有好幾個變數的述詞我們可以同時使用全稱量化及存
在量化在這種情況下順序就會有影響
9
令 A 和 B 為 n ntimes 矩陣 (a) 述句 nforall exist + =A B A B I 讀成ldquo對每一個 A 有一個 B 使得 n+ =A B I rdquo對一個
給定的 [ ]ija=A 定義 [ ]ijb=B 如下 1ii iib a= minus 1 i nle le 且 ij ijb a= minus i jne
1 i nle le 1 j nle le 則 n+ =A B I 由此得證 nforall exist + =A B A B I 是一個為真的述
句 (b) nexist forall + =B A A B I 是述句ldquo有一個 B 使得對所有的 A n+ =A B I rdquo此述句為
偽沒有單一的 B 對所有的 A 有這個性質 (c) exist forall + =B A A B A為真使述句為真的 B 的值為何
令 p xforall P( )x p 的否定式為偽當 p 為真p 的否定式為真當 p 為偽要讓 p 為
偽必須至少有一個 x 的值使 P( )x 為偽因此p 為偽若 xexist ~P( )x 為真另一方面
若 xexist ~P( )x 為偽則對每一個 x ~P( )x 為偽亦即 xforall P( )x 為真
10
(a) 令 p 對所有正整數 n 2 41 41n n+ + 為質數則~p 為至少有一個正整數 n 使2 41 41n n+ + 不是質數
(b) 令 q 有某個整數 k 使得12 3k= 則~q 對所有整數 k12 3kne
離散數學 88
習題 21
1 下列何者為述句 (a) 2 是正數嗎
(b) 2 1 0x x+ + = (c) 學邏輯 (b) 一月將會下雪 (e) 若股價下跌則我會賠錢
2 提出下列述句的否定式
(a) 2 7 11+ le (b) 2 是一個偶數而 8 是一個奇數
3 提出下列述句的否定式 (a) 明天會下雨或明天會下雪 (b) 若你開車則我走路
4 下列各小題提出 p 和 q 的合取式及分取式
(a) p 3 1 5+ lt q 7 3 6= times (b) p 我有錢 q 我快樂
5 下列各小題提出 p 和 q 的合取式及分取式 (a) p 我要開你的車 q 我會遲到 (b) p NUM gt 10 q NUM le 15
6 決定下列各述句的真偽 (a) 2 3lt 且 3 為正整數 (b) 2 3ge 且 3 為正整數 (c) 2 3lt 且 3 不為正整數 (b) 2 3ge 且 3 不為正整數
7 決定下列各述句的真偽 (a) 2 3lt 或 3 為正整數 (b) 2 3ge 或 3 為正整數 (c) 2 3lt 或 3 不為正整數 (b) 2 3ge 或 3 不為正整數
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 2: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/2.jpg)
離散數學 82
究笛摩根和布爾在邏輯上的工作而在第八章我們會進一步檢驗布爾的成
果在數學和計算機科學許多領域上的重要應用
奧古斯都笛摩根 喬治布爾 Augustus De Morgan George Boole
21 命題與邏輯運算(Propositions and Logical Operations)
一個述句(statement)或命題(proposition)是一個宣告的句子可能為真或偽
但不會同時既真又偽
1
下列何者為述句 (a) 地球是圓的
(b) 2 3 5+ = (c) 你說英文嗎
(b) 3 5xminus = (e) 服用兩顆阿司匹靈 (f) 金星表面的溫度是華氏 800 度 (g) 明天太陽還是會出來
(a) 和 (b) 是無論如何都為真的述句 (c) 是一個問題所以它不是一個述句 (b) 是一個宣告句但不是一個述句因其真偽視 x 的值而定 (e) 不是一個述句它是一個命令
Chapter 02邏輯 83
(f) 是一個述句其真偽此刻我們無法得知然而原則上是可以決定它的
真偽所以它是一個述句 (g) 是一個述句因為它可以為真或偽但不會是既真又偽雖然我們必須
等到明天才能發現其真偽
邏輯連詞與複合述句(Logical Connectives and Compound Statements)
數學上字母 x y z hellip經常用來表示可以被實數取代的變數而這些變數可以用
我們熟知的運算+-times和divide連結起來邏輯上字母 p q r hellip表示命題變數
(propositional variables)亦即可以被述句代換的變數因此我們可以寫 p 今天陽光普照q 天氣很冷述句或命題變數可以用邏輯連詞連結起來而得到複
合述句(compound statements)舉例來說我們可以把前面的述句用連詞且(and)連接起來形成複合述句 p 且 q 陽光普照且天氣很冷複合述句的真值視於被
連結述句的真值以及所使用連詞的類型而定以下我們將討論最重要的連詞
若 p 為一述句p 的否定式(negation)是述句非 p(not p)表示為 ~p因此 ~p 為述句ldquo不是 p 的情況rdquo從這個定義
得知若 p 為真則 ~p 為偽且若 p 為偽則 ~p 為真
~p 相對於 p 的真值列在如表 21由複合述句的組成部分決
定複合述句的真值稱為真值表(truth table)嚴格來說
非(not)並不是連詞因為它並沒有結合兩個述句而 ~p 並不真的是一個複合
述句無論如何非對述句的聚集來說是一個單元運算若 p 為述句則 ~p 為述
句
2
提出下列述句的否定式 (a) 2 3 1p + gt (b) q 天氣很冷
(a) ~p 2+3 不大於 1亦即~ p 2 3 1+ le 因為 p 在此為真~p 為偽 (b) ~q 不是天氣很冷的情形簡單的說~q 天氣不冷
若 p 和 q 為述句p 和 q 的合取式(conjunction)為複合述句ldquop 且 qrdquo表示
成 p qand 連詞且(and)以符號 and來表示在 16 節的語言中且在述句的集合
上是一個二元運算複合述句 p qand 為真當 p 和 q 二者皆為真否則則為偽
表 21
p ~p
T F F T
離散數學 84
以 p 和 q 的真值換算而得的 p qand 的真值見表 22 的真值表意即要給出 p qand
的真值表我們需要考慮四種可能的情況這是由 p 和 q 分別都可以為真或偽這
個事實推斷的結果
表 22
p ~p p qand
T T T T F F F T T F F F
3
寫出下列各小題中 p 和 q 的合取式 (a) p 天正在下雪 q 我很冷 (b) p 2lt3 5 8q minus gt minus (c) p 天正在下雪 3 5q lt
(a) p qand 天正在下雪而且我很冷 (b) p qand 2 3lt 且 5 8minus gt minus (c) p qand 天正在下雪且 3 5lt
例題 3(c)顯示在邏輯上不同於日常用語我們可以用連詞且來連結兩個完全不
相關的述句
若 p 和 q 為述句p 和 q 的分取式(disjunction)為複合述
句ldquop 或 qrdquo表示成 p qor 連詞或(or)以符號 or來表
示複合述句 p qor 為真若至少 p 或 q 其中之一為真當 p和 q 二者皆為偽時則為偽表 23 中的真值表顯示 p qor
的真值
4
寫出下列各小題中 p 和 q 的分取式 (a) p2 為正整數 q 2 為有理數 (b) 2 3 5p + ne q倫敦是法國的首都
表 23 p p p or q
T T T T F T F T T F F F
Chapter 02邏輯 85
(a) p qor 2 為正整數或 2 為有理數因為 p 為真分取式 p qor 為真即
使 q 為偽 (b) p qor 2 3 5+ ne 或倫敦是法國的首都因為 p 和 q 二者皆為偽 p qor 為
偽
例題 4(b)顯示了在邏輯上不同於日常用語我們可以用連詞或來連結兩個完全
不相關的述句
連詞或比連詞且要更複雜因為或在語言上有兩種不同的用法假設我們說ldquo我
星期一前往西班牙或我星期五前往西班牙rdquo在這個複合述句中我們有述句 p我星期一前往西班牙和述句 q我星期五前往西班牙的分取式當然兩種可能
性中只恰有一種情形可能發生不會兩者同時發生所以連詞或是一種排斥性
(exclusive)的用法另一方面我們來考慮分取式 ldquo我數學及格或我法文不及
格rdquo在這個情況中兩種可能性中至少有一種會發生無論如何兩者可能同
時發生所以連詞或是一種包含性(inclusive)的用法在數學或計算機科學上
我們同意一直以包含性的用法來使用連詞或
通常一個複合述句可以有許多組成部分每一個組成部分本身是一個述句分
別以命題變數來表示述句 ( ( ))s p q p ror and or 包含了三個命題pq 和 r每一
個命題可以獨立為真或偽pq 和 r 總共有 23 或 8 種可能的真值組合而 s 的
真值表必須給出所有狀況下 s 的真偽若複合述句 s 包含 n 個組成述句s 的真
值表中將需要有 2n 列(在 31 節我們會討論如何計算在這些條件之下有多少種
可能性)這種真值表可以用下列方法系統性的建立起來
步驟 1 將表的前 n 行以組成命題變數加以標記接著針對所有變數的中間組
合加入更多的行最後以表示整個述句的那一行作為結束
步驟 2 在前 n 個標題之下列出 n 個組成述句的 2n 種可能真值
步驟 3 對其餘每一行依序計算未求得的真值
5 寫出述句 ( ) (~ )p q pand or 的真值表
因為有兩個命題包含在內真值表將會有 22 或 4 列前兩行我們列出所有 p和 q 可能的真值組合其他行下方的數表示此行填寫的順序
離散數學 86
p q pandq or ~p T T T T F T F F F F F T F T T F F F T T (1) (3) (2)
量詞(Quantifiers) 在 11 節中我們以列舉集合中元素的共同性質 P( )x 來定義集合因此 |P( )x x中的元素是使述句 P( )t 為真的物件 t這樣的句子 P( )x 稱為述詞(predicate)因
為在英文文法上性質是一種述詞P( )x 也稱為命題函數(propositional function)
因為每一個 x 的選擇會產生一個命題 P( )x 為真或為偽述詞的另一個應用是關於
程式的撰寫兩種常用的結構是ldquo若 P( )x 則執行一定的步驟rdquo以及ldquo當 Q( )x
做特定的動作rdquo述詞 P( )x 和 Q( )x 稱為程式碼區塊的控制員(guards)通常區
塊控制員是一個合取式或分取式
6 令 |A x x= 為小於 8 的整數此處 P( )x 是述句ldquox 為小於 8 的整數rdquo共通性質
是ldquo為小於 8 的整數rdquo因為 P(1) 為真1 Aisin
述詞 P( )x 的全稱量化(universal quantification)為述句ldquo對所有 x 的值 P( )x 為
真rdquo這裡我們假設只考慮在 P( )x 中有意義的 x 的值 P( )x 的全稱量化表示為
xforall P( )x 符號forall稱為全稱量詞(universal quantifier)
7 (a) 述句 P( )x ( )x xminus minus = 是對實數 x 有意義的一個述詞 P( )x 的全稱量詞
xforall P( )x 是一個為真的述句因為對所有的實數 ( )x xminus minus = (b) 令 Q( )x 1 4x + lt 則 xforall Q( )x 是一個為偽的述句因為 Q(5)不為真
全稱量詞也以說成ldquo對每一個 xrdquoldquo每一個 xrdquo 或ldquo對任何 xrdquo
一個述詞可以包含好幾個變數全稱量詞可以被用在每一個變數上舉例來說
交換律可以表示為 x yforall forall x y = y x全稱量詞被考慮的順序並不影響真值
數學述句經常會包括隱含的全稱量詞(例如在定理 112 節)
Chapter 02邏輯 87
在某些情況下我們只要求至少有一個值使得述詞為真述詞 P( )x 的存在量化
(existential quantification)是述句ldquo存在一個值 x 使 P( )x 為真rdquo P( )x 的存在
量化表示為 xexist P( )x 符號 exist稱為存在量詞(existential quantifier)
8 (a) 令 Q( )x 1 4x + lt Q( )x 的存在量化 xexist Q( )x 是一個為真的述句因為 Q(2)
是為真的述句 (b) 述句 2y y yexist + = 為偽沒有一個 y 值能使命題函數 2y y+ = 產生為真的述句
在中文上 xexist 可以說成ldquo有一個 xrdquoldquo有某個 xrdquoldquo存在一個 xrdquo或ldquo至少有一個 xrdquo
在一個述詞中存在量化可以用在好幾個變數上而這些存在量化被考慮的順序
並不會影響真值對一個有好幾個變數的述詞我們可以同時使用全稱量化及存
在量化在這種情況下順序就會有影響
9
令 A 和 B 為 n ntimes 矩陣 (a) 述句 nforall exist + =A B A B I 讀成ldquo對每一個 A 有一個 B 使得 n+ =A B I rdquo對一個
給定的 [ ]ija=A 定義 [ ]ijb=B 如下 1ii iib a= minus 1 i nle le 且 ij ijb a= minus i jne
1 i nle le 1 j nle le 則 n+ =A B I 由此得證 nforall exist + =A B A B I 是一個為真的述
句 (b) nexist forall + =B A A B I 是述句ldquo有一個 B 使得對所有的 A n+ =A B I rdquo此述句為
偽沒有單一的 B 對所有的 A 有這個性質 (c) exist forall + =B A A B A為真使述句為真的 B 的值為何
令 p xforall P( )x p 的否定式為偽當 p 為真p 的否定式為真當 p 為偽要讓 p 為
偽必須至少有一個 x 的值使 P( )x 為偽因此p 為偽若 xexist ~P( )x 為真另一方面
若 xexist ~P( )x 為偽則對每一個 x ~P( )x 為偽亦即 xforall P( )x 為真
10
(a) 令 p 對所有正整數 n 2 41 41n n+ + 為質數則~p 為至少有一個正整數 n 使2 41 41n n+ + 不是質數
(b) 令 q 有某個整數 k 使得12 3k= 則~q 對所有整數 k12 3kne
離散數學 88
習題 21
1 下列何者為述句 (a) 2 是正數嗎
(b) 2 1 0x x+ + = (c) 學邏輯 (b) 一月將會下雪 (e) 若股價下跌則我會賠錢
2 提出下列述句的否定式
(a) 2 7 11+ le (b) 2 是一個偶數而 8 是一個奇數
3 提出下列述句的否定式 (a) 明天會下雨或明天會下雪 (b) 若你開車則我走路
4 下列各小題提出 p 和 q 的合取式及分取式
(a) p 3 1 5+ lt q 7 3 6= times (b) p 我有錢 q 我快樂
5 下列各小題提出 p 和 q 的合取式及分取式 (a) p 我要開你的車 q 我會遲到 (b) p NUM gt 10 q NUM le 15
6 決定下列各述句的真偽 (a) 2 3lt 且 3 為正整數 (b) 2 3ge 且 3 為正整數 (c) 2 3lt 且 3 不為正整數 (b) 2 3ge 且 3 不為正整數
7 決定下列各述句的真偽 (a) 2 3lt 或 3 為正整數 (b) 2 3ge 或 3 為正整數 (c) 2 3lt 或 3 不為正整數 (b) 2 3ge 或 3 不為正整數
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 3: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/3.jpg)
Chapter 02邏輯 83
(f) 是一個述句其真偽此刻我們無法得知然而原則上是可以決定它的
真偽所以它是一個述句 (g) 是一個述句因為它可以為真或偽但不會是既真又偽雖然我們必須
等到明天才能發現其真偽
邏輯連詞與複合述句(Logical Connectives and Compound Statements)
數學上字母 x y z hellip經常用來表示可以被實數取代的變數而這些變數可以用
我們熟知的運算+-times和divide連結起來邏輯上字母 p q r hellip表示命題變數
(propositional variables)亦即可以被述句代換的變數因此我們可以寫 p 今天陽光普照q 天氣很冷述句或命題變數可以用邏輯連詞連結起來而得到複
合述句(compound statements)舉例來說我們可以把前面的述句用連詞且(and)連接起來形成複合述句 p 且 q 陽光普照且天氣很冷複合述句的真值視於被
連結述句的真值以及所使用連詞的類型而定以下我們將討論最重要的連詞
若 p 為一述句p 的否定式(negation)是述句非 p(not p)表示為 ~p因此 ~p 為述句ldquo不是 p 的情況rdquo從這個定義
得知若 p 為真則 ~p 為偽且若 p 為偽則 ~p 為真
~p 相對於 p 的真值列在如表 21由複合述句的組成部分決
定複合述句的真值稱為真值表(truth table)嚴格來說
非(not)並不是連詞因為它並沒有結合兩個述句而 ~p 並不真的是一個複合
述句無論如何非對述句的聚集來說是一個單元運算若 p 為述句則 ~p 為述
句
2
提出下列述句的否定式 (a) 2 3 1p + gt (b) q 天氣很冷
(a) ~p 2+3 不大於 1亦即~ p 2 3 1+ le 因為 p 在此為真~p 為偽 (b) ~q 不是天氣很冷的情形簡單的說~q 天氣不冷
若 p 和 q 為述句p 和 q 的合取式(conjunction)為複合述句ldquop 且 qrdquo表示
成 p qand 連詞且(and)以符號 and來表示在 16 節的語言中且在述句的集合
上是一個二元運算複合述句 p qand 為真當 p 和 q 二者皆為真否則則為偽
表 21
p ~p
T F F T
離散數學 84
以 p 和 q 的真值換算而得的 p qand 的真值見表 22 的真值表意即要給出 p qand
的真值表我們需要考慮四種可能的情況這是由 p 和 q 分別都可以為真或偽這
個事實推斷的結果
表 22
p ~p p qand
T T T T F F F T T F F F
3
寫出下列各小題中 p 和 q 的合取式 (a) p 天正在下雪 q 我很冷 (b) p 2lt3 5 8q minus gt minus (c) p 天正在下雪 3 5q lt
(a) p qand 天正在下雪而且我很冷 (b) p qand 2 3lt 且 5 8minus gt minus (c) p qand 天正在下雪且 3 5lt
例題 3(c)顯示在邏輯上不同於日常用語我們可以用連詞且來連結兩個完全不
相關的述句
若 p 和 q 為述句p 和 q 的分取式(disjunction)為複合述
句ldquop 或 qrdquo表示成 p qor 連詞或(or)以符號 or來表
示複合述句 p qor 為真若至少 p 或 q 其中之一為真當 p和 q 二者皆為偽時則為偽表 23 中的真值表顯示 p qor
的真值
4
寫出下列各小題中 p 和 q 的分取式 (a) p2 為正整數 q 2 為有理數 (b) 2 3 5p + ne q倫敦是法國的首都
表 23 p p p or q
T T T T F T F T T F F F
Chapter 02邏輯 85
(a) p qor 2 為正整數或 2 為有理數因為 p 為真分取式 p qor 為真即
使 q 為偽 (b) p qor 2 3 5+ ne 或倫敦是法國的首都因為 p 和 q 二者皆為偽 p qor 為
偽
例題 4(b)顯示了在邏輯上不同於日常用語我們可以用連詞或來連結兩個完全
不相關的述句
連詞或比連詞且要更複雜因為或在語言上有兩種不同的用法假設我們說ldquo我
星期一前往西班牙或我星期五前往西班牙rdquo在這個複合述句中我們有述句 p我星期一前往西班牙和述句 q我星期五前往西班牙的分取式當然兩種可能
性中只恰有一種情形可能發生不會兩者同時發生所以連詞或是一種排斥性
(exclusive)的用法另一方面我們來考慮分取式 ldquo我數學及格或我法文不及
格rdquo在這個情況中兩種可能性中至少有一種會發生無論如何兩者可能同
時發生所以連詞或是一種包含性(inclusive)的用法在數學或計算機科學上
我們同意一直以包含性的用法來使用連詞或
通常一個複合述句可以有許多組成部分每一個組成部分本身是一個述句分
別以命題變數來表示述句 ( ( ))s p q p ror and or 包含了三個命題pq 和 r每一
個命題可以獨立為真或偽pq 和 r 總共有 23 或 8 種可能的真值組合而 s 的
真值表必須給出所有狀況下 s 的真偽若複合述句 s 包含 n 個組成述句s 的真
值表中將需要有 2n 列(在 31 節我們會討論如何計算在這些條件之下有多少種
可能性)這種真值表可以用下列方法系統性的建立起來
步驟 1 將表的前 n 行以組成命題變數加以標記接著針對所有變數的中間組
合加入更多的行最後以表示整個述句的那一行作為結束
步驟 2 在前 n 個標題之下列出 n 個組成述句的 2n 種可能真值
步驟 3 對其餘每一行依序計算未求得的真值
5 寫出述句 ( ) (~ )p q pand or 的真值表
因為有兩個命題包含在內真值表將會有 22 或 4 列前兩行我們列出所有 p和 q 可能的真值組合其他行下方的數表示此行填寫的順序
離散數學 86
p q pandq or ~p T T T T F T F F F F F T F T T F F F T T (1) (3) (2)
量詞(Quantifiers) 在 11 節中我們以列舉集合中元素的共同性質 P( )x 來定義集合因此 |P( )x x中的元素是使述句 P( )t 為真的物件 t這樣的句子 P( )x 稱為述詞(predicate)因
為在英文文法上性質是一種述詞P( )x 也稱為命題函數(propositional function)
因為每一個 x 的選擇會產生一個命題 P( )x 為真或為偽述詞的另一個應用是關於
程式的撰寫兩種常用的結構是ldquo若 P( )x 則執行一定的步驟rdquo以及ldquo當 Q( )x
做特定的動作rdquo述詞 P( )x 和 Q( )x 稱為程式碼區塊的控制員(guards)通常區
塊控制員是一個合取式或分取式
6 令 |A x x= 為小於 8 的整數此處 P( )x 是述句ldquox 為小於 8 的整數rdquo共通性質
是ldquo為小於 8 的整數rdquo因為 P(1) 為真1 Aisin
述詞 P( )x 的全稱量化(universal quantification)為述句ldquo對所有 x 的值 P( )x 為
真rdquo這裡我們假設只考慮在 P( )x 中有意義的 x 的值 P( )x 的全稱量化表示為
xforall P( )x 符號forall稱為全稱量詞(universal quantifier)
7 (a) 述句 P( )x ( )x xminus minus = 是對實數 x 有意義的一個述詞 P( )x 的全稱量詞
xforall P( )x 是一個為真的述句因為對所有的實數 ( )x xminus minus = (b) 令 Q( )x 1 4x + lt 則 xforall Q( )x 是一個為偽的述句因為 Q(5)不為真
全稱量詞也以說成ldquo對每一個 xrdquoldquo每一個 xrdquo 或ldquo對任何 xrdquo
一個述詞可以包含好幾個變數全稱量詞可以被用在每一個變數上舉例來說
交換律可以表示為 x yforall forall x y = y x全稱量詞被考慮的順序並不影響真值
數學述句經常會包括隱含的全稱量詞(例如在定理 112 節)
Chapter 02邏輯 87
在某些情況下我們只要求至少有一個值使得述詞為真述詞 P( )x 的存在量化
(existential quantification)是述句ldquo存在一個值 x 使 P( )x 為真rdquo P( )x 的存在
量化表示為 xexist P( )x 符號 exist稱為存在量詞(existential quantifier)
8 (a) 令 Q( )x 1 4x + lt Q( )x 的存在量化 xexist Q( )x 是一個為真的述句因為 Q(2)
是為真的述句 (b) 述句 2y y yexist + = 為偽沒有一個 y 值能使命題函數 2y y+ = 產生為真的述句
在中文上 xexist 可以說成ldquo有一個 xrdquoldquo有某個 xrdquoldquo存在一個 xrdquo或ldquo至少有一個 xrdquo
在一個述詞中存在量化可以用在好幾個變數上而這些存在量化被考慮的順序
並不會影響真值對一個有好幾個變數的述詞我們可以同時使用全稱量化及存
在量化在這種情況下順序就會有影響
9
令 A 和 B 為 n ntimes 矩陣 (a) 述句 nforall exist + =A B A B I 讀成ldquo對每一個 A 有一個 B 使得 n+ =A B I rdquo對一個
給定的 [ ]ija=A 定義 [ ]ijb=B 如下 1ii iib a= minus 1 i nle le 且 ij ijb a= minus i jne
1 i nle le 1 j nle le 則 n+ =A B I 由此得證 nforall exist + =A B A B I 是一個為真的述
句 (b) nexist forall + =B A A B I 是述句ldquo有一個 B 使得對所有的 A n+ =A B I rdquo此述句為
偽沒有單一的 B 對所有的 A 有這個性質 (c) exist forall + =B A A B A為真使述句為真的 B 的值為何
令 p xforall P( )x p 的否定式為偽當 p 為真p 的否定式為真當 p 為偽要讓 p 為
偽必須至少有一個 x 的值使 P( )x 為偽因此p 為偽若 xexist ~P( )x 為真另一方面
若 xexist ~P( )x 為偽則對每一個 x ~P( )x 為偽亦即 xforall P( )x 為真
10
(a) 令 p 對所有正整數 n 2 41 41n n+ + 為質數則~p 為至少有一個正整數 n 使2 41 41n n+ + 不是質數
(b) 令 q 有某個整數 k 使得12 3k= 則~q 對所有整數 k12 3kne
離散數學 88
習題 21
1 下列何者為述句 (a) 2 是正數嗎
(b) 2 1 0x x+ + = (c) 學邏輯 (b) 一月將會下雪 (e) 若股價下跌則我會賠錢
2 提出下列述句的否定式
(a) 2 7 11+ le (b) 2 是一個偶數而 8 是一個奇數
3 提出下列述句的否定式 (a) 明天會下雨或明天會下雪 (b) 若你開車則我走路
4 下列各小題提出 p 和 q 的合取式及分取式
(a) p 3 1 5+ lt q 7 3 6= times (b) p 我有錢 q 我快樂
5 下列各小題提出 p 和 q 的合取式及分取式 (a) p 我要開你的車 q 我會遲到 (b) p NUM gt 10 q NUM le 15
6 決定下列各述句的真偽 (a) 2 3lt 且 3 為正整數 (b) 2 3ge 且 3 為正整數 (c) 2 3lt 且 3 不為正整數 (b) 2 3ge 且 3 不為正整數
7 決定下列各述句的真偽 (a) 2 3lt 或 3 為正整數 (b) 2 3ge 或 3 為正整數 (c) 2 3lt 或 3 不為正整數 (b) 2 3ge 或 3 不為正整數
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 4: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/4.jpg)
離散數學 84
以 p 和 q 的真值換算而得的 p qand 的真值見表 22 的真值表意即要給出 p qand
的真值表我們需要考慮四種可能的情況這是由 p 和 q 分別都可以為真或偽這
個事實推斷的結果
表 22
p ~p p qand
T T T T F F F T T F F F
3
寫出下列各小題中 p 和 q 的合取式 (a) p 天正在下雪 q 我很冷 (b) p 2lt3 5 8q minus gt minus (c) p 天正在下雪 3 5q lt
(a) p qand 天正在下雪而且我很冷 (b) p qand 2 3lt 且 5 8minus gt minus (c) p qand 天正在下雪且 3 5lt
例題 3(c)顯示在邏輯上不同於日常用語我們可以用連詞且來連結兩個完全不
相關的述句
若 p 和 q 為述句p 和 q 的分取式(disjunction)為複合述
句ldquop 或 qrdquo表示成 p qor 連詞或(or)以符號 or來表
示複合述句 p qor 為真若至少 p 或 q 其中之一為真當 p和 q 二者皆為偽時則為偽表 23 中的真值表顯示 p qor
的真值
4
寫出下列各小題中 p 和 q 的分取式 (a) p2 為正整數 q 2 為有理數 (b) 2 3 5p + ne q倫敦是法國的首都
表 23 p p p or q
T T T T F T F T T F F F
Chapter 02邏輯 85
(a) p qor 2 為正整數或 2 為有理數因為 p 為真分取式 p qor 為真即
使 q 為偽 (b) p qor 2 3 5+ ne 或倫敦是法國的首都因為 p 和 q 二者皆為偽 p qor 為
偽
例題 4(b)顯示了在邏輯上不同於日常用語我們可以用連詞或來連結兩個完全
不相關的述句
連詞或比連詞且要更複雜因為或在語言上有兩種不同的用法假設我們說ldquo我
星期一前往西班牙或我星期五前往西班牙rdquo在這個複合述句中我們有述句 p我星期一前往西班牙和述句 q我星期五前往西班牙的分取式當然兩種可能
性中只恰有一種情形可能發生不會兩者同時發生所以連詞或是一種排斥性
(exclusive)的用法另一方面我們來考慮分取式 ldquo我數學及格或我法文不及
格rdquo在這個情況中兩種可能性中至少有一種會發生無論如何兩者可能同
時發生所以連詞或是一種包含性(inclusive)的用法在數學或計算機科學上
我們同意一直以包含性的用法來使用連詞或
通常一個複合述句可以有許多組成部分每一個組成部分本身是一個述句分
別以命題變數來表示述句 ( ( ))s p q p ror and or 包含了三個命題pq 和 r每一
個命題可以獨立為真或偽pq 和 r 總共有 23 或 8 種可能的真值組合而 s 的
真值表必須給出所有狀況下 s 的真偽若複合述句 s 包含 n 個組成述句s 的真
值表中將需要有 2n 列(在 31 節我們會討論如何計算在這些條件之下有多少種
可能性)這種真值表可以用下列方法系統性的建立起來
步驟 1 將表的前 n 行以組成命題變數加以標記接著針對所有變數的中間組
合加入更多的行最後以表示整個述句的那一行作為結束
步驟 2 在前 n 個標題之下列出 n 個組成述句的 2n 種可能真值
步驟 3 對其餘每一行依序計算未求得的真值
5 寫出述句 ( ) (~ )p q pand or 的真值表
因為有兩個命題包含在內真值表將會有 22 或 4 列前兩行我們列出所有 p和 q 可能的真值組合其他行下方的數表示此行填寫的順序
離散數學 86
p q pandq or ~p T T T T F T F F F F F T F T T F F F T T (1) (3) (2)
量詞(Quantifiers) 在 11 節中我們以列舉集合中元素的共同性質 P( )x 來定義集合因此 |P( )x x中的元素是使述句 P( )t 為真的物件 t這樣的句子 P( )x 稱為述詞(predicate)因
為在英文文法上性質是一種述詞P( )x 也稱為命題函數(propositional function)
因為每一個 x 的選擇會產生一個命題 P( )x 為真或為偽述詞的另一個應用是關於
程式的撰寫兩種常用的結構是ldquo若 P( )x 則執行一定的步驟rdquo以及ldquo當 Q( )x
做特定的動作rdquo述詞 P( )x 和 Q( )x 稱為程式碼區塊的控制員(guards)通常區
塊控制員是一個合取式或分取式
6 令 |A x x= 為小於 8 的整數此處 P( )x 是述句ldquox 為小於 8 的整數rdquo共通性質
是ldquo為小於 8 的整數rdquo因為 P(1) 為真1 Aisin
述詞 P( )x 的全稱量化(universal quantification)為述句ldquo對所有 x 的值 P( )x 為
真rdquo這裡我們假設只考慮在 P( )x 中有意義的 x 的值 P( )x 的全稱量化表示為
xforall P( )x 符號forall稱為全稱量詞(universal quantifier)
7 (a) 述句 P( )x ( )x xminus minus = 是對實數 x 有意義的一個述詞 P( )x 的全稱量詞
xforall P( )x 是一個為真的述句因為對所有的實數 ( )x xminus minus = (b) 令 Q( )x 1 4x + lt 則 xforall Q( )x 是一個為偽的述句因為 Q(5)不為真
全稱量詞也以說成ldquo對每一個 xrdquoldquo每一個 xrdquo 或ldquo對任何 xrdquo
一個述詞可以包含好幾個變數全稱量詞可以被用在每一個變數上舉例來說
交換律可以表示為 x yforall forall x y = y x全稱量詞被考慮的順序並不影響真值
數學述句經常會包括隱含的全稱量詞(例如在定理 112 節)
Chapter 02邏輯 87
在某些情況下我們只要求至少有一個值使得述詞為真述詞 P( )x 的存在量化
(existential quantification)是述句ldquo存在一個值 x 使 P( )x 為真rdquo P( )x 的存在
量化表示為 xexist P( )x 符號 exist稱為存在量詞(existential quantifier)
8 (a) 令 Q( )x 1 4x + lt Q( )x 的存在量化 xexist Q( )x 是一個為真的述句因為 Q(2)
是為真的述句 (b) 述句 2y y yexist + = 為偽沒有一個 y 值能使命題函數 2y y+ = 產生為真的述句
在中文上 xexist 可以說成ldquo有一個 xrdquoldquo有某個 xrdquoldquo存在一個 xrdquo或ldquo至少有一個 xrdquo
在一個述詞中存在量化可以用在好幾個變數上而這些存在量化被考慮的順序
並不會影響真值對一個有好幾個變數的述詞我們可以同時使用全稱量化及存
在量化在這種情況下順序就會有影響
9
令 A 和 B 為 n ntimes 矩陣 (a) 述句 nforall exist + =A B A B I 讀成ldquo對每一個 A 有一個 B 使得 n+ =A B I rdquo對一個
給定的 [ ]ija=A 定義 [ ]ijb=B 如下 1ii iib a= minus 1 i nle le 且 ij ijb a= minus i jne
1 i nle le 1 j nle le 則 n+ =A B I 由此得證 nforall exist + =A B A B I 是一個為真的述
句 (b) nexist forall + =B A A B I 是述句ldquo有一個 B 使得對所有的 A n+ =A B I rdquo此述句為
偽沒有單一的 B 對所有的 A 有這個性質 (c) exist forall + =B A A B A為真使述句為真的 B 的值為何
令 p xforall P( )x p 的否定式為偽當 p 為真p 的否定式為真當 p 為偽要讓 p 為
偽必須至少有一個 x 的值使 P( )x 為偽因此p 為偽若 xexist ~P( )x 為真另一方面
若 xexist ~P( )x 為偽則對每一個 x ~P( )x 為偽亦即 xforall P( )x 為真
10
(a) 令 p 對所有正整數 n 2 41 41n n+ + 為質數則~p 為至少有一個正整數 n 使2 41 41n n+ + 不是質數
(b) 令 q 有某個整數 k 使得12 3k= 則~q 對所有整數 k12 3kne
離散數學 88
習題 21
1 下列何者為述句 (a) 2 是正數嗎
(b) 2 1 0x x+ + = (c) 學邏輯 (b) 一月將會下雪 (e) 若股價下跌則我會賠錢
2 提出下列述句的否定式
(a) 2 7 11+ le (b) 2 是一個偶數而 8 是一個奇數
3 提出下列述句的否定式 (a) 明天會下雨或明天會下雪 (b) 若你開車則我走路
4 下列各小題提出 p 和 q 的合取式及分取式
(a) p 3 1 5+ lt q 7 3 6= times (b) p 我有錢 q 我快樂
5 下列各小題提出 p 和 q 的合取式及分取式 (a) p 我要開你的車 q 我會遲到 (b) p NUM gt 10 q NUM le 15
6 決定下列各述句的真偽 (a) 2 3lt 且 3 為正整數 (b) 2 3ge 且 3 為正整數 (c) 2 3lt 且 3 不為正整數 (b) 2 3ge 且 3 不為正整數
7 決定下列各述句的真偽 (a) 2 3lt 或 3 為正整數 (b) 2 3ge 或 3 為正整數 (c) 2 3lt 或 3 不為正整數 (b) 2 3ge 或 3 不為正整數
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 5: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/5.jpg)
Chapter 02邏輯 85
(a) p qor 2 為正整數或 2 為有理數因為 p 為真分取式 p qor 為真即
使 q 為偽 (b) p qor 2 3 5+ ne 或倫敦是法國的首都因為 p 和 q 二者皆為偽 p qor 為
偽
例題 4(b)顯示了在邏輯上不同於日常用語我們可以用連詞或來連結兩個完全
不相關的述句
連詞或比連詞且要更複雜因為或在語言上有兩種不同的用法假設我們說ldquo我
星期一前往西班牙或我星期五前往西班牙rdquo在這個複合述句中我們有述句 p我星期一前往西班牙和述句 q我星期五前往西班牙的分取式當然兩種可能
性中只恰有一種情形可能發生不會兩者同時發生所以連詞或是一種排斥性
(exclusive)的用法另一方面我們來考慮分取式 ldquo我數學及格或我法文不及
格rdquo在這個情況中兩種可能性中至少有一種會發生無論如何兩者可能同
時發生所以連詞或是一種包含性(inclusive)的用法在數學或計算機科學上
我們同意一直以包含性的用法來使用連詞或
通常一個複合述句可以有許多組成部分每一個組成部分本身是一個述句分
別以命題變數來表示述句 ( ( ))s p q p ror and or 包含了三個命題pq 和 r每一
個命題可以獨立為真或偽pq 和 r 總共有 23 或 8 種可能的真值組合而 s 的
真值表必須給出所有狀況下 s 的真偽若複合述句 s 包含 n 個組成述句s 的真
值表中將需要有 2n 列(在 31 節我們會討論如何計算在這些條件之下有多少種
可能性)這種真值表可以用下列方法系統性的建立起來
步驟 1 將表的前 n 行以組成命題變數加以標記接著針對所有變數的中間組
合加入更多的行最後以表示整個述句的那一行作為結束
步驟 2 在前 n 個標題之下列出 n 個組成述句的 2n 種可能真值
步驟 3 對其餘每一行依序計算未求得的真值
5 寫出述句 ( ) (~ )p q pand or 的真值表
因為有兩個命題包含在內真值表將會有 22 或 4 列前兩行我們列出所有 p和 q 可能的真值組合其他行下方的數表示此行填寫的順序
離散數學 86
p q pandq or ~p T T T T F T F F F F F T F T T F F F T T (1) (3) (2)
量詞(Quantifiers) 在 11 節中我們以列舉集合中元素的共同性質 P( )x 來定義集合因此 |P( )x x中的元素是使述句 P( )t 為真的物件 t這樣的句子 P( )x 稱為述詞(predicate)因
為在英文文法上性質是一種述詞P( )x 也稱為命題函數(propositional function)
因為每一個 x 的選擇會產生一個命題 P( )x 為真或為偽述詞的另一個應用是關於
程式的撰寫兩種常用的結構是ldquo若 P( )x 則執行一定的步驟rdquo以及ldquo當 Q( )x
做特定的動作rdquo述詞 P( )x 和 Q( )x 稱為程式碼區塊的控制員(guards)通常區
塊控制員是一個合取式或分取式
6 令 |A x x= 為小於 8 的整數此處 P( )x 是述句ldquox 為小於 8 的整數rdquo共通性質
是ldquo為小於 8 的整數rdquo因為 P(1) 為真1 Aisin
述詞 P( )x 的全稱量化(universal quantification)為述句ldquo對所有 x 的值 P( )x 為
真rdquo這裡我們假設只考慮在 P( )x 中有意義的 x 的值 P( )x 的全稱量化表示為
xforall P( )x 符號forall稱為全稱量詞(universal quantifier)
7 (a) 述句 P( )x ( )x xminus minus = 是對實數 x 有意義的一個述詞 P( )x 的全稱量詞
xforall P( )x 是一個為真的述句因為對所有的實數 ( )x xminus minus = (b) 令 Q( )x 1 4x + lt 則 xforall Q( )x 是一個為偽的述句因為 Q(5)不為真
全稱量詞也以說成ldquo對每一個 xrdquoldquo每一個 xrdquo 或ldquo對任何 xrdquo
一個述詞可以包含好幾個變數全稱量詞可以被用在每一個變數上舉例來說
交換律可以表示為 x yforall forall x y = y x全稱量詞被考慮的順序並不影響真值
數學述句經常會包括隱含的全稱量詞(例如在定理 112 節)
Chapter 02邏輯 87
在某些情況下我們只要求至少有一個值使得述詞為真述詞 P( )x 的存在量化
(existential quantification)是述句ldquo存在一個值 x 使 P( )x 為真rdquo P( )x 的存在
量化表示為 xexist P( )x 符號 exist稱為存在量詞(existential quantifier)
8 (a) 令 Q( )x 1 4x + lt Q( )x 的存在量化 xexist Q( )x 是一個為真的述句因為 Q(2)
是為真的述句 (b) 述句 2y y yexist + = 為偽沒有一個 y 值能使命題函數 2y y+ = 產生為真的述句
在中文上 xexist 可以說成ldquo有一個 xrdquoldquo有某個 xrdquoldquo存在一個 xrdquo或ldquo至少有一個 xrdquo
在一個述詞中存在量化可以用在好幾個變數上而這些存在量化被考慮的順序
並不會影響真值對一個有好幾個變數的述詞我們可以同時使用全稱量化及存
在量化在這種情況下順序就會有影響
9
令 A 和 B 為 n ntimes 矩陣 (a) 述句 nforall exist + =A B A B I 讀成ldquo對每一個 A 有一個 B 使得 n+ =A B I rdquo對一個
給定的 [ ]ija=A 定義 [ ]ijb=B 如下 1ii iib a= minus 1 i nle le 且 ij ijb a= minus i jne
1 i nle le 1 j nle le 則 n+ =A B I 由此得證 nforall exist + =A B A B I 是一個為真的述
句 (b) nexist forall + =B A A B I 是述句ldquo有一個 B 使得對所有的 A n+ =A B I rdquo此述句為
偽沒有單一的 B 對所有的 A 有這個性質 (c) exist forall + =B A A B A為真使述句為真的 B 的值為何
令 p xforall P( )x p 的否定式為偽當 p 為真p 的否定式為真當 p 為偽要讓 p 為
偽必須至少有一個 x 的值使 P( )x 為偽因此p 為偽若 xexist ~P( )x 為真另一方面
若 xexist ~P( )x 為偽則對每一個 x ~P( )x 為偽亦即 xforall P( )x 為真
10
(a) 令 p 對所有正整數 n 2 41 41n n+ + 為質數則~p 為至少有一個正整數 n 使2 41 41n n+ + 不是質數
(b) 令 q 有某個整數 k 使得12 3k= 則~q 對所有整數 k12 3kne
離散數學 88
習題 21
1 下列何者為述句 (a) 2 是正數嗎
(b) 2 1 0x x+ + = (c) 學邏輯 (b) 一月將會下雪 (e) 若股價下跌則我會賠錢
2 提出下列述句的否定式
(a) 2 7 11+ le (b) 2 是一個偶數而 8 是一個奇數
3 提出下列述句的否定式 (a) 明天會下雨或明天會下雪 (b) 若你開車則我走路
4 下列各小題提出 p 和 q 的合取式及分取式
(a) p 3 1 5+ lt q 7 3 6= times (b) p 我有錢 q 我快樂
5 下列各小題提出 p 和 q 的合取式及分取式 (a) p 我要開你的車 q 我會遲到 (b) p NUM gt 10 q NUM le 15
6 決定下列各述句的真偽 (a) 2 3lt 且 3 為正整數 (b) 2 3ge 且 3 為正整數 (c) 2 3lt 且 3 不為正整數 (b) 2 3ge 且 3 不為正整數
7 決定下列各述句的真偽 (a) 2 3lt 或 3 為正整數 (b) 2 3ge 或 3 為正整數 (c) 2 3lt 或 3 不為正整數 (b) 2 3ge 或 3 不為正整數
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 6: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/6.jpg)
離散數學 86
p q pandq or ~p T T T T F T F F F F F T F T T F F F T T (1) (3) (2)
量詞(Quantifiers) 在 11 節中我們以列舉集合中元素的共同性質 P( )x 來定義集合因此 |P( )x x中的元素是使述句 P( )t 為真的物件 t這樣的句子 P( )x 稱為述詞(predicate)因
為在英文文法上性質是一種述詞P( )x 也稱為命題函數(propositional function)
因為每一個 x 的選擇會產生一個命題 P( )x 為真或為偽述詞的另一個應用是關於
程式的撰寫兩種常用的結構是ldquo若 P( )x 則執行一定的步驟rdquo以及ldquo當 Q( )x
做特定的動作rdquo述詞 P( )x 和 Q( )x 稱為程式碼區塊的控制員(guards)通常區
塊控制員是一個合取式或分取式
6 令 |A x x= 為小於 8 的整數此處 P( )x 是述句ldquox 為小於 8 的整數rdquo共通性質
是ldquo為小於 8 的整數rdquo因為 P(1) 為真1 Aisin
述詞 P( )x 的全稱量化(universal quantification)為述句ldquo對所有 x 的值 P( )x 為
真rdquo這裡我們假設只考慮在 P( )x 中有意義的 x 的值 P( )x 的全稱量化表示為
xforall P( )x 符號forall稱為全稱量詞(universal quantifier)
7 (a) 述句 P( )x ( )x xminus minus = 是對實數 x 有意義的一個述詞 P( )x 的全稱量詞
xforall P( )x 是一個為真的述句因為對所有的實數 ( )x xminus minus = (b) 令 Q( )x 1 4x + lt 則 xforall Q( )x 是一個為偽的述句因為 Q(5)不為真
全稱量詞也以說成ldquo對每一個 xrdquoldquo每一個 xrdquo 或ldquo對任何 xrdquo
一個述詞可以包含好幾個變數全稱量詞可以被用在每一個變數上舉例來說
交換律可以表示為 x yforall forall x y = y x全稱量詞被考慮的順序並不影響真值
數學述句經常會包括隱含的全稱量詞(例如在定理 112 節)
Chapter 02邏輯 87
在某些情況下我們只要求至少有一個值使得述詞為真述詞 P( )x 的存在量化
(existential quantification)是述句ldquo存在一個值 x 使 P( )x 為真rdquo P( )x 的存在
量化表示為 xexist P( )x 符號 exist稱為存在量詞(existential quantifier)
8 (a) 令 Q( )x 1 4x + lt Q( )x 的存在量化 xexist Q( )x 是一個為真的述句因為 Q(2)
是為真的述句 (b) 述句 2y y yexist + = 為偽沒有一個 y 值能使命題函數 2y y+ = 產生為真的述句
在中文上 xexist 可以說成ldquo有一個 xrdquoldquo有某個 xrdquoldquo存在一個 xrdquo或ldquo至少有一個 xrdquo
在一個述詞中存在量化可以用在好幾個變數上而這些存在量化被考慮的順序
並不會影響真值對一個有好幾個變數的述詞我們可以同時使用全稱量化及存
在量化在這種情況下順序就會有影響
9
令 A 和 B 為 n ntimes 矩陣 (a) 述句 nforall exist + =A B A B I 讀成ldquo對每一個 A 有一個 B 使得 n+ =A B I rdquo對一個
給定的 [ ]ija=A 定義 [ ]ijb=B 如下 1ii iib a= minus 1 i nle le 且 ij ijb a= minus i jne
1 i nle le 1 j nle le 則 n+ =A B I 由此得證 nforall exist + =A B A B I 是一個為真的述
句 (b) nexist forall + =B A A B I 是述句ldquo有一個 B 使得對所有的 A n+ =A B I rdquo此述句為
偽沒有單一的 B 對所有的 A 有這個性質 (c) exist forall + =B A A B A為真使述句為真的 B 的值為何
令 p xforall P( )x p 的否定式為偽當 p 為真p 的否定式為真當 p 為偽要讓 p 為
偽必須至少有一個 x 的值使 P( )x 為偽因此p 為偽若 xexist ~P( )x 為真另一方面
若 xexist ~P( )x 為偽則對每一個 x ~P( )x 為偽亦即 xforall P( )x 為真
10
(a) 令 p 對所有正整數 n 2 41 41n n+ + 為質數則~p 為至少有一個正整數 n 使2 41 41n n+ + 不是質數
(b) 令 q 有某個整數 k 使得12 3k= 則~q 對所有整數 k12 3kne
離散數學 88
習題 21
1 下列何者為述句 (a) 2 是正數嗎
(b) 2 1 0x x+ + = (c) 學邏輯 (b) 一月將會下雪 (e) 若股價下跌則我會賠錢
2 提出下列述句的否定式
(a) 2 7 11+ le (b) 2 是一個偶數而 8 是一個奇數
3 提出下列述句的否定式 (a) 明天會下雨或明天會下雪 (b) 若你開車則我走路
4 下列各小題提出 p 和 q 的合取式及分取式
(a) p 3 1 5+ lt q 7 3 6= times (b) p 我有錢 q 我快樂
5 下列各小題提出 p 和 q 的合取式及分取式 (a) p 我要開你的車 q 我會遲到 (b) p NUM gt 10 q NUM le 15
6 決定下列各述句的真偽 (a) 2 3lt 且 3 為正整數 (b) 2 3ge 且 3 為正整數 (c) 2 3lt 且 3 不為正整數 (b) 2 3ge 且 3 不為正整數
7 決定下列各述句的真偽 (a) 2 3lt 或 3 為正整數 (b) 2 3ge 或 3 為正整數 (c) 2 3lt 或 3 不為正整數 (b) 2 3ge 或 3 不為正整數
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 7: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/7.jpg)
Chapter 02邏輯 87
在某些情況下我們只要求至少有一個值使得述詞為真述詞 P( )x 的存在量化
(existential quantification)是述句ldquo存在一個值 x 使 P( )x 為真rdquo P( )x 的存在
量化表示為 xexist P( )x 符號 exist稱為存在量詞(existential quantifier)
8 (a) 令 Q( )x 1 4x + lt Q( )x 的存在量化 xexist Q( )x 是一個為真的述句因為 Q(2)
是為真的述句 (b) 述句 2y y yexist + = 為偽沒有一個 y 值能使命題函數 2y y+ = 產生為真的述句
在中文上 xexist 可以說成ldquo有一個 xrdquoldquo有某個 xrdquoldquo存在一個 xrdquo或ldquo至少有一個 xrdquo
在一個述詞中存在量化可以用在好幾個變數上而這些存在量化被考慮的順序
並不會影響真值對一個有好幾個變數的述詞我們可以同時使用全稱量化及存
在量化在這種情況下順序就會有影響
9
令 A 和 B 為 n ntimes 矩陣 (a) 述句 nforall exist + =A B A B I 讀成ldquo對每一個 A 有一個 B 使得 n+ =A B I rdquo對一個
給定的 [ ]ija=A 定義 [ ]ijb=B 如下 1ii iib a= minus 1 i nle le 且 ij ijb a= minus i jne
1 i nle le 1 j nle le 則 n+ =A B I 由此得證 nforall exist + =A B A B I 是一個為真的述
句 (b) nexist forall + =B A A B I 是述句ldquo有一個 B 使得對所有的 A n+ =A B I rdquo此述句為
偽沒有單一的 B 對所有的 A 有這個性質 (c) exist forall + =B A A B A為真使述句為真的 B 的值為何
令 p xforall P( )x p 的否定式為偽當 p 為真p 的否定式為真當 p 為偽要讓 p 為
偽必須至少有一個 x 的值使 P( )x 為偽因此p 為偽若 xexist ~P( )x 為真另一方面
若 xexist ~P( )x 為偽則對每一個 x ~P( )x 為偽亦即 xforall P( )x 為真
10
(a) 令 p 對所有正整數 n 2 41 41n n+ + 為質數則~p 為至少有一個正整數 n 使2 41 41n n+ + 不是質數
(b) 令 q 有某個整數 k 使得12 3k= 則~q 對所有整數 k12 3kne
離散數學 88
習題 21
1 下列何者為述句 (a) 2 是正數嗎
(b) 2 1 0x x+ + = (c) 學邏輯 (b) 一月將會下雪 (e) 若股價下跌則我會賠錢
2 提出下列述句的否定式
(a) 2 7 11+ le (b) 2 是一個偶數而 8 是一個奇數
3 提出下列述句的否定式 (a) 明天會下雨或明天會下雪 (b) 若你開車則我走路
4 下列各小題提出 p 和 q 的合取式及分取式
(a) p 3 1 5+ lt q 7 3 6= times (b) p 我有錢 q 我快樂
5 下列各小題提出 p 和 q 的合取式及分取式 (a) p 我要開你的車 q 我會遲到 (b) p NUM gt 10 q NUM le 15
6 決定下列各述句的真偽 (a) 2 3lt 且 3 為正整數 (b) 2 3ge 且 3 為正整數 (c) 2 3lt 且 3 不為正整數 (b) 2 3ge 且 3 不為正整數
7 決定下列各述句的真偽 (a) 2 3lt 或 3 為正整數 (b) 2 3ge 或 3 為正整數 (c) 2 3lt 或 3 不為正整數 (b) 2 3ge 或 3 不為正整數
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 8: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/8.jpg)
離散數學 88
習題 21
1 下列何者為述句 (a) 2 是正數嗎
(b) 2 1 0x x+ + = (c) 學邏輯 (b) 一月將會下雪 (e) 若股價下跌則我會賠錢
2 提出下列述句的否定式
(a) 2 7 11+ le (b) 2 是一個偶數而 8 是一個奇數
3 提出下列述句的否定式 (a) 明天會下雨或明天會下雪 (b) 若你開車則我走路
4 下列各小題提出 p 和 q 的合取式及分取式
(a) p 3 1 5+ lt q 7 3 6= times (b) p 我有錢 q 我快樂
5 下列各小題提出 p 和 q 的合取式及分取式 (a) p 我要開你的車 q 我會遲到 (b) p NUM gt 10 q NUM le 15
6 決定下列各述句的真偽 (a) 2 3lt 且 3 為正整數 (b) 2 3ge 且 3 為正整數 (c) 2 3lt 且 3 不為正整數 (b) 2 3ge 且 3 不為正整數
7 決定下列各述句的真偽 (a) 2 3lt 或 3 為正整數 (b) 2 3ge 或 3 為正整數 (c) 2 3lt 或 3 不為正整數 (b) 2 3ge 或 3 不為正整數
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 9: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/9.jpg)
Chapter 02邏輯 89
習題 8 和 9若 p 和 r 為真且 q 為偽求各命題的真值 8 (a) ~ ~p qand (b) (~ )p q ror and
(c) p q ror or (d) ~ ( )p q ror and
9 (a) ~ ( )p q rand or (b) (~ ( ~ ))p q rand or (c) ( ~ ) ( )r q p rand or or (d) ( ) ( ~ )q r p rand and or
10 下列何者為述句ldquo2 是偶數且-3 是負數rdquo的否定式 (a) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數 (c) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數
11 下列何者為述句ldquo2 是偶數或-3 是負數rdquo的否定式 (a) 2 是偶數或-3 不是負數 (b) 2 是奇數或-3 不是負數 (c) 2 是偶數且-3 不是負數 (b) 2 是奇數且-3 不是負數
習題 12 和 13使用 p 今天是星期一q 草地是濕的及 r 盤子跟湯匙離家
出走了
12 將下列各小題用 pqr 和邏輯連詞寫出 (a) 今天是星期一且盤子跟湯匙並沒有離家出走 (b) 或者草地是濕的或者今天是星期一 (c) 今天不是星期一且草地是乾的 (b) 盤子跟湯匙離家出走了但草地是濕的
13 寫出對應下列小題的文句 (a) ~ r qand (b) ~ q ror (c) ~ ( )p qor (d) ~p ror
習題 14 到 19使用 P(x) x 是偶數Q(x) x 是質數R(x y) x + y 是偶數變數
x 和 y 表示整數 14 寫出對應下列小題的文句
(a) xforall P( )x (b) xexist Q( )x
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 10: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/10.jpg)
離散數學 90
15 寫出對應下列小題的文句 (a) xforall yexist R( )x y (b) xexist yforall R( )x y
16 寫出對應下列小題的文句 (a) xforall (~Q( ))x (b) xexist (~P( ))y
17 寫出對應下列小題的文句 (a) ~( P( ))x xexist (b) ~( Q( ))x xforall
18 將下列各小題用 P(x)Q(x)R(x y)邏輯連詞和量詞寫出 (a) 每一個整數都是奇數 (b) 任意兩個整數的和是偶數 (c) 沒有偶質數 (b) 每一個整數都是偶數或質數
19 決定習題 14 到 18 中每一個述句的真值
20 對實數加法的交換律以適當的量詞提出其符號述句
21 對集合的笛摩根律以適當的量詞提出其符號述句
22 對實數的乘法反元素性質以適當的量詞提出其符號述句
習題 23 到 26寫出各述句的真值表 23 (~ )p q pand or
24 ( ) ~p q qor or
25 ( )p q ror and
26 (~ ) ~p q ror and
習題 27 到 29定義 p qdarr 為一個若既非 p 亦非 q 為真時為真的述句
p q pdarrq
T T F T F F F T F F F T
27 寫出 ( )p q rdarr darr 的真值表
28 寫出 ( ) ( )p q p rdarr and darr 的真值表
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 11: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/11.jpg)
Chapter 02邏輯 91
29 寫出 ( ) ( )p q p rdarr darr darr 的真值表
習題 30 到 32定義 p qΔ 為真若 p 或 q但不是二者為真寫出各述句的真值表 30 (a) p qΔ (b) ~p pΔ
31 ( )p q pand Δ
32 ( ) ( )p q q rΔ Δ Δ
習題 33 到 36 中所給的區塊需要改寫將控制員 P(x)替換為~P(x) 33 IF( x maxne and y gt 4)THEN 執行動作
34 WHILE(key=ldquoopenrdquo or t lt limit)執行動作
35 WHILE( item soughtne and index lt 101)執行動作
36 IF(cell gt 0 or found)THEN 執行動作
22 條件述句(Conditional Statements) 若 p 和 q 為述句複合述句ldquo若 p 則 qrdquo表示成 p qrArr 稱為條件述句(conditional
statement)或蘊含式( implication)述句 p 稱為前式(antecedent)或假設
(hypothesis)而述句 q 稱為後式(consequent)或結論(conclusion)連詞若
(if)hellip則(then)可以用符號rArr
1 寫出下列各小題的蘊含式 p qrArr
(a) p 我餓了 (b) q 我要吃 (a) p 天正在下雪 (b) q 3 5 8+ =
(a) 若我餓了則我要吃 (b) 若天正在下雪則 3 5 8+ =
例題 1(b)顯示和慣用的條件述句相較邏輯上條件述句的使用是更為一般的
因此在語言上當我們說ldquo若 p 則 qrdquo我們是心照不宣的假設在 p 和 q 之間有
一個因果關係(cause-and-effect relationship)亦即我們永遠不會在日常語言中
使用例題 1(b)中的述句因為述句 p 根本不可能對述句 q 有任何影響
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 12: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/12.jpg)
離散數學 92
在邏輯上蘊含式的用法是比較弱的我們說一個複合述句 p qrArr 為真只是在宣稱若 p 為真則 q 也會被發現為真換
言之 p qrArr 只是在說我們不會同時有 p 為真且 q 為偽它
並不是像一般用法上在說 pldquo導致rdquoq表 24 中以 p 和 q每一項的真值來描述 p qrArr 的真值注意 p qrArr 為偽只有
當 p 為真且 q 為偽時特別的是若 p 為偽則對任何 qp qrArr
為真這個事實有時候用述句ldquo錯誤的假設蘊含任何的結
論rdquo來描述這個述句是會讓人產生誤解的因為它好像在說若假設為偽結論
必須為真這很明顯的是個愚蠢的述句同樣的若 q 為真則對任何述句 pp qrArr 將為真蘊含式ldquo若 2 2 5+ = 則我是英國國王rdquo為真只是因為 p
2 2 5+ = 為偽所以不會是 p 為真且 q 同時為偽這個情況
在中文上及在數學上下列每一個表示式都是條件述句 p qrArr 的等價型式
(equivalent form) p 蘊含 qq若 pp 唯若 qp 是 q 的充分條件(sufficient condition)q 是 p 的必要條件(necessary condition)
若 p qrArr 是一個蘊含式則 p qrArr 的逆式(converse)是蘊含式 q prArr 而
p qrArr 的異質位換式(contrapositive)是蘊含式 ~ ~q prArr
2
給出蘊含式ldquo若天下雨則我淋濕rdquo的逆式及異質位換式
依題意 p天下雨而 q我淋濕逆式是 q prArr 若我淋濕則天下雨
異質位換式是 ~ ~q prArr 若我沒有淋濕則天沒有下雨
若 p 和 q 為述句複合述句 p 若且唯若 q表示成 p qhArr
稱為等價(equivalence)或雙條件式(biconditional)連詞
若且唯若(if and only if)以符號 hArr 來表示 p qhArr 的真
值見表 25意即 p qhArr 為真只有當 p 和 q 二者皆為真或
當 p 和 q 二者皆為偽等價 p qhArr 也可以敘述成 p 是 q 的
充要條件(necessary and sufficient condition)
3
下列等價是為真的述句嗎 3 2gt 若且唯若 0 3 2lt minus
表 24
p q rArrp q
T T T T F F F T T F F T
表 25
p q rArrp q
T T T T F F F T T F F T
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 13: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/13.jpg)
Chapter 02邏輯 93
令 p 為述句 3 2gt 且令 q 為述句 0 3 2lt minus 因為 p 和 q 二者皆為真可得出
結論 p qhArr 為真
4 計算述句 ( ) (~ ~ )p q q phArr hArr hArr 的真值表
下表是依照 21 節中的步驟 12 和 3 而建立的行下方的數字表示各行
被建立的順序
p q rArrp q ~q ~p ~ ~hArrq p ( ) (~ ~ )hArr hArr hArrp q q p
T T T F F T T T F F T F F T F T T F T T T F F T T T T T
(1) (2) (3) (4) (5)
一個述句對其命題變數所有可能的值皆為真稱為恆真式(tautology)一個恆
為偽的述句稱為矛盾式(contradiction)或謬悖(absurdity)而一個述句可能
為真或為偽視其命題變數的真值而定稱為適然式(contingency)
5
(a) 例題 4 的述句是一個恆真式 (b) 述句 ~p pand 是一個謬悖(證明這點) (c) 述句 ( ) ( )p q p qrArr and or 是一個適然式
現在我們定義了一個有兩個二元運算和一個單元運算的新數學結構(命題and
or~)說兩個命題相等是沒有意義的我們改說 p 和 q 為邏輯等價(logically equivalent)或簡稱等價(equivalent)若 p qhArr 為恆真式當一個等價被證
明為恆真式這表示它的兩個組成部分對命題變數的任何值恆為二者皆為真
或二者皆為偽因此這兩邊只是做出相同述句的不同方式而可以被視為ldquo相
等rdquo我們將 p 等價於 q 表示為 p qequiv 現在我們可以將性質改寫為運算我們說
這個結構有一個性質若以等價代替相等會給出一個為真的述句
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 14: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/14.jpg)
離散數學 94
6 二元運算 or 有交換性亦即 p q q por equiv or ( ) ( )p q q por hArr or 的真值表顯示此
述句為一個恆真式
p q orp q orq p ( ) ( )or hArr orp q q p
T T T T T T F T T T F T T T T F F F F T
另一種用真值表來決定兩個述句是否等價的方式是對每一個述句建立一個行
並比較這些行看它們是否完全相同例題 6 中第三行和第四行是完全相同的而
這就保證了它們所代表的述句是等價的
由 p 和 q 形成 p qrArr 是述句的另一個二元運算但我們可以用 21 節的運算來
表示它
7 條件述句 p qrArr 等價於 (~ )p qor 下表中的第一行和第三行顯示對任何 p 和q 的真值 p qrArr 和 (~ )p qor 有相同的真值
p q rArrp q ~p orq
T T T F T T F F F F F T T T T F F T F T
結構(命題 and or~)和結構(集合cupcap-)有許多相同的性質
定理 1
命題的運算有下列性質
交換性(Commutative Properties)
1 or equiv orp q q p 2 and equiv andp q q p
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 15: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/15.jpg)
Chapter 02邏輯 95
結合性(Associative Properties) 3 ( ) ( )or or equiv or orp q r p q r 4 ( ) ( )and and equiv and andp q r p q r
分配性(Distributive Properties) 5 ( ) ( ) ( )or and equiv or and orp q r p q p r 6 ( ) ( ) ( )and or equiv and or andp q r p q p r
等冪性(Idempotent Properties) 7 or equivp p p 8 and equivp p p
否定性(Properties of Negation) 9 ~ (~ ) equivp p 10 ~ ( ) (~ ) (~ )or equiv andp q p q 11 ~ ( ) (~ ) (~ )and equiv orp q p q 性質 10 和 11 為笛摩根律
證明
我們已經在例題 6 中證明了性質 1其餘的性質可以相同方式證明這部分留待
讀者作為練習
真值表可以用來證明有關命題的述句因為在真值表中所有可能的情況都會被檢
驗
蘊含式的運算也有一些重要的性質
定理 2
(a) ( ) ((~ ) )rArr equiv orp q p q (b) ( ) (~ ~ )rArr equiv rArrp q q p (c) ( ) (( ) ( ))hArr equiv rArr and rArrp q p q q p
證明
(a) 已在例題 7 中證明而(b)已在例題 4 中證明注意(b)提到一個條件述句等價
於它的異質位換式 (b) 提出一個條件述句否定式的替代版本這可以用真值表來證明但也可以用
之前證明過的事實來證明因為 ( ) ((~ ) )p q p qrArr equiv or p qrArr 的否定式必須
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 16: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/16.jpg)
離散數學 96
等價於 ~ ((~ ) )p qor 由笛摩根律 ~ ((~ ) ) (~ (~ )) (~ )p q p qor equiv and 或 (~ )p qand 因
此 ~ ( ) ( ~ )p q p qrArr equiv and
定理 2 的其餘部分保留為習題
定理 3 陳述了 21 節中的兩個結果及全稱量詞和存在量詞的一些其他性質
定理 3
(a) ~ ( P( )) ~ P( )forall equiv existx x x x (b) ~ ( P( )) (~ P( ))exist equiv forallx x x x (c) (P( ) ( )) P( ) Q( )exist rArr equivforall rArr existx x Q x x x x x (d) (P( ) ( )) P( ) Q( )exist or equiv exist or existx x Q x x x x x (f) (( (P( )) ( Q( ))) (P( ) Q( ))forall or forall rArrforall orx x x x x x x 是一個恆真式 (g) (P( ) Q( )) P( ) Q( )exist and rArr exist and existx x x x x x x 是一個恆真式
以下定理給出一些為蘊含式的重要恆真式這些式子被廣泛的用來證明數學和計
算機科學的許多結果在 23 節中我們會再舉例說明
定理 4
下列皆為恆真式 (a) ( )and rArrp q p (b) ( )and rArrp q q (c) ( )rArr orp p q (d) ( )rArr orq p q (e) ~ ( )rArr rArrp p q (f) ~ ( )rArr rArrp q p (g) ( ( ))and rArr rArrp p q q (h) (~ ( ))and and rArrp p q q (i) (~ ( )) ~and rArr rArrq p q p (j) (( ) ( )) ( )rArr and rArr rArr rArrp q q r p r
習題 22
習題 1 和 2 使用下列p我醒著q我努力工作r我夢到家鄉
1 用 pqr 和邏輯連詞寫出下列述句 (a) 我醒著意指我努力工作 (b) 我夢到家鄉唯若我醒著 (c) 我努力工作是我醒著的充分條件 (b) 我醒著是我沒有夢到家鄉的必要條件
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 17: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/17.jpg)
Chapter 02邏輯 97
2 用 pqr 和邏輯連詞寫出下列述句 (a) 我不是醒著若且唯若我夢到家鄉 (b) 若我夢到家鄉則我醒著且我努力工作 (c) 我沒有努力工作唯若我醒著且我沒有夢到家鄉 (b) 不是醒著且夢到家鄉是我努力工作的充分條件
3 敘述下列蘊含式的逆式 (a) 若 2 2 4+ = 則我不是英國女皇 (b) 若我不是美國總統則我要走路上班 (c) 若我遲到則我沒有搭火車去上班 (b) 若我有時間且我不是太累則我會去百貨公司 (e) 若我有足夠的錢則我會買一輛車且我會買一棟房子
4 敘述定理 3 中各個蘊含式的異質位換式
5 決定下列述句的真值 (a) 若 2 為偶數則紐約人口眾多 (b) 若 2 為偶數則紐約人口稀少 (c) 若 2 為奇數則紐約人口眾多 (b) 若 2 為奇數則紐約人口稀少
習題 6 和 7令 pq 和 r 為下列述句p我要讀離散數學q我要去看電影
r我心情很好
6 用 pqr 和邏輯連詞寫出下列述句 (a) 若我不是心情很好則我要去看電影 (b) 我不要去看電影且我要讀離散數學 (c) 我要去看電影唯若我不要讀離散數學 (b) 若我不要讀離散數學則我不是心情很好
7 寫出對應於各述句的句子 (a) ((~ ) )and rArrp q r (b) ( )rArr orr p q (c) (~ ) ((~ )rArr orr q p (d) ( (~ ))and hArrq p r
習題 8 和 9令 pq 和 r 為下列述句 4 1p gt 4 5q lt 3 3r le 2 2s gt
8 用 pqr 和邏輯連詞寫出下列述句
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 18: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/18.jpg)
離散數學 98
(a) 4 1gt 或 4 5lt (b) 若 3 3le 則 2 2gt (c) 不是 2 2gt 或 4 1gt
9 寫出對應於各述句的句子 (a) ( )and rArrp s q (b) ~ ( )andr q (c) (~ ) rArrr p
習題 10 到 12建立真值表來決定給定的述句為恆真式適然式或謬悖
10 (a) ~andp p (b) (~ )or andq q p
11 (a) ( )rArr rArrp q p (b) ( )rArr rArrq q p
12 (a) ( ) ( ~ )and or andq p q p (b) ( )and rArrp q p (c) ( )rArr andp q p
13 若 p qrArr 為偽你能決定 (~ ( ))p q qand rArr 的真值嗎說明你的答案
14 若 p qrArr 為偽你能決定 (~ ) ( )p p qor hArr 的真值嗎說明你的答案
15 若 p qrArr 為真你能決定 ( ) ~p q qand rArr 的真值嗎說明你的答案
16 若 p qrArr 為真你能決定 ~ ( ) ~p q prArr and 的真值嗎說明你的答案
習題 17 和 18求各述句的真值若 p 和 q 為真且 rs 和 t 為偽
17 (a) ~ ( )rArrp q (b) (~ ) rArrp r (c) ( ) ( )rArr and rArrp s s t (d) ~rArrt q
18 (a) (~ ) ( ( ( )))rArr rArr rArr orq r r p s (b) ( )rArr rArrp r q (c) ( ( )) (( ) (~ ))rArr rArr and rArr rArrq r s p s t (d) ( ) ( )and and rArr orr s t p q
19 用 21 節習題 27 中所給的 p qdarr 的定義證明 (( ) ( ))p p q qdarr darr darr 等價於 p qand
20 以通順的文句寫出下列的否定句 (a) 天氣很差且我不要去上班 (b) 若卡羅沒有生病則若她去野餐她會玩得很高興 (c) 我不會贏得比賽或我不要參加比賽
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 19: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/19.jpg)
Chapter 02邏輯 99
21 以通順的句子寫出下列的否定句 (a) 傑克不吃油脂但他吃球花甘藍菜 (b) 瑪麗丟了她的小羊或狼吃了小羊 (c) 若湯姆偷了一個派並逃走則三隻豬沒有任何晚餐
22 考慮下列條件述句 p 若水災毀了我的房子或火災毀了我的房子則我的保險公司會給我理賠 (a) 下列何者為 p 的逆式 (b) 下列何者為 p 的異質位換式
(i) 若我的保險公司給我理賠則水災毀了我的房子或火災毀了我的房
子 (ii) 若我的保險公司給我理賠則水災毀了我的房子且火災毀了我的房
子 (iii) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子或火災沒
有毀了我的房子 (iv) 若我的保險公司沒有給我理賠則水災沒有毀了我的房子且火災沒
有毀了我的房子
23 證明定理 1 第 6 部分
24 證明定理 1 第 11 部分
25 證明定理 2 第 e 部分
26 證明定理 3 第 e 部分
27 證明定理 3 第 f 部分
28 證明定理 4 第 a 部分
29 證明定理 4 第 d 部分
30 證明定理 4 第 g 部分
31 證明定理 4 第 j 部分
32 解釋為何證明定理 4 的 e 部分可提供一個定理 4 的 f 部分的單行證明
33 解釋為何證明定理 4 的 a 部分可提供一個定理 4 的 b 部分的單行證明
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 20: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/20.jpg)
離散數學 100
23 證明的方法(Methods of Proof)
一些我們用過的證明方法包括以通用元素定義及已證明事實做直接的證明還
有分狀況加以證明例如檢查真值表中所有可能的真值狀況此處我們將更仔細
的來討論證明
若蘊含式 p qrArr 是一個恆真式其中 p 和 q 可以是包括任意多個命題變數的
複合述句我們說 q 邏輯地推導( logically follows)自 p假設一個有
1 2( )np p p qand and and rArrhellip 形式的蘊含式為恆真式則不論其任何組成的真值為何
此蘊含式為真在這個狀況下我們說 q 邏輯地推導( logically follows)自
1 2 np p phellip 當 q 邏輯地推導自 1 2 np p phellip 我們寫成
1
2
there4n
pp
pq
其中符號 there4 表示所以(therefore)意即若我們知道 1p 為真 2p 為真hellip 且
np 為真則我們知道 q 為真
形式上所有數學定理都是由這種類型的蘊含式所構成的
1 2( )np p p qand and and rArrhellip
ip 稱為假設(hypotheses)或前提(premises)而 q 稱為結論(conclusion)
ldquo證明定理rdquo的意思是證明此蘊涵式是一個恆真式注意我們並不是要試著去證
明 q(結論)為真只是要證明 q 將為真若所有的 ip 為真因為這個緣故數
學證明通常以述句ldquo假設 1 2 p p hellip 和 np 為真rdquo開始而以述句ldquo所以q 為真rdquo為結論證明並不顯示 q 為真而只是顯示若 ip 全為真 q 必須為真
基於恆真式的推論為共通性正確的推理方法它們的正確性只和所蘊含的述句有
關而和其所包含的變數的真值無關這樣的論證稱為推論規則( rules of inference)一個定理的數學證明中每一個不同步驟都必須根據各種不同推論
規則的使用而且定理的數學證明必須從假設開始經由種種的步驟繼續進行
每一個步驟都以某些推論規則核證最終才達到結論
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 21: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/21.jpg)
Chapter 02邏輯 101
1 根據上一節的定理 4(j) (( ) ( )) ( )p q q r p rrArr and rArr rArr rArr 為恆真式因此論證
p qq rp r
rArrrArr
there4 rArr
是共通性正確的因此是一個推論規則
2
以下論證正確嗎
there4 若你投資股市則你會變有錢 there4 若你變有錢則你會很快樂 there4 若你投資股市則你會很快樂
這個論證正是例題 1 中所給的形式因此論證是正確的雖然結論可能為
偽
3 恆真式 ( ) (( ) ( ))p q p q q phArr hArr rArr and rArr 是 22 節的定理 2(c)因此下列兩個論證都
是正確的
( ) ( )p qp q q phArrrArr and rArrthere4
p qq pp q
rArrrArr
there4 hArr
有些數學定理是等價的亦即它們有這種形式 p qhArr 這通常描述為 p 若且唯
若 q 由定理 3這樣的定理的證明是邏輯性等價於去證明 p qrArr 和 q prArr 這兩
者而且這幾乎總是用來證明等價的方法我們首先假設 p 為真且證明 q 必須
則為真接著我們假設 q 為真並證明 p 必須則為真
一個非常重要的推論規則是
pp qqrArr
there4
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 22: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/22.jpg)
離散數學 102
亦即p 為真且 p qrArr 為真故 q 為真這是推導自 22 節的定理 4(g)
部分推論規則是由古典學者加上了拉丁命名定理 4(g)被稱為離斷律(modus ponens)或模糊的說斷言律(method of asserting)
4
there4 以下論證正確嗎 there4 吸煙是健康的 there4 若吸煙是健康的則香菸被醫生開為藥方 there4 香菸被醫生開為藥方
此論證是正確的因為它是離斷律的形式然而結論為偽意即第一個前
提 p 吸煙是健康的為偽第二個前提 p qrArr 則為真且 ( ( ))p p qand rArr 這
兩個前提的合取式為偽
5
以下論證正確嗎
there4 若課稅降低則收入增加 there4 收入增加 there4 課稅降低
令 p 課稅降低和 q 收入增加則論證為此形式
p qqp
rArr
there4
假設 p qrArr 和 q 二者皆為真現在 p qrArr 可能為真當 p 為偽則結論
p 為偽因此此論證不正確另一個回答這個問題的方法是去證明述句 (( ) )p q qrArr and 是否邏輯地蘊含述句 p真值表顯示並不是這種情況(驗
證此點)
一個重要的證明技巧稱為間接證明法(indirect method of proof)是根據恆真
式 (( ) ((~ ) (~ ))p q q prArr hArr rArr 這陳述了如之前所提到的一個蘊含式等價於
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 23: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/23.jpg)
Chapter 02邏輯 103
它的異質位換式因此要間接的去證明 p qrArr 我們假設 q 為偽(述句 ~ q )
且證明 p 則為偽(述句 ~ p )
6
令 n 為整數證明若 2n 為奇數則 n 為奇數
令 p 2n 為奇數和 q n 為奇數我們必須證明 p qrArr 為真取而代之
我們證明異質位換式 ~ ~q prArr 因此假設 n 不為奇數故 n 為偶數則 2n k= 其中 k 為整數依此可得 2 2 2 2(2 ) 4 2(2 )n k k k= = = 故 2n 為偶
數故得證若 n 為偶數則 2n 為偶數此為已知述句的異質位換式故
已知述句得證
另一個重要的證明技巧是矛盾證明法(proof by contradiction)這個方法是基於
恆真式 (( ) (~ )) (~ )p q q prArr and rArr 因此推論規則
~~
p qqp
rArr
there4
是正確的非正式的來說這陳述了若一個述句 p 蘊含一個為偽的述句 q則 p必須為偽這通常應用於當 q 為謬悖或矛盾式的狀況亦即一個恆為偽的述
句一個例子是將 q 視為為矛盾式 (~ )r rand 因此蘊含矛盾式的任意述句必
須為偽為了使用矛盾式證明假設我們想要證明述句 q 邏輯地推導自述句
1 2 np p phellip 假定 ~ q 為真(亦即q 為偽)是一個額外的假設且 1 2 np p phellip 亦為真若此擴大的假設 1 2 (~ )np p p qand and and andhellip 蘊含一個矛盾式則述句
1 2 np p phellip ~ q 中最少有一個必須為偽這表示若所有的 ip 皆為真則 ~ q 必須為偽故 q 必須為真因此 q 推導自 1 2 np p phellip 此即以矛盾式證明
7
證明不存在有理數 p q 其平方為 2 換言之證明 2 為無理數
此述句是一個以矛盾法來證明的好對象因為我們不可能檢查所有可能的有
理數來證實沒有任何一個有理數的平方等於 2假設 2( ) 2p q = 對某些整
數 p 和 q其中 p 和 q 沒有公因數若原先選擇的 p q 不是最簡分數
我們就以它的最簡分數形式來代換它則 2 22p q= 故 2p 為偶數這蘊
含 p 為偶數因為奇數的平方仍是奇數因此 2p n= 對某個整數 n我
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 24: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/24.jpg)
離散數學 104
們得到 2 2 2 22 (2 ) 4q p n n= = = 故 2 22q n= 因此 2q 為偶數而故 q 為
偶數我們現在得出 p 和 q 二者皆為偶數所以它們有公因數 2這和假
設互相矛盾因此假設必須為偽
我們已經提出了幾種對應於正確證明技巧的推論規則和邏輯等價關係為了證明
具有這種(傳統的)形式 1 2( )np p p qand and and rArrhellip 的定理我們從假設 1 2 np p phellip 開始並證明由此邏輯地推導出某個結果 1r 則使用 1 2 np p phellip 1r 我們證明
由此邏輯地推導出某個其他的述句 2r 我們持續這個過程產生中間的述句
1 2 kr r rhellip 稱為證明的步驟(steps in the proof)直到我們最後能證明結論 q 是
邏輯地推導自 1 2 np p phellip 1 2 kr r rhellip 每一個邏輯步驟都必須以正確的證明技巧
作為其成立的理由這可以根據我們已發展的推論規則或根據其他尚未討論
而來自於恆真式的蘊含式在任何一個階段我們都可以將需要被導出的述句
代換為它的異質位換式或任何其他等價的形式
實際上證明的建立是一種藝術而且有部分必須從觀察與經驗來學習中間步
驟的選擇及導出它們的方法是一種無法精確描述的創作活動但是有一些簡單的
技巧是可以運用到廣泛不同的設定上的在全書中我們將會專注在這些技巧上
記錄在每一章末尾的ldquo證明技巧rdquo凸顯了對那一章內容最有用的方法
8
令 m 和 n 為整數證明 2 2n m= 若且唯若 n 為 m或 n 為 mminus
讓我們一邊提出證明一邊對證明加以分析假設 p 為述句 2 2n m= q 為述句 n 為 m及 r 為述句 n 為 mminus 則我們想要證明定理 ( )p q rhArr or
由之前的討論得知我們可以取而代之的證明 s ( )p q rrArr or 和 t ( )q r por rArr 為真因此我們假設 q n 為 m 或者 r n 為 mminus 為真若 q 為真則 2 2n m= 且若 r 為真則 2 2 2( )n m m= minus = 故在任一個情況 p 皆為真所以得證蘊含式 t ( )q r por rArr 為真 現在我們必須證明 s ( )p q rrArr or 為真亦即我們假設 p 並試著去證明
q 或 r 若 p 為 真 則 2 2n m= 故 2 2 0n mminus = 但 是 2 2 ( )( )n m n m n mminus = minus + 若 1r 是中間述句 ( )( ) 0n m n mminus + = 我們得證
1p rrArr 為真我們現在證明 1 ( )r q rrArr or 為真藉由證明異質位換式
1~ ( ) (~ )q r ror rArr 為真現在 ~ ( )q ror 等價於 (~ ) (~ )q rand 故我們證明
1(~ ) (~ ) (~ )q r rand rArr 因此若 ~ q n 不為 m 和 ~ r m 不為 n 為真
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 25: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/25.jpg)
Chapter 02邏輯 105
則 ( ) 0n mminus ne 且 ( ) 0n m+ ne 故 ( )( ) 0n m n mminus + ne 且 1r 為偽所以故得
證 1 ( )r q rrArr or 為真最後由於 1p rrArr 和 1 ( )r q rrArr or 皆為真我們可得
出結論 ( )p q rrArr or 為真故得證
我們並不常以這樣詳細的方式分析證明這麼做只是要舉例說明證明是將推論
規則產生的正確步驟及等價關係拼湊起來而得到的證明中所給細節的程度決
定於讀者適合的情形
最後我們要提醒讀者許多數學定理事實上意味著此述句對特定類型的所有物
件皆為真有時候這並不明顯因此例題 8 的定理實際上陳述了對所有整數 m 和 n 2 2n m= 若且唯若 n 為 m 或 n 為 mminus 同理述句ldquo若 x 和 y 為實數
且 x yne 則 x ylt 或 y xlt rdquo是關於所有實數 x 和 y 的述句要證明這樣的
定理我們必須確定證明中所有步驟對每一個實數都是正確的舉例來說我們
不能假設 x 是 2或 y 是 π 或 3 這就是為什麼證明開始經常是取一個通
用元素用一個變數來表示另一方面從 22 節我們得知形式為 xforall P( )x 的述句其否定式為 xexist ~P( )x 所以我們只需要找到單一個使述句為偽的例子
9 證明或反證述句若 x 和 y 為實數 2 2( ) ( )x y x y= hArr =
此述句可以重述為此形式 xforall yforall R( )x y 因此要證明這個結果我們
需要提供數個步驟其中每一個步驟都必須對所有的 x 和 y 為真要反證
這個結果我們只需要找到一個使述句為偽的例子 因 為 2 2( 3) 3minus = 但 3 3minus ne 結 果 為 偽 我 們 的 例 子 稱 為 反 例
(counterexample)而且任何一個其他的反例也都可以使用
總而言之若一個述句宣告一個性質對一個特定類型的所有物件都成立則要證
明它必須使用對此類型所有物件皆正確而不提及任何特別物件的步驟要反
證這樣的述句我們只需要指出一個反例亦即找出使命題為偽的特定物件或
物件組合
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 26: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/26.jpg)
離散數學 106
習題 23
習題 1 到 11陳述下列論證是否正確若論證正確指出它所依據的恆真式
1 there4 若我開車去上班則我到公司時會很累 there4 我到公司時我並不累 there4 我沒有開車去上班
2 there4 若我開車去上班則我到公司時會很累 there4 我到公司時很累 there4 我開車去上班
3 there4 若我開車去上班則我到公司時會很累 there4 我沒有開車去上班 there4 我到公司時並不累
4 there4 若我開車去上班則我到公司時會很累 there4 我開車去上班 there4 我到公司時會很累
5 there4 我會成名或我不會成為作家 there4 我會成為作家 there4 我會成名
6 there4 我會成名或我會成為作家 there4 我不會成為作家 there4 我會成名
7 there4 若我非常努力且我有天分則我會成為音樂家 there4 若我成為音樂家則我會很快樂 there4 若我不快樂則我沒有非常努力或我沒有天分
8 there4 若這學期我畢業則我通過了物理學科 there4 若我一週沒有讀 10 小時物理則我不會通過物理學科 there4 若我一週讀 10 小時物理則我不能打排球 there4 若我打排球這學期我不會畢業
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 27: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/27.jpg)
Chapter 02邏輯 107
9 there4 若我的配管計畫不合於建築法規則我不可以建造我的房子 there4 若我聘僱一位有執照的建築師則我的配管計畫會合於建築法規 there4 我聘僱一位有執照的建築師 there4 我可以建造我的房子
10 (a) ~p q
qp
or
there4
(b) ~~
p qpq
rArr
there4
11 將習題 10 中的每一個論證分別寫成單一複合述句
12 (a) ( ) ( )(~ )p q q r
q rp
rArr and rArrand
there4
(b) ~ ( )
~
p qp
q
rArr
there4
13 將習題 12 中的每一個論證分別寫成單一複合述句
14 證明兩個偶數的和為偶數
15 證明兩個奇數的和為奇數
16 證明結構(偶整數+)對 有封閉性
17 證明結構(奇整數+)對 有封閉性
18 證明 2n 為偶數若且唯若 n 為偶數
19 證明 A B= 若且唯若 A Bsube 且 B Asube
20 令 A 和 B 為宇集 U 的子集合證明 A Bsube 若且唯若 B Asube
21 證明 (a) A Bsube 對 A B Bcup = 為充要條件 (b) A Bsube 對 A B Acap = 為充要條件
22 證明 k 為奇數是 k3 為奇數的充要條件
23 證明或反證對每一個整數 n 2 41 41n n+ + 為質數
24 證明或反證任何五個相連整數的和可以被 5 整除
25 證明或反證 33 | ( )n nminus 對每一個正整數 n
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 28: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/28.jpg)
離散數學 108
26 證明或反證 1 2 3n n+ gt 對所有 n Z +isin
27 決定以下論證是否正確解釋你的結論 證明 xforall 3 2x xgt 證明 xforall 2 0x gt 故 xforall 2 ( 1) 0( 1)x x xminus gt minus 且 xforall 3 2 0x xminus gt 因此
xforall 3 2x xgt
28 決定以下論證是否正確解釋你的結論 證明若 A 和 B 為矩陣使得 AB = 0則 A = 0 或 B = 0 證明有兩個情況要考慮A = 0 或 A ne 0 若 A = 0則得證若 A ne 0則
1 1( )minus minus=A AB A 0 且 1( )minus =A A B 0 且 B = 0
29 決定以下論證是否正確解釋你的結論 令 m 和 n 為兩個互質的整數證明若 mn 為立方數則 m 和 n 每一個
都是立方數 證明首先我們注意在任何一個立方數的質因數分解中每一個質數必須有
一 個 是 3 的 倍 數 的 指 數 將 m 和 n 個 別 都 寫 成 質 數 的 乘 積
1 21 2
kaa akm p p p= 和 1 2
1 2jbb b
jn q q q= 假設 m 不是立方數則至少有一個 ia
不是 3 的倍數因為 mn 的每一個質因數必須有一個是 3 的倍數的指數
n 必須有一個因數 ibip 使得 0ib ne 且 i ia b+ 為 3 的倍數但這表示 m
和 n 共用一個因數 ip 這與事實 m 和 n 互質是相矛盾的
30 決定以下論證是否正確解釋你的結論 證明若 x 為無理數則 1 xminus 也是一個無理數
證明假設1 xminus 為有理數則我們可以將 1 xminus 寫成 ab其中 a b Zisin
現在我們得出1 a xb
minus = 而 b axbminus
= 一個有理數這是一個矛盾式因此
若 x 為無理數1 xminus 亦為無理數
31 證明兩個大於 2 的質數的和不會是質數
32 證明若兩條直線分別都垂直於平面上的第三條直線則這兩條直線互相平行
33 證明若 x 為有理數且 y 為無理數則 x y+ 為無理數
34 證明若 2y 為無理數則 y 為無理數
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 29: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/29.jpg)
Chapter 02邏輯 109
24 數學歸納法(Mathematical Induction) 這裡我們討論另一種證明技巧假設待證明的述句可以置入形式 nforall 0nge P( )n 之
中其中 0n 為某固定整數亦即假設我們想要證明 P( )n 為真對所有整數
0n nge 以下結果顯示如何完成這個證明假設 (a) 0P( )n 為真且 (b)若 P( )k 為真對某個 0k nge 則 P( 1)k + 也必須為真則 P( )n 為真對所有 0n nge 這個
結果稱為數學歸納法原理(principle of mathematical induction)因此要證明述
句 nforall 0nge P( )n 為真使用數學歸納法原理我們必須從直接證明第一個命題
0P( )n 為真開始這稱為歸納法的基礎步驟(basis step)而且通常是非常容易
的
然後我們必須證明 P( ) P( 1)k krArr + 為恆真式對任何所選擇的 0k nge 因為唯一一
個使蘊含式為偽的情況就是若前式為真且後式為偽這個步驟可以藉由證明若 P( )k 為真則 P( 1)k + 也必須為真來完成注意這不同於假設 P( )k 為真對 k
的某個值這個步驟稱為歸納步驟(induction step)要證明此蘊含式恆為真通
常需要做一些工作
1
以數學歸納法證明對所有 1n ge
( 1)1 2 32
n nn ++ + + + =
令 P( )n 為述詞 ( 1)1 2 32
n nn ++ + + + = 本例中 0 1n =
基礎步驟我們首先必須證明 P(1) 為真 P(1) 為述句
1(1 1)12+
=
此顯然為真 歸納步驟現在我們必須證明對 1k ge 若 P( )k 為真則 P( 1)k + 也必須
為真我們假設對某個固定的 1k ge
( 1)1 2 32
k kk ++ + + + = (1)
現在我們想要證明 P( 1)k + 為真
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 30: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/30.jpg)
離散數學 110
( 1)(( 1) 1)1 2 3 ( 1)2
k kk + + ++ + + + + =
P( 1)k + 的左式可以寫成 1 2 3 ( 1)k k+ + + + + + 且我們得出
1 2 3 ( 1)k k+ + + + + + ( 1) ( 1)
2k k k+
= + + 以(1)取代 1 2 3 k+ + + +
( 1) 12kk ⎡ ⎤= + +⎢ ⎥⎣ ⎦
因數分解
( 1)( 2)2
k k+ +=
( 1)(( 1) 1)2
k k+ + += P( 1)k + 的右式
因此我們已證明 P( 1)k + 的左式等於 P( 1)k + 右式由數學歸納法原
理可推導出 P( )n 為真對所有 1n ge
2 令 1 2 3 nA A A Ahellip 為任意 n 個集合我們以數學歸納法證明
1 1
n n
i ii i
A A= =
⎛ ⎞ =⎜ ⎟⎝ ⎠cup cap
(這是笛摩根律之一的推廣版本)令 P( )n 為對任意 n 個集合等號皆成立的述
詞我們以數學歸納法證明對所有 1n ge P( )n 為真
基礎步驟 P(1) 為述詞 1 1A A= 此明顯為真 歸納步驟我們用 P( )k 來證明 P( 1)k + P( 1)k + 的左式是
1
1 2 11
k
i k ki
A A A A A+
+=
⎛ ⎞ = cup cup cup cup⎜ ⎟⎝ ⎠cup
1 2 1( )k kA A A A += cup cup cup cup cup的結合律
1 2 1( )k kA A A A += cup cup cup cap 由兩個集合的笛摩根律
11
k
i ki
A A +=
⎛ ⎞= cap⎜ ⎟⎝ ⎠cap 使用 P( 1)k +
1
1
k
ii
A+
=
=cap P( 1)k + 的右式
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 31: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/31.jpg)
Chapter 02邏輯 111
因此蘊含式 P( ) P( 1)k krArr + 為恆真式且由數學歸納法原理 P( )n 為真對所有
1n ge
3
我們以數學歸納法證明任意一個有限非空集合的集合為可數亦即它可以被
排列在一個串列中 令 P( )n 為述詞若 A 為任意集合而 1A n= ge 則 A 為可數(定義見第 1 章)
基礎步驟此處 0n 為 1故我們令 A 為只有一個元素的任意集合例如 A x= 在這個情況中 x 自己形成一個序列其集合為 A故 P(1) 為真
歸納步驟我們要使用述句 P( )k 若 A 是包含 k 個元素的任意集合則 A 為
可數現在選擇包含 1k + 個元素的任意集合 B 並取出 B 中的任意元素 x因
為 B xminus 是包含 k 個元素的集合歸納假設 P( )k 告訴我們有一個序列
1 2 kx x xhellip 其對應集合為 B xminus 序列 1 2 kx x xhellip x 的對應集合為 B故 B 為可數因為 B 可以為包含 1k + 個元素的任意集合P( 1)k + 為真若 P( )k 為真因此由數學歸納法原理 P( )n 為真對所有 1n ge
以歸納法證明結果時不應從假設 P( 1)k + 為真開始接著試著由此得到為真
的述句這個常見的錯誤正是不正確使用數學歸納法的結果
在遞迴與歸納之間存在一個自然的關連因為遞迴定義所得的物件通常在其定義
中使用了自然序列歸納法經常是最佳的也可能是唯一的用來證明有關遞迴
定義物件的結果的方法
4 考慮以下階乘函數的遞迴定義1 1= ( 1)n n n= minus 1n gt 假設我們想要證明
對所有 1n ge 1 2nn minusge 我們以數學歸納法來進行證明令 P( )n 1 2nn minusge 此
處 0n 為 1 基礎步驟 P(1) 為述句 01 2ge 因為 1 是 1此述句為真 歸納步驟我們要證明 P( ) P( 1)k krArr + 為恆真式它會是一個恆真式若 P( )k 為真保證 P( 1)k + 為真假設 1 2kk minusge 對某個 1k ge 則由遞迴定義 P( 1)k + 的
左式為
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 32: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/32.jpg)
離散數學 112
( 1) ( 1) k k k+ = + 1( 1)2kk minusge + 使用 P( )k
12 2kminusge times 1 2k + ge 因為 1k ge 2k= P( 1)k + 的右式
因此 P( 1)k + 為真由數學歸納法原理可推導出 P( )n 為真對所有 1n ge
以下例題顯示了歸納法在計算機程式中相當有用的一種方式此處及以下所使用
的虛擬程式碼在附錄 A 中有詳細敘述
5
考慮以下虛擬碼所給的函式
FUNCTION SQ(A)
1 C larr 0
2 D larr 0
3 WHILE (D ne A) a C larr C + A
b D larr D + 1
4 RETURN (C)
END OF FUNCTION SQ
函數的名稱SQ暗示它是在計算 A 的平方數步驟 3b 顯示 A 必須為一個
正整數若要結束迴圈測試幾個 A 的特殊值將會證實此函數的確執行了這個工
作無論如何假設我們現在要證明 SQ 總是會計算出正整數 A 的平方數不
論 A 的值有多大我們要以數學歸納法來證明對每一個整數 0n ge 令 nC 和
nD 分別為變數 C 和 D 的值在通過 WHILE 迴圈 n 次之後特別的是 0C 和 0D 表示在迴圈開始之前變數的值令 P( )n 為述詞 n nC A D= times 我們將以歸
納法證明 0nforall ge P( )n 為真此處 0n 是 0 基礎步驟P(0) 為述句 0 0C A D= times 此為真因為 C 和 D 二者的值皆為零在通
過 WHILE 迴圈ldquo零次之後rdquo 歸納步驟我們現在必須使用
P( )k k kC A D= times (2)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 33: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/33.jpg)
Chapter 02邏輯 113
來證明 P( 1)k + 1 1k kC A D+ += times 在通過迴圈一次之後C 增加了 A而 D 增加 1故 1k kC C A+ = + 且 1 1k kD D+ = +
P( 1)k + 的左式 1k kC C A+ = + kA D A= times + 用式(2)取代 kC ( 1)kA D= times + 因數分解 1kA D += times P( 1)k + 的右式
由數學歸納法原理可導出只要迴圈發生 n nC A D= times 迴圈必須終止(為什麼)
當迴圈終止 D A= 故 C A A= times 或 2A 而這就是函數 SQ 回傳的值
例題 5 說明了迴圈不變性(loop invariant)變數之間經迴圈重複仍保持的關係
的使用證明迴圈和程式所做是其所要做的技巧是演算法證明理論的重要部
分在例題 5 中很清楚的迴圈停止若 A 為正整數但對更複雜的情形這也可
以用歸納法加以證明
6
用例題 5 的技巧證明 14 節所給的虛擬程式碼的確計算出兩個正整數的最大公
因數
這是稍早所給的虛擬程式碼
FUNCTION GCD(X Y)
1 WHILE (X ne Y) a IF (X gt Y) THEN
1 X larr X ndash Y
b ELSE
1 Y larr Y ndash X
2 RETURN (X)
END OF FUNCTION GCD
我們宣告若 x 和 Y 為正整數則 GCD 回傳 GCD( )X Y 要證明這一點令 nX 和 nY 為 x 和 Y 通過 WHILE 迴圈 0n ge 次之後的值我們宣告 P( )n GCD( ) GCD( )n nX Y X Y= 為真對所有 0n ge 並且以數學歸納法加以證明此處
0n 為 0
基礎步驟 0X X= 0Y Y= 因為這些都是迴圈開始之前變數的值因此 P(0) 為述句 0 0GCD( ) GCD( )X Y X Y= 此為真
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 34: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/34.jpg)
離散數學 114
歸納步驟考慮 P( 1)k + 的左式亦即 1 1GCD( )k kX Y+ + 在通過迴圈 1k + 次之後 1k kX X+ = 1k k kY Y X+ = minus 或者 1k k kX X Y+ = minus 且 1k kY Y+ = 則若 P( )k GCD( ) GCD( )k kX Y X Y= 為 真 依 14 節 的 定 理 5 可 得 出
1 1GCD( ) GCD( ) GCD( )k k k kX Y X Y X Y+ + = = 因此由數學歸納法原理 P( )n 為真對所有 0n ge 迴圈的離開條件( exit condition)是 n nX Y= 而我們得出 GCD( )n n nX Y X= 因此這個函數總是會回傳 GCD( )X Y 的值
強歸納法(Strong Induction)
一種稍微不同形式的數學歸納法更容易用在某些證明中在數學歸納法的加強形
式(strong form of mathematical induction)或強歸納法(strong induction)中
歸納步驟要證明的是
0 0 0P( ) P( 1) P( 2) P( ) P( 1)n n n k kand + and + and and rArr +
為一個恆真式與之前相同我們唯一需要檢查的狀況是若每一個 P( )j
0 j n k= hellip 為真則 P( 1)k + 為真歸納法的加強形式等價於我們最先提出的形
式因此這是在證明中易於使用的方法
7 證明每個正整數 1n gt 可以唯一的寫成 1 2
1 2saa a
sp p p 其中 ip 為質數且
1 2 sp p plt lt lt (14 節定理 3)
證明(用加強歸納法)
基礎步驟此處 0n 為 2 P(2) 顯然為真因為 2 是質數 歸納步驟我們用 P(2) P(3) hellip P( )k 來證明 P( 1)k + 1k + 可以被唯一
的寫成 1 21 2
saa asp p p 其中 ip 為質數且 1 2 sp p plt lt lt 有兩種情況要考慮
若 1k + 是質數則 P( 1)k + 為真若 1k + 不是質數則 1k lm+ = 2 l kle le
2 m kle le 用 P( )l 和 P( )m 可得出 k lm= = 1 2 1 2 1 21 2 1 2 1 2
b u sb c ab b c c a at u sq q q r r r p p p=
其中每一個 i jp q= 或 kr 1 2 sp p plt lt lt 且若 j k iq r p= = 則 i j ka b c= +
否則 i jp q= 且 i ja b= 或 i kp r= 且 i ka c= 因為 l 和 m 的因數分解是唯一
的故 1k + 的因數分解亦然
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 35: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/35.jpg)
Chapter 02邏輯 115
習題 24 習題 1 到 7以數學歸納法證明述句為真
1 2 4 6 2 ( 1)n n n+ + + + = +
2 2 2 2 2 (2 1)(2 1)1 3 5 (2 1)3
n n mn + minus+ + + + minus =
3 1 2 11 2 2 2 2 1n n ++ + + + = minus
4 5 ( 1)5 10 15 52
n nn ++ + + + =
5 2 2 2 2 ( 1)(2 2)1 2 36
n n nn + ++ + + + =
6 2 1 111
nn aa a a
aminus minus
+ + + + =minus
7 2 1 (1 )1
nn a ra ar ar ar
rminus minus
+ + + + =minus
對 1r ne
8 令 P( )n 2 2
3 3 3 3 ( 1) 41 2 34
n nn + ++ + + + =
(a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
9 令 P( )n 1 5 9 (4 3) (2 1)( 1)n n n+ + + + minus = + minus (a) 用 P( )k 證明 P( 1)k + (b) P( )n 對所有 1n ge 為真嗎
10 證明1 2n+ 對 2n ge
11 證明 2nn lt 對 1n gt
12 證明2(2 1)1 2 3
8nn +
+ + + + lt
13 求使述句為真的最小的 n並證明 2(1 ) 2nn+ lt
14 求使述句為真的最小的 n並證明 10 3nn lt
15 以數學歸納法證明若一個集合 A 有 n 個元素則 ( )P A 有 2n 個元素
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 36: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/36.jpg)
離散數學 116
16 以數學歸納法證明 33 | ( )n nminus 對每一個正整數 n
17 以數學歸納法證明若 1 2 nA A Ahellip 1 2 nA A Ahellip 為任意 n 個集合則
1 1
n n
i ii i
A A= =
⎛ ⎞=⎜ ⎟
⎝ ⎠cap cup
18 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cap⎜ ⎟
⎝ ⎠cup cap cup
19 以數學歸納法證明若 1 2 nA A Ahellip 和 B 為任意 1n + 個集合則
1 1
( )n n
i ii i
A B A B= =
⎛ ⎞= cup⎜ ⎟
⎝ ⎠cap cup cap
20 令 P( )n 為述句 2 | (2 1)n minus (a) 證明 P( ) P( 1)k krArr + 為恆真式 (b) 證明 P( )n 不為真對任意整數 n
(c) (a) 和 (b) 的結果和數學歸納法原理相互矛盾嗎請解釋
21 令 ( )P n 為述句 2n n+ 對所有 n Z +isin 為奇數 (a) 證明 ( ) ( )P P 1k krArr + 為一個恆真式 (b) ( )P n 對所有 n 是否為真請解釋
22 解釋以下ldquo推論rdquo的流程 對 0z ne 1nz = 0n ge 證明基礎步驟對 0n = P(0) 1nz = 為真由定義
歸納步驟 11
1 11
kk k
k
zz zz
+minus= sdot = sdot 或 1
23 解釋以下ldquo推論rdquo的流程 所有的卡車都是相同顏色 證明令 P( )n 任意 n 輛卡車的集合由相同顏色的卡車所構成 基礎步驟的確 P(1)為真因為在這個情況中只有一輛卡車 歸納步驟我們由 P( )k 任意 k 輛卡車的集合是由顏色相同的卡車所構
成證明 P( 1)k + 任意 1k + 輛卡車的集合由顏色相同的卡車所構成從 1k + 輛卡車的集合中取一輛卡車並考慮剩下的 k 輛卡車的集合由 P( )k
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 37: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/37.jpg)
Chapter 02邏輯 117
知這些卡車顏色都相同現在將剛才選出的那輛卡車放回並取另一輛卡
車放到一邊由 P( )k 剩下的卡車顏色也都相同但在這個過程中卡車並不
會改變顏色所以所有 1k + 輛卡車顏色必須相同
習題 24 到 26 證明給定的有關矩陣的述句假設 A 為 n ntimes
24 1 2 1 2( )T T T Tn n+ + + = + + +A A A A A A
25 2 2n n+=A A A
26 令 A 和 B 為方陣若 =AB BA 則 ( )n n n=AB A B 對 1n ge
27 證明任何 $n 的餐廳帳單 5n ge 恰可以只用 $2 和 $5 鈔票付帳
28 證明每一個大於 27 的整數都可以被寫成 5 8a b+ 其中 a b Z +isin
29 以歸納法證明若 p 為質數且 | np a 對 1n gt 則 |p a
30 證明若 GCD( ) 1a b = 則 GCD( ) 1n na b = 對所有 1n ge (提示用習題 29)
31 (a) 求最小正整數 0n 使得 0 202n ngt
(b) 證明 22n ngt 對所有 0n nge
32 證明或反證 2 22 8 18 2n n n+ + + + = +
33 證明或反證 x yminus 整除 n nx yminus 對 1n ge
習題 34 到 39證明所給定的演算法在正確使用下會產生所陳述的輸出利
用數學歸納法證明蘊含的關係是迴圈不變性並且檢查迴圈停止時的數值所有
變數都表示非負整數
34 SUBROUTINE COMP(XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + Y b W larr W minus 1 4 RETURN END OF SUBROUTINE COMP
計算Z = X + Y2 迴圈不變性(Y times W) + Z = X + Y2
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 38: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/38.jpg)
離散數學 118
35 SUBROUTINE DIFF (XYZ) 1 Z larr X 2 W larr Y 3 WHILE (W gt 0) a Z larr Z minus 1 b W larr W minus 1 4 RETURN END OF SUBROUTINE DIFF
計算Z = X minus Y 迴圈不變性X minus Z + W = Y
36 SUBROUTINE EXP2 (NMR) 1 R larr 1 2 K larr 2M 3 WHILE (K gt 0) a R larr R times N b K larr K minus 1 4 RETURN END OF SUBROUTINE EXP2
計算R = N2M
迴圈不變性R times NK = N2M
37 SUBROUTINE POWER (XYZ) 1 Z larr 0 2 W larr Y 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 U larr Z 6 WHILE (W gt 0) a Z larr Z + U b W larr W minus 1 7 RETURN END OF SUBROUTINE POWER
計算Z = X times Y2
迴圈不變性(第 1 個迴圈)X + (X times W) = X times Y 迴圈不變性(第 2 個迴圈)X + (X times Y times W) = X times Y2
(提示在迴圈 2 中使用第一個迴圈末尾的 Z 的值)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 39: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/39.jpg)
Chapter 02邏輯 119
38 SUBROUTINE DIV(XY) 1 IF (Y = 0) THEN a PRINT (error Y = 0) 2 ELSE a R larr X b K larr 0 c WHILE (K ge Y) 1 R larr R minus Y 2 K larr K + 1 d IF (R = 0) THEN 1 PRINT (true) e ELSE 1 PRINT (false) 3 RETURN END OF SUBROUTINE DIV
計算TRUTH VALUE OF Y | X 迴圈不變性R + K times Y = X
39 SUBROUTINE SQS(XYZ) 1 Z larr Y 2 W larr X 3 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 4 W larr Y minus 1 5 WHILE (W gt 0) a Z larr Z + X b W larr W minus 1 6 RETURN END OF SUBROUTINE SQS
計算Z = X2 times Y2
迴圈不變性(第 1 個迴圈)Z + (X times W) = Y + X2
迴圈不變性(第 2 個迴圈)Z + (Y times W) = X2 + Y2
證明的技巧
本章為我們的證明提供了正規的基礎雖然大多數的證明並不像 23 節中所給的
樣式那麼正規我們提出了兩種證明間接證明和歸納法證明間接證明是根據樣
式 ( ) ~p q qrArr and (以矛盾式證明)或事實 ( ) (~ ~ )p q q prArr equiv rArr (證明異質位換
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 40: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/40.jpg)
離散數學 120
式)何時使用直接證明或間接證明並沒有硬性規定或速成規則一個策略是樂觀
的進行直接證明如果這並沒有獲得任何有用的東西你可能可以確認一個反例
若述句實際上為偽或者根據某個間接模型開始一個新的證明嘗試直接證明時
困難發生之處通常可以指出下一條可行的路記住對任何證明都需要有相當程度
的創造力 適合以數學歸納法做證明的述句是以某種方式像是某些東西的計數或一個樣式
的描述這種包括了計數或完全數字(whole numbers)的述句這種例子可參考
24 節習題 11 和 15注意在 24 節中大部分的歸納法證明會先使用 P( )k 然後使用運算性質和算術但在證明迴圈常數時算數會先出現而後才使用到 P( )k 在證明有關命題的述句時試著使用邏輯運算的性質(部分可見 22 節定理 1)建立真值表應該是你退而求其次的策略
重點回顧
述句可以為真或偽的宣告性句子但不會同時既真又偽
命題變數表示述句的字母
複合述句以邏輯連詞結合兩個或更多個述句所得到的述句
邏輯連詞非(~)且( and)或( or)若則(rArr)若且唯若(hArr)
合取式 p qand (p 且 q)
分取式 p qor (p 或 q)
述詞(命題函數)形式為 P( )x 的句子
全稱量化 xforall P( )x [對所有 x 的值 P( )x 為真]
存在量化 xexist ~P( )x [存在一個 x 使得 P( )x 為真]
條件述句或蘊含式 p qrArr (若 p 則 q)p 為前式或假設而 q 為後式或
結論
p qrArr 的逆式 q prArr
p qrArr 的異質位換式 ~ ~q prArr
等價 p qhArr
恆真式對其命題變數所有可能值皆為真的述句
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 41: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/41.jpg)
Chapter 02邏輯 121
謬悖對其命題變數所有可能值皆為偽的述句
適然式述句可以為真或偽視其命題變數的真值而決定
p qequiv (邏輯性等價述句 p 和 q) p qhArr 為恆真式
證明的方法 q 邏輯地推導自 p見 100 頁 推論規則見 100 頁 離斷律見 102 頁 間接法見 102 頁 以矛盾式證明見 103 頁
反例反證一個定理或命題的單一例子
數學歸納法原理令 0n 為一固定整數假設對每個整數 0n nge 我們有一個
命題 P( )n 假設 (a) 0P( )n 為真且 (b 若 P( )k 則 P( 1)k + 為恆真式對每一
個 0k nge 則數學歸納法原理陳述了對所有 0n nge P( )n 為真
迴圈常數每一次通過程式迴圈之前和之後皆為真的述句
數學歸納法的加強形式見 114 頁
回顧問題
1 為什麼分辨條件述句的逆式和異質位換式很重要
2 歸納法的加強形式和基本數學歸納法有何不同
3 之前所研讀過的數學結構何者和(邏輯述句 ~or and )具有相同性質
4 間接證明法和直接證明法有何不同
5 以矛盾式證明的結構為何
第 2 章自我測驗
1 決定所給定述句的真值若 p 為真且 q 為偽 (a) ~ p qand (b) ~ ~p qor
2 決定下列各述句的真值假設 x y Zisin (a) x yforall x y+ 為偶數
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 42: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/42.jpg)
離散數學 122
(b) x yexist x y+ 為偶數
3 做出 ( ~ ) (~ ( ))p p q rand or and 的真值表
問題 4 到 6令 p 1 1lt minus q | 2 | | 2 |= minus r 3 1minus lt minus 且 s 1 3lt
4 用符號寫出下列命題的逆式及異質位換式 (a) p qrArr (b) (~ ) (~ )r s qor rArr (c) q p srArr or
5 用中文句子寫出這些命題的逆式及異質位換式
6 給出問題 4 中每一個命題的真值
7 英文單字ldquo或rdquo有時是以排斥性用法來使用意思是 p 或者 q但不是二
者同時為真寫出這種排斥性的或xor 的真值表
8 令 p 網路商店開始經營的成本較低 q 我要開始經營網路商店和 r 網路商店賺比較少錢將下列各論證寫成英文句子並且決定論證的正確性
(1) ( )~(~ ) (~ )
r q ppr q
rArr rArr
there4 or
(b) p qq rpr
rArrrArr
there4
9 假設 m 和 n 為整數使得 |n m 且 |m n 這些假設是否為證明 m n= 的充
分條件若是給出證明若不是提供一個額外的簡單假設來保證 m n= 並加以證明
10 證明或給出一個反例來反證任意三個相連奇數的和可以被 6 整除
11 以數學歸納法證明 4 1n minus 可以被 3 整除
12 以數學歸納法證明 2( 1)1 2 3
2nn +
+ + + + lt
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 43: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/43.jpg)
Chapter 02邏輯 123
程式練習
以下各題用虛擬程式碼(如附錄 A 所描述)或你熟悉的程式語言撰寫所要求的
程式或副程式用紙筆追蹤或以電腦執行來測試你的程式碼
1 寫一個程式印出 ~p qand 的真值表
2 寫一個程式印出 ( )p q ror rArr 的真值表
3 寫一個程式印出任何有兩個變數的命題函數的真值表
4 寫一個副程式 EQUIVALENT 決定兩個邏輯表示式是否等價
5 寫一個副程式決定一個邏輯表示式是一個恆真式適然式或是謬悖
實驗 2
許多遊戲與謎題使用了第 2 章所發展的數理邏輯規則這裡我們從一個簡單的謎
題情境開始建構一個滿足下列條件的由珠子與串線所形成的物件經過對這個
物件的觀察你將證明它滿足某些性質
第一部分 第一個物件的條件是 (a) 你必須恰好使用三個珠子 (b) 每一對的珠子之間恰好有一條串線 (c) 所有的珠子不可以串在同一條串線上 (d) 任何一對串線至少共有一個珠子
1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 何兩條串線至多共有一個珠子 T2 恰好有三條串線 T3 沒有珠子在所有的串線上
第二部分 第二個物件的條件是 (a) 你必須使用至少一個珠子 (b) 每一條串線恰好有兩個珠子在它上面 (c) 每一個珠子恰好在兩條串線上面
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中
![Page 44: CH02 - epaper.gotop.com.twepaper.gotop.com.tw/pdf/AEM001400.pdf · 日常生活上,則用來解決一大堆形形色色的問題 ... 數學分析(The Mathematical Analysis of](https://reader037.vdocuments.pub/reader037/viewer/2022100302/5a841ec17f8b9a001c8b4e19/html5/thumbnails/44.jpg)
離散數學 124
(d) 給一條串線恰好有三條其他的線和這條給定的串線沒有共同的
珠子 1 畫出這個物件的圖 2 你的物件也許不止一種可能故下面的敘述用來細分條件而非
你的物件 T1 至少有一條串線 T2 給一條串線恰好有兩條其他的串線和這條給定的線有一
個共同的珠子 T3 共有 條串線 T4 共有 個珠子
第三部分 你在第一部分與第二部分所建構的物件可以用幾種不同的方式討
論除了珠子和線考慮運動員與雙人隊伍或者用點與線取代前面
的珠子與串線 1 將第一部分 T1T2 及 T3 的敘述以運動員與雙人隊伍描述 2 將第二部分的狀況 (a)-(b)以點與線描述 3 這裡所建構的物件有時也稱之為有限幾何因為每個物件都具
有有限的點與線第二部分的條件 (b) 描述了哪一種一般性的幾
何概念 4 一場錦標賽將要舉行根據競賽規則需要多少運動員且會形成
幾支比賽隊伍 (a) 一個隊伍必須包含恰好三個運動員 (b) 兩個運動員至多可以同在一隊 (c) 每一個運動員至少要參加三隊 (d) 並非所有的運動員都可以同在一隊 (e) 至少要形成一隊 (f) 若一個運動員不在給定的隊中則這個運動員需恰好在一個沒
有和這個給定的隊伍有共同運動員的隊伍中