邏輯 · 三、間接推論

金岳霖 《邏輯》
A. 假言推論之一 假言推論實即命題與命題的蘊涵關係,可是蘊涵關係複雜,現在暫不提出討論。茲以「如果x是紅的,x是有顏色的」為例。此命題的前一部分稱為前件,後一部分稱為後件。前件對於後件,我們可以稱為充分的條件。何以稱為充分的條件呢?以上所舉這一命題,可以說是等於「只要x是紅的,x就是有顏色的」。x是紅的,它就不能不是有顏色的,紅是有顏色的充分條件。可是紅不是有顏色的必要條件,因為x是黃的,或綠的,或藍的,或青的,等等,它也就是有顏色的。後件對於前件,我們可以稱為必要條件。何以稱為必要條件呢?x是有顏色的,x不必是紅的,也不必是黃的或綠的等等;但如果x不是有顏色的,則x根本就不是紅的、黃的或綠的、青的等等。有顏色是紅的必要條件,而不是紅的充分條件。普通的「如果……則」的命題是表示充分條件的命題,而尋常語言中「除非——不」表示必要條件的假言命題。起先本來用「除非——才」的公式,後來改成「除非——不」的公式。「除非——才」似乎表示前件為必要而同時又為充分的條件:例如「除非天晴我才打球」,似乎是說天晴我打球,天不晴我不打球。這解釋對否不敢說,但「除非——不」似乎僅僅表示前件之為必要條件的命題。前一部分是傳統邏輯所有的,後一部分是傳統邏輯所無的。我們現在雖然還是討論傳統邏輯,我們不妨把後一部分也加入,因為以後我們的討論推廣到傳統邏輯範圍之外的時候,這種分別沒有多大的意思。本節的A段提出充分條件的假言推論,B段提出必要條件的假言推論。 1. 表示充分條件的假言推論可以有好幾式,茲以下列三式為例: a. 如果甲是乙,則甲是丙; 甲是乙, 所以甲是丙。 或,如果甲是乙,則甲是丙; 甲不是丙, 所以甲不是乙。 b. 如果甲是乙,則丙是丁; 甲是乙, 所以丙是丁。 或,如果甲是乙,則丙是丁; 丙不是丁, 所以甲不是乙。 c. 如果甲是乙,則丙是乙; 甲是乙, 所以丙是乙。 或,如果甲是乙,則丙是乙; 丙不是乙, 所以甲不是乙。 2. 充分條件假言推論的規律。 a. 承認前件即承認後件(前件與後件的意義見本段的序言),否認前件不能否認後件。此條規律顯而易見。前件是後件的充分條件;只要前件的條件成立,後件也就成立;但前件不是後件的必要條件,它不成立而後件的其他充分條件能成立的時候,後件仍然成立。所以前件成立,後件亦成立;前件不成立,後件不見得就不能成立。 b. 否認後件即否認前件,承認後件不能即承認前件。如明a條的規律,則知此條的規律為當然的情形。後件是前件的必要條件;後件不成立,則前件根本就不能成立;但後件不是前件的充分條件,它成立,而前件所需的旁的條件不成立,前件仍不能成立。所以後件不成立,前件亦不能成立;後件成立,前件不因此就成立。 c. 以上所舉三式各表示這兩條規律。第一式最簡單,茲以為例:「如果x是紅的,x是有顏色的」。承認x是紅的,則不得不承認x是有顏色的;可是否認x是紅的,x不必是沒有顏色的,因為x可以是黃的黑的等等。否認x是有顏色的,則x根本就不能是紅的,也不能有其他顏色;可是承認x是有顏色的,並不因此就承認x是紅的,因為x可以是黃的黑的等等。 3. 以三段論證明以上規律。第1條所舉三例中,a條最簡單。設有「如果甲是乙,則甲是丙」的假言大前提,我們可以有: a. 承認前件的辦法: 如果甲是乙,則甲是丙; 甲是乙, 所以甲是丙。 此可以用三段論表示: 所有「是乙之甲」都是丙, ∴甲是丙。 而此三段論沒有錯處。 b. 否認前件的辦法; 如果甲是乙,則甲是丙; 無結論。 此亦可以用三段論表示不能有結論: 所有「是乙之甲」都是丙, 無結論。 此處兩前件不能得結論,因為如得「甲不是丙」的命題,則有大詞周延之錯誤。同時此為第一格,第一格之小前提須肯定,此為否定,所以無結論。 c. 否認後件的辦法: 如果甲是乙,則甲是丙; 甲不是丙, 所以甲不是乙。 用三段論表示如下: 所有「是乙之甲」都是丙; 甲不是丙; ∴甲不是「是乙之甲」,即「甲不是乙」。 為第二格三段論,無毛病。 d. 承認後件的辦法: 如果甲是乙,則甲是丙; 甲是丙, 無結論。 三段論如下: 所有「是乙之甲」都是丙, 無結論。 此亦為第二格,兩前提中無一否定命題,根本不能得結論。此是用以表示承認後件不因此就承認前件。 以上都是用三段論表示對於充分條件的假言推論,承認前件即承認後件,否認前件不能否認後件;否認後件即否認前件,而承認後件不能承認前件。 B. 假言推論之二 表示必要條件的假言命題,在傳統邏輯之中沒有明文的承認,而在日用語言中反有現成的形式。我們可以把這一部分的假言推論加入傳統邏輯。日用語言中的「除非——不」是表示必要條件的假言命題。這種假言命題可以說是把一部分的「如果——則」的命題翻轉過來的命題。例如「如果x是紅的,x是有顏色的」,可以變成「除非x是有顏色的,x不能是紅的」。普通語言中的「如果——則」的意義頗含糊,有些「如果——則」,至少在習慣上,不會把它翻轉過來成「除非——不」的命題;例如「如果天晴,我打球」不會翻過來變成「除非我打球,天不晴」。充分條件的假言推論的各式,必要條件的假言推論亦有,不過規律相反而已。 1. 必要條件的假言推論也可以有好些式,茲以下列為例: a. 除非甲是乙,甲不是丙; 甲不是乙, 所以甲不是丙。 或,除非甲是乙,甲不是丙; 甲是丙, 所以甲是乙。 b. 除非甲是乙,丙不是丁; 甲不是乙。 所以丙不是丁。 或,除非甲是乙,丙不是丁; 丙是丁, 所以甲是乙。 c. 除非甲是乙,丙不是乙; 甲不是乙, 所以丙不是乙。或,除非甲是乙,丙不是乙; 丙是乙, 所以甲是乙。 2. 必要條件的假言推論的規律。表示必要條件的假言命題,也有前件與後件的分別。前件是後件的必要條件,後件是前件的充分條件。既然如此,對於此種假言命題的規律與以上的甲種的規律相反。 a. 否認前件即否認後件,而承認前件不能就承認後件。如果我說「除非天晴,我不打球」。這句話所要表示的是天下雨或不晴我絕對不會打球,但晴天后我打球與否可沒有肯定的表示。這就是說天下雨或不晴,我不打球,天晴我打球與否不定。所以否認前件就否認後件,而承認前件不必就承認後件。 b. 承認後件即承認前件,而否認後件不能就否認前件。此處仍從前例。如果天晴而我身體不好,或有病,或沒有朋友,或以其他種種理由,我不打球,所以我不打球或者是旁的條件不充足,不能就說是天不晴。但是如果我打球,旁的理由固然滿足,而必要的條件一定滿足。所以我打球表示天晴,我不打球不表示天不晴。所以承認後件即承認前件,而否認後件不因此就否認前件。 3. 以三段論證明以上規律。我們仍以最簡單的式為例。我們可以利用其他的式,用同樣的方法證明以上的規律,但其他的式比較複雜,與其就繁不如從簡。 a. 否認前件: 除非甲是乙,甲不是丙; 甲不是乙, 所以甲不是丙。 此可以用三段論表示: 所有的丙都是乙, 甲不是乙; 所以甲不是丙。 b. 承認前件: 除非甲是乙,甲不是丙; 甲是乙, 不能得結論。不能得結論之理由,也可以用三段論表示: 所有的丙都是乙, 甲是乙; 不能得結論;因為中詞不周延。 c. 承認後件: 除非甲是乙,甲不是丙; 甲是丙, 所以甲是乙。 此可以用三段論表示: 所有的丙都是乙, 甲是丙; 所以甲是乙。 d. 否認後件: 除非甲是乙,甲不是丙; 甲不是丙, 不能得結論。 用三段論表示如下: 所有的丙都是乙, 甲不是丙; 無結論;如得「甲不是乙」一命題,則有大詞周延之錯。 以上均表示對於必要條件的假言推論,否認前件即否認後件,承認前件不因此就承認後件;承認後件即承認前件,否認後件不因此就否認前件。 C. 析取推論 析取推論是由一以析取命題為大前提,以肯定或否定或析取命題為小前提,而得一否定或肯定或析取命題為結論的推論。 1. 析取推論以下列各式為例: a. 結論為肯定命題的析取推論,這一種的小前提為否定命題,例如: 甲是乙或是丙; 甲不是丙, 所以甲是乙。 b. 結論為否定命題的析取推論,這一種的小前提為肯定命題,例如: 甲是乙或是丙; 甲是乙, 所以甲不是丙。 c. 以上不過表示甲有是乙或是丙的兩可能,在析取推論中,可能不限於兩可能。如有三可能,我們可以有以下的各式: 甲是乙,或是丙,或是丁; 甲不是乙, 所以甲是丙或是丁。 在此小前提為否定命題,結論為析取命題。但我們也可以有析取命題為小前提,而得一否定命題的結論,例如: 甲是乙,或是丙,或是丁; 甲是丙或是丁, 所以甲不是乙。 總而言之,可能不必有兩個,可能愈多,情形當然也就愈複雜。 d. 但以上都可以說是名詞與名詞之間有析取情形關係。析取不限於名詞,例如: 甲是乙或丙是丁; 甲是乙, 所以丙不是丁。 2. 所列的可能必須彼此不相容而又彼此窮盡。不相容與窮盡有四可能:a. 不不相容而不窮盡,b. 不不相容而窮盡,c. 不相容而不窮盡,d. 不相容而窮盡。茲特分別討論之。 a. 不不相容而不窮盡。茲以「甲是乙或是丙」為例。乙與丙既不不相容。則 (一)甲是乙,或是丙; 乙與丙既又不窮盡,則 (二)甲是乙,或是丙; 肯定與否定的小前提均說不通。 b. 不不相容而窮盡。乙與丙既不不相容,小前提為肯定,仍無結論,與以上a(一)一樣。但乙與丙既窮盡,則 (一)甲是乙,或是丙; 甲不是乙, 所以甲是丙。 兩可能彼此不不相容,不能有肯定的小前提;但兩可能既彼此窮盡,可以有否定的小前提。 c. 不相容而不窮盡。乙與丙既不相容,則 (一)甲是乙或丙; 甲是乙, 所以甲不是丙。 甲或者同時不是丁等等,但無論如何甲不是丙。乙與丙既不窮盡,則小前提為否定,仍無結論,與a(二)的情形一樣。在此情形下,只能有肯定的小前提,不能有否定的小前提。 d. 不相容而窮盡。乙與丙兩可能既不相容,則 (一)甲是乙或是丙; 甲是乙, 所以甲不是丙。 同時乙丙兩可能既又窮盡,則 (二)甲是乙或是丙; 甲不是乙, 所以甲是丙。 在此情形之下,小前提才既可以肯定,也可以否定。 3. 析取推論可以用假言推論式表示。茲以最簡單的析取推論為例:甲是乙,或是丙,甲不是乙,所以甲是丙,甲是乙,所以甲不是丙。 a. 甲是乙或是丙;    a. 如果甲不是乙,則甲是丙; 甲不是乙,    甲不是乙, 所以甲是丙。    所以甲是丙。 此為承認前件的式。 b. 甲是乙或是丙;  b. 如果甲不是乙,則甲是丙; 甲不是丙,    甲不是丙, 所以甲是乙。    所以甲是乙。 此為否認後件的式。 c. 甲是乙或是丙;    c. 如果甲是乙,則甲不是丙; 甲是乙,    甲是乙, 所以甲不是丙。  所以甲不是丙。 此為承認前件的式。 d. 甲是乙或是丙;  d. 如果甲是乙,則甲不是丙; 甲是丙,    甲是丙, 所以甲不是乙。  所以甲不是乙。 此為否認後件的式。 析取推論既能用充分條件的假言推論表示,當然也能用必要條件的假言推論表示。讀者自己可以寫出來,作為練習。 4. 析取推論既可以用假言推論表示,也可以用三段論表示: a. 甲是乙或是丙;    a. 所有非乙之甲都是丙, 甲不是乙,    甲是「非乙之甲」即「甲不是乙」; 所以甲是丙。    所以甲是丙。 b. 甲是乙或是丙;    b. 無一是乙之甲是丙, 甲是乙,    甲是「是乙之甲」即「甲是乙」; 所以甲不是丙。  所以甲不是丙。 c. 甲是乙或是丙,    c. 所有非乙之甲都是丙; 甲不是丙,    甲不是丙; 所以甲是乙。    所以甲不是「非乙之甲」,即「甲是乙」。 d. 甲是乙或是丙;    d. 無一是乙之甲是丙, 甲是丙,    甲是丙; 所以甲不是乙。  所以甲不是「是乙之甲」,即「甲不是乙」。(批評見後) D. 二難推論 二難推論是一種假言推論與析取推論聯合起來的推論。二難中之「二」根據於析取命題的兩可能,二難中之「難」根據於結論之不容易承受或不便承受。可能似不必限於二,而結論亦不必有所難;但傳統邏輯不僅是邏輯而且也是辯論的工具,所以這一部分的推論限制於二難推論。 1. 二難推論有以下四格: a. 簡單的承認前件的二難推論,例如: 如果甲是乙,則丙是丁,如果甲不是乙,則丙是丁; 或者甲是乙,或者甲不是乙; 所以丙是丁。 如果一件事是你能做的,你用不著多說,如果一件事不是你能做的,你也用不著多說; 一件事或者是你能做的或者不是你能做的; 所以你用不著多說。 此例的大前提為兩個假言命題聯合起來的命題,有兩個不同的前件,一個同樣的後件。這兩個不同的前件聯合起來,又為一代表兩不相容而又彼此窮盡的析取命題。小前提承認這兩個可能,當然也就承認大前提的前件。結論是承認一簡單的肯定的後件。 b. 簡單的否認後件的二難推論,例如: 如果甲是乙,則丙是丁,或是戊; 丙既不是丁,又不是戊; 所以甲不是乙。 以下是教科書所常舉的例: 如果一件東西能動,它或者在它所在的地點動,或者在它所不在的地點動; 一件東西既不能在它所在的地點動,也不能在它所不在的地點動; 所以一件東西不能動。 此例中的大前提實在是有同樣前件與不同樣後件的假言命題。此不同樣的後件代表兩可能,而小前提否認此兩可能,所以也就否認假言命題的前件。結論是一簡單的否定命題(批評見第二部)。 c. 複雜的承認前件的二難推論,例如: 如果甲是乙,則丙是丁,如果甲是戊,則丙是己; 甲或者是乙,或者是戊; 所以丙或者是丁,或者是己。 以下亦是常舉的例: 如果這些書與《可蘭經》的意旨相同,它們是用不著的書,如果這些書與《可蘭經》的意旨不相同,它們是要不得的書; 這些書或者與《可蘭經》的意旨相同,或者與《可蘭經》的意旨不相同;所以這些書或者是用不著的書或者是要不得的書。 此例中的大前提是一個有兩個不同的前件,兩個不同的後件的假言命題。小前提為一析取命題,承認這兩個不同的前件;結論也是一析取命題,承認兩個不同的後件。以前兩例的結論,或為一簡單的肯定命題,或為一簡單的否定命題,所以稱為簡單的二難推論。現在的例與以下的例,其結論均為析取命題,名之為複雜的二難推論。 d. 複雜的否認後件的二難推論,例如: 如果甲是乙,則丙是丁,如果甲是戊,則丙是己; 或者丙不是丁,或者丙不是己; 所以甲或者不是乙,或者不是戊。 如果一個人聰明,他知道他的錯誤,如果他誠實,他承認他的錯誤; 他或者不知道他的錯誤,或者不承認他的錯誤; 所以他或者不聰明或者不誠實。 此例中的大前提也是一有兩個不同前件,兩個不同後件的假言命題。小前提是一析取命題,否認兩後件,而結論也是一析取命題,否認兩前件,所以是複雜的否認後件的二難推論。(此等推論頗不易舉例,所舉的例總難免有毛病。) 2. 二難推論的規律。二難推論既是假言推論與析取推論聯合起來的推論,它一方面當然要守假言推論的規律,另一方面似乎又要守析取推論的規律。假言推論的規律有二:一為承認前件因而承認後件,一為否認後件因而否認前件。否認前件不能得結論,承認後件亦不能得結論。析取推論的條件是:所有它所列的可能,一方面要彼此不相容,相容則不能得結論;另一方面要彼此窮盡,不窮盡亦不能得結論。 3. 破除二難的方法。破除二難推論的方法有三:a. 否認析取可能的窮盡;b.否認假言命題中前件與後件的關聯;c. 以一能得完全相反的結論的二難推論去破除原來的二難推論。 a. 否認析取命題中的可能是窮盡的可能。例如: 如果天熱人難受,如果天冷人難受; 天或者熱或者冷, 所以人總是難受。 此中「天或者熱或者冷」這一命題我們可以否認;我們可以說「天可以不熱不冷」,那就是說熱與冷不是彼此窮盡的可能。既然如此,我們不能得「人總是難受」的結論,而原來的二難推論不能成立。 b. 否認假言推論中前件與後件的關聯。例如: 如果一件東西能動,它一定或在它所在的地方動或在它所不在的地方動; 一件東西既不能在它所在的地方動,也不能在它所不在的地方動; 所以一件東西不能動。 此例的大前提我們可以說有毛病。我們可以說前件不是後件的充分條件,後件不是前件的必要條件。如果一件東西既不在它所「在」的地方動,也不在它所不「在」的地方動,而在它所動的地方動,則此例中的後件不是前件的必要條件。既然如此,則否認後件不因此就否認前件。結論既不能得,則此例根本就說不通。 c. 以一能得與原來結論完全相反結論的二難推論去破壞原來的二難推論。這差不多是以其人之道還治其人之身。最出名的例就是Protagoras與Enathlas的官司。他們有一合同,其中的條件如下:(一)Protagoras教Enathlas法律的書;(二)畢業時Enathlas須付束修之一半;(三)其餘一半須於Enathlas頭一次官司打勝的時候完全付清。但畢業後Enathlas並不執行律師事務。Protagoras等得不耐煩就在法庭告了Enathlas,並提出以下的二難推論: 如果Enathlas的官司打敗了,則遵照法庭的判斷,他一定付債,如果Enathlas的官司打勝了,則遵照合同的條件,他一定要付債;Enathlas的官司或者打敗或者打勝。 所以無論如何他一定要付債。 Enathlas提出與以上完全相反的二難推論: 如果我打勝,則照法庭的判斷,我不應付債,如果我打敗,則照合同的條件,我不應付債; 我官司或者打敗或者打勝, 所以無論如何我不應付債。 以上所表示的就是:如果一二難推論有一與它完全相反的二難推論,則原來的二難推論不能成立。上面Protagoras所舉的二難推論中最顯而易見的毛病,就是引用兩種不同的標準,一為法庭的判斷,一為合同的條件。這兩種不同的標準各有其利於Protagoras的可能,也各有其不利於Protagoras的可能;Protagoras取其前,而Enathlas取其後。如一致地引用兩種標準中的任何一種,則不至於有以上的毛病。 傳統的演繹部分至二難推論而止。普通教科書大都當有一章專門討論錯誤問題,茲於以下附錄提出討論。