什么是天干地支?

什么是天干地支?

可能是夏代形成的一套序数符号,天干得名于太阳一天之内的十个状态,地支得名于月相的十二个阶段,都是当时先民对日出日落、月相盈亏的直接描述。以下是笔者整理的对照表:

在甲骨文(约 1250 BC)中,干支已经是本义完全失落的纯粹的序数符号。从语义漂白的程度和干支系统本身的成熟度来看,干支的诞生应当远早于甲骨文,可能要追溯到夏代。它们以纯粹的语音形式流传了较长时间,本义在此期间失落,在汉字创制后才通过假借的方式被记录下来。因此,干支用字只能反映假借用字的字形和字义,其本义需要仔细推敲。

这样定年的话,干支的形成时间介于原始汉藏语(PST)与上古汉语(OC)之间。本文姑且以 Matisoff 主持的汉藏语词源数据库 STEDT(Sino-Tibetan Etymological Dictionary and Thesaurus)所构拟的原始汉藏语为上限,Baxter-Sagart(2014,下文简称 BS)所构拟的上古汉语为下限,试图考证其本义。

甲的初文为十字形。冯时(2006)认为它表示立表测影所得的“二绳”:以表为圆心画圆,连接日出、日落时表影与圆的交点得到东西向,再取其中垂线得到南北向,两条绳子构成十字。

“奄” *ʔ(r)omʔ 在秦汉文字中多写作下部从“申”,《说文》据此分析为“从大、从申”。陈剑(2021)指出,马王堆帛书《阴阳五行》甲篇中的“掩”字都明显从“甲”,这种写法比从“申”更原始,“申”是“甲”旁的讹变。传抄古文和《玉篇》又以“鵪”为“鴨”的古文,也说明“奄”从“甲”得声。据此,他将“奄”分析为“从盇(盍)省、甲声”,上部的“大”象盖子之形,“奄”就是“掩盖”之“掩”的初文。两字声母相近,韵部为叶部与谈部对转。“甲”本身可上溯至 PST *(g/k)wap “覆盖”。殷人称日落后的昏暗为“晻”,晻也从奄得声。太阳在地平线以下被遮蔽,日落之后与日出之前是同一种状态,因此排在天干第一位的“甲”,描述的可能是日出之前太阳仍被地平线遮蔽的状态。

《史记·律书》将“甲”释为“万物剖符甲而出”,认为甲指种子的外壳。这一说法在《周易》以前没有用例支持,基本可以确定是后世附会。

乙在甲骨文中已是纯粹的天干用字,本义完全失落。字形只是一道简单的曲笔,难以解读。战国以前,乙所在的谐声系列只有乙一个字。《说文》“乙,象春艸木冤曲而出”依据的是小篆,比最早的甲骨文晚一千多年,“草木冤曲而出”是许慎据物候说所作的想象,不可信。

既然字形和谐声都提供不了线索,只能从同源词入手。乙的同源词可能是兴 *qʰ(r)əŋ 和熙 *qʰ(r)ə,二字都有“起”义。熙所在的谐声系列中,姬 *kə(见母)、頤 *ɢə(云母)、熙 *qʰə(晓母)三者并存,这正是 BS 构拟小舌音声母所依据的谐声特点,说明熙的声母与乙一样是小舌音。不送气的乙与送气的兴、熙,可能是同一词根 *q(r)ə- 的不同形式。

藏缅语方面,兴、熙的“起”义可以对比 STEDT #152 所构拟的原始藏缅语(PTB)*kyi “举起、升起、醒来”。与它共享词干的还有 #5410 *m-kyit “移动” 和 #5854 *s-kyit “高兴、愉快、满足”,Coblin(1986)还指出这一词根有 kyit “好”与 skyit “高兴”的交替。乙带 *-t 尾而无前缀,与 kyit 一类形式相当;兴、熙送气,与带 *s- 前缀的 skyit 一类形式相当,送气可能就是 *s- 前缀留下的痕迹。由此看,乙的本义或许属于这一“起”义词族,对应太阳升起。

丙的字形学界尚无定论,有火镰石、几案器座、鱼尾、把手、人肩、抽象记号等说,无论哪一说都与“明亮”无关,丙在天干中应为假借。其本义或许可以从炳 *praŋʔ “明亮、显著”看出,它从丙得声,与丙同音。汉语内部另有同源词明 *mraŋ,可对比 PTB *brwaŋ “明亮、响亮”。该词根的“明亮”义在僜语、缅语、怒语、基诺语、克伦语等藏缅语多个分支中都有反映。商人称早晨为“昞”,可能保留了天干丙的本义。

丁的甲骨文字形是一个方块,本身提供不了太多线索。读音方面的线索来自从丁得声的 顶 *tˤeŋʔ “到顶、最高处”。顶与登、定、正等字读音相近,意义都与“上升、到顶、落定”有关,可能同属一个词族。此外,“旦”的初文 ⿱日丁 也从丁得声。由此看来,“丁”很可能与日出有关。

物候说将“丁”释为“万物之丁壮”,属于年代错置。丁声系的钉、订、顶、町、酊等字,核心义为“小而尖的硬物、点状物、抵到某处”,没有一个字的本义是“强壮、壮实”。汉代“丁”被借来指人口、成年男子之后,才有“丁壮”的说法。

