矛盾蘊涵一切


Photo Credit: macwagen via Compfight cc

學邏輯想必都聽過一句話:矛盾蘊涵一切。這句話的意思是,矛盾的述句蘊涵任何述句。以 p, q 為任意兩個述句,其形式是

p∧¬p ⊨ q

由於矛盾句 p∧¬p 不可能為真,連帶不可能 p∧¬p 真並且 q 假,所以, p∧¬p 蘊涵 q 。

矛盾蘊涵一切,其實可由另外三條邏輯規則保證。這三條規則分別是簡化律(Simplification) 、附加律 (Addition) 和選言三段論 (Disjunctive Syllogism) 。

1.p∧¬p[Premise]
2.p[Simp 1]
3.¬p[Simp 1]
4.p∨q[Add 2]
5.q[DS 3,4]

換句話說,這三條規則成立的邏輯系統,矛盾的述句都會蘊涵任何述句。嚴格來說還假定了 soundness theorem, transitivity of validity, 以及 conditional proof 。

丟棄「矛盾蘊涵一切」的邏輯系統,稱為「超一致邏輯」 (paraconsistent logic) 。超一致邏輯有另一個足以震驚七百萬香港人的刻畫方式:超一致邏輯容許述句既真且假。由於述句可以又真又假,連帶以下兩個蘊涵式都不成立:

p∧¬p ⊨ q
¬p, p∨q ⊨ q

第一個是矛盾蘊涵一切,第二個正是選言三段論。

假設 p 既為真又為假,而 q 則僅為假。 p 為真,但由於 p 同時為假, ¬p 便為真,因此 p∧¬p 為真。在這情況, p∧¬p 雖是真的, q 卻是假的。

同樣假設 p 既真且假, q 僅為假。同樣地, ¬p 為真。由於 p 為真, p∨q 為真。在這情況, ¬p 及 p∨q 皆是真的,但 q 卻是假的。

換句話說,容許述句既真且假,一方面能直接封住「矛盾蘊涵一切」,另一方面也能堵塞保證「矛盾蘊涵一切」的選言三段論。

11 則留言:

  1. 如果容許做conditional proof的話,若given (p∧¬p),我不是直接隨便假設一個句子q,然後用Simplification在假設中從p∧¬p推中p和¬p,也就可以做出矛盾,用歸謬法得出¬q? 用這辦法,似乎可以推出任何句子,而只需假設simplification但不用addition和DS? 是不是我想漏了甚麼東西?

    回覆刪除
    回覆
    1. //如果容許做conditional proof的話,若given (p∧¬p),我不是直接隨便假設一個句子q,然後用Simplification在假設中從p∧¬p推中p和¬p,也就可以做出矛盾,用歸謬法得出¬q?//

      歸謬法最初要假設的是欲證明的命題的否定,所以你想說應該是:假設 ¬q ,推出矛盾後,得到 q 。此外,用歸謬法不需要 Simp 將 p 和 ¬p 分開,有 p∧¬p 便可,所以你所想的程序其實連 Simp 也不需要。

      不過,你所用的其實不是歸謬法。歸證法是假設 (i) ¬q ,由此推到矛盾後,得到 q ,整個證明程序是要基於最初假定的 ¬q 。而你的證明程序則是假設 (i) ¬q 和 (ii) p∧¬p ,直接由 (ii) 得到 q 。整個證明程序裡 ¬q 完全沒有作用。然而,直接由 (ii) 得到 q ,其實已經預設矛盾可推論一切,而這正是上面 1-5 要證明的。

      刪除
    2. 用有 premise set 的證明系統會更易解釋,不過要畫些圖做比較,可以在 sembreak邏輯再傾

      刪除
    3. Proof by contradiction一定要由「¬q ,由此推到矛盾後,得到 q ,整個證明程序是要基於最初假定的 ¬q 」嗎? 我理解是在假定中能推出任何的矛盾句(不一定是是¬q )也是proof by contradiction?

      如維基中(https://en.wikipedia.org/wiki/Proof_by_contradiction)就是採取這定義(in mathematical logic一節)。我以前學的時候也是用這定義。

      刪除
    4. In logic, proof by contradiction is a form of proof, and more specifically a form of indirect proof, that establishes the truth or validity of a proposition by showing that the proposition's being false would imply a contradiction. (from wiki)

      wiki的說法是:假設 that proposition's being false (即假定¬q),showing ¬q would imply a contradiction ,才可以 establish a truth (q) 。這是我的說法。

      刪除
    5. 我嘗試弄清我跟你的分歧。你說我的例子不是proof by contradiction,是基於下面哪個原因?

      1. 因為我的例子中假設¬q,但推出的只是p^¬p(而不是q),所以不是proof by contradiction。
      2. 因為我的例子中假設¬q,得出的p^¬p不是由¬q推出來,而只是由於一開始given了p^¬p而得來的,所以不是proof by contradiction。

      我不太肯定我的例子不乎合那個維基的定義中的那部份。是不是上面的其中一個?

      刪除
  2. 你是如下這意思嗎:proof by contradiction本身就是建基於simplification、addition和DS嗎(即建基於文中(1)-(5)的proof)? 若一個系統本身沒有這三條中任何一條,則這系統也不可能有proof by contradiction? 故proof by contradition只是(1)-(5)這proof的另一寫法?

    回覆刪除
    回覆
    1. 我沒有說 proof by contradiction 本身基於 Simp, Add, 和 DS (因為「基於」有「其中一個更根本」的含意,但我沒有這個意思)。我說的是 (i) 你用的不是 proof by contradiction 以及 (ii) 你用的證明程序其中一步需要預設矛盾推論一切。

      關於第1點,可以看 Hausman, Alan & Kahane, Howard & Tidman, Paul (2010) Logic and Philosophy A Modern Introduction, pp. 132-133 和 Causey, Robert (2006). Logic, Sets, and Recursion (2ed), pp. 89-90 。注意, proof by contradiction 是一組打包好的程序,必需要「假設 ~q ,從 ~q 推出矛盾,繼而由上面的程序推到 q 」,才叫做 proof by contradiction 。

      關於第2點,是指你的證明程序裡,假設 p∧¬p 再直接由此推論 q ,這步本身就需要矛盾推論一切。

      至於 proof by contradiction 有沒有預設矛盾推論一切,則是另一個問題。

      刪除
  3. p∧¬p →q 是有效(valid)的,但由於p∧¬p是假的,所以p∧¬p →q並不蘊涵(entail) q。何解p∧¬p ⊨ q ?

    回覆刪除
    回覆
    1. 1. 我猜你用「p∧¬p →q」是指「(p∧¬p)→q」,而不是「p∧(¬p→q)」。
      2. 「有效(valid)」一般是形容論證:有效論證 = 不可能前提真結論假。我猜你不是在用這個意思,因為「(p∧¬p)→q」根本不是論證,而只是一個條件句。
      3. 我猜你的「有效(valid)」是數理邏輯的其中一個意思:「p is valid iff p is true in all interpretations」,通俗點說,「(p∧¬p)→q 是有效(valid)的」的意思是「p是邏輯上恆真」。不過,我說的是「p∧¬p」蘊涵「q」,而不是「(p∧¬p)→q」蘊涵「q」 。一條簡單的古典邏輯定理:

      ⊨α→β iff α⊨β

      「α」代「(p∧¬p)」,「β」代「q」。

      刪除
    2. 十分感謝你的回覆。我總算搞清楚之前搞混了的概念,謝謝。

      刪除

技術提供:Blogger.