杜國平
(中國社會科學院 哲學研究所, 北京 100732)
張清宇先生從1995年開始發表文章,闡述其在形式語言中只用括號、不用聯結詞的基本思想,并構建了一系列邏輯系統。本文擬對先生的這一開創性工作做一些闡發,并對相關研究工作做進一步推進。張清宇先生已經離開8年了,但授課之狀仍歷歷在目,謹以此文緬懷先師。
一個邏輯系統的形式語言基本上包括三類符號:變元符號、常元符號和結構符號。變元符號一般指的是在給定論域中表示不確定對象的符號,如命題變元p、q、r等等,個體變元x、y、z等;常元符號指的是在給定論域中表示確定對象的符號,如命題常元符號T,真值聯結詞符號﹁ 、∧等;結構性符號指的是確定符號之間的間隔、結合和順序關系的符號,它發揮確定符號的結合順序、運算層次和排除歧義的功能,如逗號、左右括號等。在一般的邏輯系統中,三類符號各司其職,協同發揮著描述所研究對象的功能。
張清宇先生則創造性地建立了一套新的符號系統,這套符號系統只使用括號而不使用命題聯結詞和量詞,使括號既表達特定聯結詞的邏輯功能又發揮括號本身的結構性功能。在文獻[2]中,其技術處理的核心要旨是使用命題常項“t”和括號“( )”發揮命題聯結詞的作用。“(AB)”相當于“A∧(﹁B)”,即對于一個真值賦值v,v(t)=1;v((AB))=1當且僅當,v(A)=1且v(B)=0。在文獻[3]和[4]中,使用命題常項“T”和括號“( )”發揮命題聯結詞的作用,并擴展為使用括號“( )”進一步發揮量詞的作用。“(AxB)”相對于“?x(A∧﹁B)”,即,給定一個模型U=(D,I)和U的一個指派α,TI,α=1;(AB)I,α=1當且僅當,AI,α=1且1I,α=0;(AxB)I,α=1當且僅當,對α的某個x-變異1,(AB)I,β=1。其他聯結詞均可以通過定義而引入,如:

A∧B=def(A(TB))
A∨B=def(T((TA)B))
A→B=def(T(AB))
?xA=def(Tx(TA))
?xA=def(T(TxA))[4]25-68
這樣,括號一方面發揮了結構性功能,另一方面也可同時表達命題聯結詞和量詞的功能。準確、簡潔,完全可以媲美波蘭表示法!
在此,需要澄清一個問題,“不用聯結詞”指的是在形式語言中沒有直接使用常用的命題聯結詞符號,并非指的是在形式語言中語義上完全沒有表達聯結詞功能的符號。今后,我們將把在形式語言中不用聯結詞而只使用括號的邏輯符號表示法統稱為括號表示法,以區別并比照于波蘭表示法。
一個符號往往承載著不同的功能,如符號C通常作為一個英文大寫字母,但是在波蘭表示法中,它具體的語義功能是表示命題聯結詞的“蘊涵”。因此,形式語言中的符號至少存在著兩個功能:一是在語法層面上的語形功能,一個是在解釋層面上的語義功能。在波蘭表示法中,符號N、A、K、C等一方面在語形上是命題之間的連接符號,另一方面在語義功能上承載著真值函數運算功能和結合的次序功能。同樣,在括號表示法中,括號作為一個技術性符號,它語形上呈現的是結構性功能,但是在語義上,它也同時承載著真值函數的運算功能和結合的次序功能。所以,無論是不用括號的盧卡西維茨的波蘭表示法還是只用括號的括號表示法,都僅僅指的是在語形上的呈現,而不是指它們在語義層面上沒有排除歧義等的結構功能或表達邏輯運算的真值函數功能。所以,“不用聯結詞”僅僅指的是語形層面上的,而不是語義層面上的。在語義功能上,不論是波蘭表示法還是括號表示法,無疑都有承載真值函數功能的“聯結詞”。
機器識別的首先是語形層面上的形式語言,無論是波蘭表示法還是括號表示法均如此,因為其符號簡單、無歧義,便于機器的實現和識別,這是其獨特的應用價值。另外,探究符號的不同表達功能,可以進一步加深對符號形式處理技術的理解。可以認為,波蘭表示法和括號表示法是邏輯符號表示法的兩個相互映襯的典范!
邏輯聯結詞在語形上的作用是作用于已有公式之上形成新的公式,如一元聯結詞“﹁ ”作用于單個公式“p”之上可形成新公式“(﹁p)”,二元聯結詞“C”作用于兩個公式“p”“q”之上可形成新公式“Cpq”。“T”作用于0個公式之上形成公式“T”,在此意義上,可將“T”視為0元聯結詞。從語義上看,在通常的語義解釋中,對于一個真值賦值v,v(﹁α)=1-v(α),“﹁ ”是一個1元函數運算;v(α∧β)=min(v(α),v(β)),v(α∨β)=max(v(α),v(β)),v(α→β)=max((βαv(α)),v(β)),“∧”“∨”“→”均是一個2元函數運算。而v(T)=1,恰是一個0元函數運算。因此,“T”可看作一個0元聯結詞,這正如在一階語言中,將個體常項看成0元函數符號一樣[4]26。
但如果純粹從語形層面來看,“T”無疑是作為一個命題常項出現的。因此,在文獻[2][3]和[4]等的括號表示法中,說“不用聯結詞”是完全可以的。
張清宇先生在文獻[2]建立的公理系統H中,可能是出于對括號的引入和消去的考慮,有形如t(A(t((tB)(AB))))、t((AB)A)和t((AB)(tB))等公理,這增強了公理系統的直觀性,也便于簡化系統內定理的證明。但是,如果從公理系統的簡潔性方面去考慮,這些公理并非都是必須的。
下面,我們將證明公理系統H中的公理模式(也簡稱為公理)并非都是必須的,即公理系統H不具有獨立性。我們可以將公理系統H進行簡化,刪除其中的公理1、公理4和公理5,只保留其中的公理2、公理3、公理6等3條公理和推理規則t(E),簡化后的公理系統簡記為QY。即公理系統QY包括如下公理(模式)和推理規則:
1. t(At(BA))
公理系統H之公理2
2. t((t(A(t(BC))))(t((t(AB))(t(BC)))))
公理系統H之公理3
3. t((t((tA)B))(t((t((tA)(tB)))A)))
公理系統H之公理6
推理規則即公理系統H之推理規則t(E):由A和t(AB)可得出B。
可以證明公理系統H中的公理1、公理4和公理5都是系統QY的定理。