戊的字形是大斧或钺一类的兵器,属于斧钺类象形字,与戌、戉、戚、我等字形制相近,这是甲骨文学界的共识。茂从戊得声,戊因此属于以茂、楙、敄为代表的 *mus “大、有力”词族,对应正午最强烈的日光。另外,甲骨文中表示正午的 ⿱叔日 字与戚同声符,冯时(2013)认为该字“本象立表测影以求日中”,但这个字与字形近似戚的戊是否有关,目前没有证据。

改 *C.qˤəʔ “改变、转变”从己得声。己的字形象弯曲的绳索,与“转折”义相符,对应太阳过正午后开始下降的转折点。

(1)传统训释

庚在传统训诂中被释为“更”或“续”。然而在西周及以前的文献里,庚脱离天干和人名、作为普通词汇使用的例子只有两个:鸟名“仓庚”,在《诗经》中出现三次;星名“长庚”,见于《诗·小雅·大东》。二者都是专名,语义不够透明。

(2)汉藏比较:庚 *kˤraŋ 与 *klaaŋ

STEDT #5274 为原始库基-钦语(PKC)和原始藏缅语构拟了 *klaaŋ “照耀、光、亮”,库基-钦语支诸语言的反映形式有 Hakha Lai 语 tlâaŋ、Falam Lai 语 tláaŋ、Tiddim 语 taːŋ²、Cho(Mindat)语 kiang 等,意义都与此相同。该词条所列的汉语比较词是景 *C.qraŋʔ “明亮、光景”和鏡 *C.qraŋʔ-s “镜”,没有列庚。笔者认为庚也应列为候选,理由如下。

声母方面,STEDT 采用的 Matisoff 体系不构拟小舌音,景和庚的声母都作 *k-,*klaaŋ 可以同时对应二者。BS 体系则把景、鏡所在的谐声系列构拟为小舌音 *qr-,因为这一谐声系列中见母与影母互谐;庚、更则构拟为咽化软腭音 *kˤr-。但这一区分是根据汉语内部的谐声关系建立的,能否上推到原始汉藏语有待商榷:藏语和缅甸语的 k- 既对应 BS 的 *kˤ- 字,也对应 *q- 字,据笔者所知,目前没有证据表明藏缅语系统地区分了这两个来源。如果二者在原始汉藏语中同出一个 *k-,*klaaŋ 同时对应景和庚就完全合理。

介音方面,PKC *kl- 中的 *-l- 对应上古汉语的 *-r-,这是汉藏比较中标准的流音对应。韵母 *-aŋ 两边完全一致。

韵尾方面,景 *C.qraŋʔ 带 *-ʔ 后缀,鏡 *C.qraŋʔ-s 在此基础上再加 *-s 后缀,而庚 *kˤraŋ 不带后缀。在 Haudricourt-Sagart 的声调起源框架中,上声 *-ʔ 和去声 *-s 都是上古汉语的派生后缀:*-s 常见的功能是名词化,*-ʔ 的功能尚无定论,但多见于形容词和状态词。由此推测,景和鏡可能派生自一个不带后缀的词根。如果庚正是这个词根的保留形式,那么庚、景、鏡就构成一组派生词:庚 *kˤraŋ 是词根,意为“光亮”;景 *C.qraŋʔ 加 *-ʔ,意为“明亮的”;鏡 *C.qraŋʔ-s 再加 *-s 名词化,意为“镜子”。汉语内部的朗 *k.rˤaŋʔ “明亮”也值得注意:它与庚的辅音成分都是 k 和 r,韵母相同,差别主要在 *-ʔ 后缀,从汉语内部为“庚”有“光亮”义提供了一条不依赖汉藏比较的证据。

综合来看,庚与 PKC *klaaŋ 在声母、介音、韵母三方面都能对应,而且它不带后缀,比景、鏡更接近词根。目前缺少的是庚单独用作形容词的例证,下文对两个专名的考释可以提供间接证据。

(3)“仓庚”:鸟名中的“庚”

“仓庚”在《诗经》中出现三次,都出自西周诗篇:《豳风·七月》“春日载阳,有鸣仓庚”;《豳风·东山》“仓庚于飞,熠耀其羽”;《小雅·出车》“春日迟迟,卉木萋萋。仓庚喈喈,采蘩祁祁”。三处用例都把仓庚当作仲春的物候标志,描写的主要是它的叫声和羽毛的光泽。

一般认为“仓庚”是叠韵联绵词,但有几条证据表明“庚”在其中是独立的语素。

第一,《尔雅·释鸟》“仓庚,商庚”给出异名“商庚”,前字可以替换,后字固定。“仓” *[s.r̥]ˤaŋ(清母阳部)与“商” *s-taŋ(书母阳部)声母相差较远,难以看作同一个联绵词的方言变体,更可能是两个不同的词根各自与同一个成分“庚”组合。

第二,这种一字固定、一字替换的构词方式,在上古鸟名中有系统的平行案例。“鸠”在《尔雅·释鸟》和《诗经》中出现在十余个组合里,如鸤鸠、鹘鸠、鷑鸠、雎鸠、祝鸠、爽鸠、斑鸠等,前字可以替换,“鸠”始终固定,没有人认为“鸤鸠”是联绵词。“庚”虽然只有“仓庚”“商庚”两个已知组合,构词方式与“鸠”相同。

