0 符號、演算、與抽象化

我們先從一個故事開始。

一個島上住著兩種人,騎士 (knight) 與惡棍 (knave) 。騎士總說實話,惡棍總說謊話 --- 所謂「謊話」的意思是實話的相反。從外表看不出一個人是騎士或惡棍。你站在一個山洞前。傳說中,山洞盡頭藏著價值連城的黃金。但也有可能並非如此,洞裡其實是一頭龍,一進去就會被吃了。洞口站著一位老先生,看不出是騎士或是惡棍。你該如何設計一個問題問他,得知山洞裡到底有沒有金子呢?

我們不妨先做個熱身題。

例 0.1

假設在你面前站著兩位居民,A 與 B. 居民 A 說:「如果你問 B 他自己是不是騎士,他會說是。」由此你可知道 A 是騎士或是惡棍嗎?B 呢?

在讀下去之前,請先嘗試解解看。