在汉中,而班固谓在陇西之西县,积石在羌中,而杜佑谓在西平之龙支,此又谬误之大者,辩之不厌其详。诸如此类,不可胜道,聊举一隅,以资三反。
  《导水》九章,唯黑水原委杳无踪迹。弱水自合黎以北、流沙以西,亦难穷究,纷纷推测,终无确据,不如阙疑之为得也。江、汉、淮、渭、洛,禹迹尚存,无大可疑者。河自周定王五年东徙之后,大伾以下,禹河故道不可复问,先儒皆以王莽河为禹河,故降水、大陆、九河、逆河无一不差。然因王莽河之所在,而求之于其西,则邺东故大河之道,犹可案图而得也。济为河乱久矣,至东汉而河南之济尽亡,赖《水经》悉载其故渎,后世犹得因此而略知古济之所行,杜佑辄诋之,非笃论也。善哉,金吉甫之言曰:凡《禹贡》地理间有于今不同者,或古今名号之殊,或人力开塞之异,或陵谷海陆土石消长之变。盖如熊耳为讙举、大别为翼际、恒水为呕夷、卫水为虖池,此所谓古今名号之殊也。荥泽导为荥川,河水引为鸿沟,徐偃通舟陈、蔡,夫差沟通江、淮,此所谓人力开塞之异也。荥、播塞成平地,灉、沮二源壅绝,逆河化为勃海,碣石沦于洪波,此所谓陵谷海陆土石消长之变也。然传记尚有明征,禹功未尽湮没,正可据今之不然,以求昔之所然。苟因此而遂疑圣经之有误,古志之非真,其为愚且悖也,孰甚焉。
  《水经注》凡二水合流,自下互受通称,其在《禹贡》,则漾与沔合亦称沔,漳与绛合亦称降水是也。又有随地异名,非由合他水而然者,沇东流为济,漾东流为汉,又东为沧浪之水是也。有大水分为支流而异其名者,江别为沱,汉别为潜,河别为漯是也。有伏流显发而异其名者,济溢为荥是也。小水合大水谓之入,大水合小水谓之过,二水势均相入谓之会,此又正名辨分之义,高出《地志》、《水经》者矣。山体不动,其盘其广大者,亦不过占数郡县。若水则源远流长,往往灌注于千里之外,伏见离合,曲直向背,变化无方,名称不一,故撰《山经》易,撰《水经》难。
  《孔传》言禹之治水,或凿山或穿地以通流。此不必到处皆然,绵亘千百里之远,然当时实有其地不得不用此法者。《尸子》、《吕览》、《淮南子》、《水经注》众口一辞,岂欺我哉。贾让曰:“昔大禹治水,山陵当路者毁之,故凿龙门,辟伊阙,析厎柱,破碣石。”此凿山之事也。孟子曰:“禹掘地而注之海”;太史公曰:“禹厮二渠以引其河,北载之高地,过降水至于大陆。”此穿地之事也。儒者蔽于一己之意,见凡耳目之所不及,皆以为妄。开章壶口、梁山第一功,便说得全无精彩,亦由过泥孟子行所无事之说,谓禹绝无所穿凿。殊不知尧之水灾,非寻常之水灾。禹之行水,非寻常之行水。审如蔡氏所言,则后世筑堤置埽开渠减水之人,皆得与禹功并垂天壤矣。鲧何以绩用弗成,禹何以配天无极哉。
  中国之水,莫大于河。禹功之美,亦莫著于河。释《禹贡》而大伾以下不能得禹河之故道,犹弗释也。《导河》一章,余博考精思,久乃得之,解成,口占二首曰:“三年僵卧疾,一卷《导河》书。禹奠分明在,周移失故渠。自知吾道拙,敢笑古人疏。冀有君山赏,中心郁少舒。班固曾先觉,王横实启之。九峰多舛错,二孔亦迷离。墨守终难破,输攻谅莫施。秪应千载后,复有子云知。”时丁丑二月朔也。
  河自禹告成之后,下迄元、明,凡五大变,而暂决复塞者不与焉。一,周定王五年,河徙自宿胥口,东行漯川,至长寿津与漯别行,而东北合漳水至章武入海。《水经》所称大河故渎者是也。二,王莽始建国三年,河决魏郡,泛清河、平原、济南,至千乘入海。后汉永平中,王景修之遂为大河之经流。《水经》所称河水者是也。三,宋仁宗时商胡决河,分为二派,北流合永济渠至乾宁军今青县。入海,东流合马颊河至无棣县今海丰。入海,二流迭为开闭。《宋史·河渠志》所载是也。四,金章宗明昌五年,实宋光宗之绍熙五年。河决阳武故堤,灌封丘而东,注梁山泊,分为二派,一由北清河即大清河。入海,一由南清河即泗水。入淮是也。五,元世祖至元中,河徙出阳武县南,新乡之流绝。二十六年,会通河成,北派渐微。及明弘治中筑断黄陵冈支渠,遂以一淮受全河之水是也。盖自大伾以东,古兖、青、徐、扬四州之域,皆为其纵横糜烂之区。宋、金以来,为害弥甚。愚故于《导河》解后附《历代徙流之论》,而又各为之图,以著其通塞之迹,使天下知吾书非无用之学,于康成知古知今之训不敢违也。事讫于明,故时务缺焉。
  九州之疆界,《尔雅》、《职方》不同于《禹贡》,盖殷、周之所损益也。故必备举以相参次,列古帝王所都及诸侯之封在州域者,又次列春秋时国土之可考者,略见先王封建之制,又次列战国之所属,然后分配秦、汉以降之郡国,而要以杜氏《通典》为准。盖前此地理诸书,未有以《禹贡》九州分配郡国者,有之自《通典》始。宋承唐制,以迄元、明,虽有沿革,不甚相远。故《通典》之后直接当今舆地。杜氏博洽绝伦,然间有分配未当者,如冀之信都当属兖,荆黔中以下七郡及雍伊吾以下四郡,皆不在禹九州之限是也。又