第三,毛传释“仓庚”为“离黄”,《尔雅》作“黧黄”,郭璞注作“鵹黄”。“离、黧、鵹”是可替换的前字,“黄”是固定的后字,结构与“仓庚、商庚”对称。“黄”无疑是独立语素,处在对应位置上的“庚”很可能也是。

第四,“庚”不是“黄”的通假字或方言变读。“庚” *kˤraŋ 与“黄” *N-kʷˤaŋ 声母不同,前者是咽化软腭音,后者是圆唇化软腭音;两字虽同属阳部,介音却不同,分别是 *-r- 和 *-ʷ-;而且在已知的汉藏语同源词中,“黄”的各个变体始终保持圆唇特征。“离黄”取的是黄色,“仓庚”取的则是另一个特征,如果“庚”确实可以对比 PTB *klaaŋ “光亮”,取的就是羽毛的光泽。《诗经》本身提供了内证:“仓庚于飞,熠耀其羽”,诗人描写仓庚时所用的形容词正属于“光亮”这一语义场。

第五,“仓”(鸧)*[s.r̥]ˤaŋ 在先秦鸟名中不是无义的音节。《尔雅·释鸟》有“鶬,麋鸹”,《正字通》描述这种鸟“大如鹤,青苍色”。既然前字“仓”本身可以指鸟,“仓庚”就更像一个由中心词“仓”加修饰成分“庚”构成的合成词。

综合以上五点,对“仓庚”最合理的分析是“鸟”加修饰语“光亮的”,与别名“离黄”结构相同。

(4)“长庚”:星名中的“庚”

“长庚”见于《诗·小雅·大东》“东有启明,西有长庚”,指金星。毛传把“庚”释为“续”,把“长庚”理解为“长久延续”,即太阳落山后金星继续照耀。

然而,金星在古代的别名几乎都在描述它的光亮,而且大多采用“程度副词加形容词”或“形容词加名词”的结构:

这些别名都指向“光亮、白色”这一语义场,前四个还共用“程度副词加形容词”的结构。如果“庚” *kˤraŋ 确实有“光亮”义,“长庚”就与这些别名完全一致;如果按毛传理解为“长久延续的星”,它就成了唯一一个描述时间而不描述光亮的例外。因此,“庚”更可能是表示“光亮”的形容词。

(5)倾斜:STEDT #5849 PTB *C-kya(n/ŋ) “倾斜、斜靠、依靠”

商人称 16 时前后为“退昃”,意为太阳倾斜,因此“庚”也可能表示倾斜,可对比 STEDT #5849 PTB *C-kya(n/ŋ) “倾斜、斜靠、依靠”。二者的声母 *k-、韵尾 *-ŋ 都能对应,元音 *-a- 也能对应。如果这一对比成立,庚就可以解释为“日斜”,即下午太阳偏离天顶、向西倾斜的状态,这与商代用“退昃”指称下午时段的命名方式一致。

不过,这一词族的构拟尚未完成。#5849 在 STEDT 中标为 provisional,即暂定:前缀 *C- 的性质未定,韵尾是 *-n 还是 *-ŋ 也不确定,Matisoff 团队尚未给出定论。词条列出的汉语对比词倾 *[k]ʷʰeŋ “倾斜” 在声母送气、圆唇介音和主元音三处都与 PTB 构拟不合,说明 STEDT 编者也没有在汉语中找到可靠的对应词。因此在构拟完成之前,“庚”意为“倾斜”只能作为备选方案保留。

从语义看,庚应当对应下午 15 时至 17 时,太阳开始西沉,但仍然明亮。这一时段在殷人的时段名称中对应“小食”和“⿲丨黄丨”(退昃),与位 3 丙“明亮”所指的破晓之光前后对称。

辛的字形传统上解读为刑刀或凿子,应为假借。

骍从马、辛声,指赤色的马或牲畜,《周礼》《诗经》中指祭祀用的红色牲畜。辛又可与 PST *m-sin “肝、苦、胆汁”比较,其语义可能由“肝”引申为肝的颜色,即暗红色,对应 17 时前后太阳和晚霞的颜色。

壬的字形尚无定论,有织布机部件、妇女怀孕之形等说,应为假借。

荏 *n[ə]mʔ 意为“柔弱、内含”,如《诗·大雅·抑》“荏染柔木”、《论语·阳货》“色厉而内荏”。荏从壬得声,与任“承载”、妊“内含”同属一个声系。这一组字的意义对应日落时太阳光芒减弱、逐渐沉入的阶段。

“壬”作为部件还可以联系到淫 *N.r[ə]m、沉等“浸渍、下沉”义的字。STEDT #2517 构拟了一个以“向下运动”为核心义的藏缅语词根 *s-n(i/u)(ː)p/m,兼有“低、软、沉没、日落、西”等意义,可供对比。此外,藏文 nub 同时表示“西、黄昏、日落、下沉”,可作为类型学旁证。不过,STEDT 目前列出的汉语对比词,即入 *nəp、纳 *nˤəp、內 *nˤəp-s、蹑 *nrep 等,全是 *-p 尾字,还没有包括淫、浸等字。

癸的字形传统上认为象幼苗,应为假借。程薇(2024)认为字形表示立表测影。

癸的本义可以从季 *kʷi[t]-s “末位、排行最小”推测。癸与季读音相近,声母和主元音相同,只在韵尾和后缀上有差别。癸对应日落后白昼的结束,与位 1 甲首尾相接,构成循环。

