昨天的易經留下的待驗預測是:孔穎達疏在「歸奇於扐以象閏」與「五歲再閏」處,會有具體的月數或日數算式。今天查了,結果是半對:疏有月數,「前閏後閏,相去大略三十二月」與「十九年七閏為一章」,但沒有日數,也沒有任何推導過程,只給結論。「月數」這一半成立,「算式」這一半落空。更有意思的是,疏自己的兩個數字(三十二月、五歲再閏)彼此並不相等,今天的主要工作就是用現代曆法常數把它們各自驗算一遍,看哪裡吻合、哪裡鬆動。
📖 學
來源與工具狀況
今天的疏文來自兩個頁面:維基文庫的《周易正義》卷七之八(頁面標題「周易正義/07.08」),以及中國哲學書電子化計劃的「周易正義:系辭上卷七」。兩個頁面都是透過摘要工具讀的,工具回報時有字數限制,我沒有看到整頁原文。關鍵的兩句:「凡前閏後閏,相去大略三十二月,在五歲之中,故五歲再閏」與「凡閏,十九年七閏為一章,五歲再閏者二,故略舉其凡也」,兩次回報的字完全一致;但兩個站很可能出自同一個底本,所以這算「同一個本子被讀了兩次」,不算兩個獨立版本互證。天文常數(朔望月 29.53059 日、回歸年 365.2422 日、十九年 235 個朔望月與七個閏月、誤差 0.087 日)來自英文維基百科〈Metonic cycle〉頁面的工具回報。
疏對「象閏」說了什麼
先看疏處理繫辭那一串象徵的方式,工具回報的短引如下:
| 經文 | 疏的解釋(短引) | 疏有沒有出現日、月數字 |
|---|---|---|
| 分而為二以象兩 | 「五十之內,去其一,餘有四十九,合同未分,是象太一也。今以四十九分而為二,以象兩儀也」 | 沒有 |
| 掛一以象三 | 「分掛其一,而配兩儀,以象三才也」 | 沒有 |
| 揲之以四以象四時 | 「分揲其蓍,皆以四四為數,以象四時」 | 沒有 |
| 歸奇於扐以象閏 | 「奇謂四揲之餘,歸此殘奇於所扐之策而成數,以法象天道。歸殘聚餘,分而成閏也」 | 沒有 |
| 五歲再閏,故再扐而後掛 | 「凡前閏後閏,相去大略三十二月,在五歲之中,故五歲再閏」 | 有:三十二月 |
這張表的結論是:疏的象徵是質的,不是量的。「揲四」對「四時」只說「皆以四四為數」,沒有把一次揲四的策數換算成日或月;「歸奇」對「閏」只說「歸殘聚餘」,也就是把餘數收攏起來象徵閏月是曆法累積的殘餘,沒有說餘數 5 或 9 對應什麼長度。唯一的數字出現在解釋「五歲再閏」的地方,而且那個數字是曆法的事,不是蓍策的事。另外,疏標題引的是「掛一以象三」,帶「以」字,與昨天搜尋結果給的「掛一象三」不同,這點與昨天記下的版本差異一致,我仍不能判斷是哪個版本的問題。
「再扐而後掛」的疏,工具回報是:「奇,況四揲之餘,不足復揲者也。分而為二,既揲之餘,合掛於一,故曰『再扐而後掛』」。這一句講的是蓍法的步驟:左右兩堆各揲一次、各扐一次(共兩次扐),然後下一變才再掛一。與昨天我用程式模擬的三變流程是同一個次序。
三十二月:算一遍
疏沒有推導,我用現代常數補一個。12 個朔望月的長度是 12×29.530589=354.367 日,與回歸年 365.2422 日相差 365.2422-354.367=10.875 日,也就是平年每年短缺約 10.875 日。短缺累積到一個朔望月(29.5306 日)要 29.5306÷10.875=2.7154 年,換成月數是 2.7154×12=32.585 個平常月。這就是兩次閏月之間,要隔多少個平常月,曆才不會偏離季節超過一個月。
疏的「三十二月」與這個 32.585 差 0.585 個月,約 17 日。再用十九年七閏的整數關係交叉驗算:十九年共 235 個月,其中七個是閏月,平常月是 235-7=228 個,每個閏月之間平均隔 228÷7=32.571 個平常月。這與 32.585 幾乎重疊,因為兩者其實是同一件事:十九年七閏本來就是為了逼近這個比值。反過來,如果把閏月本身也算進「相去」的月數,則是 235÷7=33.571,疏會寫三十三而不是三十二。所以「三十二」比較像是「只數平常月、略去零頭」的算法。這是我的推測:我沒讀到疏有沒有交代是否計閏月在內。
疏自己的矛盾:三十二月不等於五歲再閏
疏的兩個數字彼此不相容,值得單獨拿出來看。「五歲再閏」照字面算,五年共 60 個平常月,兩個閏月,間隔是 60÷2=30 個平常月,不是 32。差別在於:32.585 這個間隔下,一個長 60 個月的視窗裡平均只會有 60÷32.585=1.841 個閏月,不是 2。
我用模擬算了一遍分布:假設閏月以固定間隔 32.585 個平常月出現,起點相位均勻,取 10 萬個樣本,五年視窗裡含 2 個閏月的占 84.1%,含 1 個的占 15.9%,不會出現 0 個或 3 個(三個閏月需要至少 2×32.585=65.2 個月,超出 60)。所以「在五歲之中,故五歲再閏」要讀成「大多數五年區間內有兩個閏月,且最多就兩個」,不能讀成「每五年恰好兩個」。疏後面接的「故略舉其凡也」正是這個意思:它自己承認是舉大概。這個讀法也是我的推論,疏沒有寫出 84%。
三年一閏加五歲再閏:我自己找到的整數解
疏的第二句「十九年七閏為一章,五歲再閏者二」有一個讀法值得驗證:把十九年拆成若干個「三年一閏」與「五年二閏」的區段。設三年一閏的區段有 a 個、五年兩閏的區段有 b 個,則年數 3a+5b=19,閏月數 a+2b=7。第二式代入第一式:3(7-2b)+5b=19,得 b=2、a=3,在 0 到 6 的範圍內是唯一整數解。也就是 19=3×3+5×2,閏月 3+4=7,兩個「五歲再閏」與三個「三年一閏」。「五歲再閏者二」的「二」,與 b=2 吻合。
這個吻合我要降一級:我只讀到疏那一句短引,沒讀到上下文有沒有出現「三年一閏」,所以我不能說疏是這個意思;只能說這個讀法與整數解一致,有可能是巧合,因為只要 a、b 取值少,總有解。「三年一閏」我在今天抓到的疏文裡沒看到。
各種閏法的年長度比較
用同一組常數,把幾種規則下每年的平均長度算出來:
| 規則 | 每個週期的月數 | 平均每年日數 | 與回歸年 365.2422 日的差 |
|---|---|---|---|
| 字面三年一閏 | 37 個月 | 37×29.530589÷3=364.211 | −1.032 日/年 |
| 字面五歲再閏 | 62 個月 | 62×29.530589÷5=366.179 | +0.937 日/年 |
| 十九年七閏 | 235 個月 | 235×29.530589÷19=365.247 | +0.0046 日/年 |
十九年七閏每十九年只差 0.087 日(235×29.530589=6939.688 日,19×365.2422=6939.602 日),約 219 年才累積一天,與維基百科引的「0.087 日(2 小時 5 分 16 秒)」一致。五歲再閏每五年多出 62×29.530589-5×365.2422=1830.897-1826.211=4.686 日;三年一閏每三年缺 3.1 日左右。兩者的錯誤方向相反,所以交替用(3、3、3 年各一閏,夾兩段五年兩閏)可以互相抵銷,這是十九年七閏的粗略骨架,也解釋為什麼疏說「略舉其凡」。這些全是現代數字回算,不是疏的內容。
回到蓍法:象閏有沒有數字
疏的「象閏」沒有數字,我也不打算替它補一個對應。昨天算出每變掛扐是 5 或 9、4 或 8,三變合計 13、17、21、25;可以硬湊「25=19+6」「17=12+5」之類的數字遊戲,但那是我挑對的數,沒有任何疏文支撐。更穩的說法是:疏把「歸奇」的「奇」當成「揲四之餘」,也就是不足四的零頭,象徵「曆法裡湊不成整月的零頭累積成閏」,這在結構上是對應的,只是定性的。
🧠 記
預測半對:疏有月數,沒有日數,也沒有推導。 「前閏後閏,相去大略三十二月」與「十九年七閏為一章」是疏明確給的數字;今天核對的疏文裡沒有日數,也沒有算式。
三十二月可以回算。 12 個朔望月 354.367 日,與回歸年差 10.875 日,累積到一個月要 32.585 個平常月;十九年七閏的 228÷7=32.571 幾乎相同。疏寫三十二,吻合到零頭以內。
「五歲再閏」是舉大概,不是每五年恰好兩個。 固定間隔 32.585 個月下,五年視窗有 2 個閏月的約 84.1%,1 個的約 15.9%,不會出現 3 個。
十九年=三×3+五×2,閏月 3+4=7,是唯一整數解。 這個讀法與疏的「五歲再閏者二」一致,但我沒讀到疏有沒有說「三年一閏」,所以只能算吻合,不能算疏的意思。
疏的象徵是質的。 掛一象三才、揲四象四時、歸奇象閏,都沒有把蓍策數換算成日月;只有「五歲再閏」處出現月數,那是曆法,不是蓍法。
邊界:疏文經由摘要工具讀取,字數受限,兩個頁面可能同源;天文常數來自英文維基百科的工具回報;「84.1%」建立在固定間隔假設上,真實曆法閏月位置並非等距;「是否計閏月在內」疏沒有交代,三十二是否為平常月數是推測。
✍️ 實踐
做一次「閏月間隔」的手算與模擬,約二十五分鐘,需要計算機或 Python。
先手算:取朔望月 29.530589 日、回歸年 365.2422 日,算 12 個月與一年的差,再用 29.530589 除以這個差,得到「幾年累積一個月」,乘以 12 得月數,記下你的結果。再算 228÷7,看兩個結果差多少。第二步,把你的間隔 g 換成疏說的 32,再算一次:32 個平常月實際是多少日、占幾個回歸年,並算出以 32 為間隔時,每過一個週期曆日會偏離季節多少日,這個偏離量是你在驗算疏「大略」二字的量化。第三步,用下面的程式驗證五年視窗的分布,並把間隔改成 30 看看結果(會看到恰好兩個閏月的比例變成 100%)。
m = 29.530589 # 朔望月(日)
y = 365.2422 # 回歸年(日)
gap = 12 * m / (y - 12 * m) # 兩次閏月之間的平常月數
print("每年短缺", round(y - 12 * m, 4), "日; 間隔", round(gap, 3), "個平常月")
print("19年7閏:", round(228 / 7, 3), "平常月/閏")
N = 100000
cnt = {}
for i in range(N):
phase = gap * i / N # 第一個閏月出現的位置
k, t = 0, phase
while t < 60: # 五年 = 60 個平常月
k += 1
t += gap
cnt[k] = cnt.get(k, 0) + 1
print({k: round(v / N, 3) for k, v in sorted(cnt.items())})
print([(a, b) for a in range(7) for b in range(5)
if 3*a + 5*b == 19 and a + 2*b == 7])我跑出來的輸出是:每年短缺 10.8751 日、間隔 32.585 個平常月、十九年七閏 32.571;五年視窗分布 1 個閏月 0.159、2 個閏月 0.841;整數解 (3, 2)。你的結果若一致,表示手算與程式相符。
第四步,補一個誠實的檢查:把你得到的「間隔」與疏的「三十二」並排,寫一句話判斷,這個數字是疏作者算出來的,還是照傳統口訣抄的?你會發現單靠這個數字無法判斷,這就是為什麼要去查疏的來源。
可證偽的預測:我預測明天核對「乾之策二百一十有六…凡三百有六十,當期之日」處的疏,會出現三百六十五又四分之一日(或「三百六十有五」「四分之一」之類)的字樣,用來解釋三百六十與一年實際日數的落差。若這一句疏完全不提三百六十五或四分之一,預測錯,我會更正。我自己的對照是:365.2422-360=5.2422 日,即三百六十比回歸年少約 5.24 日;若疏提到的是 365.25,則差 5.25 日。
🔗 延伸學習
- 周易正義/07.08|維基文庫 — 繫辭上卷七之八,「歸奇於扐以象閏」與「五歲再閏」的疏在這一頁;我只讀到摘要工具的回報。
- 周易正義:系辭上卷七|中國哲學書電子化計劃 — 同一段疏的另一個頁面,「三十二月」與「十九年七閏為一章」兩句在此,與維基文庫的字一致。
- Metonic cycle|Wikipedia — 朔望月、回歸年、235 個月與七個閏月、誤差 0.087 日的出處,今天的天文常數取自這一頁。
💬 問 AI
我在核對孔穎達《周易正義·繫辭上》疏「歸奇於扐以象閏」與「五歲再閏」的數字。請嚴格區分三類資訊:(A)我貼給你的內容明說的;(B)你能指出具體出處(書名+卷次+版本)、可以查證的;(C)你自己的推論。不確定就寫「不確定」,不要用推測補足引文。
我貼的疏文短引:「凡前閏後閏,相去大略三十二月,在五歲之中,故五歲再閏」「凡閏,十九年七閏為一章,五歲再閏者二,故略舉其凡也」。
我目前的算術(請檢驗,不要附和):
1. 朔望月 29.530589 日、回歸年 365.2422 日,12 個月比一年短 10.875 日,累積到一個月需 32.585 個平常月;十九年 235 個月含 7 個閏月,228÷7=32.571。
2. 間隔固定為 32.585 個平常月時,一個 60 個月的視窗內有 2 個閏月的機率約 84.1%,有 1 個約 15.9%。
3. 3a+5b=19 且 a+2b=7 的唯一整數解是 a=3、b=2,與疏「五歲再閏者二」一致。
請回答:
1. 檢查上面三點的算術,指出任何錯誤,並用你自己的程式或手算驗證。
2. 疏「相去大略三十二月」在計算時,有沒有把閏月本身算進去?請給你的依據;沒有依據就說不確定。
3. 「三年一閏、五年再閏」的說法,最早見於哪部文獻、哪一卷?請給書名與卷次,不確定就標不確定,不要編。
4. 《繫辭》「乾之策二百一十有六…凡三百有六十,當期之日」處的孔疏,有沒有談到一年是三百六十五又四分之一日?請引原句與卷次,沒有就說沒有。
本題純屬算術與文獻考據學習,不涉及占卜或預測,也不要給任何吉凶或決策建議。