自认平时思考时逻辑勉强过得去,但对逻辑学一无所知。今天初见这个公式十分蒙圈:A 推断出 B,怎么会等价与非 A与 B 的并集呢?
A → B = ¬(A)∨B
百度(读英文涉及到陌生的 term,还是忍不住先搜百度,比如逻辑里边说到 conjunction, disjunction, 一时实在反应不过来就是「与」、「或」)找了半天都没看到一个能说人话解释清楚的。甚至很多人压根和我一样都根本不理解,硬背真值表。最后还是 Youtube 救了命。
和我一样理解错误的人,思路大概都是这样的:
- 从等号左边开始,A 推断出 B,说明 B 包含 A;下面看等号右边,试图从 ¬(A)∨B 推出相同的结果
- 等号右边 ¬(A) 应该是 A 以外所有部分,这里边包括 B 的一部分
- 用这部分去「并」B…… 得到的显然是全集啊
这里我犯的错误本质是没搞清楚等号的意义,以及文氏图在作为真值表配图时真正的用法。
上边的三步思路第一步就错了。A → B
,即A 推断出 B,并不是一个假设,而是一个完整的陈述,有其自身的 True/False。既然 A → B
不是假设,那就无从谈起「假设 A 推断出 B,那么 B 包含 A」。
从文氏图角度来说,如果是在讨论真值表,那么一开始都应该是 A 与 B 两个椭圆作如下摆放,在此基础上去推断它们之间各种组合的逻辑值。也就不可能前文 A 画在 B 当中的错误。
下面是人话:
A → B
,即 「A 推断出 B」或者说「如果 A 则 B」作为一个完整的陈述,可以举例来理解:
如果今天下雨了 (A),那么我就有雨伞 (B)。
于是这句话作为一个完整陈述,那么分几种现实可能来讨论这句话的真假:
- 今天没下雨 (A is False),我也没拿伞 (B is False)。
- 今天没下雨 (A is False),我也没拿伞 (B is True)。
- 今天下雨了(A is True),我确实有伞 (B is True)。
- 今天下雨了 (A is True),我没拿伞!(B is False)。
可以看到,只有第四种情况是跟上边的陈述矛盾的。也就是说,「如果今天下雨了 (A),那么我就有雨伞 (B)。」这句话,大部分时候都是真的(比如所有不下雨的天气,不管我拿不拿伞都是对的),除非确实下了雨,而我却没拿伞,这句话才是假的。也就是说
A 为真,B 为假,此时 A → B 为假。其余时候,A → B 都为真。
文氏图如下,只有属于 A 却不属于 B 的部分不包含在我们的范围内。
现在再来看 A → B = A → B = ¬(A)∨B
这个式子。已经知道了它等号左边的真假情况,如何随着不同 A、B 组合变化。接下来是其等号右边的。稍微想想就发现,跟等号左边的组合结果是一样的:
A 为 真(则 ¬(A) 为 假),B 为 假,此时
¬(A)∨B
为假,其余时候¬(A)∨B
为真。
BTW…
「日本货 白送给老子老子都不要!」对有些人来说这句话非常经济实用,因为只要没人真的送辆日本车给他(而他又忍不住收了),那么他总是对的。