最近看卓里奇數學分析里有句話:「若 A 不真,則 A→B 總是真的」,這種蘊含關係我無法理解。本人邏輯基礎僅限高中,希望各路大神用盡量簡單通俗的語言解釋一下 ⊙ω⊙

問題修改:把引起歧義的符號改為了→(蘊含)


有一記者問一農民:「如果你有一百畝地,你可以捐給國家嗎?」

農民回答:「可以!

又問:「如果你有一百萬,你願意捐給國家嗎?」農民回答:「我願意!

三問:「如果你有一頭牛,你願意捐給國家嗎?」農民回答:「我不願意!

記者疑惑:「為什麼你願意捐一百畝土地給國家,捐一百萬給國家?為什麼你一頭牛不願意捐呢?」農民窘困:「因為我真的有一頭牛!

引用來源:https://zhidao.baidu.com/question/1964161714803374220.html?from=singlemessageisappinstalled=0


先上結論:在經典主義邏輯框架下,把 [公式] 理解成 "if p then q" ,或者」如果 p,那麼 q「 (對很多人來說)是反直覺的。

所以題主覺得不好理解,非常正常。原因是經典邏輯並不嚴格對應於人的自然思維。符號邏輯系統有千千萬種,不止書上教的那一種,還有 Relevance Logic 等一堆非經典的符號邏輯系統試圖在填補這個鴻溝。下面主要談談兩種不同的邏輯系統,經典邏輯與直覺主義邏輯,怎麼對應於普通人的思維模式。

在經典主義邏輯框架下, [公式] 被稱為「實質蘊含」,這句話「不應該」被解釋成自然語言中的」如果 p, 則 q「,而是應該解釋成」如果 p 為真,那麼 q 也為真「。因為 "p" 和 "q" 可以完全不相干。實質蘊含最讓初學者糊塗的地方是,如果 p 為假時, [公式] 居然必然為真。不要小看這點區別,這會引起很多的「反直覺」結論:

反直覺命題一: [公式]

這個在經典主義框架下是永真的,這個可以被誤讀成:世界上的所有東西都是相互關聯的。

反直覺命題二: Pierces Law [公式]

這個在經典主義框架下也是永真的,解釋下試試看,如果一個蘊含式能蘊含它的前件,那麼它的前件 p 就為真。請用「如果……,那麼……」解釋下試試看?

繼續,反直覺命題三:著名的 Drinkers Paradox,飲酒者悖論 [公式]

「如果一個酒吧裡面存在一個飲酒者,」那麼「 酒吧裡面所有的人都在飲酒。」這句話是不是很荒唐?我們之所以認為荒唐,正是因為我們把蘊含符號「錯誤解讀」成為了」如果……,那麼……「。

在經典主義框架下, [公式] 等價於 [公式] ,可以解讀為「要麼條件 p 為假,要麼結論 q 為真」,實際上也還是在解釋「實質蘊含」。

但另一方面,如果熟悉了經典邏輯,慢慢你會覺得「實質蘊含」其實也不難理解,這時候大腦就能夠比較熟練地切換各種推理模式。大邏輯學家羅素就認為「實質蘊含」非常自然,很本質。

經典主義邏輯看似比較好入門,因為一階命題經典邏輯能很好地對應到「真值表」,於是很多人不由自主地過度依賴真值表來理解命題,而忽略了「推理」。這一點也讓很多人混淆「語言」和「元語言」的關聯和區別,我在另一篇回復中提到了這個問題。但是,經典主義邏輯中有很多的坑,從而導致在推理過程中,會遇到一些難以理解的問題。

其實「直覺主義邏輯」才是更符合直覺的邏輯,但是由於其涉及了關於排中律,反證法的一些討論,並且其語義模型不是真值表,入門門檻也比較高。但是直覺主義邏輯的推理過程是非常容易理解的,比如 [公式] 表示 "p 蘊含 q"(我用符號 [公式] 表示直覺主義邏輯中的蘊含符號,以區分 [公式] ),可以理解成,」如果給一個 p 命題的證明,那麼輸出一個 q 命題的證明「。那麼如果 "p" 不為真呢?在直覺主義邏輯框架中,雖然 」p「 不真,但是仍然不能通過這個陳述來得到 p 命題的構造性證明,那麼仍然不能得到 q 命題的證明。這裡的蘊含式 [公式] 更貼近我們自然語言中的「如果……,那麼……」。

熟悉函數式語言編程的朋友,可以很自然地把 [公式] 看成是函數類型,比如 [公式] 。這也就是比較新的編程語言逐步引入蘊含符號的原因。直覺主義邏輯符號很好地對應編程推理。而經典主義邏輯概念雖然也能對應到編程,但是往往都是和不容易理解的控制流操作符相關,比如 call/cc,setjmp/longjmp 等。

直覺主義依賴構造性而非「真值表」,一個命題不再對應於真假,而是對應於它的構造性證明。 [公式] 表示 「p不存在構造性證明」,但是這並不意味著 p 為假,也有可能 p 只是「不可證」。那麼反證法就在直覺主義邏輯框架中就不再成立了。反證法符合直覺么?不好說……

在直覺主義邏輯框架下,除了反證法( [公式] )不成立,逆否命題不再等價於原命題( [公式] 成立,但反向不成立),這個符合直覺的嗎?看你怎麼理解,從計算和構造的角度看,非常符合直覺。 [公式] ,但是反過來是成立的,即 [公式] 。 陣亡的還不止這些,還有德莫根律,還有 "不是所有的人都不抽煙" 不能直覺蘊含 "存在一個人抽煙",等等,也包括上面提到的三個反直覺結論,在直覺主義框架中是不可證的。

我個人平時在思考過程中,絕大多數時間用直覺主義邏輯來推理,當遇到複雜一點的命題,會採用「自然演繹」(Natural Deduction)的規則進行心算,推理過程就像「編寫程序」一樣,非常自然。如果用到反證法,則會將反證法作為公理引入。但是如果讓我採用真值表的話,即使藉助紙筆演算,也要多花費幾倍的時間來理解。推薦大家採用自然演繹的方法進行思考。


考慮把「空集是一切集合的子集」這個觀點整合到子集的定義中。


A useful way to understand the truth value of a conditional statement is to think of an obligation or a contract. For example, the pledge many politicians make when running for office is

"If I am elected, then I will lower taxes."

If the politician is elected, voters would expect this politician to lower taxes. Furthermore, if the politician is not elected, then voters will not have any expectation that this person will lower taxes, although the person may have sufficient influence to cause those in power to lower taxes. It is only when the politician is elected but does not lower taxes that voters can say that the politician has broken the campaign pledge. This last scenario corresponds to the case when [公式] is true but [公式] is false in [公式] .[1]

參考

  1. ^Kenneth H. Rosen, Discrete Mathematics and Its Applications


A?B 的意思不是:B is true because A is true。

而是:if A is true, then B is also true. 若A是真的,那麼B也是真的。

把這個符號的真正含義搞明白了,就沒那麼困難了。

只要B是真的,A?B就是真的。

致這裡繞不出來的同學:若B真,那麼B在任何情況下都真。「任何情況」就包含了「if A is true」這種特定的情況。所以這種情況下,B真。所以「if A is true, then B is also true」真

如果A,B都是真的,A?B也是真的。

如果A,B都是假的,A?B也是真的。

它的真值表是這樣的,這個就是定義來的。

「A?B」這個命題是假的唯一一個情況是:A is true and B is false。A是真的同時B不真。

除此之外所有的情況,A?B 都是真的。這裡面就包括A不真B真,和A不真B不真,也即是A不真的所有情況。


推薦閱讀:
相关文章