第3話

『嘘か真か』


「な、なにすんだっ!」


俺は思わず、耳元の群城を振り払う。


「おー、照れてる照れてるう。相変わらず面白いやつだなあ。顔真っ赤にしちゃってさ♡」


群城は、右手を口に当てて、ニヤニヤとこちらを見て笑っている。

昔から、こんな風に俺をからかうんだこいつは。

まるで俺に気があるかのような素振りをして、動揺した反応を見て楽しむ。


「……そんなことより、話の続きを話してくれよ。」

「続き?なんだっけ?(・ω<) テヘペロ」

「グレブナー基底だよ!」


(・ω<) テヘペロ なんて似合わない顔文字を使うんじゃない。


「ああ、そうだったな。」

「ああ、そうだったよ。」

「…さて、グレブナー基底を使う前に、一つ下準備をする必要がある。」

「下準備?」


群城は、俺の言葉も気にも留めず、ショートパンツの後ろポケットから、A4くらいの白い紙を一枚取り出す。

どうやら、メモ用紙らしい。

そして、何かを探すように自分の体をまさぐり始める。


「うーん、うーん、うーんと、あれどこだっけなあ?」


収納するスペースなどそうないだろう服の隙間に、手当たりしだい手を突っ込んでいく。

正直、目のやり場に困る。


「あ、あった!」


群城は胸の谷間から、ボールペンを取り出した。

どこに入ってるんだよ。


「ほれ。」

「な、なんだよ。」


群城は胸から出したペンを俺に差し出す。

あった場所が場所なので、ちょっとドキッとした。


「今から、アタシの言うことを、その紙に書き出しなさい。秘書よ。」


群城は社長ぶった口調で、俺に命令した。



All or Nothing



社長、いや女王の言う通り、まだ生暖かいボールペンで、俺はそう紙に書いた。

オール、オア、ナッシング。

すべてか無か。

Yes か No か。


「これが、今からアタシ達が考える世界だ。」


群城は、書いた文字の意味について考える俺に構わず、そう切り出した。


「真実か、はたまた、嘘か。その二択しか、その世界にはない。」

「それで何なんだよ。」

「あせるな童貞。そんなんじゃモテないぞ。」

「俺は童貞ではないがな。」

「お前が、童貞か、非童貞かは、どうでもいいが、必ずどちらかであることは確かだろ。この際、素人童貞などという概念は考えない。」


0 or 1


群城はそう俺に書かせた。


「それは、0と1しかない世界。0.5とか、2とか、他の数字はない世界。……じゃあ、嘘つき問題に戻ろうじゃないか。」


***

問題. この中で嘘をついているのは、誰か?


A. 「Bは嘘をついている」

B. 「Cは嘘をついてない」

C. 「AとBのどちらかは嘘をついてない」

***


「真実か。嘘か。A、B、C の発言は、それぞれ、そのどちらかでしかない。」

「ああ、そうだな。」

「そこで、真実なら、0、嘘なら、1という数字を対応させるんだ。」


真実 ⇄ 0

嘘  ⇄ 1


「……なる、ほど?」

「鈍い男だなあ。……まあ、直に分かる。さらに、A、B、Cのそれぞれの発言に対して、変数 x、y、z を対応させることにする。」

「どういうことだ?」

「……ふっ。変数は、a、b、c でもなんでもいいが、x、y、z の方が変数っぽいだろう。」

「おい、無視するなよ。」

「x、y、z にはそれぞれ、0か1、どちらかの値が入る。真実か、嘘かのように。」

「まだ、頭が追いついてないんだが。」


群城は、自分本位なやつで、俺の理解など、どうでもいいのだ。

しかし、このままだと、全俺が置き去りになってしまう。


「安心しろ。次の表を書けば分かる。」


Aの発言が真実 ⇄ x = 0

Aの発言が嘘  ⇄ x = 1


Bの発言が真実 ⇄ y = 0

Bの発言が嘘  ⇄ y = 1


Cの発言が真実 ⇄ z = 0

Cの発言が嘘  ⇄ z = 1


「……えーと、つまり、x が 0 なら、Aは正直者、x が1なら、嘘つきってことか?」

「ま、そうだな。例えば、」


A:正直

B:嘘つき

C:正直


「なら、」


x = 0

y = 1

z = 0


「ということになる。」

「……なんとなく分かった気がする。でも、これがなんだっていうんだ?ただ、文字に置き直しただけじゃないか。」

「へっ。真実か、嘘かを、変数に置き直す。その行為こそが、重要なのさ。」


群城は、両手を頭の後ろで組んで、もったいぶったように言う。

この対応が、どうしてグレブナー基底につながるんだ。

まだ戸惑っている俺に、群城が、次のような忠告をする。


「おい本条、もう一度、嘘つき問題を見直してみろよ。」


A. 「Bは嘘をついている」

B. 「Cは嘘をついてない」

C. 「AとBのどちらかは嘘をついてない」


俺は、言われるがままに、問題を見直す。

……Aは、「Bは嘘をついている」と言っている。

これが真実なら、えーと、つまり…… x = 0 なら、「Bは嘘をついている」ということになる。

ん?「Bは嘘をついている」ってことは、Bの発言は、嘘ってことで、y = 1 となる。

x の値によって、y の値が決まる?


「まてよ。」


俺は、無意識に独り言つった。


逆なら、どうだろう。

Aの発言、「Bは嘘をついている」が嘘なら。

このとき、x = 1 だ。

そうすると、「Bは嘘をついている」が嘘だから、Bは嘘をついていない。

ややこしいが。

つまり、Bの発言は、真実で、y = 0 だ。

やっぱり、x の値が、y の値を決めている。


俺は、今のことを紙にまとめる。


① Aが正直ならば、Bは嘘つき。

x = 0 ⇒ y = 1 


② Aが嘘つきならば、Bは正直。

x = 1 ⇒ y = 0


「つかんだようだな。」


黙々と紙に向かい合っている俺に、群城が話しかけてきた。

俺は、思わず聞き返す。


「群城、これって、y は x の関数ってことか?」

「関数か……。まあ、いい線だな。それじゃあ、y = なんていう関数だと思う?」


うーん。

① x = 0 ⇒ y = 1

だから、

y = x + 1

とかか?


いや、そうすると、x = 1 のとき、y = 1 + 1 = 2 だから、

② x = 1 ⇒ y = 0

に合致しない。

だめか。


①と②を満たすような、関数ってなんだろうか。

深く考え込む俺の手元を、群城が覗き込む。


「なんだ、答え出てるんじゃないか。」

「へ?」


驚いて、変な声が漏れてしまった。


「これだよ。これ。」


群城が指差したのは、


y = x + 1


「いやいや、何言ってるんだ。だって、x = 1 を代入したら、」


y = 1 + 1 = 2


「で、0 じゃないんだぜ?」


そこは確認済みだと、ドヤ顔で群城の方を向くと、彼女は可哀想な子犬を見る目で、俺を眺めていた。

はあ、と群城は、ため息をつく。

やれやれだぜ。とまで言いそうだ。

それは、本条でも、群城でもなく、空条の決めゼリフだが。


「いいか、本条くん。1+1 は、0 だ。」

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る