Skinerrian's blog

論理学・哲学・科学史・社会学などに興味があるので、その方面のことを書きます。更新は不定期。

旧約女神転生の論理パズル

「旧約女神転生II」というレトロゲームがある。その中で、ちょっとした論理パズルが出てくる。こんな感じだ:ホブリン、トプカプ、マシュリン、ガーゴルの四兄弟の中に、一人だけ嘘つきがいる。それは誰か?

  • ホブリン「マシュリンが近頃嘘つきになってね…あいつはアヤシイよ!」
  • トプカプ「ガーゴル兄さんは昔っから正直者さ!」
  • マシュリン「トプカプが嘘つきになったから心配してるんだ…」
  • ガーゴル「ボブリン兄さんは嘘は言わないよ!」

答えはマシュリンである。ここでは、命題論理を使ってこのパズルを解いてみる。

まず、「ホブリンは正直である」をA、「トプカプは正直である」をB、「マシュリンは正直である」をC、「ガーゴルは正直である」をDとする。このとき

  • ホブリンが「マシュリンは嘘つきである」と言う

という文は、A ⇔ ¬Cと記号化できる。ホブリンが正直ならマシュリンは嘘つきであり、ホブリンが正直でなく嘘つきならマシュリンは嘘つきでなく正直だからである。この要領で4つの文をすべて記号化すると

  • A ⇔ ¬C
  • B ⇔ D
  • C ⇔ ¬B
  • D ⇔ A

となる。

次に、嘘つきは一人だけいるという仮定を記号化する。これは

  • (¬A & B & C & D) v (A & ¬B & C & D) v (A & B & ¬C & D) v (A & B & C & ¬D)

と記号化できるだろう。やや不恰好だが…。

A, B, D に関しては、どれを仮定しても矛盾が出てこない。しかし、Cを仮定したときは話は別で、4つの双条件から¬A, ¬B, ¬D がすべて導かれる。仮定となっている選言のどの選言肢をみても、これと両立するものはない。これは矛盾。よって、Cは偽である。つまり、マシュリンは嘘つき。