4.1 尚芬哥爾操作
一
我們對上古漢語的解析系統 (parsing system) 使用了升型處理,故有需要在這裡略為陳述這個邏輯概念及操作的背境。
在邏輯模仿數學的公理化過程中,對基元 (primitives) 的化約一直以來都受到邏輯學者的關注。從布爾代數到由弗雷格確立的第一個命題邏輯公理系統到羅素及懷德海的《數學原理》出版前後,對基元進行化約的努力幾乎同步並進。
所謂的「基元」100 不外乎是在公理中出現的一些使某系統得以成形的語構成份。
以語句邏輯 (或命題邏輯) 為例,隨了合式公式或命題之外,真值函數算子 (truth-functional operators) 如「¬」(非)﹑「⋀」(和)﹑「⋁」(或)﹑「→」(如果 ... 那麼 ...)﹑「↔」(等價) 都是語句邏輯的基元。
如果我們把這些算子的推演規則當作公理使用,可以想見,算子越少,該公理系統便可能會變得越簡潔。對簡潔的追求只是化約的其中一個動機。
另一個比較值得注意的動機與當時興起的數學基礎研究密不可分。
再以語句邏輯的真值函數算子為例,如果有一個算子 α 可以取代多個算子,即 α 的表達能力足以取代多個算子的表達能力,那麼 α 便顯然比被取代的算子更具基礎性了。
弗雷格和武卡西維茲的公理系統都以「¬」和「→」算子為界定,羅素及懷德海的《數學原理》和希爾伯特-阿克曼系統則以「¬」﹑「→」和「⋁」為界定。法國哲學及邏輯學者尚‧尼科 (Jean Nicod) 則以「|」符號取代所有的算子,其系統只需一條公理。這個「|」稱為「謝費爾豎線」(Sheffer's stroke),由波蘭猶太裔美國人亨利‧謝費爾 (Henry M. Sheffer) 引進。謝費爾在 1913 年發現及證明了只需使用單一個初始二元操作 (primitive binary operation) 即可界定布爾代數系統。[Sheffer 1913] 用於這個二元操作的算子就是謝費爾豎線,亦即所謂的「NAND」(非合取)。101
俄國數學及邏輯學者摩西斯‧尚芬哥爾 (Moses Schönfinkel) 在謝費爾豎線的基礎上對邏輯的基元再作進一步的化約。
謝費爾豎線的節約功能主要用於命題邏輯 (屬零階邏輯),尚芬哥爾的目的是要將其節約功能延展至謂詞邏輯 (一階邏輯),最終則是引進組合子 (Kombinatoren;在一些脈絡中即高階函數),以消除變元。102
按照20世紀的美國邏輯學家奎因 (W.V.O Quine) 的說法,尚芬哥爾於1920年在德國哥廷根大學的《哥廷根數學學會》的12月7日的每週例會中陳述了他的整個方案。[Schönfinkel 1924, 355﹔奎因為該文寫的序]
1924 年在第 92 期的 Mathematische Annalen (《數學年鑒》) 發表的 Über die Bausteine der mathematischen Logik (論數理邏輯的構件) 實由曾經出席了當日的《哥廷根數學學會》每週例會的海因里希‧貝曼 (Heinrich Behmann) 補寫並代為發表。
尚芬哥爾的突破性創見可說是一體兩面﹕一是使函數可以成為論元,另一是設計了一個方法,使任一多元函數均可以表達為一個 (或一系列的) 單元函數。103
__________
100 在一階邏輯中,基元就是邏輯常項 (logical constants),包括量詞 (quantifiers) 和邏輯聯結詞 (logical connectives) —— 亦即下文提及的真值函數算子 —— 兩大類。
101 查爾斯‧桑德斯‧皮爾士早於十九世紀後期便引進了「↓」符號,即所謂的「NOR」,稱為「皮爾士箭頭」,並且演示出這個算子足以表達涉及兩個變元的任何邏輯操作。 NOR 是 NAND 的對偶式 (dual)。就上述的表達能力而言,兩者都是完全的 (complete)。
102 在進行替代操作之後,被替代項中的自由變元可能在完成項中變得受約束﹔這是一階邏輯的一個問題。尚芬克爾意圖解決這個問題。
103 奎因恰當地指出 [Schönfinkel 1924, 355],任一多論元函數均可以化約為一個 (或一系列的) 單元函數的觀點可以追溯至弗雷格的《算術的基本原則》(1893) 的第36節﹔事實上,弗雷格似乎很早便開始思考函數的性質,並且採取了一個頗為「靈活」的態度。類似的意見可見於《概念文字》(1879) 的第9節。
待續