《中国无神论史》连载21——历法领域里的反对有神论的斗争

编者按:为宣传科学无神论,从9月10日起,我们将连载李申的专著《中国无神论史》。李申,1946年4月出生,河南孟津县人。1969年毕业于哈尔滨军事工程学院原子物理系;1986年毕业于中国社会科学院研究生院世界宗教研究系,获哲学博士学位;2000年任中国社会科学院世界宗教研究所研究员、博士生导师,儒教研究室主任。2002年转任上海师范大学哲学系教授。现任中国无神论学会顾问、国际儒学联合会顾问、中国反邪教协会副会长。

500

第五章 秦汉时代神人关系的新见与对旧神祇观念的否定

六,历法领域里的反对有神论的斗争

制定历法,本是一项科学事件。可是在古代,则被涂抹上了一层神学的油彩。汉代由于国家统一,社会安定,这层神学油彩也日益浓厚起来。

从汉朝初年鲁人公孙臣建议“改正朔,易服色”开始,著名的儒者贾谊、董仲舒都把“改正朔,易服色”作为尊崇儒术的基本措施。汉朝的臣子们认为,“改正朔”的意义,是表示自己接受了上天的任命:

武帝元封七年,汉兴百二岁矣。大中大夫公孙卿、壶遂,太史令司马迁等言:历纪坏废,宜改正朔。”是时御史大夫倪寛明经术。上乃诏寛曰与博士共议,今宜何以为正朔,服色何上?寛与博士赐等议,皆曰:“帝王必改正朔,易服色,所以明受命于天也。”(《汉书·律历志》)

因此,这是一件重大的科学加政治-宗教的活动。而所谓“改正朔”,就是纠正历法朔日和实际朔日的偏差。因为古代历法推算不准,一段时间以后,每月的朔日,也就是每月初一日,和实际天象就不相符合,所以必须修改历法,纠正偏差。这本是一项科学活动。然而在古人看来,历法是描述上天运行状况的工作,因而制定新的历法,改正朔日,就被认为是一项承顺上天意志,表示重新接受天命的活动。

500

在这种思想指导下,汉武帝组织了全国优秀的历法人才,经过数年的观察、测量,制定出了汉代的第一部历法:《太初历》。著名的历算学家邓平、落下闳等,还有司马迁,都参与了制历的工作。

数十年以后,西汉末年,刘歆造《三统历》,其数据多来自《太初历》。《太初历》的数据是经过辛勤观测和计算得来的,但刘歆却说,《三统历》的数据,都是根据《周易》中的天地之数推算出来的。

所谓《周易》中的天地之数,其实就是1到10的十个自然数。其中五个奇数被称为“天数”,五个偶数被称为“地数”。于是,这十个自然数就具有了神圣的意义。说历法数据是根据天地之数推算出来的,历法也就具有了更加神圣的意义。

比如每十九年有七个闰月,这本是经过多年观察、辛苦计算得出的数据。刘歆说,这是“合天地终数”得出来的。所谓“天地终”,就是天数终是9,地数终是10。9+10=19,这是十九年七个闰月的根据。

500

又比如所谓“月法之实”,即每月有29又43/81日,这也是经过艰苦测算得出的数据。29×81+43=2392。其意义是:假如把每天的时间分为81分,则每月有2392分。除以81,得29又43/81日,也就是每月有29天多一点。刘歆不愿简单地说明2392的来源,他说这是推《周易》中“大衍数”的结果。

所谓“大衍数”,是《周易》中用来画卦的数据:“大衍之数五十,其用四十有九”。刘歆说,2392的“月法”,就是从这个“大衍数”中推算出来的。其方法是:

是故元始有象,一也。春秋,二也。三统,三也。四时,四也。合而为十。成五体,以五乘十,大衍之数也。而道据其一,其余四十九,所当用也,故筮以为数。以象两两之,又以象三三之,又以象四四之。又归奇象闰十九及所据一加之,因以再扐两之,是为月法之实。

其演算步骤为:1+2+3+4=10,即“合而成十”;10×5=50,即“大衍之数”;50-1=49,即“道据其一”,“筮以为数”;49×2×3×4=1176,即“象二二之,象三三之,象四四之。”1176+19+1=1196,即“归奇象闰十九及所据一加之”;最后是“再扐两之”,即1196×2=2392,于是完成了“月法之实”的计算。

用《周易》的天地数或大衍数,刘歆甚至还推算出了五星的会合周期等等。这是很大、很复杂的计算。

仿照刘歆的方法,就有人更进一步地把历法上的科学数字,涂上各种各样的神学油彩。其中最常见的,就是把历法和谶纬相联系,甚至依谶纬为根据,来修改历法。

500

东汉永平年间,因为历法出现了不准确的情况,皇帝让太史署的张隆根据《四分历》的方法,把月食以及相关的上弦下弦和望日弄清楚。张隆说,他能根据《周易》占卦的方法,把月食以及相关的情况弄清楚。数据出来以后,儒者贾逵进行审查。结果是,都不准确。张隆的数据以及方法,就被否定了。

这是一个真正要用《周易》里的数据推算历法事件。当刘歆用历数去附会易数,即《周易》里的那些数字,不过只是给这些数据涂上了神学的油彩,历法数据本身,还是准确的。但是当张隆真相信刘歆,以为历法数据是根据所谓易数推算出来的时候,收获的就是失败。

