第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 だ。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます