Chapter 1
Basic Logic
其實學習數學就像學習新的語言. ㄧ些名詞的定義就像 “單字” 一樣, 而邏輯 logic 就好比是 將這些單字組合成一個句子所需的 “文法”. ㄧ般同學在學習邏輯時, 會不自覺地將ㄧ些邏輯 規則以背誦的方式記憶, 這會造成以後學習上許多的障礙. 其實這些規則應該是潛意識內的 直覺, 這樣學習數學才能通行無阻.
邏輯學可以是非常抽象的,不只與數學關係密切,也與資訊科學以及哲學發展有著密 切的關係。不過這裡,我們僅介紹很基本的與數學論證相關的邏輯。
1.1. Connectives
在數學中能明確知道對或錯的論述我們稱之為 statement. 例如 2 > 0 是一個 statement, 3 < 2 也是一個 statement 但 x > 0 就不是一個 statement (除非我們知道 x 是什麼). 注意 一個 statement 只能是對或錯其中之一,不能是半對半錯或是有時候對有時候錯。所以我 們稱一個 statement 的 truth value 為 T 當這個 statement 為對的 (即 true);反之則以 F 表示,即此 statement 為錯的 (false).
舉例來說 “今天天氣很熱” 不是一個 statement. 為什麼呢?因為大家對熱的標準不一,
除非我們明確定義 “很熱” 的標準(例如超過幾度)。再例如 “天空打雷會下雨” 這個論述 我們覺得半對半錯,有時候會下有時候不會下,所以它也不是一個 statement. 但如果改為
“天空打雷一定會下雨”,那它便是一個 truth value 為 F 的 statement. 這裡要注意,在數 學上的敘述,我們往往會省略 “一定” 這個字眼,所以數學上當一個論述有時候對有時候 錯,我們會認定它是錯的。例如 “由 x2> 4, 可得 x > 2” 雖沒有加上 “一定” 的字眼,但我 們認定它是 truce value 為 F 的 statement.
數個 statements 可以組合成一個 statement, 連接這些 statements 的就是所謂 connec- tives. 我們要探討經由 connectives 連結成的 statement 其對或錯的情形.
1.1.1. And. 首先介紹的便是 “and” 這一個 connective. 這一個 connective 應該是大家最 容易理解的一個. 若 P 和 Q 皆為 statement, 我們用 P∧Q 表示「P and Q」這一個 statement 1
2 1. Basic Logic
(邏輯上稱為 the “conjunction” of P, Q). P∧ Q 什麼時候是對的什麼時候是錯的呢? 按照 字面的意義 “and” 就是 “且” 的意思, 就如同習慣用語當 P 而且 Q 都是對時我們才能說 P∧ Q 是對的, 而只要 P 和 Q 其中有一個是錯的, 我們便會說 P ∧ Q 是錯的. 例如「2 > 0 and 2 < 7」是對的, 而「2 > 0 且 2 > 7」便是錯的.
我們可利用所謂的真值表 truth table 來表示用 connectives 連結兩個 statements 後其 對錯的情況. 前面提過,我們用 T 表示對 (true), F 表示錯 (false). 所以我們有以下的 truth table.
P Q P∧ Q T T T T F F F T F F F F
基本上 Truth table 就是將 P, Q 每個可能對錯的情況列出, 然後由 P, Q 所對應的情況, 寫下它們連接後的對錯情況. 例如上表第三橫排為 P 為 T, Q 為 F 故寫下 P∧ Q 為 F.
很容易發現不管 P, Q 的對錯情況如何 P∧Q 和 Q∧P 的對錯情形皆相同. 也就是說 P∧Q 和 Q∧ P 在邏輯上是相等的. 我們稱它們為 logically equivalent.
對於 logically equivalent, 我們需再釐清一下說法. 當 P, Q 是確定的 statements 時, P∧Q 和 Q∧ P 也會是確定的 statements (也就是說它們對錯的情況已經固定), 所以此時說 P ∧ Q 和 Q∧ P 是 logically equivalent 並不是很恰當. 事實上我們是將 P,Q 看成變數一樣, 它們可 以用任意的 statement 取代, 所以此時 P∧ Q 的對錯會因為 P,Q 的不同而有所不同, 故此時 說 P∧ Q 是 statement 也不恰當. 在本講義,當 P,Q 是可變動的情況之下, 我們便稱它們利 用 connectives 連結起來的結果為 “statement form”. 兩個 statement forms 在所有情況之 下其 truth tables 皆相同,我們便稱它們為 logical equivalent. 所以我們應該說成 P∧ Q 和 Q∧ P 這兩個 statement forms 為 logically equivalent. 不過為了方便起見我們常常會省略 statement form 且用 “∼” 來表示兩個 statement forms 為 logically equivalent, 例如我們有 (P∧ Q) ∼ (Q ∧ P).
Truth table 可以幫助我們判斷許多 statements 用 connectives 連接起來後其對錯的情 況, 例如 (P∧ Q) ∧ R 的 truth table 為
P Q R P∧ Q (P ∧ Q) ∧ R
T T T T T
T F T F F
F T T F F
F F T F F
T T F T F
T F F F F
F T F F F
F F F F F
Question 1.1. 你會列出 P∧ (Q ∧ R) 的 truth table 嗎?
1.1. Connectives 3
注意 (P∧ Q) ∧ R 和 P ∧ (Q ∧ R) 在定義上是不ㄧ樣的. (P ∧ Q) ∧ R 是先探討 P ∧ Q 的對錯 再和 R 連結; 而 P∧ (Q ∧ R) 是先探討 Q ∧ R 的對錯再和 P 連結. 不過從它們的 truth table 我們知道 ((P∧Q)∧R) ∼ (P∧(Q∧R)). 既然 (P∧Q)∧R 和 (P∧(Q∧R)) 在邏輯上意義相同,
以後我們就可以不必括弧直接用 P∧ Q ∧ R 表示。
1.1.2. Or. 當 P 和 Q 皆為 statement, 我們用 P∨ Q 表示「P or Q」這一個 statement (邏 輯上稱為 the “disjunction” of P, Q). 按照字面的意義 “or” 就是 “或” 的意思. 不過在我們 日常用語中 “或” 有兩種用法: 例如在速食店點套餐, 飲料可以選擇「可樂或果汁」. 這裡的
“或” 表示二者擇ㄧ, 你不可以兩個都選 (這種 “or” 稱為 exclusive or); 而遊樂園購票時規定
「六歲以下或身高 105 公分以下」才可購買兒童票. 這裡的 “或” 表示六歲以下和身高 105 公分以下二者有一個成立就可以, 並不排除六歲以下且身高 105 公分以下同時成立的情況 (這種 “or” 稱為 inclusive or). 在數學邏輯上, “or” 指的是後面那種 inclusive or 的說法, 也 就是說當 P 和 Q 其中有一個是對的 P∨ Q 便是對的 (並不排除 P 和 Q 皆為對的情況). 換 言之, 只有當 P 和 Q 都是錯的, P∨ Q 才是錯的.
例如, 「4 < 5 or 4 < 3」這個 statement 是對的, 因為 4 < 5 是對的. 而「4 > 5 or 4 > 6」
這個 statement 便是錯的, 因為二者皆不成立. 要注意「4 < 5 or 4 > 3」這個 statement 依 然是對的, 雖然你會認為用 and 比較好, 不過在邏輯上它依然是對的, 千萬別搞錯.
我們有以下關於 P∨ Q 的 truth table.
P Q P∨ Q T T T T F T F T T F F F
Question 1.2. P∨ Q 和 Q ∨ P 是否為 logically equivalent statement forms? (P ∨ Q) ∨ R 和 P∨ (Q ∨ R) 是否為 logically equivalent statement forms? P ∨ Q ∨ R 有意義嗎?
既然 and, or 皆為 connectives, 我們可以將其混合使用. 例如當 P, Q, R 為 statements 我 們可以考慮如 (P∧ Q) ∨ R, (P ∨ Q) ∧ R,... 等形式的 statements. 如何判定它們的對錯呢? 例 如 (P∧Q)∨R 是對的就必須 (P∧Q) 或 R 其中一個是對的. 所以只要是 R 是對的, (P∧Q)∨R 就ㄧ定對, 而若 R 是錯的那就必須 P, Q 皆對, (P∧ Q) ∨ R 才會是對的. 注意, 千萬不要誤 以為 (P∧ Q) ∨ R 和 P ∧ (Q ∨ R) 這兩個 statement forms 是 logically equivalent. 很顯然的 P∧ (Q ∨ R) 是對的就必須 P 和 Q ∨ R 皆為對的. 例如當 R 是對的時, 不管 Q 為對或錯 Q ∨ R 皆為對, 但還必須 P 為對才可得到 P∧ (Q ∨ R) 是對的. 這和只要是 R 是對的, (P ∧ Q) ∨ R 就 ㄧ定對不同, 所以 (P∧Q)∨R 和 P∧(Q∨R) 不是 logically equivalent statement forms. 當然 我們也可利用以下的 truth table 判定它們不是 logically equivalent.
4 1. Basic Logic
P Q R P∧ Q (P ∧ Q) ∨ R
T T T T T
T F T F T
F T T F T
F F T F T
T T F T T
T F F F F
F T F F F
F F F F F
P Q R Q∨ R P ∧ (Q ∨ R)
T T T T T
T F T T T
F T T T F
F F T T F
T T F T T
T F F F F
F T F T F
F F F F F
另ㄧ方面, 考慮 (P∨ R) ∧ (Q ∨ R) 的 truth table,
P Q R P∨ R Q ∨ R (P ∨ R) ∧ (Q ∨ R)
T T T T T T
T F T T T T
F T T T T T
F F T T T T
T T F T T T
T F F T F F
F T F F T F
F F F F F F
不難發現
((P∧ Q) ∨ R) ∼ ((P ∨ R) ∧ (Q ∨ R)).
同樣的我們可利用 truth table 檢查 (P∨Q)∧R 和 (P∧R)∨(Q∧R) 亦為 logically equivalent statement forms.
我們可以利用 truth table 檢驗一些 statement forms 是否為 logically equivalent. 在 一些有關 logic 的書也會有一些 logical equivalences 的列表讓大家檢驗. 不過這些都是為 了讓大家熟悉這些 connectives 以及 truth table 的運用. 除了以後和論證有關的 logical equivalences 我們需要注意且會特別提醒大家要熟悉, 一般來說大家不必花時間於記憶這些 logical equivalences.
最後提醒ㄧ下和 “or” 有關的數學符號 ≥ 和 ≤. 在數學上 x ≥ y 表示 x > y or x = y, 所 以 4≥ 3 這一個 statement 按照 or 的邏輯規則是對的. 同理 4 ≤ 5 是對的. 當然了 4 ≤ 4 也 是對的。
———————————– 08 September, 2022