第二件事,就是冯光、陈晃要根据谶书修改历元。

历元,又称历法上元,这是历法起算的日子。汉代认为每年冬至太阳到了最南边,然后又向北迁移,因此,冬至也是天气开始回暖的日子,是一年之中气候开始循环的日子。时间从夜半起算,就是现在的零时。这一天,按照干支计日系统,又应该是甲子日。按照日月运行,这一天又应是日月会合、夜里看不见月光的日子,也就是每月的初一日,古代叫做“朔日”。

朔,古人解释说,就是“苏”的意思。这一天,是月亮开始“苏醒”的日子,所以定为月初。《论语》上孔子批评子贡不要废除告朔的饩羊。所谓“告朔”,就是每逢朔日,诸侯们要到宗庙里用一只羊举行小型祭祀,并颁布这个月的各种法令。因此,朔日也是个重要的政治-宗教节日。

这样,历法的开头,应在既是冬至又是朔日、甲子日的夜半,就是古人说的“甲子朔旦夜半冬至”。甲子60个一循环;朔旦每月一次,约30一循环;冬至每年一次,约365一循环。推算它们恰好凑在一起的日子,是个非常繁难的计算。刘歆的《三统历》推得,从“甲子朔旦夜半冬至”的上元到商汤伐桀,有14,1480年;到武王伐纣,是14,2109年;到汉朝建立,是14,3025年。

历法中更大的数字,是推算五大行星的运行周期。当时的人们认为,日月和五星原本是聚集在一起的,后来由于各自运行的路线和速度不同,才逐渐分开。因此,日月和五星聚集在一起的日子,是更早的元始,刘歆称为“太极上元”。太极,就是最大的、最早的“极限”。刘歆推得,太极上元的年数为2363,9040。

500

二千多万年之前,日月五星是否会聚集在一起?推算这样的日子对于历法是否必要?这都是科学活动本身的问题。可以赞同,也可以不赞同。后来,谶书把历法推得的上元说成是天地开辟的日子。

刘歆制成的《三统历》,由于算出的每年的日数大于实际数字,用了一段时间以后,就不准确了。东汉章帝时期,又改用从战国传下来的“四分历”,即每年计算出来的日数为365又1/4日,稍小于《三统历》的数字。历法的误差得到一定程度的纠正。到东汉末年,误差又出现了。这本来是该制定新历法的日子。可是五官郎中冯光、沛相上计掾陈晃二人联合上言,说是历法的误差仅仅是历元的错误。如果采用谶书讲的,以甲寅为历元,就可以纠正误差。并且认为,当时“妖民叛宼”“盗贼相续”,都是因为用的历元不对。假如改用谶书说的甲寅元,就可以使社会安定,天下太平。

皇帝把冯光、陈晃的建议交由大臣和儒者们讨论。蔡邕发言说(用现代汉语转述如下):

历法的误差,是从古以来就有的事,所以要经常修改。使用的历元,也不一样。秦朝以前的六种历法,有黄帝历,有颛顼历,也有夏、商、周和鲁国用的历。这些历法都是圣人所定,历元都不统一。

500

秦朝继承的是颛顼历,历元乙卯。一百多年以后,孝武帝造《太初历》,历元是丁丑。将近二百年后,孝章帝改用“四分历”,历元庚申。这都是根据当时的情况,没有哪一种是绝对正确,哪一种绝对错误的问题。但冯光、陈晃主张,只有甲寅是正确的。其实他们主张采用的,不过是商朝的历元。他们之所以这样主张,只是因为这个历元见于谶书。

当年《太初历》造成,历元虽然不见于谶书,但当时和天象是比较符合的。过了一段,当时担任太史令的张寿王要求废除《太初历》的历元,改用甲寅元。经过比较,还是《太初历》比较准确,张寿王的意见被否定了。章帝时改用“四分历”,历元虽然也不见于谶书,但当时比《太初历》精密。延光年间,有个叫亶诵的,要求改用甲寅元,没有得到承认。

冯光、陈晃援引谶书,认为天地开辟到春秋获麟事件,是275,9886年。这个数字,和历法推算的数字并不符合。他们其他来源于谶书的数字,和历官们推算的数字,也不一样。

假如冯光、陈晃能够根据自己的方法,造出一部新的历法,一面和谶书符合,一面又和实际天象符合,比现行的历法精密,那就应该采用。但是在考察中,他们只说是根据谶书。这样的理由,是不能服人的。

500

过去尧舜一直到汤、武革命,都曾经造出新的历法。他们的历法、历元,当时都是正确的。但是他们那时也有水灾、旱灾,也有叛乱的发生,蛮夷的侵扰,盗贼的兴起。因此,这些现象,并不就是历法、历元的错误所导致的。但冯光、陈晃却认为,“阴阳不和,奸臣盗贼”都是历元的错误,实在是没有道理。而且他们说汉朝建立以来,用的都是继承秦朝的历元,却不知道汉朝建立以来,曾经三次改变历元。从学术上,他们也是无知的。

蔡邕的意见被朝臣采纳,大家要求治冯光、陈晃“不敬”之罪。皇帝赦免了他们。

蔡邕的意见,是一篇在历法科学领域、全面而深刻地批判神学观念的正确言论。对于我们今天发生在科学领域里的神学侵袭事件,仍然具有借鉴的意义。

全部专栏