一、含混性引發的邏輯疑難
根據二值原則,我們言說某事物的話語是或者真或者假,因此相對于會話語境我們表達話語的語句就有確定真值。按照弗雷格、羅素和早期維特根斯坦的觀點,一種邏輯上完善的語言是二值的,并且這種語言中的每個合式公式都是或真或假,可見二值對于現代邏輯核心的形式系統的所有標準解釋是必不可少的。然而,二值原則對于日常語言的許多語句是成問題的。我們看下列三個語句:
(1)明年 12 月 21 日中午我將在北京。
(2)飛馬有一條白色的后腿。
(3)蒂莫西·威廉姆森(Timothy Williamson)是瘦的[1] 185.
語句(1)涉及未來偶然事件,因為它在當下時刻既不能肯定也不能否定,只是可能而非必然,所以它既不真也不假。語句(2)包含空名或虛構名稱,即其中的單稱詞項“飛馬”沒有指稱,所以它也沒有確定真值。語句(3)同樣沒有確定真值,因為它包含的謂詞“是瘦的”具有含混性(vagueness)。
通常,我們把“是瘦的”這類謂詞稱作含混謂詞,日常語言中有許多這樣的詞,如“是禿頭”、“是高的”等。含混謂詞的主要特征是它應用來描述的事物情形與不能應用來描述的事物情形之間沒有精確邊界,總會出現邊界情形(borderline case)。以“是瘦的”為例。它可以用來描述體重僅為 50 公斤的成年男性,不能用來描述體重 100 公斤的成年男性,但它能否用來描述體重 75 公斤的成年男性則是不確定的。因此,就威廉姆森的身材來說,沒有人知道他是否是瘦的,即使將他的體重測量結果與其他人進行比較也無法做出斷定。于是,類似體重 75 公斤的人這樣的情形就屬于含混謂詞“是瘦的”的邊界情形。當描述邊界情形時,包含含混謂詞的語句沒有確定真值,我們把這樣的語句稱作邊界語句(borderline sentence)。上述語句(3)就可能是一個邊界語句?;诖?,排中律的一個實例“或者威廉姆森是瘦的或者威廉姆森不是瘦的”也沒有確定真值。因此,日常語言的含混性導致經典邏輯的排中律或二值原則失效。
不僅如此,當我們用經典邏輯的有效規則對包含含混表達式的語句進行推理或論證時,堆垛悖論(sorites paradox)便會產生出來。含混謂詞應用的情形沒有精確邊界,這就意味著它指稱的概念的外延沒有固定界限,或者說它的外延邊界是彈性的。按照萊特(C. Wright)的觀點,含混謂詞具有容忍性(tolerance),也即它能夠容忍謂詞外延范圍內的細小變化而不會造成大的影響.例如,如果“是瘦的”可以應用于體重 50 公斤的成人,那么它也可以應用于體重 50.1 公斤的成人。我們可以用含混謂詞“是瘦的”描述這樣一個序列的事物:a0,a1,a2,……,an,其中 a0表示“體重 50 公斤的成人”,an表示“體重 50+n/10 公斤的成人”.這樣的序列我們稱作堆垛序列,在這個序列上任意兩個相鄰事物間的差異非常之小以致無法區分,如果含混謂詞可以應用于 an,那么它必定也可應用于 an+1.此外,含混謂詞可以明確地應用于序列的第一個事物,而不能應用于序列的最后一個事物。顯然,“a0是瘦的”為真,并且對于任意 n(n 為自然數),如果“an是瘦的”為真,那么“an+1是瘦的”也為真。經過連續多次運用分離規則(modus ponens),我們可以證明體重 100 公斤的成人是瘦的(也即 n=500)。這個結論明顯為假。我們可以換用不同的含混謂詞做出同樣論證,例如“是禿頭”、“是紅的”,最后得到的結果分別是“無論有多少頭發我總是禿頭”、“紅色是藍色”.
借用這種堆垛論證,我們幾乎可以證明任何明顯為假的事情。堆垛論證有許多不同種類的形態,海棣(D.Hyde)曾給出六種不同的論證型式[3] 1~17.我們在此主要關注它討論最多的標準型式,也即條件句型式的堆垛論證。我們熟知的(谷)堆悖論和禿頭悖論都可使用這種型式表達。令 F 表示含混謂詞,a0,a1,a2,……,an表示相應的堆垛序列的事物,條件句型式的堆垛論證可以表述如下:
堆垛論證之所以稱為悖論,是因為它的前提都看起來為真,推理也是有效的,結論卻為假。關于悖論,我們至少可以有三種方式拒斥它:或者證明它的論證不可靠,因為它實際上有某個或某些假的前提;或者證明它的論證形式無效,因為它使用的推理形式無效;或者兩者兼有之。確實,一種好的含混性解釋理論應當能夠提供堆垛悖論的一種好的解決方案。
二、三值邏輯的解決方案
既然經典二值邏輯不能處理含混性問題,作為基于哲學的考量而產生的第一個非經典邏輯,多值邏輯自然被用作一種替代方案。我們這里僅考慮三值邏輯。不過,大多數三值邏輯的產生不是由于含混性問題。例如,皮爾士(C. S. Peirce)既關注過含混性問題又考慮過三值邏輯,但是他沒有發表他的三值表,我們也不清楚他對三值邏輯的信念有多堅定,所以皮爾士是否有意將三值邏輯的基本原理應用于含混性問題尚不得而知。盧卡西維茨在 1920 年代正式提出的第一個三值邏輯系統也是基于自由意志或非決定論問題。俄國數學家鮑契瓦爾(D. Bochvar)在 1937 年提出兩個非常不同的三值邏輯系統,但他的動機是為了解決經典邏輯和集合論中出現的悖論,特別是說謊者悖論??肆郑⊿. C. Kleene)在 1938 年受到數學基礎研究的啟發創立了一種強三值邏輯,后又在 1952 年的《元數學導論》中建立弱三值邏輯,但他的動機主要來自算術。
第一位嘗試將多值邏輯用來解釋含混性的人是瑞典邏輯學家哈爾登(S. Hallden)。他在 1949 年的著作《無意義的邏輯》中認為,一個命題是“無意義的”意指它既不真也不假.因此,邊界語句的真值就是無意義,既不真也不假。例如,“1000 根頭發的人是禿頭”是“無意義”命題。哈爾登通過采用一種包含真、假和無意義的三值邏輯來適應“無意義”的語言。為此,他給出一個包含二值真值表的三值表,如果每個支命題是真或者假,那么復合命題擁有與二值表相同的真值;如果任何一個支命題是“無意義”,那么復合命題也是“無意義”(見表 1)。除了表 1 所示真值表外,哈爾登還引入一個新的一元算子+.+p 意味著 p是“有意義的”.因此,如果 p 是“無意義”,+p 就為假而不是“無意義”.否則,它為真(見表 2)。因此,┐+p意味著 p 是“無意義”.哈爾登將真和無意義都當作指派值,也即非假的保存。他給出的有效性定義是:一個公式是有效的,只要它不為假而不必為真。
顯然,根據哈爾登的三值邏輯,條件句型式的堆垛論證是一個無效論證,因為它使用的推理規則是無效的。也就是說,分離規則在哈爾登的三值邏輯系統內是無效的。我們來檢驗這個規則的一個應用形式是否有效,也即從(p∨┐p)→+p 和 p∨┐p 到+p 的推理。無論我們如何賦值,它的兩個前提都不為假,但當 p 是“無意義”時它的結論為假。因此,分離規則對于涉及算子+的公式無效。我們再看分離規則對不涉及算子+的公式是否有效。當 p 是“無意義”并且 q 為假時,前提 p→q 和 p 不為假而結論 q 為假,分離規則仍然無效。由此可知,根據哈爾登的三值邏輯的有效性定義,分離規則缺少有效推理形式的屬性:當前提采取指派值,結論也取指派值。但是,按照這個有效性定義,排中律是有效的,因為它雖然不為真但也不為假,而這與排中律在含混語言中失效的觀念相矛盾。因此,哈爾登的三值邏輯似乎不是適合含混語言的有效邏輯。
科爾納(S. Korner)在 1966 年的著作中用一種不同版本的三值邏輯來處理含混性問題[5] 37~40.科爾納將他的三值邏輯稱為“不確切概念的邏輯”.根據科爾納的觀點,不確切性源自事例所定義的概念的邊界情形。這樣的概念 F 將對象劃分為:正面候選者,也即必定被選擇為 F 的正面實例;反面候選者,也即必定被選擇為反面實例;以及中立候選者,也即可能選擇為正面或反面實例,這依賴于自由選擇。由此,就有一種三值的前選擇邏輯和一種二值的后選擇邏輯。概念的三種候選者對應三種命題:真、假和中立。真和假被想象為穩定態,中立被想象為臨時態。我們可以通過自由選擇選取一個中立命題為真或假??茽柤{的三值語義真值表如下(表 3):
從科爾納的三值表,我們看到否定和等值聯接詞的語義解釋與哈爾登的三值表相同。但是兩者也有不同:首先,科爾納取消了哈爾登的一元算子+的真值表;其次,對于合取聯接詞,當一個合取支為假而另一個合取支是中間值時,根據哈爾登的三值表合取式為中間值而根據科爾納的三值表合取式為假;再次,對于析取聯接詞,當一個析取支為真而另一個析取支為中間值時,根據哈爾登的三值表析取式為中間值而根據科爾納的三值表析取式為真;最后,對于蘊涵聯接詞,當前件為中間值而后件為真,或者當前件為假而后件為中間值時,根據哈爾登的三值表條件句為中間值而根據科爾納的三值表條件句為真。
科爾納似乎沒有明確說明將哪個或哪些值作為指派值并給出相應的有效性定義。按照科爾納的三值表,如果真是唯一的指派值,沒有公式將是有效的,因為當一個公式的所有語句變元都是中立的時候這個公式是中立的。不矛盾律、同一律都是無效的,不過分離規則是有效的。如果真和中立都是指派值,那么有效的公式將與經典邏輯的那些有效公式相符,但分離規則例外,因為當 p 為中立值而 q 為假時,p→q 和 p 都取指派值而 q 取非指派值,因而推理無效。但是,在這種有效性定義下排中律仍然成立。因此,將科爾納的三值邏輯用來處理含混性問題確實是一個困難。
三、模糊邏輯的解決方案
以三值邏輯為代表的有限多值邏輯(其值的數量為 n,n 為自然數且 n≥3)將真值劃分出離散的邊界與堆垛序列的連續性不相容,因此人們猜想真值可能是連續地變化,由此產生一種“真”以連續的度變化的邏輯,這就是模糊邏輯。盧卡西維茨創立的連續值或無限值邏輯是形式化的模糊邏輯的基礎。一些得到最廣泛研究的模糊邏輯都是建立在盧卡西維茨的無限值系統基礎上。在后來模糊集合的基礎上發展出一種形式上相似于連續值邏輯的模糊邏輯,因而連續值邏輯被看作建構模糊邏輯的一種自然和基本方式。模糊邏輯通過一系列規則和多值邏輯聯系起來,主要運用了盧卡西維茨的連續值邏輯(continuum-valued logic)[6].
我們令語句 p 的真度是[p],它被假定為 0 和 1 之間的實數。當 p 是完全真時,[p]=1;當 p 是完全假時,[p]=0;當 q 是至少和 p 一樣真時,[p]≤[q].盧卡西維茨的連續值邏輯有以下語義學:
在這種模糊語義學中,盧卡西維茨將 1(即完全真)作為唯一的指派值,一個公式是有效的只要它在其原子語句的任何真度賦值下皆為完全真。因此,推理形式是有效的只要它的結論在所有前提為完全真的賦值下為完全真,也即有效性被定義為完全真的保存。但是,也有哲學家將有效性定義為真度的保存,即結論的真度不低于最低值的前提的真度。
根據上述模糊語義學,我們可以賦予邊界語句一定的真度(0 到 1 之間)。以含混謂詞“是禿頭”為例,那么就有一個堆垛序列:a0,a1,a2,……,an,其中 a0表示“有 0 根頭發的人”,an表示“有 n 根頭發的人”.顯然,“a0是禿頭”為真,并且對于任意 n(n 為自然數),如果“an是禿頭”為真,那么“an+1是禿頭”也為真。假設 n=100000,通過連續運用 10 萬次分離規則,我們可以得到結論“有 10 萬根頭發的人是禿頭”,這個結論明顯為假。問題是,這里使用的分離規則是否有效。這就依賴于我們采用什么樣的有效性標準。
如果有效性被定義為完全真的保存,那么分離規則是有效的,因為如果 p 和 p→q 在度 1 上為真,那么 q也是。在這種意義上,堆垛論證是有效的,但這意味著一個有效論證可以有幾乎完全真的前提和完全假的結論。如果有效性被定義為真度的保存,那么分離規則不是有效的,因為如果 p 和 p→q 在至少 99999/100000 的度上為真,那么 q 可能只在 99998/100000 的度上為真,這樣結論的真度就低于前提的真度。我們換種簡單的方式來說明。例如,當[p]=0.7,[q]=0.6,[p→q]的真度就為 1+0.6-0.7=0.9,這樣前提 p 的真度為 0.7,另一前提 p→q 的真度為 0.9,而結論 q 的真度為 0.6,顯然結論 q 的真度低于最低值的前提p 的真度,這違反了有效性標準。因此,如果分離規則不是有效的,那么堆垛論證就是一個無效論證。
然而,按照模糊語義學的分析,堆垛論證不在于它是有效還是無效,它其實是不可靠的,因為它包含假的前提。為什么我們不能識別出這些假的前提,并且還傾向于接受這些假前提呢?在上述有關禿頭的堆垛論證中,它的第一個前提 Fa0是完全真,而結論 Fan是完全假。根據真度理論,隨著 n 從 0 增加到100000,Fan的真度在不知不覺地減少。但是,為什么我們無法察覺到這種減少呢?我們可以使 Fan在 1-(n/100000)(0≤n≤100000)的度上為真(這樣 Fa0是完全真而 Fa100000是完全假),于是真度從 Fan到 Fan+1的下降僅僅是 1/100000,這意味著在堆垛論證的每個條件句前提中,前件僅僅由于 1/100000 的程度比后件更真。根據蘊涵聯接詞的解釋(→),每個條件句前提在 99999/100000 的度上為真。我們在連續運用分離規則的過程中不斷從前提 Fan(在(100000-n)/100000 的度上為真)和 Fan→Fan+1(在 99999/100000 的度上為真)推出結論 Fan+1(在(99999-n)/100000 的度上為真)。因此,中間結論的真以 1/100000 的程度在不斷下降。由于論證的每個步驟都是同等地位,所以每個條件句前提都是幾乎完全真,不存在一個切割點可以區分從真到假的轉變。在堆垛論證的條件句前提中細小的假度導致它的結論中高的虛假度。我們無法察覺這種細小的假度,反過來由于這些條件句前提的真度極高(幾乎接近完全真),所以我們又傾向于接受它們。因此,堆垛論證可能既是無效的,也是不可靠的。
四、多值邏輯解釋的困境
以三值邏輯和模糊邏輯為代表的多值邏輯已經發展成為解釋含混性的一種標準理論,但是由于下述兩個方面的困難,它很難成為一種好的含混性解釋理論,因而也不能提供一種好的關于堆垛悖論的解決方案。
首先,一個困難是高階含混性問題。三值邏輯直接遭遇二階含混性問題。既然人們認為將含混命題劃分為真與假是不合理的,同樣將含混命題劃分為真、假和中間值也是不合理的。如果我們認為經典二值邏輯將真與假之間劃分清晰的界線是反直覺的,那么三值邏輯將真與中間值以及中間值與假之間劃分清晰界線也是反直覺的。例如,當僅有一粒谷子的時候,語句“這是一個堆”明顯為假,但是隨著我們每次不斷增加一粒谷子,在某個時刻上這個語句就變為真(比如增加到 100 萬粒谷子)。然而,我們不能識別出一個切割點(也即增加到多少粒谷子的時候),在這個點上語句由假變為真。同樣,我們也不能識別出兩個這樣的切割點:一個是從假轉變成中間值,另一個是從中間值轉變成真。如果兩個值不夠,那么三個值(甚至更多值)也是不夠的,反對二值邏輯的論證同樣適用于自身。因此,三值邏輯遭遇的二階含混性將繼續導致高階含混性:“最初劃分為三類(真/假/邊界)讓位于劃分為五類(清晰的真/真和邊界之間的邊界/清晰的邊界/假和邊界之間的邊界/清晰的假),這又依次讓位于劃分為九類,等等。這不是一個可接受的遞歸。分割成新的類是我們還沒有充分解釋這種潛在現象的征兆”.因此,解決三值邏輯的困境不是用更多值(比如十七值)的邏輯來替代三值邏輯,因為反對三值邏輯的論證同樣適用于 n(n≥3)值邏輯,而且 n 的選擇是任意的。這也是為什么應用于解釋含混性的多值邏輯逐漸趨向于使用無限多值的模糊邏輯。但是,模糊邏輯也有類似問題。模糊邏輯用兩個其他的劃分來代替真假劃分:“在度 1 上的真與小于 1 的正度上的真之間的劃分,以及在大于 0 的某個度上的真與在度 0 上的真之間的劃分”.事實上,我們把某個模糊真值賦予給每個對象形成特殊函數,再將日常語言的每個含混謂詞與這些特殊函數相聯系,并將每個含混語句與特殊的模糊真值相聯系,這種做法只會造成人為的清晰性,因而是不合理的。
其次,解釋含混性的多值邏輯都暗地假定了真值函項的理念,也即根據真值函項聯接詞形成的復合句的真值分類依賴于其子句的真值分類。模糊邏輯的度函項就體現了這種真值函項理念。真度理論假定復合句的真度是其成分句的真度的函數,因此在模糊邏輯中聯接詞同樣被真值函項地定義。然而,這種度函項假定存在問題。假設 p 在與 q 相同的度上為真,那么 p∧q 與 p∧p 也在相同的度上為真。既然p∧p與 p 在相同的度上為真,那么 p∧q 也與 p 在相同的度上為真。我們假設某人漸漸入睡,語句“他是醒著的”和“他是睡著的”都是含混的。按照真度理論,隨著前者在真度上下降而后者在真度上上升,在某個點上它們就有相同的真度,也即中間真度。因此,合取式“他是醒著的并且他是睡著的”也有相同的中間真度。然而,根據定義“醒著”和“睡著”是相互排斥的,“他是醒著的并且他是睡著的”根本就不可能為真,我們人不可能處在這個合取式為真的情形與它為假的情形之間的不清楚區域。如果我們用“他不是醒著的”代替“他是睡著的”,那么在某個點上“他是醒著的”為半真(中間真度),所以“他不是醒著的”也為半真,于是“他是醒著的并且他不是醒著的”也將算作半真。一個明顯的矛盾式怎么可能在任何度上為真而不是假呢?因此度函項對于合取式是失效的,同理可知,度函項對于析取和條件句都失效。真值函項對于最基本的邏輯算子的語義學很重要,但它可能不是根據度來描述。因此,通過用真度取代真值從而將真值條件語義學適用于含混語言,這種做法是失敗的。按照威廉姆森的觀點,多值邏輯雖然在提高形式化程度方面致力于解決含混性問題,但它卻與含混性問題的哲學動機不一致[1] 130.