跳轉到內容

數學證明和數學/邏輯/間接證明原理

來自華夏公益教科書

在上一節中,我們研究了與蘊涵相關的推理規則。大多數數學定理都採用蘊涵的形式,因此這些規則非常重要。(從某種意義上說,所有數學定理都採用蘊涵的形式,但我們稍後會討論這一點。)

但邏輯不僅僅是蘊涵,所以我們需要一些額外的推理規則來處理其他邏輯連線詞。其中最基本的是反證法。

我們首先介紹矛盾的概念。你可以把它想象成一個已知為假的陳述。具有諷刺意味的是,這樣的陳述在邏輯中起著重要的作用,邏輯的目的是證明某些陳述總是正確的。

有幾個邏輯符號表示矛盾;其中一個是 ,在這種情況下,始終為真的陳述的符號是 。也許 是因為它與字母“T”(表示 True)相似,將其倒置意味著相反。另一個符號是 ,在這種情況下,符號 代表始終為真的陳述。由於我們大多數情況下避免使用這些符號,因此我們將簡單地用文字拼寫出 來表示表格格式的證明。對於以散文形式給出的證明,通常會寫類似“這是荒謬的”或“這是一個矛盾”之類的話。單詞“矛盾”本身來自拉丁語短語,意思是“反對”,指的是彼此含義相反的語句。

可以使用蘊涵和矛盾來“定義”所有剩餘的邏輯連線詞。首先,我們可以取語句

蘊涵

作為

的定義。

我們已經在邏輯連線詞部分給出了“非 ”的定義,現在我們建立了一個新的、競爭的定義。只要我們可以確信這兩個定義相互一致,這就沒有問題。因此,我們需要確信語句

蘊涵

為真時,結果為假,當 為假時,結果為真。但是語句 蘊含 的定義是當 為真時,結果為假,當 為假且 為假時,結果為真。因此定義是吻合的。

給定這樣的定義,我們可以建立兩個新的推理規則。第一個用定義替換定義的表示式,第二個進行相反的替換。所以我們有

從非 推匯出 蘊含

蘊含 推匯出非 .

透過將這些規則與上一頁的規則結合起來,我們得到了更實用的形式

,非 推匯出

如果透過假設 可以推匯出 ,那麼推匯出非 .

示例證明 #1

[edit | edit source]

讓我們首先使用上述規則來證明

命題 1: 蘊含非非 .

這是一個蘊含關係,因此我們從假設前提開始,推匯出結論。所以證明的結構如下:

語句 理由
1 前提
(某個東西)
n 非非 ?
n+1 蘊含非非 由 1 和 n 推出

現在的目標是證明非非 ,但我們可以透過假設非 並推匯出矛盾來實現。證明的新形式是

語句 理由
1 前提
2 前提
(某個東西)
n−1 ?
n 非非 由 2 和 n−1 推出
n+1 蘊含非非 由 1 和 n 推出

現在我們需要證明 ,但語句 和 非 已經被假設,所以只需要進行最後的填充即可。

語句 理由
1 前提
2 前提
3 重複 1
4 2 和 3 之間的矛盾
5 非非 由 2 和 4 推出
6 蘊含非非 由 1 和 5 推出

用散文形式表達

命題 1: 蘊含非非 .
證明: 假設 。現在假設不 。根據原始假設,我們同時擁有不 ,這是一個矛盾。所以假設不 一定是假的,換句話說,不是不 。從原始假設 可以得出,不是不 ,因此我們可以得出結論 蘊含不是不

示例證明 #2

[編輯 | 編輯原始碼]

我們證明

命題 2: ( 蘊含 ) 蘊含 (不 蘊含不 )。

對於任何蘊含 蘊含 ,蘊含不 蘊含不 被稱為其“逆否命題”。正如我們將看到的,逆否命題在邏輯上等價於原始蘊含,這與逆命題不同。命題 2 是證明該等價性的第一步。

你可以從頭開始證明,這留作練習,但另一種方法是使用上一頁的命題 5 作為捷徑。改寫為推理規則,該命題指出

蘊含 推匯出 ( 蘊含 ) 蘊含 ( 蘊含 )。

