难以想象,古代中国人进行数学计算不用“整数零”

 0这个后起的整数是否属于自然数?这在现代数学学界仍有争议。从西汉中晚期至东汉早期的简牍中可以看到,至少在那个时代,中国人的算术中还不存在“整数零”这个数学概念。

众所周知,相较于其他整数,“零”出现得相当晚。现代数学的整数符号“0”是印度人在公元5世纪发明的,传入中国就更晚了。中国先秦秦汉的古籍中,找不到任何表示这个整数的字眼,“ 毖垢儿没有,“零”也只有“零落”一类的意思,尚未表示数字。

学者研究指出,古代中国人是有类似“零”的概念的。比如中国哲学很早就有了“无”的观念,和“有”相对。再比如古人利用算筹进行计算时,会以空位表示该位“没有值”。但是,这些大多都是“空集”、“空位”之类的观念,而非严格意义的“整数零”的概念。那么,早期中国是否确实不存在作为整数概念和符号的“零”呢?如果不存在整数“零”,古代中国人又是怎样处理相关的数学计算的呢?

学术研究“言有易,说无难”——为不存在的事物找到证明它不存在的证据是很困难的。幸运的是,证明中国古代没有“零”的材料,居然在出土的汉代简牍中找到了。

1970年代,甘肃居延肩水金关遗址出土了万余枚简牍,2016年由上海中西书局出版。其中编号为73EJT23:54的一枚木简,简首题有“第三”,下面分十二栏记录了如下一些数字:“负十五、负十三、负十一、负九、负七、负五、负三、负一、得二、得四、得六、得八。”与之类似的西北地区出土汉代简牍还有几枚,可惜均残损,比如敦煌汉简第1063号:“……第三负十三、第三负十一、第三负九、第三负七、第三负五、第三负三、第三负一、第三得二、第三得四……”

难以想象,古代中国人进行数学计算不用“整数零”

“负五、负三、负一”之后是“得二、得四、得六……”,肩水金关汉简中的“等差数列”,证明了当时的中国人不用“零”。

这些木简应该是用于考核相关人员的工作绩效的。汉简中这类考评功绩的材料很多,比如居延汉简第206.4号:“万岁候长充:受官钱定课四千,负四算;毋自言堂煌者第一得七算。相除定得三算,第一。”简文是说有个叫充的人参加考核,参评的两件事体,一件被折算为“负四算”,另一件被折算为“得七算”,两件事体相加总成绩为“得三算”,评定等第为“第一”。这类考评中的“算”,类似现代的“工分”;而考核等第,应该是“第一”至“第九”共九等。董仲舒在《春秋繁露·考功名》中描述了一种考评天下官员的理想体系,“以一为最,五为中,九为殿”,大概就是源自汉简反映的这类在社会中实际运用的考绩方式。前面所举肩水金关73EJT23:54这枚木简,就来自一份折算考评等第的表格。简首的“第三”指考核等第为第三等,后面十二栏的数字,表示每月考评中第三等对应的“算”数。例如,假若是一月考评,负十五算就是第三等,依次类推。从汉简材料看,“算”这种“工分”,扣除起来是非常残酷的。居延新简EPT50.2记录了一个叫“范尚”的戍卒,一次考评涉及八件事,全是负分,共扣了三十多算,可考评等第仍为“第四”,属中上水平。可见这类考核,有过失扣分的多,有功绩加分的少。所以第三等的考绩以负数开始,就不难理解了。

特别引人注意的是,作为计算考评等第的得负算数值,本应该是等差数列,但无论是肩水金关汉简还是敦煌汉简,在从负算过渡到得算时,均出现了异常。“负五、负三、负一”之后,难道不应该是“得一、得三、得五……”吗?怎么会是“得二、得四、得六……”?其实,这种看起来非常奇怪的数列,仍然是以等差的关系排列的。这种“等差数列”,证明了当时的中国人不用“零”。这里所说的不用“零”,不是说当时的人知道有“零”这么回事儿但还没有发明专门的符号去表示,而是彻彻底底就不存在“整数零”这个数学概念。上举简牍的年代均属于西汉中晚期至东汉早期——也就是说,直到那个时代,中国人在考核工作量这种常规的民用算术中还没有“整数零”的概念。

“负二、负一、得一、得二、得三”,用现代数学常识来看,这种数数方法显得十分别扭。但对于西汉中晚期的西北边陲的戍卒而言,这样计数再平常不过了。他们眼中整数的序列,就像现代人乘坐电梯一样——从一楼往下一层,不是零楼,而是负一楼。当时人的整数概念,与现代人大不相同。抽象地说,在他们看来,整数不是现代定义中数轴上的点,而是数轴上的线段:正整数线段缺少左端点,负整数线段缺少右端点。通俗地讲,他们的整数计算就是“囫囵数字,论个儿数”(其实严格地讲,当时也还没有现代数学意义上的“正负”概念)。这种原始朴素的数学观念,极大地影响了中国人的思维方式和风俗传统,直至今日仍有痕迹可循。比如中国人举办传统典礼,无论红白喜事,不管是从第一天的何时开始,只要经过午夜进入第二天的凌晨,就算满两天了,不必满48小时。从数轴的角度理解中国式的计时方法,所谓“两天”,只需要起点终点分别为第一天、第二天这两条线段的任意点,而不必积累满两个整天的长度。中国传统的服丧制度正是如此,按规定嫡子为父服丧须满三年,这里的三年是指二十五个月,而非三十六个月——因为无论怎么算,二十五个月都能经过三个“年线段”。既然正整数的概念均为缺少左端点的线段,且没有零的概念,自然计数的起始点就是一而非零了——计算岁数的方式正是如此,出生就算一岁,中国人的传统是没有零岁的,所以除夕出生的婴儿,大年初一就已经两岁了。这种计“虚岁”的古老方法,很多现代中国人很难理解,其实正是早期中国整数观念的孑遗。

这种原始朴素的计数方法,在“0”被发明之前的各大文明中应该普遍存在。又因为这种计数方式本质上是“以段代点”,所以在可以“成段数数”的时间计算的领域常有存古现象。由于罗马数字中同样没有零,因此使用这种数字的东罗马帝国僧侣在创制“公元纪年”时,规定“公元1年”的前一年是“公元前1年”,没有设置“公元0年”。

尽管整数的概念是数轴上的线段而非点,古代中国人仍在很早的时候就发明了分数。出土的先秦秦汉数学文献中频频见到发达的分数计算。古代中国发达的分数计算与相对落后的整数观念并存了至少几百年,迟迟不产生“零”,尽管很难想象,却偏偏就是事实。

0这个后起的整数是否属于自然数?这在现代数学学界仍有争议。我国的小学数学课本曾经一直将0从自然数中排除的。但近些年的修订版教材,不得不遵循《中华人民共和国国家标准》,改将0定义为自然数——据说是因为国际上认为0属自然数的学派占了上风。数学学界对0是否属于自然数的争论,当然都是从数学理论的角度出发的。不过,如果改从历史的角度看问题,根据汉代出土简牍所见的情况,“零”的确既不能说是“自然产生的数”,也不能说是“数起来很自然的数”,确实一点也不“自然”。(小文撰写得到罗见今先生、凌文超先生和王强先生的指导和帮助,谨致谢忱)

(作者为复旦大学出土文献与古文字研究中心副研究员)

读书推荐

读书导航