隐藏在殷商甲骨文中的“数学公式”,让世人惊叹!
【内容提要】
这是《殷商甲骨文中的数理》释字的第六篇,拟探讨自然数的完全数“六”的“运算”与“运算公式”问题。
殷商甲骨文“日”字的形体较多,众说纷纭。现在世人理解“日”字的象形又过于简单,无异于依葫芦画瓢。我们常说,太阳每天都是新的,这是从中译外国文学而引入的,其实我们每天可以见到的“旦”字,在殷商甲骨文中,本义就是新太阳。
《说文》释“日”:“
,实也。太阳之精不亏。从口、一,象形。”这是说一“日”之实,涉及一“日”与二“日”的数理。释“旦”:“旦,明也。从日見一上。一,地也。”这是说一“日”从地平线“一”上升出的是“新日”,“旦”的数理是二“日”之交。释“旭”:“日旦出皃;从日,九声。”此处就点明了“旦”字的字理为为生出“兒”,就是“新日”;“旭”是九日,字理就是生出了第十个日。【1】
许慎的治学始于《淮南鸿烈闲诂》,其《本经训》记述了“十日”与后羿射日的神话。【2】这与《说文》释“日”等字是有关联的。
胡厚宣《殷商史》认为,商人乃用十干支的次序而以日为先公之名号,这意味着有十个太阳,也是采用《山海经》等远古神话中的十日为其佐证。【3】
令人惊奇的是,许慎关于太阳的数理,均见于殷商甲骨文“日”字,他是没有见过甲骨文的。“日”字(
,《新》3809)是用画圆圈线形象太阳的轮廓。“
”(《合集》26569,何组)圆圈线形中的有一点,可能是表示眼见的太阳之“实”,这与二个太阳相关,即一显一藏,也与“
”(《合集》6648正,賓组)中之“一”相通。“
”(《后》2.3.18(甲))的初文是指十个太阳,其中“丨”是指数十,“
”(《合集》36025,黄组)也是指十个太阳,二形同类。
十日“
”之形,与约夏朝时的神话传说“十日”相关。《山海经》所记“羲和生十日”、“常羲生月十有二”,袁珂详细考证、梳理其渊源,指出“至于日至数十而月之数十二者,洪古灾变之际,人民想象中之夸张也。今留一日一月,有神性英雄射落之也。苗族、彝族均有时日射月之神话,即其证。今神话中唯有羿射九日神话而无射月神话者,盖已散亡也。”【4】《山海经》与袁珂的注释对于远古神话的“十日、十二月”与“一日、一月”的关系,在殷商甲骨文中留下深刻的痕迹。
殷商甲骨文“旦”字比较齐整,就只三种形体,清楚显示出二个太阳。“
”(《合集》20897,无名组)的上下二日都是圆圈形。“
”(《合集》27446,何组)是上实下“藏”。“
”(《合集》34601,历组)是圆圈中都有“点(或一)”,上实下实也可理解,下“日”为母,上“日”为新生儿,即“新日”。未见第四种上“日”有“点”而下“日”无“点”的,因为没有这个“意”,就没有这种象形。原始造字之象形,是有“意”之象形。所以,“旦”之上下二日,是母日生出子日之形。若用段玉裁的术语“合体象形”,也难以说明“旦”字的本形,这也许是许慎完全想象不到“旦”有二日之形的一个重要原因。
”(《合集》1772正,宾组)、“
”(《合集》1111反,宾组),今学人的解释,多拘泥于《说文》“乾肉”说,而戴家祥《金文大字典》认为卜辞“昔”字,“象太阳上下都有波浪”,如《广雅·释诂》“昔,夜也”,“许说大误。杨树达等读昔为昨,郅确。”【5】此说甚是。笔者略作补充,“昔”是指“旦”字二日的下面那个日,即“昔日”。“昔日”之形则在水之上下,涉及母日与子日之牵连。
)字,初形是白日,即白天的太阳,与昔日相对。见下图:
母日(昔)“
”—→生日(旦)“
” —→子日(白(
)
“日”字这一组相关形体,涉及一日、二日、三日、十日,这就是数理运算。而许慎误为晾晒干肉之水汽的“昔”,可能是源于远古人类与日相关的生活习俗。
可见,“日”字远不是看着太阳画圆圈这么简单,是直接与观测天象、探究历法、数理运算相关。陈美东《中国科学技术史》在详细总结古代天文研究的百年成果后说:“综上所述,殷代历法是阴阳合历。一年约长365日,以观测大火星昏时南中天(观测太阳南至或北至亦为一法)的时日,即相当于夏历五月为岁首,一月平均长29.54日,以新月的出现为岁首,大约30日,小月29日,间或有连大月或大月31日的设置,以达到月首时新月设置的目标。平均12个月,间或加进闰月以调节年与月之间的关系。闰月的设置尚无规律可言,是由随机观测确定的,其规则是力使一年的正月与岁首所在之月相匹配。所以,殷人的历法是有了一定的规则的,又带有浓厚观象授时色彩的历法,属于观象授时向推步历法过渡的初始形态。”【7】
殷人历法涉及的天象观测、阳历、阴历之交合的计算非常复杂,又是与祭祀占卜合为一体,其中非常重要的是“已经有了基本的规则”。笔者认为,我们在殷墟甲骨文第一期中看到神奇的《六十干支表》,应该就是殷人历法规则的一种“数理表”,形成这种列表的具体时间不清楚,但其数理的运算应该远早于殷墟。该表是六十干支为六竖行、十横栏,次序井然,右上角“甲子1,1”与左上角“甲寅1,3”的交合就是完全数“六”;另有完全数二十八。西方抽象数学的界定,自然数百位的完全数有两个:六与二十八。这就在中国代殷商甲骨文中的数理中,是特殊的数集六十轮回出这两个完全数。
笔者以前释相关甲骨文以为,《六十干支表》是“目前见到最早的完整无缺的《数理表》”,“在人类古代文明史中都是极为罕见的”,这并非虚言。借助神话的想象,这就是十个太阳与十二个月亮合为一体的旋转,又经过“士”的运算而凝固成为《六十干支表》;不知反复运算多少年,才把运算的成果创造出了一个“士”字,从二、从十之会意,“士”的数理是“推二合十二”蕴含“推二合十”。
殷商甲骨文“士”字的构形本来就蕴含着“计算公式”,是商代的数学公式,也应该是人类最早的数学“公式”。极为重要的是,运算主体“士”与运算公式“士”合二为一。下面将要看“完全数六”的另二个“运算公式”。
殷商甲骨文“白”字形体简单,如“
”(《合集》3396,宾组)。今学人有解释为“油灯芯”、“大拇指”、“双鼻孔”、“月霸”等。而马叙伦《说文解字六书疏证》引戴侗说,钟鼎文凡百皆直作白,认为百是从一从百,是借白作数名。【8】这是准确的。
笔者补证,借作数名“白”者,有(
,《合集》993)、“
”(林泰辅《龟甲兽骨文字》1.8.13),就是百之数字的初文,在“
”上加“一”就成为“百”(
)。其字的演变见下图:
初文
日—→白日“
” —→数白、百
、
—→数百
、
《说文》释“白”:“西方色也。阴用事,物色白。从入合二。二,阴数。凡白之属皆从白。
,古文。”【9】这是用五行说,来解释战国时期四象之西方“物色白”与数理“入合二”,其数理“合二”也有一定道理;合“昔”为合二,合“旦”则为合三,而“从入”的释形则误。《说文》钞本有讹误为“白同自(
)的,今人不察而出现“鼻孔说”,即二鼻孔冒白气。其实“合二”是指中与四方之“五”的“合”,数理就是“二、五”之合,这就是上篇《殷商甲骨文中的数理》之五所讲的数理运算。
甲骨文“日”字本形,是白天之“日”,“白”上部有尖形以示与“日”之区别。“月霸说”是指月出而明,有一定的合理性,其实“白”不是指“月明”,而是象“日明”之形。“日明”易于计数,计数则极数,“白”就是“百”的本字。远古有“十日”神话传说,“十日”为极数;“百”也是一种极数,以“十”为基数,这都涉及数理。白色是日明之“白”的假借。
“白”的“拇指说”也有合理性。古代文明的计数,起源都与人类的双手十指相关。中国神话“十日”的数理,也离不开手指计数。数理的起源是多源头、多线索的。
必须说明,远古时的拇指,应是右手的“中指”。《说文》释“指”:“手指也。”释“拇”:“將指也,从手母声。”段注考证非常精细,认为“手以中指为将指为拇,足以大指为将指为拇。此手足不同称也。”中指为拇指,大指为巨指。【10】
再看中指(拇指)计数,中指是将指(拇指)一,又是五指之一,合大一与五为六;同时中指又是第三指。中指(拇指)合无名指、小指为三;中指(拇指)合食指、巨指为三。我们现在手指示数,翘大拇指与小指为六,应该是是古法的遗孓,但改变了拇指,不过数理相通,就是五指计数的数理有六,因为有拇指之大一。《周礼》记载的国子学(小学)之六艺:“礼、乐、射、御、书、数”,全部与用中指(拇指)相关,笔者另文探讨。总之,五指计数有两种:运算五与运算六,古今皆然。
远古“射”之钩弦用中指(拇指),牵牛犁之钩缰绳用中指(拇指);书契执笔用中指(拇指)为单钩(用三指)。当然,用膳也用中指(拇指)执箸(筷子)。
神话后羿射日有数理十、九、一、三,数理运算见下图:
后羿射日之数理运算
具体说:(1)钩弦三。(2)十日数集十。(3)射九日而止,余一日。数理运算是:
(1)每射一日要用钩弦三,不用钩弦三则无射日,至射九日止而余一日,就是“十减一”、“减一”而至“减九”而止,必用数理三;
(2)此用钩弦三则不在十日数集十之内,属于另一序列之三,可以称作隐数三;
(3)另一序列的用隐数三,牵连隐数六,因为隐数三与“隐数六”之九,限定了“射一日”而“射一日”必至“射九日”而止,否则继续“射十日”则无日。
这种数理运算的隐数三牵连隐数六,就是原始意义的“函数”之函数值三与六。这不同于我们熟知的抽象数学的加减法计算。怎么知道原始神话就是这种数理运算呢?何以证明?我们确实不清楚,这是一种逆推法,因为在殷商甲骨文中有这种数理运算的结果,如我们前面已经看见的一日“
”、二日“
”、 三日(白(
)、十日“
”,其三日(白(
)是隐数三,牵连隐数六也未见。但是,我们在数字“白”、“百”中见到这种运算结果的公式。
十日至高无上,数集十为极数。所以,一、三、六之和为十。“六”为十位之自然数的完全数(完美数),即1+2+3=6。抽象数学的百位的完全数只有两个,六与二十八。而《六十干支表》中就有完全数“六”与“二十八”的数理,其六十的百位是指“百”。从极数的数集“十”到极数的数集“百”、数集“千”、数集“万”,近似于现代数理逻辑的连续统(continuum)。
许慎《说文解字序》开篇就讲中华文明的起源:“伏羲八卦—结绳为治——仓颉初作书”,只用了二个极数“百工以乂,万品以察”,即“百”与“万”。初作书之“文”为“依类象形”,象形为六书正名之首,象形字的例字为“日”、“月”,象形之“文”与象形字之例字“日”、“月”相合,就是“文明”。许慎巧妙的告诉我们,文字学就是“文明论”,这就是中国的文字哲学。而“文明论”涉及极数“百”,而且是“百工(以治)”与“万品(以察)”,有意区别于《易大传·系辞下》所谓“百官”与“万民”【11】这是偏向于科学的数理,应该是受到墨子名辩数理逻辑的重要影响。
顺便说一下,“明”的字理是指今日与明日之关系,或者说初日与次日的关系,所以古诗云:“明日复明日,明日何其多”;“明”字的数理是昔日、旦、白日,即三合二、一;“明”中“月”的下面是太阳,即昔日。
在殷商甲骨文之前,史(同“士”)总结了原始人类的文明进步的积极成果,创造出了《六十干支表》,也创造了“白”字、“百”字。
殷商甲骨文“百”字,除假借“白”字外,其构形中间的数字值得特别关注:“
(《合集》21247,𠂤组)是一,“
”(《合集》22185午组)是“一、二”,“
”(《合集》302,賓组)是“三合”之三,“
”是“六”。为什么“
”是六?六百合文“
”【12】的上部之“六”(
)与“
”字中间的“六”(
)同形。
笔者查寻诸多甲骨文“百”的字形,以“三合”形“
”为主,数“六”(
)为其次。这些字例全部作为百数,“百”字中间的数目差异与百数无关。笔者也查寻“百”组成的数字合文,也是如此。这就说,“
”、“
”、“
”、“
”之系列残存着其字初文之形。四字之造字孰先孰后?抑或大致同时?这确实无以揣度,不过完全数“六”的算法就在这“百”字四种构形中,简直就是一个完全数“六”的计算公式。这是偶然的巧合?巧合更能说明“完全数(完美数)”的神奇:(见下图)
完全数六之运算公式
之一 日
之一
之一至二 旦
之一至二
之合三 白
之合三
之六 假借百
之合三
这种从“日”至“白”、至“百”的多形进化,非常清楚的看到,前面说的后羿射日数理运算中的隐三与隐六,在殷商甲骨文中则成为明数,不过原隐数三嵌入假借百的“白”(
)之中,隐数三与隐数六嵌入“百”之中。
这肯定不是一个人作为,是原始人漫长的集体智慧的结晶,或者借用文化人类学的语言说,这一组“日”、“白”“百”系列,是原始人的思维的集体表象,当然也有史(同“士“)的数理运算。这“
”、“
”、“
”、“
”之系列算不算“数学公式”?
这一个百“
”、“
”就是数学公式,更合乎现代数学更严格的界定,即除自身以外的约数(真因子)一、二、三之合,“
”、“
”中的“合三”就是牵连“
”之二与“
”之一。同时“
”、“
”还牵连“
”之六,因为函数值必须“六”与“三”相关 。
这涉及到如何判定数学公式的问题。譬如说,古希腊欧几里得《几何原理》(公元前300年)给完全数的“定义”是:一个完全数“等于它的各部分之和的数,即等于所有因子(包括一)之和”。这是现代学者从古希腊文纸草抄本翻译过来的定义。当然也有计算证明的过程,也是翻译出来的,详情我们不清楚。【13】中国殷商甲骨文中没有完全数的定义,但直观可见完全数的计算,就在四个“百”字的构形中。二者有一个显著的区别,《几何原本》定义对象是普遍性意义的“一个完全数”,定义也是普遍性意义的“它的各部分之和的数”,这是基于语音的线性的抽象思维。殷商甲骨文是基于书契之字形的个别性,所以不是界定为“一个完全数”,而是直接就给定一个数“六”及其运算,其数理就是完全数“六”。
依照既有的数学史所通行的逻辑标准,怎么判别殷商甲骨文“百”字这四字序列?还有一字“
”、“
”?还有殷商甲骨文其他相关的数理?这涉及数学公式的判定标准的问题。
成中英《中国语言与中国传统哲学思维方式》比较语音与象形文字对于思维方式偏向的影响,认为中国语言基于象形文字的特性,是“整体思维及其关系思维”。【14】这就是我们学人近些年反复论述阐释中国传统思维方式的基本倾向。应该说,这种看法是比较准确的。可是,我们在殷商甲骨文看到数理,与我们印象中这种模糊、隐秘、直觉、实用的“整体思维及其关系思维”大不一样,是纯粹的数、纯粹的数集,是纯粹的数理运算的结果。
“百”四字系列的数理是完全数“六”,确实是“一个等于部分之和的数”,但直观的是一、二、三之合六,其中有三合,与印度—阿拉伯计数法的计算有别,但距今三千多年还能一目了然。
尤其是《几何原本》所谓“等于它的各部分之和的数”的这个完全数的界定,看不到近代的集合论函数的意义。而墨子的名辩数理逻辑的三阶运算的最终结果所以取“
”,就不是“等于它的各部分之和的数”,而是在数集“十二”、数集“十”之外。“
”的函数值为三,与函数值六牵连,近似于集合论的函数式y= f(x)”。【14】这就是个别性,也牵连普遍性,都是共相。墨子的逻辑思维非常严密,把完全数“六”的真因子一、二、三转换个别性的所以取“
”三,最惊奇的是,所以取“
”还合理规避了数学史上著名的罗素“悖论”。这将另文作专门的探讨。
现在非常清楚的是,牵连二、一之“三合”(
),就在最多见的“百”(
)字中。没有理性思维,三合之“
”怎么会放进“
”、“
”字形中?
应该提一下,殷商甲骨文的“百”字比欧几里得《几何原本》要早近一千年。我们认为“百”字四字系列是一种数理、算术的“运算公式”,应该是没有疑问的。否则,怎么理解“士”字的字理与数理?怎么理解《六十干支表》中的数理?怎么理解殷人的阴阳合历以及观测天象的准确记录(如记录了四次日食)?怎么理解墨子的集合论函数的公理化?
基于语音的抽象思维只能是抽象的普遍性,如前述成中英所言,基于象形字的抽象思维只能是共相的个别性牵连普遍性,而汉字字形成千上万,繁衍不息,当然要盯住数理一、二、三。那么,这极简的数理一、二、三,怎么与万千世界关联?最佳选择就是集合论函数值“六”与“三”。简单的说,成中英《中国语言与中国传统哲学思维方式》所谓的“整体思维及其关系思维”,已经提炼成为“集合论函数”。这种模糊的“整体思维及其关系思维”与这种周密的数理与数理逻辑,构成了中华文明的思维方式的独特个性。
第五篇《殷商甲骨文中的数理》释字,引述〔英〕威廉·涅尔等《逻辑学的发展》、郑毓信《数学哲学新论》的逻辑哲学、数学哲学的视野中,不约而同的都溯源到古希腊的数1、2、3。现在看来,殷商甲骨文中的数理已经凝固在“士”字中。近代数理逻辑的溯源,应该溯源到殷商甲骨文中的运算公式。这不仅是一、二、三的三个数字,而是一群字。
最有趣的是,原始神话后羿射日,射日必用钩弦三,不射则不用钩弦三,所以墨子逻辑学的逻辑值有两种,即动与静,这个百字“
”中间的一、二,就是表示一至二之动,“
”、“
”中间的三合也是动的逻辑值。现在明白了,为什么我们经常说“天行健,君子以自强不息”。
(4)袁珂《山海经校注》,上海:上海古籍出版社,1980年版,第383页。
(2020年11月5日于武昌)
1.《殷商甲骨文中的数理(一)》释“士”;
2.《殷商甲骨文中的数理(二)》释“六”、“内”、“入”、“
”、“合”、“室”;
3.《殷商甲骨文中的数理(三)》释《六十干支表》;
4.《殷商甲骨文中的数理(四)》释“牛”、“分”、“八”、“物”、“勿”、“回”、“牵”;
5.《殷商甲骨文中的数理(五)》释“一”、“十”、“五”、“爻”、“癸”、“甲”;
6.《殷商甲骨文中的数理(六)》释“日”、“旦”、“昔”、“白”、“六百”、“百”。
来源:书法报