甲骨文中的数学思想:对零的发明和重视

数学史家认为,数字零的发明和使用,是人类数学史一大关口。因为数字零与其他数字不同,其他的数字都有自然存在物与之对应,但是零却没有,数字零的发明需要的抽象程度和逻辑程度更高。因此,数学史家一直想弄清楚人类最开始是如何发明和使用数字零的,但是,这个问题一直没有解决,成熟数学史上的一大悬案。

这两天我在研究甲骨文,捎带着就把这一问题顺利解决了。这个答案就存在于零字,以及其他与中国古代用结绳约定日期相关甲骨文字形中。

甲骨文中的数学思想:对数字零的发明和使用

甲骨文至现在,零字的字形变化并不算很大,有两个字形,一个是霝,一个是零。甲骨文时期,零的字形就是霝,西周出现了零,并成为主流字形,霝被边缘化。从西周至今,零成为主流形态。其实,霝和零在字形意义上,是完全相同的。只是“零”跟强调零的命令的作用。但是,在霝中也同样有这个作用。

也就是说,零的甲骨文和金文字形包含着这么一条信息:零就是命令。这也意味着,在当时的中国社会,零非常重要,重要到象命令一样。那么数字零为什么会有命令的作用?这是问题的关键。

这源于,直至春秋之前,一直在盛行的利用结绳或书契进行日期约定的方法。

对于现代社会而言,约定日期是个很简单的事情,因为存在完善的日历和时间系统,而且这条日历和时间系统甚至是全球统一的。约定日子只需遵照日历即可。但是,在春秋之前的中国,那时尚无完备的日历系统,而且在日常生活中汉字尚未被使用,因此,两个人之间进行日期约定就非常困难,多人之间的日期约定更困难。甲骨文和金文都是祭祀工具,都是仅在祭祀领域使用。

那么在没有日历的情况下,古人是怎么实现日期约定的?答案是,使用结绳或书契,这两种原始形态的契约。每一次时间约定就是签订一次契约。

如果两个人之间约定30天之后去做某件事,那么他们就在一对绳子上都打30个绳结,或者在一对书契上都刻30个契齿。然后从明天开始,每一个人在每天都打开一个绳结,或者划掉一个契齿。那么结绳或契齿为零的那一天,就是双方开始行动的日子。这样以来,数字零对双方就是指令、命令,双方必须遵从数字零所发出的指令。当然这是此前双方约定的结果。

也就是说,在中国早期的契约式的日期约定机制中,最重要的日子就是所对应的数字为零的日子。对使用这种方式进行日期、时间管理的人们来说,最重要的数字就是零,而不是零之外的自然数。在这个机制的数学运算法则中,是要把零之前的自然数之间减掉,那些数字都是无用的。

甲骨文中的数学思想:对数字零的发明和使用

甲骨文字形对用结绳约定日期的机制进行了详细的记录。上表是涉及的相关字例,这个列表摘自甲骨文中的结绳符号列表。我的一个基本观点是,甲骨文是契约文字,对契约符号的继承和借用是甲骨文的造字基础,包括结绳符号、书契符号、大人符号,以及结绳书契共用符号,总数量110多个。这些符号不仅独立成字,而且也是字形结构,滋生更多的字例。

而且这些设计结绳约定日期的甲骨文之间,还存在密切的逻辑关系,将整个流程清晰地呈现出来。请看下图。

甲骨文中的数学思想:对数字零的发明和使用

整体上,用结绳约定日期的方法和机制可以用“其”来指称。甲骨文其字形的主体结构,是一对结绳,而且下端已经连接在一起,这用来表示这两个跟结绳之间一体化的密切关系。这一对结绳整体上呈U形。U的中间用交差线,或等于线,来描述这两根结绳上绳结的同步和对应关系。

甲骨文其加一个土字符,就是甲骨文基,这个的原始含义就是作为契约中介的大人。这个约定是在大人的调停和帮助下实现的。甲骨文“基”与“央”和“有”存在对应关系。甲骨文央和有的字形都是U形结构,这个U与“其”中的U,以及与“冉”中的倒U是同一个结构,都是指代一对结绳。“央”中的“大”就是作为契约中介的大人。甲骨文“有”中象“基”一样也有一个土字符号,也是指代作为契约中介的大人。“有”的原始义项就是指契约的签订有大人来帮助和支撑,来作为契约的保障和基石。这意味着有些契约可能没有契约中介,没有大人。

关于作为契约中介的大人,我在上篇文章,以及更早的文章都作为比较详细的解释,这里从略。

当约定日期的工作结束,契约双方就分别拿着打着绳结的绳子回家。然后从第二天开始。每天解开一个绳结。对这个过程进行描述的就是甲骨文“冉”。

甲骨文“冉”的主体结构是倒U,指的是一对悬挂起来的结绳。中间的大大的箭头,是说绳结要自下而上渐次解开。这样绳子上最后一个绳结的位置,就逐渐上升。“冉冉升起”就是这么来的。有时中间也会象“其”一样加上一个交差符号,表示两个绳子的关联和同步。

需要指出的,在“冉”中,两个结绳是连在一起的。但这只是逻辑上如此,在实际上,两根结绳是为契约双方分别持有,分别挂在自己家里,距离可能非常遥远。在这种情况下,确保两人每天都同步地解开一个绳结就非常重要,如果其中一个遗忘了,或者多解了,将会导致最后日期约定的失败。

为了强调在在约定期间,双方解绳结的同步性,就专门早了一个字形形。一对呈倒V形悬挂的绳子,两根绳的相同位置的绳结都被一根横向贯穿。徐中舒将这个字释读为“绝”,这是错误的,如果非要找一个字与这个符号与对应,应该是“同”,或“其”比较合适。

当双方绳子上的绳结同步性地只剩下一个时,就来到约定时间间隔内的最后一天。专门有一个甲骨文字形来表示这一点:倒V的每只分支上个有一个圆圈。圆圈指代绳结。

第二天,绳结将全部消失,绳结的个数为零,就是开始行动的日子。

零的甲骨文字形,是上面一个雨,下面是两个或三个口。两个口,之前契约双方。三个口意味着是多方约定。

关于多方约定,也有一个专门甲骨文,就是“冓”,字形为两个“冉”组成对称结构。冓的意思显然是指多方约定的契约结构。后来这个字加木成为结构的构。

甲骨文零字的上半部分是雨。但是,雨并非是一个象形文字,而是一个“借符-象得”文字:继承和借用契约符号,其某个属性与契约机制的某个属性相似。

甲骨文雨中也有倒U结构,与“冉”中的倒U是一样的,是结绳符号。甲骨文雨借用了“冉”的符号。之所以这么借用,因为雨和冉有相似的地方。对于冉而言,是绳结全部解开之后,对人有用的时间才会到来。对雨而言,唯有雨滴落完,即雨停的时候,人们才能出来做事。

而且雨滴从天空的坠落,很像绳结的解除。其中“零”的有些甲骨文字例,就是直接用本来指代绳结的圆圈,代替雨滴的。整个字形很像对甲骨文终的接续:终中所剩余的最后一个绳结也坠落了,此时绳结的数量就是零。