变量问题谬误
❦
Albert:「每次我听见一棵树倒下,它都会发出声音,所以我猜别的树倒下也会发出声音。我不相信在我不看时,周围的世界就会改变。」
Barry:「等一下。要是没人听见,它怎么能算是声音?」
在写 Albert 和 Barry 围绕「一棵树在荒无人烟的森林里倒下是否会发出声音」这一点展开的争论定义对话时,我有时会发现自己开始对角色失去共情。我开始失去那种发自肚子的感觉:为什么任何人会那样争论,尽管我已见过这种事发生过很多次。
在这种时候,我会对自己重复:「要么这棵倒下的树会发出声音,要么不会!」以找回我借来的那股义愤。
如果你把任意英语句子代入 P,那么(P 或 ¬P)并不总是可靠的启发式。「这句话是假的」就无法在一致意义上被视为真或假。还有那句老经典:「你已经停止殴打你的妻子了吗?」
现在,如果你是数学家,而且相信经典逻辑(而非直觉主义逻辑),那么你仍有办法继续坚持(P 或 ¬P)是一个定理:比如说,「这句话是假的」并不是一句话。
但这种解决方式很微妙,这本身就足以说明:你需要微妙。你不能在每个场合都横冲直撞地喊:「要么是,要么不是!」
那么,那棵倒下的树到底会不会发出声音,还是……?
当然,2 + 2 = X 或者不成立,对吧?嗯,也许吧——如果它真的是同一个 X、同一个 2、同一个 + 和 =。如果 X 在某些场合取值为 5,在另一些场合取值为 4,那么你的义愤也许就用错地方了。
要想开始主张(P 或 ¬P)应当是一个必然真理,符号 P 必须在两难的两边都代表完全同一件事。「要么这次倒下会发出声音,要么不会!」——但如果 Albert::sound 与 Barry::sound 不是同一个东西,那么树可以发出 Albert::sound 却不发出 Barry::sound,这一点毫无悖论可言。
(:: 这种写法是我在写 C++ 的那些年里学来的,用来避免命名空间冲突。要是你有两个不同的包都定义了一个类 Sound,你可以写 Package1::Sound 来指明你指的是哪个 Sound。我想这种写法并不广为人知;可惜的是,因为我经常希望自己在写作时也能用上它。)
这种可变性可能很微妙:Albert 和 Barry 也许会仔细核对,确实是同一棵树、同一片森林、同一次倒下,只为确保他们确实在就同一个事件产生实质分歧;然后却忘了检查,他们是否把这个事件对应到了同一个概念上。
想想你最常去的那家杂货店:它在街道左侧,还是右侧?但当然,街道并不存在所谓的「那边的左侧」,只有当你从某个特定方向沿着它前进时的「你这边的左侧」。我们使用的许多词,其实都是语境所提供的隐含变量的函数。
在一个意图解析语言的人工智能(Artificial Intelligence)程序里处理这类问题,其实麻烦得要命,需要做大量工作——这种现象叫作「说话者指示(speaker deixis)」。
「Martin 告诉 Bob 那栋楼在他的左边。」但「左边」是一个功能词,它的取值会依赖一个说话者相关的变量,而这个变量会从周围语境中被悄无声息地抓取出来。这里说的是谁的「左边」——Bob 的,还是 Martin 的?
变量问题谬误(variable question fallacy)里的变量往往没有被整齐地标出来——它并不像「喂,你觉得 Z + 2 等于 6 吗?」这么简单。
如果一次命名空间冲突引入了两个不同概念——它们因为名字相同而看起来像「同一个概念」——或者一次压缩谬误把两个不同事件压进同一个事件里——它们因为没有各自独立的心智档案而看起来像同一个事件——又或者同一个函数在不同语境下取到不同值——那么现实本身就会变得千变万化、飘忽不定。至少,从算法从内部是什么感觉来看,感觉就是如此。你的心眼看到的是地图,而不是直接看到领土。
如果你有一个带着隐含变量的问题,它在不同语境下会取到不同表达式,那么你会感觉像是现实本身不稳定——你的心眼所见,会随着它看向哪里而来回移动。
这常常会把本科生(以及后现代主义教授)搞糊涂:他们发现一句话有不止一种解释,就以为自己发现了现实中某个不稳定的部分。
「天哪!『太阳绕着地球转』对 Hunga Huntergatherer 来说是真的,但对 Amara Astronomer 来说,『太阳绕着地球转』却是假的!根本没有固定的真理!」至于如何解构这种大二学生式的蠢话,就留作读者的练习。
然而,连我一开始也会写出这样的话:「如果 X 在某些场合是 5,在另一些场合是 4,那么句子『2 + 2 = X』也许没有固定的真值。」并不存在某一句具有可变真值的句子。「2 + 2 = X」根本没有真值。它还不是一个命题(proposition)——至少还不是,按数学家对「命题性」的定义——就像「2 + 2 =」不是命题一样,「Fred jumped over the」也不是一个合乎语法的句子。
但这种谬误往往会悄悄溜进来,即便你自以为懂得更清楚:因为,唉,这就是算法从内部的感觉。