再把封建的国数合起来,也是如此。按《异义》:“《公羊》说:殷三千诸侯,周千八百诸侯。《古春秋左氏》说:禹会诸侯于涂山,执玉帛者万国。唐虞之地万里,容百里地万国。其侯伯七十里,子男五十里,余为天子闲田。许慎谨按《易》曰:万国咸宁。《尚书》曰:协和万邦,从左氏说。”郑玄便驳他道:诸侯多少,异世不同。万国者谓唐虞之制也。武王伐纣,三分有二,八百诸侯,则殷末诸侯千二百也,至周公制礼之后,准王制,千七百七十三国,而言周千八百者,举其全数(《王制正义》)。他这一驳,也因为要牵合《周礼》之故:
《王制》:凡四海之内九州,州方千里。州建百里之国三十,七十里之国六十,五十里之国百有二十,凡二百一十国;名山大泽不以封,其余以为附庸闲田。八州,州二百一十国。天子之县内,方百里之国九,七十里之国二十有一,五十里之国六十有三,凡九十三国;名山大泽不以朌;其余以禄士,以为闲田。凡九州,千七百七十三国;天子之元士,诸侯之附庸不与。《周官·职方氏》:凡邦国千里封公以方五百里则四公,方四百里则六侯,方三百里则七伯,方二百里则二十五子,方百里则百男,以周知天下(《郑注》方千里者,为方百里者百,以方三百里之积,以九约之,得十一有奇,云七伯者,字之误也)。
郑玄注《王制》,说:“禹承尧舜……诸侯之地,有方百里,有方七十里,有方五十里……”既然说是万国,则“要服之内,地方七千里,乃能容之(《正义》引郑注《皋陶谟》‘州十有二师’道:‘……犹用要服之内为九州,州立十二人为诸侯师;盖百国一师,则州十有二师,则每州千二百国也。八州九千六百国,其余四百国在畿内’)。夏末既衰,夷狄内侵,诸侯相并,土地减,国数少;殷汤承之,更制中国方三千里之界,亦分为九州,而建此千七百七十三国焉。周公复唐虞之旧域,分其五服为九;其要服之内,亦方七千里;而因殷诸侯之数,广其土,增其爵耳”。
这许多数字,一味望空打官司,决无解决之理。要解决它,只有两法:其一,咱们本想靠里数来考见疆域的,现在反要有一个大略的疆域,来考核它的数字,谁对谁不对。其二,就是根据当时所有的国数,来评判他们的说法。然而古代的疆域,就靠得住的大略,也不容易说出来。他们辩论的方法,有一种,说《汉书·地理志》,“所言山川,不出《禹贡》之域”。要想把《汉志》上的里数,来校勘“服”的里数,总算差强人意。然而辩护起来,又有一种巧法,说一种是据“虚空鸟路,方直而计之”;一种是据“着地人迹,屈曲而量之”(《禹贡正义》)。这么一来,就有确定的疆域,也无从和他们核算里数了。第一个法子,就不能用。第二个法子,他们本来说是“设法”的(《王制职方》郑注),并没说真有这许多国,更无从和他们核算。那么,咱们第一种方法,想把服的里数和封建的国数来考古代疆域的,就算失败了,请换第二种方法。
第二种方法,是把古人所说的“州”,来考古代的疆域。古人所说的州有三种:
一)《禹贡》:冀州(《公羊》庄十年疏引郑注……两河间曰冀州),济河惟兖州,海岱惟青州,海岱及淮惟徐州,淮海惟扬州,荆及衡阳惟荆州,荆河惟豫州,华阳黑水惟梁州,黑水西河惟雍州。
二)《尔雅·释地》:两河间曰冀州,河南曰豫州,河西曰雍州,汉南曰荆州,江南曰扬州,济、河间曰兖州,济东曰徐州,燕曰幽州,齐曰营州(《吕氏春秋》:“河、汉之间为豫州,周也。两河之间为冀州,晋也。河、济间为兖州,卫也。东方为青州,齐也。泗上为徐州,鲁也。东南为扬州,越也。南方为荆州,楚也。西方为雍州,秦也。北方为幽州,燕也。”和《尔雅》的说法相合)。