這道謎題的解答涉及一系列「當且僅當命題」(if and only if Statement)(註1),因此首先須解釋甚麼是「
當且僅當命題」。在數學和邏輯學上,「當且僅當命題」是一種複合的條件命題(Conditional Statement),
這種條件由一個「充分條件」(Sufficient Condition)和一個「必要條件」(Necessary Condition)組成,因
此「當且僅當命題」又稱為「充分必要條件」(Sufficient and Necessary Condition),簡稱「充必條件」。
在日常生活中,我們碰到的絕大多數條件要麼是「充分條件」,要麼是「必要條件」,甚少是既充分又必要的
條件。以下先解釋甚麼是「充分條件」和「必要條件」。
「充分條件」就是通常由「如果」引導的條件。這類條件句的特點是若前件真,則後件必真;但若前件假,後
件不一定假(註2)。例如在命題「如果你吃了這毒藥而沒人救你,你就會死」中,前件「如果你吃了這毒藥而
沒人救你」就是後件「你就會死」的充分條件。因為若某人吃了毒藥而又沒人救他,他是必死無疑的。但是若
某人不吃毒藥,卻並不代表他就必定不死,因為尚有其他很多方法令一個死。「必要條件」就是通常由「只有
當」引導的條件(註3)。這類條件句的特點是若前件假,則後件必假;但若前件真,後件不一定真。例如在命
題「只有當你滿18歲時,你才有資格投票」中,前件「只有當你滿18歲時」就是後件「你才有資格投票」的必
要條件。若前件假,即你未滿18歲,則後件必假,即你必然沒有資格投票。但若你已滿18歲,你卻未必有資格
投票,因為你可能未滿足選民所需的其他條件,例如你不是這地區的公民。
「充分必要條件」就是既充分又必要的條件。這類條件句的特點是若前件真,則後件必真;而且若前件假,則
後件必假,即前、後件同真同假。「充分必要條件」一般只出現於數學、邏輯學或邏輯性強的其他學科中,在
日常生活中很難找到這樣的例子。例如在數學命題「當且僅當n是偶數,n能被2整除」中,前件「當且僅當n是
偶數」就是後件「n能被2整除」的「充分必要條件」,即若n是偶數,n能被2整除;而且若n不是偶數,則n不
能被2整除。因此要證明某命題是「當且僅當命題」,我們須證明該命題的前件是後件的「充分條件」和「必
要條件」(註4)。
具備了以上的預備知識,現在我們可以分析這道謎題了。這道謎題最令人費解的地方應是為何那些三眼人全都
在第九天早上消失了(即在命令下達後第八天晚上死去),不早也不遲。面對這樣撲朔迷離的情況,我們可以採
取這樣的對策,即先從最簡單的情況,假設這個國家只有一名三眼人,情況將有何不同,然後嘗試從中找出破
解這題的奧秘。
好了,就讓我們開始推理吧。首先假設只有一名三眼人,那麼我們可以斷定這個三眼人在第二天早上便會消失
(即在命令下達當晚就會死去),為甚麼?由於這個國家只有他一個三眼人,他每天在市集見到的其他人盡是兩
眼人,而他又知道這個國家存在著兩類人,那麼他便可據此推斷自己必是唯一的一個三眼人,所以在國王命令
下達的當晚便會自殺,即這名三眼人在命令下達後第二天早上不會在市集上出現。我們把這結論記為以下的「
充分條件命題」:
接著考慮共有兩名三眼人的情況,讓我們把他們稱為A和B。那麼我們可以斷定A和B在命令下達後第三天早上都 不會在市集上出現。為甚麼?因為在A眼中,他每天在市集所見只有B這一個三眼人,其他人全都是兩眼人,可 是他卻不知自己是哪一種人,有兩種可能性,即:
請注意B的判斷跟A相同。這時A(和B)為了判斷是否只有一名三眼人,根據充分條件命題1,他們都會在第二天 早上看看平時所見的三眼人是否消失了,因此都不會在命令下達當晚死去。結果他們在第二天早上都會在市集 中出現,並且互相看見。這時A根據上面判斷1、充分條件命題1以及他在第二天早上發現B仍在市集上出現這一 事實,便能推斷這個國家並非只有一名三眼人,亦即自己也是三眼人。B的判斷也是這樣,因此A和B都會在第 二天晚上自殺,即在第三天早上消失。由此我們得出以下的「充分條件命題」:
接著我們再考慮三名三眼人的情況,讓我們把他們稱為A、B和C。現在在A眼中,他每天在市集所見只有B和C這 兩個三眼人,其他人全都是兩眼人,可是他卻不知自己是哪一種人,有兩種可能性,即:
請注意B、C的判斷跟A相同。這時A(以及B和C)為了判斷是否只有兩名三眼人,根據充分條件命題2,他們都會 在第三天早上看看平時所見的三眼人是否消失了,因此都不會在命令下達當晚和第二天晚上死去。結果他們在 第二天和第三天早上都會在市集中出現,並且互相看見。這時A根據上面判斷2、充分條件命題2以及他在第三 天早上發現B和C仍在市集上出現這一事實,便能推斷這個國家並非只有兩名三眼人,亦即自己也是三眼人。B 和C的判斷也是這樣,因此A、B和C都會在第三天晚上自殺,即在第四天早上消失。由此我們得出以下的「充分 條件命題」:
倣照上述的推理模式,我們可以把上述充分條件命題1、2、3推廣到任意正整數n的情況,從而得出以下的「 一般」命題:
以上我們證明了一系列「充分條件命題」,事實上這些命題也是「必要條件命題」,即如果並非有n名三眼人 ,這些三眼人不會在命令下達後第n天晚上自殺。可是這是顯而易見的事實,因為如果三眼人的數目是一個異 於n的數目m,則根據上面的「一般」命題,這些三眼人會在命令下達後第m天晚上自殺,即不會在第n天晚上 自殺。由此我們可以把上述充分條件命題改寫成「當且僅當命題」:
至此,我們可以得到謎題的解答了。由於所有三眼人在第九天早上都不在市集上出現,即在第八天晚上自殺,
根據上述當且僅當命題n,這個國家共有八名三眼人。
有些人可能會疑惑,既然所有兩眼人跟三眼人一樣不知道自己有多少隻眼,為何他們不會錯誤地判斷自己是三
眼人而自殺呢?答案在於每名兩眼人所見三眼人的數目跟每名三眼人所見三眼人的數目不同,前者較後者多一
。為方便跟前面的推理比較,我們考慮共有三名三眼人的情況。在此情況下,在每名兩眼人眼中,他每天在市
集都見到三名三眼人,其他人全都是兩眼人,可是他卻不知自己是哪一種人,有兩種可能性,即:
這些兩眼人如何判斷自己是甚麼人?關鍵在於上面的命題3。如果在第四天早上他們發現所有三眼人都消失了, 他們就知道自己不是三眼人了。可是根據前面的討論,這三個三眼人必定會在第四天早上消失,因此兩眼人是 不會作出錯誤判斷的。由此我們亦可作出一個推斷,倘若那些三眼人的推理能力不夠高,全部都沒有在「該死 」的那一晚自殺,他們就會「累死」所有兩眼人(如果所有兩眼人的推理能夠高的話)。
註1:在日常語言中,if一般譯作「如果」或「若」,only if一般譯作「只有當」或「只有...才」,但中文數 學或邏輯學著作為了節省字數,通常把if and only if譯成「當且僅當」。