综合十位来看,除己字的字形或与“转折”义相合以外,天干的字形都与本义无关,应为假借,本义的线索主要来自同声符字和汉藏比较,此外,甲字和癸字的字形以及表示正午的 ⿱叔日 字,冯时、程薇都曾联系到立表测影。《周礼·考工记》“匠人建国……为规,识日出之景与日入之景。昼参诸日中之景,夜考之极星,以正朝夕”,记载的也是这种方法,在日出、日中、日入各测一次。如果这些字形确实取象于立表测影,说明造字者熟悉以日影定时、定向的做法,这与天干记录一日之内太阳状态的假说相容。但《考工记》成书较晚,一般认为出自战国至汉代学者之手,无法确定它与商代以前的立表测影有无关系。

本文的地支部分是对 Jonathan Smith(2011)“地支月相系统”说的修正,主张地支十二位依次对应一个朔望月的十二个月相阶段,各位的释读见文首对照表。

Smith 的月相说在整体思路上有开创性:他把地支看作描述朔望月十二个阶段的上古汉语实词,依靠谐声和词族证据而不是字形来追溯本义,本文天干部分采用的也是这一方法。但他的方案在序列方向和“未”“寅”两条的词源上有问题,以下逐一讨论。

Smith 方案中最激进的假设是地支需要倒读:传统顺序子→丑→寅→……→亥被反转为亥→戌→酉→……→子。亥“根、萌芽”对应新月初现,未“满月未至”对应满月之前,午“正对”对应满月。这种读法比较违背封闭序列的基本认知规律,因为次序本身就是序列的功能。如果地支原本是倒序的,就必须解释它为什么会被反转,而 Smith 对此没有解释。

Smith 倒读地支的另一个论据,是把未 *m[ə]t-s 释为 impending,即“临近、将至”,指月亮将满未满,位置在午之前、申之后。他承认找不到可信的词源,只能把它当作未完成体标记(imperfective aspect marker)来理解。

这里有一个被 Smith 忽略的年代错置问题。Jacques(2000)和 Pulleyblank(1995)提出,“未”是否定词無 *ma 与完成体标记既 *kɯds 的合音(fusion),意为“尚未”。合音词作为一种构词现象,在汉语中始见于西周至春秋。已知的上古汉语合音词,如“诸”合“之乎”或“之于”、“焉”合“于是”或“于此”、“盍”合“何不”、“叵”合“不可”、“耳”合“而已”,全部见于西周金文或春秋战国传世文献,没有一个在甲骨卜辞中得到确认。如果“未”确实是無、既的合音,这个合音的产生时间应当晚于商代。

可以用一个类比来说明这种年代错置:北齐天保四年(553)的《贺拔昌墓志》中有“鸣琴甭弦”一语,但我们不能把这个“甭”解读为现代北方方言中“不用”的合音。商代的“未”记录的可能是笔者主张的 *r-ma-t 的同源词,也可能是某个已经失落的词,但不可能是無、既的合音。

本文将“未”改释为“受损、被削减”,对比 PTB *r-ma-t “受伤”,对应满月之后亮面开始缩减的阶段。

Smith 将寅 *N-lin 释为“弯曲、伸展”,对应月相后半周期中亏凸月转向下弦的阶段。他提出了两条词源路径:一是把寅与引 *linʔ “拉、伸展”联系起来,进而联系到演、衍、延“水流扩展、蔓延”词族;二是根据螾、蚓“蚯蚓”与寅的谐声关系,用蚯蚓蠕动的姿态支持“弯曲伸展”义。

经过比较语言学的检验,两条路径都有问题。第一,PTB *p-(r/y)an “蔓延、变宽”的核心义是向外扩展,不是“弯曲”或“收缩”。Smith 把寅放在月相后半周期,却采用“伸展、蔓延”义,语义自相矛盾。第二,PST *zril “蠕虫”与寅 *N-lin 的声母对应很松散,韵母 -ril 对 -in 也需要额外假设。

因此,本文将寅放在正序中的上蛾眉月阶段,表示亮面扩展。寅的词源虽然无法完全确定,但这一安排的语义匹配度优于 Smith 的倒序方案。

本文的修正方案以传统顺序为原始方向:子“滋生、初生”在第一位,对应朔月;寅“扩展”在第三位,对应上蛾眉月;午“正对”在第七位,对应望月;亥“闭合、阻隔”在第十二位,对应残月。

本文认为,干支从描述日月的实词变为纯粹的序数符号,经历了如下过程:一个普通实词被纳入一个次序固定的封闭序列,充当其中的一位;此后序数用法成为它的主要用法,使用者不再感知其本义,它最终成为纯粹的序数符号。

这一过程的驱动机制与语法化(grammaticalization)理论中的去语义化(desemanticization)相同。Heine(2003)和 Lehmann(2015)将去语义化定义为一个语言形式丧失其词汇语义内容的过程;Bybee(2003)进一步论证,这种语义弱化由高频的功能性使用驱动:频繁使用导致习惯化(habituation),习惯化又使使用者不再注意原始语义。

干支的情况与经典的语法化有一处不同。语法化描述的是实词向功能词的转化,如英语 will 由“想要”变为将来时标记;干支的漂白则是实词向纯粹序数符号的转化。学界对这一类漂白尚无专门术语,但按照 Bybee 的习惯化模型,不再被激活的语义联系同样会在几代人之内从使用者的语言意识中脱落。