這產生了一個更簡單的證明

語句 理由
1 意味著 前提
2 前提
3 意味著 “非”的定義
4 意味著 重複 1
5 ( 意味著 ) 意味著 ( 意味著 ). 上一頁命題5
6 蘊涵 從3和5得出
7 “非”的定義
8 意味著 非 從2和7得出
9 ( 意味著 ) 意味著 (非 意味著 非 ). 從1和8得出

間接證明方法

[edit | edit source]

我們幾乎得到了一種非常有用和重要的證明方法,稱為反證法,或者對於喜歡拉丁語的人來說,稱為Reductio ad absurdum,大致翻譯成歸謬法。使用這種方法的證明被稱為間接證明,因為它不像所謂的直接證明那麼直接,直接證明依賴於目前為止使用的方法。

為了使用這種方法來證明一個命題 ,假設它是假的,然後推匯出矛盾。如果假設一個命題是假的會導致不可能的結果,那麼這個命題就必須是非假的,即為真的。換句話說,如果假設非 你可以推匯出矛盾,也就是說,如果非非 ,那麼你可以推匯出 .

我們將以新的推論規則的形式重新說明這一點

從非非 推匯出 .

另一種說法是

如果假設不為 ,可以推匯出 ,那麼可以推匯出 .

這是最後一個推論規則,無法從定義或其他推論規則中推匯出。我們將像對否定一樣定義析取、合取和等價,這些定義會產生兩個推論規則,但可以透過像上一頁中的命題 2 一樣證明蘊涵來推匯出。

示例證明 #3 和 #4

[編輯 | 編輯原始碼]

為了使這個推論規則發揮作用,讓我們從命題 1 的逆命題開始

命題 3: 不不 蘊涵 .

這很容易推匯出,證明留作練習。

命題 4: (不 蘊涵 不 ) 蘊涵 ( 蘊涵 )

從構建一個輪廓開始,就像之前一樣。

語句 理由
1 意味著 非 前提
2 前提
(某個東西)
n−1 ?
n 意味著 由 2 和 n−1 推出
n+1 (不 蘊涵 不 ) 蘊涵 ( 蘊涵 ) 由 1 和 n 推出

此時我們需要證明 ,但直接證明似乎行不通,所以假設不為 並嘗試推匯出矛盾。

語句 理由
1 意味著 非 前提
2 前提
3 前提
(某個東西)
n−2 ?
n−1 從 3 和 n−2
n 意味著 由 2 和 n−1 推出
n+1 (不 蘊涵 不 ) 蘊涵 ( 蘊涵 ) 由 1 和 n 推出

我們現在有足夠的假設來開始填充一些推理並完成證明。

語句 理由
1 意味著 非 前提
2 前提
3 前提
4 意味著 非 重複 1
5 從 3 和 4
6 迭代 2
7 從 5 和 6
8 從 3 和 7
9 意味著 從 2 和 8
10 (不 蘊涵 不 ) 蘊涵 ( 蘊涵 ) 從 1 和 9

用散文形式表達

命題 4: (不 蘊涵 不 ) 蘊涵 ( 蘊涵 )
證明: 假設並非 蘊涵並非 。現在假設 。我們需要證明 ,所以假設並非如此,換句話說,並非 。那麼根據第一個假設,並非 。但這與第二個假設相矛盾。假設並非 導致了矛盾,所以 。因此, 蘊涵 。從最初的假設並非 蘊涵並非 ,可以得出結論: (並非 蘊涵並非 ) 蘊涵 ( 蘊涵 )。

注意,雖然這不是嚴格必要的,但我們陳述了接下來要證明的內容,並以“假設並非如此”的形式插入了一個小小的路標,以表明接下來將使用間接論證。其他具有相同目的的短語可能包括“假設並非”和“如果錯誤,那麼”。

留給讀者

[編輯 | 編輯原始碼]
命題 5:並非 ( 蘊涵 ) 蘊涵並非
命題 6:並非 ( 蘊涵 ) 蘊涵
命題 7: (( 蘊含 ) 蘊含 ) 蘊含
命題 8: 蘊含 ( 蘊含 )
命題 9: 蘊含
命題 10:
華夏公益教科書