Hero Image
Calculemus:用计算来推理

纠正我们推理的唯一方法,是让它们像数学家的推理一样具体可感,使我们一眼就能发现错误;而当人们发生争论时,我们只需说一声:让我们来计算吧!不必多费口舌,就能看出谁是对的。 — 莱布尼茨,《发现的艺术》(1685) 莱布尼茨是律师、外交官和哲学家。他一生目睹了无数永无休止的争论:宗教之间、国家之间、哲学流派之间。而数学家不会争论 $2+2$ 是否等于 4,只会去算。如果推理也能像数字一样被计算呢? 思想的字母表 这个计划分为两部分。 第一部分是一种通用语言,莱布尼茨称之为 characteristica universalis(普遍文字)。在这种语言里,每个简单观念都有一个符号,复杂观念则是这些符号的组合,就像单词由字母组合而成。莱布尼茨 20 岁时在 1666 年的《论组合术》中就开始构思它。 第二部分是一种推理演算,即 calculus ratiocinator:一套操作符号的规则,让人像做加法一样机械地得出正确结论。在那样的世界里,争论可以用纸和笔来解决。 把概念当作质数 莱布尼茨真的尝试过一个用数字的版本。想法是:给每个简单概念分配一个质数,给每个复合概念分配其组成部分的质数之积。 例如,按照经典定义,“人是理性的动物”。如果动物 $=2$,理性 $=3$,那么人 $=2\times3=6$。 于是,“所有人都是动物”这句话就变成一个算术问题:**2 能整除 6 吗?**能,所以这句话为真。那“所有动物都是人”呢?**6 能整除 2 吗?**不能,所以为假。关于概念的推理变成了一道除法题。 这个系统有严重的问题,它处理不好否定和“有些”这类句子。莱布尼茨知道这一点,并不断尝试其他形式。但核心思想——逻辑可以是代数——已经提出来了。 用今天的记号举例 今天我们用逻辑符号书写推理。考虑关于一个图形的三个命题: $P$:这个图形是正方形; $Q$:这个图形是矩形; $R$:这个图形的两条对角线等长。 如果 $P\Rightarrow Q$(所有正方形都是矩形)且 $Q\Rightarrow R$(所有矩形的对角线都相等),那么 $P\Rightarrow R$。结论来自论证的形式,根本不需要去想正方形。这正是莱布尼茨想要的:只看符号就能检验推理。 但符号不会创造奇迹。如果前提是错的,计算再正确,结论也可能是错的。而颠倒蕴含关系是常见的错误:由“所有正方形都是矩形”推不出所有矩形都是正方形。 组合不等于解释 三个命题,每个或真或假,共有 $2^3=8$ 种组合:000、001、010、011、100、101、110、111。注意,这正是 0 到 7 的二进制写法。逻辑与 0、1 构成的数之间的联系,莱布尼茨已有所察觉,两个世纪后它将成为核心。 部分实现的梦想 莱布尼茨关于逻辑的著作几乎全部未发表,直到 19 世纪。尽管如此,这个想法又回来了: 1854 年,乔治·布尔出版《思维规律》,把逻辑变成了一种只有 0 和 1 的代数。 1879 年,戈特洛布·弗雷格创造了一套完整的逻辑符号语言,与莱布尼茨的设想非常接近。 1936 年,艾伦·图灵描述了一种抽象机器,能执行任何用规则描述的计算。 然而在 1931 年,库尔特·哥德尔证明了:没有任何规则系统能判定数学中的所有真理。莱布尼茨完整的梦想是不可能实现的。但其中可能的那一部分就存在于每台电脑里:一个按规则操作符号的机械装置。