Hero Image
布尔、弗雷格与皮亚诺:把推理写下来

直到十九世纪,数学记号都是用来写量以及量之间的运算的。还缺少一种书写,用来记录数学家时时刻刻都在做、却从不写下来的事:推理。“如果这样,那么那样”;“对所有的数”;“存在一个数,使得”。这些话仍然要用拉丁文、法文或德文,夹在一个公式和另一个公式之间说出来。这篇文章讲的是推理本身如何得到了符号。 思维的代数 十九世纪,数学开始向内审视:什么是数?什么是证明?要回答这些问题,就需要一种书写,不仅能写量,还能写命题以及命题之间的推导步骤。 1854 年,英国人乔治·布尔出版了《思维规律》,把推理当作代数来处理。如果 $x$ 代表“白色的东西”,那么 $x\cdot x$(白色的东西中白色的那些)就是 $x$ 本身。于是有了布尔代数中那条奇怪的定律: $$x^2=x,\qquad\text{也就是}\qquad x(1-x)=0,$$布尔把它读作“任何东西都不能同时具有又不具有某种性质”。一个世纪以后,这种只有 $0$ 和 $1$ 两个值的代数,成了计算机电路的基础。 1879 年,德国人戈特洛布·弗雷格走得更远。在《概念文字》(Begriffsschrift)一书中,他创造了一套完整的逻辑语言,能够一步一步地表达任何数学证明。这是了不起的成就,但这种书写是二维的:命题挂在横线和竖线上,像一棵横躺着的树的枝杈。一个简单的公式就要占半页纸。同时代的人觉得它无法阅读,几乎没有人读这本书。 一种天才而贫瘠的记号 弗雷格的思想流传了下来,他的书写却没有。在弗雷格工作的基础上前进的伯特兰·罗素和阿尔弗雷德·诺思·怀特海,选择用意大利人朱塞佩·皮亚诺的线性记号来写《数学原理》(1910–1913)。在《数学原理》中,通向 $1+1=2$ 的那个命题直到第一卷第 379 页才出现,还附了一句干巴巴的评语:“上面这个命题偶尔是有用的。” ∈、∃ 和 ∀ 我们今天使用的逻辑符号,有很大一部分要归功于皮亚诺。1889 年,为了表示一个元素属于一个集合,他用了希腊字母 epsilon,取自希腊语 estí(“是”)的首字母:$3\in\mathbb{N}$ 读作“$3$ 是一个自然数”。1897 年,为了表示存在一个具有某种性质的元素,他用了一个反转的 E:$\exists$。“对所有”的 $\forall$ 是最年轻的:1935 年,德国人格哈德·根岑仿照 $\exists$,把 A(德语 alle,“所有”)倒过来,创造了它。 在一个带量词的命题中,量词、论域和性质扮演不同的角色。为本书绘制的教学示意图。 有了这些符号,“每个实数的平方都大于或等于零”这句话就变成了 $$\forall x\in\mathbb{R},\quad x^2\ge 0.$$看起来只是缩写,但这种书写让日常语言所隐藏的东西变得可见:量词的顺序。比较: $$\forall x\ \exists y:\ y>x \qquad\text{和}\qquad \exists y\ \forall x:\ y>x.$$第一个说:对每个数,都存在一个比它大的数,这是对的。第二个说:存在一个比所有数都大的数,这是错的。在日常语言里,两者都可以塞进一句含糊的话:“总有一个更大的数”。在逻辑书写中,区别就在符号的位置上,一眼就能看出来。 本章说明了什么 从印度的零到根岑的量词,数学书写中每一次重要的变化都开辟了一条新路。位值制把计算变成纸上的工作;韦达的字母把算法变成了对象;纳皮尔的对数把乘法换成加法;莱布尼茨的 $d$ 让链式法则自己写出来;欧拉的 $f(x)$ 给了函数一个名字;伽罗瓦和凯莱的表把运动变成了符号,矩阵把一个方程组当作一个整体;吉布斯和亥维赛的向量把麦克斯韦方程化成四行;量词让命题的结构显现出来。