还有一个因素会使干支的漂白加速:本义与序数义之间缺乏语义关联时,漂白更快。Lehmann(1995)在语法化的六项参数中定义了“完整性”(integrity),即一个形式保持其语音和语义身份的程度。本义与新的功能性用法之间如果有可感知的语义联系,如英语 will 从“想要”到“将来”的意向联系,原始语义就能借助这条联系保留得更久;如果两者完全无关,如“戊”本义为“大”,与“第五”毫无关系,“甲”本义为“覆盖”,与“第一”也没有直接联系,使用者就没有任何理由维持对本义的联想,漂白速度也就更快。干支的本义在甲骨文时代已经完全不透明,用这一机制可以得到解释。

至于漂白需要多长时间,其他文明的例子可以提供参考。罗马月名 September、October、November、December 分别来自拉丁语 septem “七”、octo “八”、novem “九”、decem “十”,January 和 February 加入历法后,这些数词词根便与实际月序脱节,名称却沿用至今,其词根语义对绝大多数现代使用者已完全不透明。苏美尔月名约在 3000 BC 成熟,到 2000 BC 本义已经模糊;埃及月名约在 2500 BC 成熟,到 500 BC 本义已经模糊。可见,一个封闭序列成员的本义从清晰到对普通使用者完全不透明,大约需要一千至两千年。

序列成员的本义失落是普遍的、可预期的语言现象,上述跨文明案例都是如此。其他一些干支字源假说(详见第四章)也必须假定某种失落,但性质与此不同:郭沫若的数词说要求失落一整套数词,蒲立本的音素符号说要求失落一整套音素分析意识,星象说和木星说要求失落一整套高阶天文观测技术。这些都是整套认知能力或技术体系的失落,封闭序列的漂白机制解释不了,必须有文明断裂这样的特殊事件作支撑,而目前找不到可以归因的历史事件。本文所说的失落是语言演变的常态,那些假说所需的失落则要依靠大量额外假设。

按本文的假说,地支原本是一套月相描述词,在商代以前已经漂白为纯粹的序数符号。这一点放在已知的历史背景下并不难理解,因为中国上古的月相术语本来就会整套更替。据冯时、张培瑜等人的研究,商代与西周先后使用两套不同的月相术语:

商周之际既然发生过这样的更替,更早的地支月相本义在“殷革夏命”的过程中失传也就不足为奇,地支可以看作这一更替链上最早、最彻底的一环。同时,本文主张的地支释读与后世术语也有相通之处:商代月相术语“望”与地支“午”都有“正对”的意象,西周“既生霸”的“生”与地支“子”的“滋生、初生”义相通。这说明上古不同的纪时系统共享一些基础意象,反映了先民思维上的共性。

学界关于干支字源的各种假说,按证据性质可以分为四类:第一类证据不足、有待商榷;第二类存在年代错置(anachronism)或泛传播论(hyperdiffusionism)的问题;第三类方法论有误;第四类兼有以上所有问题。

物候说源自《史记·律书》,主张天干十位对应一年中草木荣枯的十个物候阶段,并逐字作声训,如把丙释为炳、戊释为茂、庚释为更、辛释为新、壬释为任、癸释为揆等。这些释义建立在汉代声训上,既没有甲骨文用例,也没有谐声证据,训释方法本身的始见年代就可能比被解释的对象晚一两千年;其中把甲释为“孚甲”、把丁释为“丁壮”两条,第一章已经说明不能成立。

物候说的前提“一年十等分”在世界历法类型学中也极为可疑。已知的古代“十月历”有三例:罗马的罗慕路斯历共 10 个月 304 天,冬季约 61 天不计入任何月份;古希伯来历的一种说法认为流亡以前一年为十个月,每月三十天;以及彝族十月太阳历。前两例都只计算一年中的农事劳作期,冬季空白不计,不是对 365 天的均匀十等分。彝族十月历虽然覆盖全年,但其真实性存在严重争议:易谋远、罗家修等人认为“彝族十月太阳历”之说不可信,十二月阴阳合历才是彝族的传统历法;刘尧汉等人的“彝夏十月历”说则缺乏文献和考古证据。而物候说设想的天干序列明确包含冬季,壬被释为“妊”“任”,癸被释为“揆”,对应万物闭藏、年终归结,这意味着整套系统必须覆盖全年,不能跳过冬季。这种“一年均匀十等分且包含冬季”的结构,在已知的古代历法中没有确认的先例。古代历法的年内分段绝大多数是 12 段,以配合一个太阳年中约十二次朔望,而“十”与任何天文周期都不相合。

支持十月历的考古材料主要是陶寺观象台遗址(约 2100 BC)。有人据此推测夏代有 20 个节气,进而认为当时使用每月两个节气的十月历。陶寺观象台有 13 根夯土柱、12 道观测缝,何驽团队 2003—2005 年实测验证的只有四个节气点:冬至日出从第 2 缝透出,春分、秋分日出从第 7 缝透出,夏至日出从第 12 缝透出。“20 节气”是推算出来的:1 号缝没有观测功能,冬至、夏至两缝各用一次,其余 9 道缝上下半年各用一次,共得 20 个时令。这只是根据建筑结构作出的几何推论,其余各缝对应的“节令”与二十四节气完全无法对应。由 20 节气再推出十月历,还要假定每月的节气数相等且都是 2,而太阳在冬至、夏至附近赤纬变化较慢,各缝之间对应的天数并不相等。因此,陶寺遗址只能说明约 4300 年前的人已经能用建筑观测二分二至,不能作为天干对应一年十个月的考古证据。

