今天星期几

太空小孩   ·   2015 年 01 月 31 日

现在有这么一个问题:

「如果昨天是明天的话就好了,这样今天就周五了。」
那么今天星期几?

两种理解

由于祈使句中虚拟语气的虚拟对象指代不明,原文是可能产生歧义的——原文并未给出上下文,也没有语调。很明显,在正常的中文交流中,通常不会出现这样可能模棱两可的句子。

不难看出,歧义在于原文可能因时间参考系的不同产生以下两种理解:

  1. 假设的昨天是实际的明天 原文:如果昨天是明天(周四)就好了,这样今天就周五了。

    理解:昨天不是周四,但是希望昨天可以成为实际的明天(周四)。

    计算:d0 = 5,d0 – 1 = d + 1,d = 3。

    解得:真实的今天是星期三。
  2. 实际的昨天是假设的明天
    原文:如果昨天(周六)是明天就好了,这样今天就周五了。

    理解:明天不是周六,但是希望明天可以成为实际的昨天(周六)。

    计算:d0 = 5,d – 1 = d0 + 1,d = 7。
    
解得:真实的今天是星期日。

三种赋值

两种理解得到了两个答案,那么问题来了,究竟哪个答案更符合语言实际?
请尝试体会以下句子的含义。

第一组

  1. 如果我是王思聪就好了,这样我就有很多钱。(正确)

    如果王思聪是我就好了,这样……(错误,这样王思聪就会突然变得没钱。)
  2. 如果周五是周六就好了,这样周五就不用上班了。(正确)

    如果周六是周五就好了,这样……(错误,这样周六也要上班了。)
  3. 如果 n 是 3,这样 n + 2 就是 5。(正确)

    如果 3 是 n,这样……(错误,常数怎么可以给变量赋值?)

在这一组的语境里,祈使句「如果 A 是 B 就好了」中 A 是变量,B 是定量,B 给 A 赋值,语义是「希望 A 可以具有 B 的属性」。

第二组

  1. 如果我老公是王思聪就好了,这样我就有很多钱。(说得过去)

    如果王思聪是我老公就好了,这样我就有很多钱。(也说得过去)
  2. 如果明天是万圣节就好了,这样我买的道具就能用了。(说得过去)

    如果万圣节是明天就好了,这样我买的道具就能用了。(也说得过去)
  3. 如果 n 的值是 3,这样 n + 2 就是 5。(正确)

    如果 3 是 n 的值,这样 n + 2 就是 5。(也正确)

在这一组的语境里,祈使句「如果 A 是 B 就好了」A、B 谁被谁赋值,要根据具体实际去理解。

第三组

  1. 如果王思聪(重读)是我老公就好了,这样我就有很多钱。(说得过去)

    如果王思聪是我老公(重读)就好了,这样王思聪就没钱了。(咦,也说得过去了!)
  2. 如果周五是周六(重读)就好了,这样周五就不用上班了。(说得过去)

    如果周五(重读)是周六就好了,这样周六也特么要上班了。(花擦,也说得过去!)

在这一组的语境里,祈使句「如果 A 是 B 就好了」A、B 谁被谁赋值,要根据重音或语调去判断,重读的赋值给未重读的。

总结

中文祈使句「如果 A 是 B 就好了」中,A、B 并不是逻辑相等的关系,而是赋值与被赋值的关系。基于以上三种赋值的可能情况,在缺乏对实际情况的了解,缺乏利用语境、重音或语调等语用学(pragmatics)意义的元素来帮助消除歧义的情况下人们可能会对原文产生不同的理解。当然,如果可以忽略语用意义,以语义学(semantics)和自然语言处理(NLP)的角度来看,原文往往会默认被脑补成第一组语境,也就是后者给前者赋值,这也是现实中认为答案是星期三的人居多的主要原因。

不仅是祈使句虚拟语气的虚拟对象指代不明,原文中所问的「今天」也有语言陷阱——这正是因为自然语言对比形式语言最大的特征在于自然语言的不严密性容易引起误解。莱布尼茨认为,各种自然语言的民族性、地域性、不精确性和不规则性无法为哲学提供明确的概念和严密的推理,他主张在哲学话语中用数理逻辑语言取代自然语言。这也就意味着类似原文的虚拟语气表述必须明确被虚拟或者说被赋值的对象才具有唯一的解。而以格莱斯的二分法来看,人们对语言的认知有一个从「认识语义含义」到「理解语用含义」的语用推断(pragmatic inference)过程,应该说,本题原文的表述是不符合中文语言习惯的,在语用推断的过程中因为必要信息的缺乏而产生误解。很少有人会说,如果昨天是明天就好了;取而代之的是,人们会说:如果昨天是周四就好了;如果周六是明天就好了。

对于语言学和自然语言处理没有研究,只能抛砖引玉了。