1. t((t(A(t((t(AA))A))))(t((t(A(t(AA))))(t(AA)))))
公理系統QY之公理2
2. t(A(t((t(AA))A)))
公理系統QY之公理1
3. t((t(A(t(AA))))(t(AA)))
1、2,公理系統QY之推理規則t(E)
4. t(A(t(AA)))
公理系統QY之公理1
5. t(AA)
3、4,公理系統QY之推理規則t(E)
定理1即為公理系統H之公理1。在定理1的證明中,只用到了公理系統H的公理2、公理3以及推理規則t(E)。
在公理系統H中證明演繹定理時,只使用了公理系統H的公理1、公理2、公理3以及推理規則t(E)[2]。因為公理系統H的公理1可以由公理系統H的公理2、公理3以及推理規則t(E)被證明而作為系統QY的一個定理。因此,在系統QY中演繹定理顯然是成立的。所以,在下面的證明中,如果需要,我們將直接使用演繹定理。

1.A
hyp
2. (tB)
hyp
3. t(AB)
hyp
4.B
1、3,公理系統QY之推理規則t(E)
5. t((t(AB))B)
3~4,公理系統QY之演繹定理
6. t((tB)(t((t(AB))(tB))))
公理系統QY之公理1
7. t((t(AB))(tB))
2、6,公理系統QY之推理規則t(E)
8. t((t((t(AB))B))(t((t((t(AB))(tB)))(AB))))
公理系統QY之公理3
9. t((t((t(AB))(tB)))(AB))
5、8,公理系統QY之推理規則t(E)
10. (AB)
7、9,公理系統QY之推理規則t(E)
11. t((tB)(AB))
2~10,公理系統QY之演繹定理
12. t(A(t((tB)(AB))))
1~11,公理系統QY之演繹定理
定理2即為公理系統H之公理4。

