λ 運算︰概念導引《四》

濮陽西水坡蚌殼龍虎圖

古人用蚌殼擺塑出了一幅天文星圖,其年代约為距今6500年

凌家灘玉版

良渚文化玉琮

曾侯乙墓二十八宿漆箱五面圖象

新石器時代仰韶文化中期,一個六千五百年前『濮陽西水坡』的墓穴,裡頭有一幅用『蚌殼』堆出的『龍虎圖』,刻意擺放的骸骨方位,到底在說著些什麼呢?中國的天文考古學家馮時先生認為︰

文本引自鄭杭生胡翼鵬先生所寫的論文《天道左旋,天圆地方:社會運行的溯源和依據

對這組蚌殼龍虎圖案解說最深入的研究者是天文考古學家馮時。馮時認為,解釋這幅蚌塑龍虎圖案的關鍵是墓主人脚下、正北面的那個蚌塑梯形與人體脛骨组成的圖案:這是一個北斗的造型,蚌塑梯形表示斗魁,東側横置的兩根脛骨表示斗杓,所以這是一個構造十分完整的二象北斗天象圖。

蚌塑梯形與脛骨構成的北斗圖象,不儘是從形狀上認證,更主要的是從表示斗杓的兩根人體脛骨去尋找線索。古代計算時間的一種方法,是通過對人體影子長短變化的測量,所以最初的測影工具是模仿人體来設計的,這就是“”。正是因為人體、表與時間具有這種特殊關係,所以古人把計量時間的表叫作“”,而“髀”的本 義是人體的腿骨,從大量的史料文獻中可以找到證據,古代測量日影的工具“表”就是由人骨轉變而來,所以人骨在作為一個生物體的同時,在古代還曾充當過測定日影的工具。濮陽西水坡45號墓中的北斗圖,把腿骨、表和時間這三個方面聯繫起来,體現了古人通過立表測影和觀測北斗來測定時間這兩種方法的結合。在這個蚌殼梯形與脛骨的構圖中,脛骨的意義就是表示測定時間的工具。而北斗星也是古代中國人觀望天象,以此作為决定時間的標準星象。所以以脛骨作為這個構圖的長 柄,結合整個構圖,可以認定蚌殼梯形與脛骨構成的圖案就是北斗星。確定了北斗星,再聯繫整個圖象的布局和造型,那麼這副蚌殼擺塑的龍和虎就只能作為星象來解釋,這樣本來孤立的龍虎圖由于北斗的存在而被自然地聯繫成了整體,成為天上的星宿和星象,即四象中的蒼龍白虎。而那個制式奇特的墓穴,其形狀實際呈現了最原始的蓋天圖式,下半部的方形是大地,上半部的圓形是天穹,實則蕴藏著最原始的“天圓地方”觀念。

這個只有蚌殼作為随葬物品的墓穴中, 竟然隱藏著“天”的秘密,陪葬墓主人的居然是整個天上的星斗。而那個北斗星的斗魁用貝殼,表明斗魁在天、在上;斗柄用人的腿骨,表明斗柄指地、在下。在 天、在上,為、為;在地、在下,為、為。它實際反映著古人頂天立地的幻想,所體現的是蒼天與大地的配合或聯繫,是神、鬼、人的相互交往。 而且 6500 年前的古人對天象有如此精細的認識,說明他們的生活時時刻刻離不開對天象的觀察,不僅僅是觀象授時的實用層面上的應用,而如此虔誠的模擬,更說明他們的思想觀念和行為活動都受著“天”的無形制約。

在《馬太福音 25:29;》一文中,我們談到了『北極星』的不動與『太陽』之視運動,遠古之人就從觀察實踐中得出了『天圓地方』的『理念』,以及『天左旋,地右動』的『道理』。人們因著『觀測』天地事物,而能建立『理論』;追究『概念』的『緣由』以及『理則』之『依據』,所以創發『哲學』。因此在生活學習的道路上,其實是『事無古今,理無中外』,彼此『同異之間』的『匯通處』往往就是『基元』的『觀念』;『基元觀念』的不同『詮釋』成為相異的『學說體系』。事實上『字串改寫系統』、『圖靈機』與『 λ 運算』,說著『□□』的不同『側寫』,彼此之間可以用『○○』來對應『轉譯』,人們或說『』或講『』的各種『詮釋』就祇在其人的了!!

假使說給定了一個『 λ表達式(\lambda x. ((\lambda y. (x \ y)) \ \Box)  \ \bigcirc),有人『第一步』這樣作『 \beta 化約』︰

((\lambda y. ( \bigcirc \ y))  \ \Box )

,也有人『第一步』這樣作『 \beta 化約』︰

