回来考虑这个问题。
其实不仅仅是数学,今天越来越多的形式科学<sup>○一</sup>的理论方法都大同小异:首先摆出最小化的几条公理、公设和定义,然后先证明最简单的第一个命题,再以此为基础,来证明第二个命题,如此重复,这种从简单到复杂地证明一系列命题来建立整套理论的研究问题的方式称为“公理化方法”。公理化的思想早在欧几里得撰写《几何原本》时就已经存在,但是因为没有现代逻辑符号的支撑,《几何原本》的很多概念不得不使用感性认知来定义,或者索性就不定义了,譬如以下是欧几里得几何(简称欧氏几何)的五条公理:
- 任意两个点可以通过一条直线连接。
- 任意线段能无限延长成一条直线。
- 给定任意线段,可以以其一个端点作为圆心,该线段作为半径作一个圆。
- 所有直角彼此相等。
- 若两条直线都与第三条直线相交,并且在同一边的内角之和小于两个直角和,则这两条直线在这一边必定相交。
我相信现在的小学生都能看懂这些公理所要表达的含义,但欧几里得用什么办法保证看到这几句话时你的理解与我的理解之间没有偏差呢?并没有。什么是“点、线、面”?欧几里得虽然对这些都做了定义,可是定义本身就含混不清,譬如给“点”下的定义是“点是没有部分的”,什么叫作“没有部分”?什么又是“直线是它上面的点一样地平放着的线”?
这时候符号表示相对于自然语言的严谨性就显得非常有必要了。我如果想说“存在一个集合是空的”,我就必须先解释什么是“存在”,什么是“空”等,解释这些概念时又会不可避免地涉及其他新的未定义的概念。但如果用符号来表达这句话,就成了“ x y(y x)”<sup>○二</sup>,在“ ”“ ”“ ”等符号已被统一地精确定义<sup>○一</sup>过的前提下,这个式子的意思就再无含糊之处了。这种可以从形式文法产生,所有含义都被符号和组成规则确切地表达出来,无任何隐含语义和歧义的语言,被称为“形式语言”(Formal Language),将自然语言描述的内容转变为形式语言描述的过程称为“形式化”。形式语言在科学中是非常常见的,无论是本章所讲的谓词逻辑,还是大家经常接触的计算机中的程序设计语言,都属于形式语言。
第 3 章 符号主义学派
73
○一 “形式科学”是指主要研究对象为抽象形态的科学,如本节所说的数学和逻辑学,也如前文提到的计算理论、信息论等。
○二 如果必须用自然语言翻译,这个式子可以理解为:“存在x,对于任意的y 来说都满足集合 y 不属于集合 x。”