天干数词说由郭沫若在《释支干》中提出,主张十天干是十进位计数自然产生的结果。郭沫若采用的是排除法:既然望文生义的解释都不可信,天干就必然是抽象的计数符号。这一推论在音韵学上缺乏证据。更重要的是,如果十天干是十个数词,按照汉藏语约在 5900 年前分化的主流估计,就必须假定汉语在汉藏语分化后先继承了一套与藏缅语基本同源的数词,后来又不知为何从其他语言借入或自创了一套完全不同源的新数词,接着这套新数词的本义集体失落,以至完全不再用于计数,也不参与任何构词。这样的过程在语言史上极为罕见。

辅音表记符号说由蒲立本提出(Pulleyblank, The Ganzhi as Phonograms)。他认为十天干、十二地支起源于表音符号(phonograms),用头音法(acrophony)表记干支创制时汉语十个数词的声母,这些声母与他构拟的上古辅音相同。但这一说法与人类文字史的主流研究严重冲突。头音表记意味着造字者已经具备把音节切分到声母层级的音素意识,这是相当高阶的元语言能力。在人类文字史上,音素层级的分析意识出现得很晚,一般认为最早出现于公元前二千纪的地中海东岸。蒲说要成立,就必须假定东亚先民在干支创制时已经独立拥有音素意识,并用它系统地造出一套二十二个字的表音符号;还必须解释为什么这种能力在有记录的汉字史上没有留下任何痕迹,直到汉代梵语传入后才受启发而“重新拥有”音素意识。一整套元语言能力得而复失、失而复得,这一假设过于激进。

木星说多见于民间,主张地支对应木星约十二年轨道周期的分段,学界没有专门的代表作,主张者多为科普作者。该说有两个问题。第一,对技术水平的要求过高。连续追踪木星在恒星背景上的缓慢移动并均匀分段,需要一个横跨十二年以上、代代相续的天象记录传统,而干支成形时没有任何这种观测制度的证据,其对稳定性的要求也高于陶寺观象台对二分二至的观测。第二,与下文的星象说一样,它难以解释为什么商代已经完全不知道地支的天文来源,而且它需要解释的是一整套观测技术的失传。

数词错位对应说见于知乎等网络讨论。一些研究者注意到一与乙、两与丙、七与辛、九与癸、十与甲的读音相似,据此提出天干与数词错位对应:十与甲居首,之后依次是一与乙、两与丙、三与丁……九与癸。按照这一理论,天干来自一种尚未发现的藏缅语或汉语方言,笔者姑且称之为“汉藏语-X”。这个方向比物候说更值得认真考察,因为它不局限于字形,而是从读音对应入手;所设想的来源在地理上也不算遥远,类型学上的平行案例颇多,如能证实,将是一个简洁而有力的解释。

但仔细比较之后,情况并不乐观。即使采用最保守的王力体系,相似性也相当勉强:一与乙同音,两与丙声母不同,七与辛只有韵腹相同,九与癸、十与甲的韵腹只是略微相似;其余的三、四、五、六、八完全无法对应,周边的汉藏语言中也找不到类似形式。如果勉强接受现有的对应,“汉藏语-X”与原始藏缅语、上古汉语之间的差异,要比后两者之间的差异还大,这意味着它来自比原始汉藏语更早的“前原始汉藏语”,分化时间早于 3900 BC。

这又与“丙与汉语‘两’同源”构成内部矛盾。两 *p.raŋʔ 不见于其他任何藏缅语,是汉语分化后的内部创新;而且“两”作为数词是汉魏之际才出现的用法,由“成对”义的量词语法化而来。如果“汉藏语-X”的丙确实对应汉语的“两”,它与汉语的分化时间就必须晚于 3900 BC,与“早于原始汉藏语”相矛盾。

此外还有两个类型学问题:一是数词序列首尾错位、以“十”居首,这种排列在世界语言中罕见;二是如果这种语言存在,其使用者必须创造过某种先进文化,并作为强势文化把数词输出给汉语,但考古和历史中找不到与之对应的文化。

综上,数词错位对应说在方法上比较严谨,但外部证据缺失,又存在内部矛盾,难以成立。不过,也有答主主张它可能来自东夷语言,并试图用早期接触而不是强势文化输入来解释部分数词的读音相似,这一方向尚有讨论余地,因此该假说不宜轻易否定,有待更多考古和语言学证据检验。

这一类假说的共同问题是:所用解释依据的成形年代明确晚于干支,或者要求干支从地理上极远的某个文明单向传入。两种情况都是把被解释的对象与一个不可能与它直接接触的来源联系起来。

已知的年代先后如下:

下图把这些年代与干支本身从语音、文字到纪年系统的形成过程并列:

