怎样理解“如果明天是晴天,我就去爬山”

在学离散数学第一部分”数理逻辑“的时候,最头疼的就是那些转化题,即把以自然语言说的某句话转化为符号形式。主要是因为自然语言有二义性,有很多话在不同的上下文中可能有不同的解释,转化的时候特别纠结。同时我还发现,某些话中可能暗含一些不严谨的推论(言外之意),如果不细想的话,可能自己很难意识到。

以这句话为例,比如我说:如果明天是晴天,我就去爬山。

我到底想表达什么呢?

从字面意思来看,还是比较简单的,即,如果“明天是晴天”这件事发生了,那么“我就去爬山”。用符号来表示,就是p -> q(其中p是“明天是晴天”,q是”我去爬山“,->是蕴含联结符),如果我是一个言而有信的人,那么当p发生时,q一定会发生。

这句话有没有言外之意呢?比如:

  1. 如果明天不是晴天,我还去不去爬山?
  2. 如果明天我去爬山了,那么明天是不是晴天?
  3. 如果明天我没去爬山,那么明天是不是晴天?

我想,对于很多人来说(比如我),不论是听到还是说出这句话,如果不去细究,第一感觉很可能认为它同时表达了这几个意思(其中后三个是言外之意):

  1. 如果明天是晴天,我就去爬山 (p -> q
  2. 如果明天不是晴天,我就不去爬山了 (¬p -> ¬q
  3. 如果明天我去爬山了,说明明天是晴天 (q -> p
  4. 如果明天我没去爬山,说明明天不是晴天 (¬q -> ¬p

到底哪几句才是对的?

从逻辑的蕴含符的定义,由p -> q可以推出¬q -> ¬p,但是推不出¬p -> ¬qq -> p,也就是说,上面的2和3是推不出来的,但是,在我们的感觉中,好像它们又是对的。

怎么回事?

让我们再举一个非常类似的例子,”如果你坐205路公交车,你就能到火车站“。我们再把它的四种意思写出来:

  1. 如果你坐205,你就能到火车站
  2. 如果你不坐205,你就到不了火车站
  3. 如果你到了火车站,说明你坐了205
  4. 如果你到不了火车站,说明你没坐205

奇怪的是,对于这个例子,我们可能并不会觉得它表达了2和3的意思。为什么跟前面的例子感觉不一样呢?我想也许是对于“火车站”这样的站,我们的日常经验都清楚,肯定会有很多路公交车可以到,所以就算不坐205,也能坐别的公交车。

这说明了在自然语言中,当我们在表达某件事的时候,由于用词通常并不精确,再加上一些日常经验在潜意识中干扰,很难保证每次都有相同的言外之意。

我发现一个有趣的现象,只要我们把“一定”这个词加上,就很容易确定我们真正想表达的意思了。

比如,对于“如果明天是晴天,我就去爬山”这句话,我们加上“一定”:如果明天是晴天,我就一定去爬山。意思并没有变,只是我们更加强调了后面这件事情会发生。

然后我们再把前面的四种话重写一遍:

  1. 如果明天是晴天,我就一定去爬山 (p -> q
  2. 如果明天不是晴天,我就一定不去爬山 (¬p -> ¬q
  3. 如果明天我去爬山了,说明明天一定是晴天 (q -> p
  4. 如果明天我没去爬山,说明明天一定不是晴天 (¬q -> ¬p

突然就觉得每句话都显得很绝对,很容易被钻空子,于是不由自主思考更多的可能性,比如“如果明天是阴天”,我会怎么样?于是可能就会觉得2和3不太对,而4还是没问题的。这样的话,就跟蕴含联结符的推理对应上了:p -> q可以推出¬q -> ¬p,但是推不出¬p -> ¬qq -> p

另外,加上“一定”这个词以后,对于“明天不是晴天”的情况,除了“我就一定不去爬山”以外,可能还有一种不同的表述:如果明天不是晴天,我就不一定去爬山。如果你想表达的是这种情况,那么它永远是对的,因为它代表的是 ((¬p -> q) ⋁ (¬p -> ¬q)),是一个永真式。

你可能感兴趣的:(怎样理解“如果明天是晴天,我就去爬山”)