(\lambda x. ( (x \ \Box )   \ \bigcirc)

,這樣不同的『步驟選擇』是否會產生『不同結果』的呢?如果說再次繼續進行『 \beta 化約』,兩者都會得到︰

(\bigcirc \ \Box )

,於是我們就可以歸結的說『 \beta 化約』不管是用著怎麽樣的『步驟次序』,都一定能夠得到『相同結果』的嗎??

為了考察不同次序步驟的『化約策略』,首先讓我們定義『單步 \beta 化約』︰

A \equiv_{\beta^1}  B

是指表達式 B 是經由表達式 A 中的某一函式應用子表達式 C =_{df} ((\lambda x. M) N)\beta 化約』而得來。假使『約定』零步 \beta 化約是說 『A \equiv_{\beta^0}  A』,這樣我們就可以說『單步』或『多次單步』之『單步 \beta 化約』的『化約封閉性』︰

U \equiv_{\beta^*}  V

,是講存在一個『單步 \beta 化約』的『序列

U =_{df} S_1, S_2, S_3, \cdots, S_k, S_{k+1}, \cdots, S_n =_{df} V, \ S_k \equiv_{\beta^1} S_{k+1}, k=1\cdots n

。某一表達式 U 我們稱它是『 \beta 可化約\beta-redex 是指這個表達式還有『未化約』的子應用表達式 ((\lambda x. M) N) 。如果經過『有限的』化約序列,最終抵達一個『沒有未化約』的表達式 V,也就是說 V 中沒有 \beta-redex,這時我們將 V 稱之為『 \beta 正規元型』normal form。於是我們就可以問︰

各種不同的『化約序列』如果存在『 \beta 正規元型』,那它們是相同的嗎?

Church-Rosser 定理】說

如果 P \equiv_{\beta^*} Q 而且 P \equiv_{\beta^*} R;那麼就會存在一個 S, 使得 Q \equiv_{\beta^*} S 以及 R \equiv_{\beta^*} S

所以可以講不同的『化約序列』之『 \beta 正規元型』,除了其內函式中的『受約束變元』之『虛名』不同外 ── 可以作『 \alpha 變換』使之一樣 ──,都是『相同的』。這是一個非常重要的歸結,設想萬一它不是這樣,那所謂的『計算』不就成『笑話』了嗎!然而需要小心的是『 \beta 化約』是『單行道』,也就是說 A \equiv_{\beta} B 成立,並不代表 B \equiv_{\beta} A 正確。比方講 ((\lambda x. x) a) \equiv_{\beta} a,從結果變元 a 又要怎麼得回原來函式應用的呢?

那麼『 \beta 化約策略』Reduction Strategy 又是什麼呢?它是一個『函式RS,可以定義如下︰

一、『定義域』與『對應域』是『所有的 λ 表達式』構成的集合

二、如果 e 是一個『 \beta 正規元型』,RS(e) = e

三、假使 m 不是『 \beta 正規元型』,化約策略會依據特定方式選擇 m 中的某一『優先\beta-redex 子表達項 tRS(m) = t

這樣看來 RS 函式選擇了特定的『步驟次序』── 策略 ── 來作『單步 \beta 化約』,這也是『程式』之『最佳化』optimize 的源起。然而不是每種『化約策略』都能夠抵達存在的『 \beta 正規元型』。舉例說兩種簡單的『』和『』化約策略,它總是優先選擇表達式中的『最左』與『最右\beta-redex 子表達項 。

TIW

考慮用『左右』策略化約下面的表達式

(((\lambda x. (\lambda y. x)) (\lambda z. z)) (\lambda w. (w w)))

用『』策略會得到『上圖』,用『』策略會卡在 (\lambda w. (w w))

所謂的『正規策略』是說用這個策略能夠得到『所有可能存在的\beta 正規元型事實上從邏輯推理可以證明『最左優先』策略是一種『正則策略』,果真是『天左旋』的乎!!

最後讓我們談談『』的概念以及『等號 =』的使用,相等和『邏輯推導規則』有關︰

一、 \frac{}{X = X},無條件自反律

二、 \frac{X = Y}{Y = X}對稱律

三、 \frac{X = Y \wedge Y = Z}{X = Z}遷移律

此處的 \frac{Premises}{Conclusion} 是講,如果由『前提』Premises,我們可以邏輯上推導出『結論』Conclusion。也就是說這是廣義的『相等』關係的『內涵』。

此處雖然並不定義『 λ 運算』中所謂的『等式』到底是指什麼?只是從『基元』觀點下,就是說假設我們基本『知道』或者『同意』兩個表達式『A = B』所指的意義── 比方說指相同的計算結果 ──,於是我們可以提出下面的『 λ 理論』︰

一、 \frac{M = N}{(A M) = (A N)},『應用』於『等式』之『結果』相等

二、 \frac{M = N}{(M A) = (N A)},『等式』之『函式』的『應用』相等

三、 \frac{M = N}{(\lambda x. M) = (\lambda x.N)},『等式』之『函式抽象』相等

四、 \frac{}{((\lambda x. M) A) = M[x := A]},『應用』是無條件的『化約相等

五、 \eta 擴張, \frac{}{(\lambda x. (M x))  = M},『外延』相同的『函式』相等

漣漪

干涉

 

簡單的將『變元』、『函式』和『應用』結構起來形成的『 λ 運算』,彷彿是『概念』的『水滴』墜落『心湖』,激起『思想』的『浪花』。這些『浪花』彼此『碰撞』,掀起陣陣『漣漪』,最後『波光』點點,早就分不清哪兒是『始點』,哪兒又是『終點』!!