因果关系与蕴含的不同

前几天写AI的作业的时候,老师让将一个命题写成公式形式,然后化成子句集。其中第一个命题是「每个储蓄钱的人都获得利息」,想着这个命题的意思应该是「如果一个人存一定数量的钱,那么该人会获得一定数量的利息」。

如果和那么两个分句的结构倒是挺明显的,在这两个分句之间的关系上我遇到了困难。

首先从蕴含符号开始说吧,(Prightarrow Q = sim P vee Q)。其真值表如下所示。

(P) (Q) (Prightarrow Q)
T T T
T F F
F F T
F T T

这个表的第1、2种情况很容易想通,结论是明显的。

举一个例子。令(P:xneq 0)和(Q:x^2>0),显然((forall x)(Prightarrow Q))。也就是说,直观来看,这个命题应当是成立的。

但是看上面的那个真值表的话,诡异就在于当(P=F)或(Q=T)时,(Prightarrow Q=T)成立。

我认为这个问题应该这样理解。因为「((forall x)(Prightarrow Q))」和「因为(P),如果(Q)」并无法准确的表示因果关系。

不妨设(P=F),则明显(Q)为任何命题,命题((forall x)(Prightarrow Q))都为真。直观的说就是命题(P)和命题(Q)即使是在没有关系的情况下,如果满足上文中的关系,那么命题((forall x)(Prightarrow Q))也是永真的。即,命题(P)和(Q)不需要有联系,就可以满足「如果(P),那么(Q)」的关系。即,(P)和(Q)之间即使不存在因果关系,也可以满足「如果(P),那么(Q)」的关系。换言之,「如果(P),那么(Q)」无法得出「(P)和(Q)之间存在因果关系」的结论。

可能会有「既然无法表达,那么为什么还要用这个」的疑问。这也是没办法的事情,因为不这样安排真值表的话,就会和因果关系的真值产生冲突。可以说,使用蕴含是一种无可奈何的折中路线。

整个问题的根源还是在于汉语中的「如果,那么」这个连词覆盖的范围更大。因为「如果」表示假设,而「那么」表示上文的假设成立之后也成立,其也包括了同时成立却没有因果关系的句子。如果比作一个集合的话,表示因果关系的句子应当是使用「如果,那么」的句子的子集。

原因很简单,随便举几个常见的例子。

1.如果冰淇淋畅销,那么会有很多人淹死。

事实上,这都只是夏天到来之后的现象,天热导致冷饮畅销和游泳的人变多,其分别与夏天到来有因果关系,但是两种现象并没有因果关系。

2.如果起风了,那么雾霾就会消散。

本句中的两个分句是存在逻辑关系的。所以此时「如果,所以」是表达因果关系的。

3.如果太阳打西面出来,那么明天是世界末日。

本句是典型的「如果」一个永假命题,再「那么」一个真值随意均可的命题的句子。因为假设的东西永远不会成立,所以后半个分句也不需要在任何情况下成立,即不需要判断后半句是否成立即可判断整个句子成立。

4.如果明天会下雨,那么今天太阳会打东面出来。

P.S. 没准世界末日太阳就不出来啦!

本句是典型的「如果」一个真值随意均可的命题,再「那么」一个永真命题的句子。无论前提是真是假,后半句都会成立,所以整个句子也永远成立。

上面4个例子1、3、4三个例子中的分句都没有因果关系,2这个例子中的分句是有因果关系的,但他们都符合蕴含的定义。

所以说,使用蕴含表示因果的这种奇怪的错觉还是因为自然语言中无法准确表达逻辑所导致的。当自然语言中的一个存在因果关系的句子被转化成了蕴含形式之后,就再也无法分辩其是否具有因果关系了。表达其因果关系的语义永远的消失在了符号之中。

而事实上这种因果关系,也并不是命题逻辑所关心的重点,命题逻辑所关心的,也只是各个部分的真值被确定之后,整个公式的真假情况。