曹氏子与袁氏子:曹叡年龄考辩
来说是非者,便是是非人。
明帝曹叡,是魏国第二代皇帝、第三任实际统治者。因为陈寿在《明帝纪》结尾处的“帝时年三十六”与其实际年龄(三十四)不符,因此引发后世无数猜测与联想。
即日,(明)帝崩于嘉福殿,时年三十六。--《魏书 明帝纪》
典型者便是“曹叡是袁熙遗腹子”。
持此论者不在少数,比如清末学者卢弼,便公开宣称曹叡是“袁家子”。
窃谓承祚(陈寿)此文,实为曲笔,读史者逆推年月,证以甄夫人之赐死,魏明之久不得立为嗣,则元仲(曹叡)究为谁氏之子,可不言而喻矣!--《三国志集解》
结合诸书材料,可知曹叡绝无可能是袁氏遗腹子,而是百分之百的曹丕亲子。本文想通过对陈寿记载的始末溯源,来澄清曹叡的年龄误区问题。
曹叡年龄被凭空增加,原因在于历法的修改。
如果考察曹叡封爵时间、袁熙和甄氏的地理隔绝时间,便可清晰看到,曹叡绝无可能与袁氏有瓜葛。
① 曹叡的年龄虚增
曹叡的年龄问题,与历法修改有关。
曹叡生母甄氏是袁熙侧室,而曹丕纳甄氏在建安九年(204)八月,即攻陷冀州首府邺县之后。
及冀州平,文帝纳(甄)后于邺,有宠,生明帝及东乡公主。--《魏书 文昭皇后传》
换言之,曹叡的生年,不可能早于建安十年(205)六月。
考虑到曹叡死于魏景初三年(239),按今天的算法应是享年三十四;按彼时的算法,则是享年三十五。
因此,陈寿记载的“享年三十六”便虚增一岁,与事实相悖。
此处可能存在两个原因。其一是历法修改,其二是传抄讹误。
(1)历法修改
曹叡在景初元年(237)曾经修改历法,从“夏正”转到“殷正”。
于是有司奏,以为魏得地统,宜以建丑之月为正。--《魏书 明帝纪》
夏历又叫“建寅历”、殷历又叫“建丑历”。通俗一些说,不同的历法区别,主要在于“以几月为一岁之首”。
夏历以正月(一月)为岁首,古代王朝大多奉夏历。殷历则以十二月为岁首,曹叡是罕有的使用殷历(也叫商历)的君主。
曹叡改夏历为殷历
先简单介绍下古代不同历法。
夏朝以正月为岁首,商朝以十二月为岁首,周朝以十一月为岁首,而秦朝则以十月为岁首。汉初沿用秦历,至武帝时改用夏历。
举例来说,秦末陈胜吴广起义,在当年七月开始,次年腊月(十二月)结束。
二世元年七月,发闾左適戍渔阳……(二世二年)腊月,陈王之汝阴,还至下城父,其御庄贾杀以降秦。--《史记 陈涉世家》
按今天的理解,秦末农民运动似乎是持续了一年半;但按秦朝历法,九月是岁末,十月便进入次年。因此陈胜起义,实际仅持续了五个月。
曹叡修改历法时,将青龙五年三月,改为景初元年四月。因此,“景初历”(殷历)的月份,被凭空增加了一个月。
三月,定历改年为孟夏四月。--《魏书 明帝纪》
而曹叡又恰好死在景初三年(239)正月。换算成夏历,曹叡卒年应是“上年十二月”。
三年春正月丁亥,(明)帝崩于嘉福殿,时年三十六。--《魏书 明帝纪》
因此,曹叡的年龄,因为历法修改,以及过于巧合的死亡时间,而被凭空增加了一岁。
(2)传抄问题
三十六的“六”字,存在传抄的误写可能。
有读者朋友可能会问,古代的数字,以繁体形式写成,比如三十六应该写成“叁拾陆”,大概不会被误读?
并非如此。繁体数字的书写规则,是在明清才得到广泛应用。汉末魏晋时代,数字书写就是小写(简体字),与今日无异。
“六”在传抄过程中,与三、五均有混淆的可能。当然,结合了上小节的分析,可知曹叡的年龄虚增,实际就是因为修改历法与死亡巧合,传抄误写,只作为辅助解释。
② 曹叡的封爵时间
封爵时间,可以侧面佐证曹叡的年龄。
《明帝纪》开篇,称曹叡“年十五封武德侯”。
年十五,封武德侯。--《魏书 明帝纪》
《文帝纪》则记载,王子叡(即曹叡)封武德侯,在延康元年(220)五月。
(延康元年)五月戊寅,天子(刘协)命(魏)王追尊皇祖太尉曰太王,夫人丁氏曰太王后,封王子叡为武德侯。--《魏书 文帝纪》
按彼时的虚岁算法,可知曹叡在是年五月,实际未满十五。
考虑到曹丕纳甄氏在建安九年(204)八月,按十月孕期计算,曹叡生年当在建安十年(205)六月之后,建安十一年(206)五月之前。
因此,曹叡是袁家子的可能性,绝不存在。
③ 袁熙与甄氏的分离时间
曹丕纳甄氏之前,甄氏与袁熙存在至少半年以上的地理隔绝,因此曹叡绝无可能为袁氏遗腹子。
按《武帝纪》,建安九年(204)春二月,袁尚、袁谭同室操戈。而袁熙一直呆在故安(今河北固安),留甄氏居邺(今河南安阳)。
熙出为幽州,(甄)后留(邺)养姑(即绍妻刘氏)。--《魏书 文昭皇后传》
曹操之围邺也,(袁)谭复背之,因略取甘陵、安平、勃海、河间,攻尚于中山。(袁)尚败,走故安从(袁)熙。--《后汉书 袁绍传》
同年(204)夏四月,曹洪围攻邺县。五月,曹操亲至,起土山地道,决水灌城。七月,袁尚还军援救,八月,邺城陷落。
秋七月,尚还救邺。八月,审配兄子(审)荣夜开所守城东门内(曹)兵,邺定。--《魏书 武帝纪》
换言之,建安九年二月至八月,袁熙与甄氏分离了至少半年之久。若甄氏在袁熙出征前已有身孕,那被曹丕所纳时,恐怕已经遮不住肚子了。
袁熙出为幽州,留甄氏在邺
曹操是“纳人妇为妾”的惯犯,绝不可能分不清“亲子”与“假子”的区别。
曹丕“心术险恶、睚眦必报”,也不可能糊涂到搞不清曹叡是否是亲生子,遑论传其帝位。
虽然曹操对豢养的诸多“假子”(秦朗、何晏等)颇为优待,但在何晏“画地自守、拒绝改宗”时,曹操便变了面皮,作色而去。
(魏武)因欲以(何晏)为子。晏乃画地令方,自处其中。人问其故,答曰:“何氏之庐也。”魏武知之,即谴还外。--《世说新语》
可知“放达著称”的曹操,对假子的容忍程度,远不如亲子。
而曹叡自出生起,便被曹操宠爱有加,乃至“常令在左右”。可知曹操父子对曹叡的血统,绝无怀疑。
(曹叡)生而太祖爱之,常令在左右。--《魏书 明帝纪》
更为重要的是,曹操的嫡长子曹昂,早在建安二年(197)便死于宛城,且死而无后。庶长子曹丕,便成了诸子之长。
如果考虑到曹丕比曹昂小了整整十岁,那曹叡对曹操而言,便是“迟来十年的长孙”。
曹叡出生时(205),曹操已经五十有一。这在古代早婚的环境下,算是非常罕见的案例。不难想象,曹操对曹叡的血统问题,一定给予了特别关注。
何况初入邺县(204)时,曹操甚至还想自纳甄氏,却不料“已被五官将(曹丕)捉去”。最终竟急得口不择言,当众失态。
曹公之屠邺也,令疾召甄,左右白:“五官中郎将已将去。”公曰:“今年破贼,正为奴。”--《世说新语》
若曹操对曹叡的“出生时间”有半点怀疑,只怕《魏书》的记载便不是“生而太祖爱之”,而是“生而太祖杀之”了。
④ 小结
曹叡的年龄问题,因为陈寿的记载出入(也可能是传抄讹误),导致了后世无数猜测。为《三国志》做注的裴松之,便公开质疑其记载真伪。
曹叡的年龄,按今日的算法是三十四岁;按彼时的算法当为三十五岁。
至于“卒年三十六”的舛谬记载,其直接原因便是曹叡修改历法,从奉夏历(正月岁首)转而奉殷历(十二月岁首)。改青龙五年三月为景初元年四月,凭空虚增了一月。
而曹叡又恰好死在正月,为此虚增了一岁(实际是虚增一月,但该月恰好跨年)。
如果结合“年十五封武德侯”与“建安九年邺县之战”的记载,便可清晰看到,曹叡的年龄与血统,绝无任何问题。事实上魏武、魏文对曹叡的血统均无质疑,满朝公卿亦如是。
曹叡“久不得立”的唯一原因,便是生母失宠被杀。这也是文、明二帝“父子反目”的直接原因。与曹叡的血统,着实无关。
以其母(甄夫人)诛,故未建为嗣。--《魏书 明帝纪》
再者曹丕又不止一子,若真对曹叡身份存疑,改立他子便是。
文皇帝(有)九男。--《魏书 武文世王公传》
古代历法、术数等知识,在今日已经式微,关注者不多,因此也便常被忽略。
猎奇者多以陈寿的记载作为“春秋笔法、微言大义”的典范,实际在曹叡的年龄问题上,并无深意。不过是改历导致的虚增而已。更不用说可能还存在传抄讹误。
有心栽花花不发、无心插柳柳成荫。陈寿在撰写《明帝纪》时,只怕也未曾想到,彼时的一次笔锋转动,在后世竟会引起如此巨大的反响吧!