生肖说的问题是年代错位且对应关系争议太大。地支配十二生肖是战国晚期才出现、汉代才定型的后起附会,比地支本身晚约一千年。易学说试图把干支与卦象、爻辞联系起来,依赖的是《易经》的解释体系,而《易经》经文是西周的产物,讲阴阳太极的《易传》更晚至战国。阴阳五行说以天干配五行、地支配阴阳,所依赖的成系统的阴阳五行学说要到战国末至西汉才定型,比易学说更晚。商周时期的“阴阳”只指向阳、背阳这一直观的自然现象,不含哲学意义。

以上三说都是典型的年代错置,而下面的巴比伦传入说则属于泛传播论,即主张某种技术、词汇或符号系统由地理上远隔万里的某个文明传入,而传播路径不明、中间证据缺失。

1929 年,郭沫若作《甲骨文字研究·释支干》,主张地支十二位起源于巴比伦黄道十二宫,并认为《尔雅·释天》中“摄提格、单阏、执徐、大荒落、敦牂、协洽、涒滩、作噩、阉茂、大渊献、困敦、赤奋若”十二个岁名是苏美尔语或阿卡德语星座名的音译。

这一说法首要的问题是时间顺序颠倒,空间路径不明。巴比伦黄道十二宫的成熟定型在公元前 10 至前 5 世纪(吴宇虹),而干支在甲骨文(约 1250 BC)中已经是本义完全失落的纯序数符号,因此干支必然早于巴比伦黄道十二宫成型。郭沫若的论证主要依靠“摄提格”与苏美尔语星座名等几组读音比附,但《尔雅》岁名是西汉以后的天文术语,远晚于地支本身,同样属于年代错置。即使接受郭说所设想的“中亚游牧民族中转”路径,也需要解释为什么这条横跨欧亚的传播链两端都有星座系统,中间数千公里的游牧地带却没有留下任何中间形态。其次,这一学说比较轻率地排除了中国本土独立发明序数符号的可能。任何古代文明在系统观察夜空之后,都会对黄道带作某种划分,划分的数目在 8 到 36 之间,最常见的是 12。把凡是出现“12”的古代文明都追溯到巴比伦,过于武断。最后是意识形态问题。《释支干》产生于 20 世纪前期“中华文明西来说”的国际学术氛围中。当代学者已经普遍认识到,这类假说的意识形态根源是低估非西方文明独立发展复杂符号系统的能力。郭沫若本人后期已经逐渐淡化此说,但《释支干》仍在民间史学和网络讨论中流传,成为干支外来说的主要依据。

学界将干支字形与黄道星官相对应的尝试为数不少,但方法论上存在严重问题。

天干星象说的主要代表也是 Smith,但他在天干问题上没有采用第二章所述的词族方法,而是从字形出发。他认为天干十位原本是沿黄道分布的十个星官(asterism)的名称,并根据天干字形在黄道附近的恒星之间连线,得出以下对应:

Smith 自己也承认这一方法的局限:“the particular stellar configurations indicated above are entirely preliminary”,即“以上具体的星座对应都是初步的”。字形与星座的对应,高度依赖研究者主观的连线方式。

地支星象说有两位代表,结论相去甚远:陆星原主张地支字形来自约 2000 BC(先商)的星象;刘宁(2020)在《论地支十二字源自新石器时代星象》中主张来自 4500—3500 BC 的星象。

刘宁对陆星原的批评是成立的,可以直接采用:陆星原复原的是 2000 BC 的星图,但其中冬至点的位置仍沿袭《史记·天官书》《汉书·律历志》,位于丑位,这是春秋战国以后的观测记录;而且陆星原对自己的结论并不自信,努力与“子象婴儿”等旧说调和,而字形的起源只能有一种。

但刘宁自己的新石器说也有两个问题。

第一,年代区间过大。刘宁据岁差逐字推算的对应年代(距今)为:子 6006 年、丑 6042 年、寅 6562 年、卯 7081 年、辰 5880 年、巳 6400 年、午 5701 年、未 6131 年、申 5647 年、酉 6006 年、戌 5594 年、亥 6544 年。这十二个数分散在距今 5594 至 7081 年、跨度近一千五百年的区间里。如果十二支由同一批人在同一时代命名,十二个对应年代应当集中在一个较窄的区间内;分散到一千五百年,有穿凿附会的嫌疑。刘宁对此没有提出疑问,只给出了“5600—7100 年”这一区间。如果十二支是许多人“累层创作”的结果,又很难解释一千五百年间的历代创作者如何记住前人已经命名过的星座,并保证新选的星体与前人用过的不重合。

第二,年代错位,且缺少字形载体。该说要求 4500—3500 BC 已经存在能够描摹星象的成系统字形,这一年代远早于汉字及其可考的前身。刘宁自己也承认“目前未有与十二辰相似的刻画符号”,所引的双墩遗址等材料是刻画符号,不是成系统的象形文字。这与前述各说的问题类似:它假设 4500 BC 已经有一套能描摹星象的字形,但这套字形与甲骨文之间没有可考的中间形态。刘宁本人也在文中自问“新石器时代的人是否具备这样的天文素养”。

此外,上述学者都面临一个难以克服的统计学问题,即星空背景下的空想性错视(pareidolia)。肉眼可见的恒星在天球上的分布近似于随机的泊松分布,而泊松分布的一个核心特征是会自然产生聚团(clustering),使完全随机的星点看起来充满“有意义”的图案。星座本身就是这种统计效应的产物:猎户座的几颗星与地球的距离相差悬殊,它们看上去构成人形,只是视线方向上的偶然排列,彼此之间没有物理联系。在这样的随机点阵中,任何简单的几何形状在统计上都必然能够找到。

