正直者であることを証明できるか?

クレタ人式正直者だけを作り出す会話。しかし中途半端に終わってしまった。

クレタ島に住むクレタ人は言った。 「クレタ人は嘘つきだ!!」 さて、クレタ人は嘘つきですか? ———パラドックスでは有名なクレタ人の話を検証してみよう。

クレタ人は嘘つきか?

クレタ島に住むクレタ人は言った。
「クレタ人は嘘つきだ!!」

クレタ人は正直者であったと仮定する。クレタ人は正直者なので言った言葉は嘘ではない。「クレタ人は嘘つきだ!!」というのは事実である。しかし、クレタ人が嘘つきであることが事実なら彼らの言っていることはすべて嘘になってしまう。クレタ人が嘘つきであったと仮定する。クレタ人は嘘つきなので言った言葉は嘘である。「クレタ人は嘘つきだ!!」というのは嘘である。しかし、クレタ人が嘘つきであることが嘘なら彼らの言っていることはすべて事実になってしまう。正直者と仮定すると嘘つきになる。嘘つきと仮定すると正直者になる。結局、クレタ人は嘘つきともいえない、正直者ともいえない。どちらの場合でも矛盾が生じ、これをパラドックスという。ちなみに矛盾という言葉自体も語源はパラドックスである。

さて本題に入る。

自分が正直者であるかどうかを立証できるか!?

○○は嘘つき、○○は正直者、だけの発言から特定の人物が本当に正直者であるかどうかを実証できるのかという問題。例えば…

私は嘘つきだ! 

これはクレタ人と同じ状態。パラドックスが発生していてどちらとも言えない…次に

私は正直者だ! 

仮に私を正直者と仮定すると、矛盾は発生せず私は正直者である。しかし、私を嘘つきと仮定しても矛盾は発生しない。この場合嘘つきの場合と正直者の場合の両方で成り立ってしまうため、私を正直者と立証できない。上の結果から、1人の場合自分が正直者かどうか立証できないことが分かる。次はAさん、Bさんの2名を用意し、Aさんが正直者であるか立証してみよう。

A:Bさんは正直者だ!
B:Aさんは正直者だ!

この場合共犯関係。Aさんを嘘つきと仮定するとBさんは嘘つきに、嘘つきが嘘つきに向かって正直者と言ってるのだから矛盾は生じない。当然、Aさんを正直者と仮定した場合も同じだ。常にAさんとBさんは同じになる。

A:Bさんは嘘つきだ!
B:Aさんは嘘つきだ!

さて、Aさんを正直者と仮定した場合、Bさんは嘘つきだ。嘘つきのBさんがAさんに向かって正直者と言ってるのだから矛盾は発生しない。また、Aさんを嘘つきと仮定すると、Bさんは正直者。正直者のBさんが嘘つきとAさんに言ってるのだから、Aさんは嘘つきとなり矛盾は発生しない。この場合AさんとBさんは常に対極の関係にある。

A:Bさんは嘘つきだ!
B:Aさんは正直者だ!

Aさんが正直者の場合、Bさんは嘘つき。嘘つきのBさんがAさんを正直者と言っているので、Aさんは嘘つき。しかしこれは最初の仮定に矛盾する——

A:私は嘘つきだ!
B:Aさんは正直者だ!

ぶっちゃけこれは難しい。Aさん単体では”クレタ人効果”で矛盾が発生している。Bさんの立場で考えよう。 Bさんが正直者の場合、Aさんは正直者。しかし、正直者のAさんが自分を嘘つきと言うのは明らかにおかしい。Bさんが嘘つきの場合Aさんは嘘つき。嘘つきが自分のことを嘘つきと言っているので根本的に矛盾してしまう。2人でもどうやら不可能らしい。3人の場合で行く。

A:Bさんは正直者だ!
B:Cさんは正直者だ!
C:Aさんは正直者だ!

コイツラ全員が正直者か、または全員が嘘つきであるかのどちらか。

A:Bさんは嘘つきだ!
B:Cさんは嘘つきだ!
C:Aさんは嘘つきだ!

Aさんが正直者の場合Bさんは嘘つき。嘘つきのBさんがCさんに嘘つきと言っているのでCさんは正直者。正直者CさんはAさんに嘘つきと言っているが、Aさんが正直者であるという仮定に反するのでこれは矛盾する——

A:Bさんは嘘つきだ!
B:Cさんは正直者だ!
C:Aさんは正直者だ!

1人が嘘つきって言ってます。Aさんが正直者の場合、Bさんは嘘つき。Cさんは嘘つきになる。Cさんが嘘つきということはAさんも嘘つきになり、これは最初の仮定と矛盾する。次に、Aさんが嘘つきの場合。Aさんは嘘つきなので、Bさんは正直者。正直者のBさんはCさんにあなたは正直者って言ってる。つまりCさんも正直者。しかし、Cさんが正直者ならAさんは正直者になってしまい矛盾する。

A:Bさんは嘘つきだ!
B:Cさんは正直者だ!
C:Aさんは嘘つきだ!

Aさんが正直者の場合Bさんは嘘つきだ。嘘つきのBさんはCさんに正直者と言っているので、Cさんは嘘つき。その嘘つきC野郎がAさんは嘘つきと言ってる。この場合矛盾は発生しない。Aさんが嘘つきの場合Bさんは正直者だ。よってCさんも正直者だ。この場合も矛盾は発生しない。

