発言したのは何人?

 3つの発言と、それとは別にわかっている3つの事実。
 情報が多すぎるので、これらの前提から確認していきましょう。

 まず、3つの発言は、いったい何人による発言なのか?
 問題文には「3人それぞれが一言ずつ発言した」とは書かれていません。
 3人それぞれが一言ずつ発言したのかもしれないし、1人が1回、もう1人が2回発言したのかもしれない。
 あるいは、1人が3回発言したのかも……。
 まずはここから解き明かしていきましょう。

 そのヒントになるのが、他にわかっている3つの事実です。
 そのなかの1つに、こうあります。

 “無実の人は少なくともどれか1つの発言をしている”

 つまり3つの発言のうち少なくとも1つは無実の人の発言です。
 では、3つの発言すべてが無実の人の発言だということはありえるでしょうか?

 これはありえません。

 3つの発言は、それぞれA,B,Cについて語られています。
 そして、「それぞれの発言は、発言者以外の人について述べられている」という事実がわかっています。
 つまり無実の人が3つの発言をしたとすると、かならずどれか1つは「自分」について述べていることになってしまい、事実と矛盾します

 よって3つの発言のうち、無実の人の発言は多くても2つ。
 そして少なくとも残りの1つは無実の人以外の発言です。

・無実の人の発言は1つか2つ
・3つの発言がすべて無実の人の発言ということはない
・少なくとも1つは犯人か共犯者の発言

 ということがわかりました。

無実の人の発言はいくつある?

 さて、無実の人はいくつの発言をしたのでしょうか?
 残された可能性は、次のどちらかです。

・無実の人の発言は1つ
・無実の人の発言は2つ

 それぞれのケースの場合、どうなるかを考えてみましょう。
 まず、もし無実の人の発言が1つだけであった場合。

 “無実の人だけが真実を話している”

 これがわかっているため、無実の人だけが本当のことを言い、それ以外の2つの発言は嘘ということになります。
 ということで、それぞれの発言について「この発言以外が嘘だったらどうなるか」を見ていきます。

 もし、1つ目の発言が真実で、2つ目と3つ目の発言が嘘だったら。

「Aは共犯者ではない」←真実(無実の人の発言)
「Bは犯人ではない」←嘘
「Cは無実ではない」←嘘

 つまりBが犯人で、Cは無実ということ。
 それだとAが共犯者ということになりますが、これは真実であるはずの1つ目の発言と矛盾してしまいます。
 よって、このパターンはありえません。

 では、2つ目の発言が真実で、1つ目と3つ目の発言が嘘だったら。

「Aは共犯者ではない」←嘘
「Bは犯人ではない」←真実(無実の人の発言)
「Cは無実ではない」←嘘

 つまりAが共犯者で、Cは無実ということ。
 それだとBが犯人ということになりますが、これは真実であるはずの2つ目の発言と矛盾してしまいます。
 よって、このパターンもありえません。

 では最後に、3つ目の発言が真実で、1つ目と2つ目の発言が嘘だったら。

「Aは共犯者ではない」←嘘
「Bは犯人ではない」←嘘
「Cは無実ではない」←真実(無実の人の発言)

 つまりAが共犯者で、Bが犯人ということ。
 それだとCが無実ということになりますが、これは真実であるはずの3つ目の発言と矛盾してしまいます。
 よって、このパターンもありえません。

「すべてありえない」が示す真実

 ということで、3つの発言のうちどれか1つが真実だとすると、いずれの場合でも矛盾してしまいました。
 つまり、

「無実の人がした真実の発言は1つ」という仮定が間違っているのです。

 したがって、無実の人は2つの(真実の)発言をしています。
 さらに、

 “それぞれの発言は、発言者以外の人について述べられている”

 ことから、無実の人による2つの発言は、無実の人以外の人について述べられたものであるとわかります。

最後の絞り込み

 ということで、「無実の人の発言は2つ」であることを前提に、それぞれの発言について見ていきましょう。
 まず、1つ目と2つ目の発言が無実の人の発言(つまり真実)だったら。

「Aは共犯者ではない」←真実(無実の人の発言)
「Bは犯人ではない」←真実(無実の人の発言)
「Cは無実ではない」←嘘

 1つ目と2つ目の発言は「AとB」についてなので、これを発言している人は「C」でなくてはいけません。
 つまり「無実の人=C」ということ。
 これは3つ目の発言が嘘だとしても矛盾しませんね。

 よしよし。
 他のパターンで矛盾が起きれば、これが正解となります。

他のパターンだとどうなる?

 次に、1つ目と3つ目の発言が無実の人の発言(つまり真実)だったら。

「Aは共犯者ではない」←真実(無実の人の発言)
「Bは犯人ではない」←嘘
「Cは無実ではない」←真実(無実の人の発言)

 1つ目と3つ目の発言は「AとC」についてなので、これを発言している人は「B」でなくてはいけません。
 つまり「無実の人=B」ということ。
 しかし、2つ目の発言が嘘だとするとBは犯人ということに。
 これでは矛盾してしまうため、このパターンはありえません。

 では最後に、2つ目と3つ目の発言が無実の人の発言(つまり真実)だったら。

「Aは共犯者ではない」←嘘
「Bは犯人ではない」←真実(無実の人の発言)
「Cは無実ではない」←真実(無実の人の発言)

 2つ目と3つ目の発言は「BとC」についてなので、これを発言している人は「A」でなくてはいけません。
 つまり「無実の人=A」ということ。
 しかし、1つ目の発言が嘘だとするとAは共犯者ということに。
 これでは矛盾してしまうため、このパターンもありえません。

 ということで、矛盾なく成立するのは1つ目と2つ目が無実の人の発言であり、その発言者、つまり無実の人がCであるときのみです。

 この場合、1つ目の発言は真実なので、Aは共犯者ではない。
 そしてCが無実の人だとわかっているので、Aは犯人です。
 そして残されたBが共犯者ということになりますが、これは2つ目の発言が真実であることと矛盾しません。

<正解>
 犯人はA

「思考」のまとめ

 情報量が多く、謎も多い問題でした。複雑ではありましたが、解き方は意外とシンプル。
 わからないことを、いったん仮定して考え、その可能性に矛盾がないか検証していく。いっけん手間がかかって面倒な作業ですが、そうすることでしか辿り着けない真実もあります。
 そうやって小さくとも一歩ずつ前進していくことが、論理的に考えることなのだと個人的には思っています。

 ああ、こういう問題をスマートに解ける人間になりたい……。

POINT
・わからないことが多くても、立ち止まってはいけない
・いったん「仮定」して考えてみると、見えてくる真実がある

(本稿は、『もっと!! 頭のいい人だけが解ける論理的思考問題』から抜粋した内容です。書籍では同様の「読むほどに賢くなる問題」を多数紹介しています)