甲骨文地支字形本身就是非常简单的几何图案,在星空中为它们找到“匹配”的星点组合十分容易。刘宁在第二节虽然设立了象形、与时间相关、成系列三条筛选标准,但这三条只限制“选哪类星体”,完全不限制“星点怎么连线”,而后者恰恰是自由度最大、最容易产生虚假匹配的环节。以上学者都没有对字形与星象的匹配做过零假设检验:在星点密度相同的随机天区中,找到同等质量匹配的概率是多少?因此,无法排除这些对应完全是泊松聚团效应与人类模式识别偏差叠加的产物。

Liu Dishi(“Ten Heavenly Stems” Originated From the Solar Halo Phenomenon, 2020)主张十天干字形来自高纬度地区“钻石尘”天气下日晕、日柱、幻日等光学现象的视觉组合:甲对应 22 度晕,乙对应上切弧,丙对应低日加日柱,丁对应日晕圈,戊、壬、癸对应不同数量的幻日,庚对应 22 度晕加日柱加上切弧,辛对应上切弧加日柱,己对应无晕之日。这一假说也是作者“汉藏文明远北起源论”的论据之一。他另有 2016 年论“海”字源自夜光云、2019 年论“中”字源自西伯利亚半地穴建筑天窗的两篇 SSRN 文章,三篇合起来构成其北来说的完整论证。

该说同时具有前三类假说的全部问题:

第一,证据缺失。商人活动的核心区域在华北平原,北纬 34°—36°,最冷月平均气温在 0°C 上下,远达不到形成钻石尘所需的约 -30°C 低温。要让商人的祖先“经常”观察到日晕组合,他们必须长期居住在北纬 60° 以北或同样寒冷的高海拔地区,即北极圈附近的西伯利亚北部。这要求天干符号在人群离开高纬度地区之前就已定型,并在没有文字的状态下稳定传承至少 2650 年,即从汉藏语分化到甲骨文出现,跨越整个新石器时代而没有留下任何中间形态的考古证据。世界上也没有任何已知的非文字符号系统能在如此早的年代、如此长的时间里保持稳定。

第二,泛传播论。该说要求一套起源于北极圈附近的视觉符号系统跨越数千公里抵达华北,传播路径不明,中间证据缺失,独立发明的可能性则被完全排除。它与郭沫若的巴比伦传入说结构相同,只是把来源从西亚换成了西伯利亚。其姊妹假说用夜光云解释“海”、用半地穴建筑解释“中”,同样要求汉文明的多个核心概念都来自远北。这种“汉文明的核心从某个特殊地理源头单向传入”的论证策略,是泛传播论的典型错误。Alice Kehoe 批评泛传播论“低估非欧洲社会的创新能力和文化复杂性”,这一批评同样适用于此说对汉文明本土发展能力的低估。

第三,空想性错视。字形与日晕的对应高度依赖研究者主观的视觉连线方式,与星象说的核心问题相同。天干字形都是简单的几何图案,在任何视觉上足够复杂的自然现象中都能找到“对应”。该说同样没有做零假设检验:在其他自然现象的图像中找到同等质量匹配的概率是多少?这种事后建立的视觉对应总能成立,因而无法证伪。

第四,以现代读音推论古音。Liu 在论证“丙”的字源时,以现代普通话“明”与“冥”同音、越南语汉越音中两字也同音为据,认为这种“同音却反义”的矛盾只能用日晕说所描述的低日“既明又暗”的状态来统一。但“明” *mraŋ(阳部)与“冥” *mˤeŋ(耕部)在上古汉语中分属不同韵部,主元音和介音都不同。普通话两字同音,是历史上偶然合流到 -ing 韵的结果,不能反过来证明上古同音。越南语汉越音对应的是唐代的中古汉语层次,不是上古汉语,不能单独用作上古字源的依据。退一步说,即使两字真的同音,同音反义在各种语言中都极为常见:英语 let 既有“允许”义又有“阻碍”义,两者历史上来自不同的词根,偶然同形,并不需要引入什么奇特的解释。把现代读音的偶然相同当作古义的内在联系,再用一个更奇特的假说去解释这个人为制造的矛盾,是字源学的基本错误。

此外,这一学说与多个学科的已有共识存在根本冲突。其他假说多少还试图符合主流学科的共识,这一假说却要求同时改写甚至推翻大量现有结论,包括:

接受这一假说,就等于承认现有的东亚上古史认识大体都是错误的。为了一个假说而推翻多个独立学科的结论,这是拉卡托斯(Lakatos)所说的退化研究纲领的典型特征:该假说不产生任何可以独立验证的新预测,全部工作都用于事后消化反例,其方法也无法与汉学、汉藏语史、古文字学的主流研究衔接。

以上是笔者能做出的全部推理。从目前的证据来看,天干十位对应太阳一天之内的十个状态、地支十二位对应朔望月的十二个月相阶段似乎是相对有解释力的说法。不过,它们在甲骨文中的主要用途是用于记日系统和商王庙号,而不用于一般的计数或者次序,这说明在晚商之间它们由于某种原因发生了功能的特化。这仍然是一个较难解释的问题。

本文涉及领域较多,论证难免疏漏,校对也不够充分,如有谬误,恳请指正。

标签:天干地支,农历,历法