1. t((t((tA)(tA)))(t((t((tA)(t(tA))))A)))
公理系統QY之公理3
2. t((tA)(tA))
公理系統QY之定理1
3. t((t((tA)(t(tA))))A)
1、2,公理系統QY之推理規則t(E)
4. t((t((t((tA)(t(tA))))A))(t((t(tA))(t((t((tA)(t(tA))))A)))))
公理1
5. t((t(tA))(t((t((tA)(t(tA))))A)))
3、4,公理系統QY之推理規則t(E)
6. t((t((t(tA))(t((t((tA)(t(tA))))A))))(t((t((t(tA))(t((tA)(t(tA))))))(t((t(tA))A)))))
公理2
7. t((t((t(tA))(t((tA)(t(tA))))))(t((t(tA))A)))
5、6,公理系統QY之推理規則t(E)
8. t(((t(tA))(t((t()(t(tA)))))
公理系統QY之公理1
9. t((t(tA))A)
7、8,公理系統QY之推理規則t(E)
此定理即為雙否消去律。

1. (AB)
hyp
2. (tA)
hyp
3.A
hyp
4. t((tA)(t((tB)(tA)))
公理系統QY之公理1
5. t((tB)(tA)
2、4,公理系統QY之推理規則t(E)
6. t((A)(t((tB)A))
公理系統QY之公理1
7. t((tB)A)
3、6,公理系統QY之推理規則t(E)
8. t((t((tB)A))(t((t((tB)(tA))B))
公理系統QY之公理3
9. t((t((tB)(tA))B)
7、8,公理系統QY之推理規則t(E)
10.B
5、9,公理系統QY之推理規則t(E)
11. t(AB)
3~10,公理系統QY之演繹定理
12. t((tA)(t(AB)))
2~11,公理系統QY之演繹定理
13. t((AB)(t((tA)(AB))))
公理系統QY之公理1
14. t((tA)(AB))
1、13,公理系統QY之推理規則t(E)
15. t((t((tA)(AB)))(t((t((tA)(t(AB))))A)))
公理系統QY之公理3
16. t((t((tA)(t(AB))))A)
14、15,公理系統QY之推理規則t(E)
17.A
12、16,公理系統QY之推理規則t(E)
18. t((AB)A)
1~17,公理系統QY之演繹定理

1. (AB)
hyp
2. t((AB)(t((t(tB))(AB))))
公理系統QY之公理1
3. t((t(tB))(AB))
1、2,公理系統QY之推理規則t(E)
4. t(tB)
hyp
5.A
hyp
6. t((t(tB))B)
公理系統QY之定理3
7.B
4、6,公理系統QY之推理規則t(E)
8. t(AB)
5~7,公理系統QY之演繹定理
9. t((t(tB))(t(AB)))
4~8,公理系統QY之演繹定理
10. t((t((t(tB))(AB)))(t((t((t(tB))(t(AB))))(tB))))
公理系統QY之公理3
11. t((t((t(tB))(t(AB))))(tB))
3、10,公理系統QY之推理規則t(E)
12. (tB)
9、11,公理系統QY之推理規則t(E)
13. t((AB)(tB))
1~12,公理系統QY之演繹定理
定理4、定理5即為公理系統H之公理5。
對公理系統H的公理簡化之后得到的公理系統QY和通常的命題邏輯希爾伯特系統只存在一個差異。即推理規則的差異,一個是分離規則,一個是t(E),而根據QY中“A→B”的定義,這兩者顯然是定價的。
這樣簡化后的公理系統QY就是一個和通常的命題邏輯希爾伯特型系統相等價的系統[5]16-29。因此,該系統具有可靠性和完全性。
在文獻[3]和[4]中,張清宇先生構建了不用聯結詞和量詞的一階邏輯公理系統QH。在通過定義引入聯結詞“﹁ ”“?”和全稱量詞“?”之后,在QH中實際上包含了語形聯結詞“﹁ ”“?”和全稱量詞“?”,并且其中除了括號“( )”之外,還包括方括號“[ ]”。我們可以將該系統使用括號表示法并使之純粹化,可以在公理系統QY(原有 3條公理)的基礎上增加如下公理(模式)和推理規則從而得到一階邏輯公理系統QQY:
4. T((T(Tx(T(AB(x)))))(T(A(T(TxB(x)))))),x不在A中出現
5. T((T(TxA(x)))A(m)),A(m)是由將A(x)中的x全部替換為m而得(m是個體常元)
可以證明,一階邏輯公理系統QQY和通常的一階謂詞邏輯系統等價[5]70-98,可參閱文獻[5]。因此,該系統同樣具有可靠性和完全性。
值得注意的是,在一階邏輯公理系統QQY中,括號既有結構性功能,如“A(u)”中的括號;也有聯結詞功能,如“(AB)”中的括號;還有量詞功能,如“(AxB)”中的括號。