A:Bさんは嘘つきだ!
B:Aさんは正直者だ!
C:Aさんは正直者だ!

AさんとBさんは相互関係。そこにCさんが乱入。Cさんは嘘つきか正直者かわからない。Cさんが正直者の場合、Aさんは正直者。Bさんは嘘つき。この場合Aさんが嘘つきになって矛盾する。Cさんが嘘つきの場合も然り。このパターンの場合、他人から影響を受けないCさんの発言はまったくの無意味となる。3人にしても正直者であることは証明できないらしい。そこで原点に返ってみる。まず、誰かを正直者か嘘つきか決定する。どちらの場合も矛盾するか成り立ってしまう場合そもそも正直者か嘘つきかを特定できない。

2通りある選択肢のうち、片方で矛盾が発生し、片方で発生しないパターンを見つける必要がある。試行錯誤を繰り返してみる。

A:私とBさんは正直者だ!
B:Aさんは嘘つきだ!

同時に言っちゃってます。Aさんが正直者の場合Bさんが正直者で矛盾が起こる。Aさんが嘘つきの場合、Bさんは嘘つき。嘘つきのBがAに嘘つきといってるのでAさんは正直者。やっぱり矛盾が起こる。

A:私は正直者でBさんは嘘つきだ!
B:Aさんは正直者だ!

Aさんが正直者の場合、Bさんは嘘つき。矛盾が起こる。Aさんが嘘つきの場合、Bさんは正直者。矛盾が起こる。

A:私は正直者でBさんは嘘つきだ!
B:Aさんは嘘つきだ!

Aさんが正直者の場合Bさんは嘘つき。よってAさんは正直者になるので成り立つ。Aさんが嘘つきの場合Bさんは正直者。この場合も成り立つ。ていうか、自分自身を正直者としか言えないじゃないかと。自身を嘘つきと言った瞬間矛盾が発動してしまう。うーむ、嘘つきでも正直者でも自分を嘘つきとは言えない。絶対に正直者といわなければならない。なら正直者であることを証明できるのか。

またアイツは嘘つき、アイツは正直というこれらのパターンはループを成している。

仮定した真理(嘘つきか正直者か)が逆になって返ってくるとき、矛盾が発生する。逆に仮定した真理がそのまま返ってくるとき矛盾は発生しない。

ちょっとまて。

だとすれば、矛盾が起こらない回路(ループ)の場合、初期値が嘘つきでも正直者でも、回路自体の正負がただ逆転するだけで一方で矛盾が起こることはできない。唯一可能な手段としては、○○が嘘つきの時、△△は嘘つきだ!というように条件付にして片方からの真理継承を禁止することだ。

A:Cさんが正直者のとき、Bさんは嘘つきだ!
B:Cさんは嘘つきだ!
C:Aさんは正直者だ!

こんな感じで適当に作ってみた。ポイントはCさんの言動にかかわらずAさんはCさんの本当の真理を基に行動する。何故なら全員相手の真理を分かった上で行動するからだ。また、条件つきと言っているが条件に応じてAさんが発言を変えるわけではない。

Cさんを正直者とする。Aさんは正直者。Aさんは、「Cさんが正直者のとき、Bさんは嘘つきだ!」と言っているので、Bさんは嘘つき。よって矛盾は起きない。

Cさんを嘘つきとする。Aさんは嘘つき。Aさんは、「Cさんが正直者のとき、Bさんは嘘つきだ!」と言っているが、Aさんは嘘つきだからBさんは正直者。矛盾は起きない。

条件分岐について、正直者の場合Cさんが正直者のときBさんを嘘つきにしているが、嘘つきだった場合は厄介なことになる。Aさんが嘘つきのとき命題は

の何れかになると考えられる。すべて逆になるのなら仮定も結論も逆にするといいが、結果的にこれは元のものと同じなっており意味がない。元の「Cさんが正直者のとき、Bさんは嘘つきだ!」は、言い換えると「Cさんが嘘つきのとき、Bさんは正直者だ!」と言ってる事になってしまう。故に、

のどちらかをとればよい。両方意味は同じである。というわけで考え直す。

A:Cさんが正直者のとき、Bさんは嘘つきだ!
B:Cさんは嘘つきだ!
C:Aさんは正直者だ!

Cさんが正直者のとき、Aさんは正直者。Bさんは嘘つき、故に矛盾は起こらない。

Cさんが嘘つきのとき、Aさんは嘘つき。Aさんは、Cさんが嘘つきのときBさんは嘘つき。 又はCさんが正直者のときBさんは正直者。Cさんは嘘つきなのでBさんを嘘つきにし、結果的に矛盾が起きる。

こう解釈するとCさんは絶対に正直者でなければならないことになる。"嘘つき"は意味論的に嘘をつくことなのだから、まさか対偶ではあるまいし…。それともAさんがCさんの真意を分かっているという前提が間違いなのだろうか?

ページ情報

作成日時
2004/07/03
最終更新日時
2004/07/03
HTML4.01版
index.html
XHTML1.1版
index.xhtml
XML原本
index.xml