第5話

『ニム和とブール環』


「質問。君の隣の、ここの席は空いてる、かい?」


1年生の、一番初めの微分積分の授業の前で、俺は、ようやく人生に春がやってきたと思った。

なんたって、女子に、それも美少女に、話しかけられたのだ。

そして、なんと、俺の、すぐ隣に座ったのだ。


「き、君の名前はなんていうんだ?」

「南條。南條体。」

「こころ?」

「変?」

「い、いや、か、可愛いらしい名前だなって。」


俺は、パトラッシュの如く浮き足だった。

今まで、守りたくもない純潔を守ってきた俺にとって、これがキラキラした大学生活なんだと本気で思った。

5分後、彼女が、この美少女が、男だと知るまでは。


「本条氏。東数ってサークルがあるらしい。一緒に入ってみない、か?」


それから、南條とは、仲のいい友達となって、共に東数に入った。

そして、新入生ゼミが始まった。

新入生ゼミとは、一年生だけで構成される自主ゼミで、数学書を一冊を決め、熟読し、交代で発表していくというものだ。

これが、初めてのゼミだった俺にとって、なんとなく和気あいあいとしたものを想像していた。

実際に始まる前までは。


南條の数学への情熱は、真剣さは、並大抵ではなかった。

ゼミの予習にかけている時間量がまず違うし、俺らより、ずっと深く理解している。

そして、その真摯さゆえ、ツッコミも厳しい。


「わたしは、南條さんのように、頭が良くないから。」

「ごめん、もう南條さんのペースには、ついていけないよ。」


1人、また1人、とゼミのメンバーが消えていく。

最後には、俺と、南條だけになった。

思えば、南條も少し焦っていたのかもしれない。


決して、頭のいいわけではない俺でも、大学で初めて出会う抽象的な数学に慣れず、授業とゼミとの両立に苦しんでいた俺でも、ギリギリ、ギリギリでゼミにしがみついていた。


しかし、それは起きた。

確か、とりわけ、厳しくもない普通のツッコミだったと思う。

俺は、いつも通り、普通に返答したつもりだった。


「はは。ごめん。確かに、その通りだね。。」


意識していたわけではなく、自然にその言葉は出てた。

言ってから、初めて、俺は気づいた。


「提案。もうこのゼミは、終わりにしよう。それが、一番いいと思う。」


その時の南條の顔は覚えていない。


新入生ゼミは消滅し、それから、南條とは、あまり話さなくなってしまった。


***


「2進数。2進数とは、0と1だけで、整数を表す世界。」


南條が、テーブルの湯のみの中から、2つ選んで、そう言った。

やはり、ぶな!とか、っぴー!とかの変な語尾は、もう付かない。

やさしい、温かみのある声だ。


「ああ、例えば、10とか、101とかっていうやつだろ?」


俺は、早く三山崩しの真相が知りたくて、南條にそう返す。


「その通り。私たちが、普段使っているのは、10進数。つまり、0〜9の記号を使って、整数を表記しているわけだが、2〜9を使わずに、過不足なく、0と1だけで、表記しようとするわけ、だ。」

「大丈夫。そのくらいは俺だって知っている。」

「大丈夫。急がなくても、数学は決して逃げないよ、本条くん。」


そうして、南條は、群城の時からテーブルの上に置いてあった紙に、数字を書き始めた。


10進数 ↔︎ 2進数

0    ↔︎   0

1    ↔︎   1

2    ↔︎  10

3    ↔︎  11

4    ↔︎ 100

5    ↔︎ 101

6    ↔︎ 110

7    ↔︎ 111


「よし。ざっとこんなものだろう。」


どうやら、10進数と2進数の対応表みたいだ。


「それでは。本条くん、この対応の関係を説明してみてよ。」

「おう。2進数から、10進数表記にするには、例えば、101から、5を出すには、」


101→1*2^2+0*2^1+1*2^0=4+0+1=5


「という感じに、2進数表記のn桁目に、2^{n-1}を掛けたものの、和を考えればいい。今の例だと、101の3桁目は1だから、1*2^{3-1}、2桁目は、0だから、0*2^{2-1}、1桁目は1だから、1*2^{1-1}で、それらの和は、5になる。逆に、10進数から、2進数の時は、この表記の逆を辿ればいい。」

「その通り。一見すると、10進数を使い慣れている、人類、我々人類にとっては、2進数は、ややこしく、ただややこしく表記を変えているだけに感じることもあるかもしれない。」


ややこしい言い回しだ。


「しかし。しかしだ。2進数は、別の数の見方を我々に与える。それが、ニム和、だ。」


ニム和……?

初めて聞く名前だ。


「さあ、本条くん。2進数での足し算の仕方は、もちろん知ってるよね?」

「え、ああ。10進数の時と同じで、桁ごとに足せばいいんだろ?」

「例えば?」


10+11


俺は、紙に書き足す。


「例えば、10+11だったら、これは10進数だと、2+3だけど、」


 10

+11

 ̄ ̄ ̄

101


「てな、感じに、まず、1桁目の、0と1を足して、1。そして、次に、2桁目の1と1を足して、2、つまり、10だ。よって、101が出てきて、これは、10進数だと5で、確かに、2+3=5が計算できている。」

「そう。この場合、2桁目では、が起きてるってことだ。」

「ああ、確かにそうだけど、それが?」

「ニム和。ニム和とはまさに、このを無視することなの、さ。」


繰り上がりを無視?


「便宜上。普通の和と区別するため、ニム和を⊕と書こう。今から、2⊕3を計算する。」


 10

⊕11

 ̄ ̄ ̄


「同様。さっきと同じように、2と3を2進数で表す。まず、1桁目。0+1=1だから、繰り上がりは起きてないから、これはそのまま書く。」


 10

⊕11

 ̄ ̄ ̄

  1


「次に。2桁目。1+1=10だが、ここで、繰り上がった1は書かずに、0とだけ下に書く。」



 10

⊕11

 ̄ ̄ ̄

 01


「以上。01は、1と同じだから、つまり、10⊕11=1。10進数で表せば、」


2⊕3=1


「なの、だ。」


和なのに、減っている……だと!?


「本条くん。和なのに、減っている……だと!?とでも思ってそうな顔だ、ね。お察し。お察しのように、ニム和は、普通の和と違い、小さい数になることが多い。例えば。例えば、次の計算をしてみて、よ。」


5⊕5=?


俺は、くるっとペンを回して計算を始める。

えーと、まず、5を2進数で書くと、101だから、



 101

⊕101

 ̄ ̄ ̄ ̄


っていう感じか。

まず、1桁目。

1+1=10だけど、繰り上がりは無視するから、0。


 101

⊕101

 ̄ ̄ ̄ ̄

   0


次に、2桁目。

0+0=0だから、そのまま、0。


 101

⊕101

 ̄ ̄ ̄ ̄

  00


最後に、3桁目。

これも、1桁目と同じで、1+1=10で、0だ。


 101

⊕101

 ̄ ̄ ̄ ̄

 000


よって、答えは……あれ?


「そう。答えは、000、つまり、0、だ。」


5⊕5=0


5と5を足したら0になってしまった。


「同様に。同様に、1⊕1=0だし、2⊕2=0だし、3⊕3=0だし、すなわち、ニム和では、同じものを足したら、必ず、0になる、のさ。」


なんと。

異世界感がすごい。

この0からRe:異世界生活でも始められそうだ。


「本題。ここからが、本題、だ。」


南條が、5つずつの、湯のみの山を2つ作った。


A:◯◯◯◯◯

B:◯◯◯◯◯


「本条くん。これは、先手必勝、後手必勝、どっちだった、かな?」

「えーと、後手必勝だな。」

「では、これ、は?」


A:◯◯◯◯

B:◯◯◯◯


「これも後手必勝だ。」

「これ」


A:◯◯◯

B:◯◯◯


「後手必勝。」

「これ」


A:◯◯

B:◯◯


「…後手必勝」

「こ…」

「ああ!もう分かった!2山同数の時ってのは、相手と同じ数だけ、別の山から、取ればよかったから、後攻の方が絶対勝てたんだ。」

「ご名答。」

「それで、これがなんなんだ?」

「疑問。まだ気づいていない……の、か?これらの、山の石の数のニム和は、、だった。」


まさか。

いや、そんなまさか。


いてもたってもいられず、湯のみの山を崩し、新たに3つの山を作った。


A:◯◯◯

B:◯◯

C:◯


これは、さっき、後手必勝だと確認したはずだ。

俺は、急いで、いや、計算間違いをしないように、落ち着いて、ペンを走らせる。


3は11

2は10

1は 1


まず、3⊕2は、


 11

⊕1 0

 ̄ ̄ ̄

 01


だから、3⊕2=1だ。というか、各桁でやっていることは足し算だから、足す順番を変えても同じで、3⊕2=2⊕3=1だな。

そして、1⊕1はさっきやったように、0。

よって、3⊕2⊕1=0。確かに、0だ。


じゃあ、他の場合は?

5、4、3、2の場合も?


A:◯◯◯◯◯

B:◯◯◯◯

C:◯◯◯

D:◯◯


本当に、5⊕4⊕3⊕2=0なのか。

5⊕4は、5が101、4が100だから、


 101

⊕100

 ̄ ̄ ̄ ̄

 001


つまり、5⊕4=1だ。

そして、3⊕2=1だったから、


5⊕4⊕3⊕2=(5⊕4)⊕(3⊕2)=1⊕1=0


まじか。本当に、0になっている。

今まで、出てきた後手必勝の形は、すべてニム和が0になっていた。


「明察。実は、次の定理が成り立つ。」


定理(ニムの必勝法)

 場が後手必勝 ⇔ 山のニム和が0


「すなわち。そうすなわち、三山崩しの必勝性は、ニム和によって、判定される。」


初め、運ゲーにさえ見えた三山崩しが、実は、その裏側には、数学的な規則性があることが分かった。

これを瞬時に見抜くことができるかどうか、が、数戟のポイントだったわけだ。

まあ、普通は、見抜けない。


「それで、その定理の証明は、どうやってやるんだ?」

「証明。この証明は、初等的にもできるし、群論を使った証明も存在、する。後で、参考文献を上げるので、ここでは、証明は割愛、する。本論とずれる、ので。」


本論?


「本論?とでも、言いたそうな顔、だね。長くなってしまったが、そもそも私たちは、ブール環の具体例を探して、いた。」

「ああ!そうだよ!ブール環だよ!」

「もう1つ。そのためにもう一つ演算を、導入、する。それは、ビット積、だ。」

「ビット積?」

「要は。要は、さっきの桁ごとの足し算を、掛け算にするだけ、さ。」


 11

⊗10

 ̄ ̄ ̄


「ビット積。ビット積を、⊗と書くことに、する。これは、3⊗2の計算、だ。」


 11

⊗10

 ̄ ̄ ̄

  0


「1桁目。1桁目は、1×0=0なので、0を書いた。」


 11

⊗10

 ̄ ̄ ̄

 10


「2桁目。2桁目は、1×1=1だから、1。よって、10、つまり、」


3⊗2=2


「本条くん。例にならって、5⊗5を計算、計算してみてくれ。」


見た感じ、ニム和よりは、簡単そうだ。


 101

⊗101

 ̄ ̄ ̄ ̄

 101


できた。1×1=1、0×0=0だから、101が答えとして出る。

よって、5⊗5=5だ。

ビット積では、同じものを2回掛けても、何も変わらないってわけだ。

ん?これって……


「もしかして、これがブール環になるのか。」

「これ。これって、どれ?」

「あーと、自然数、0を含む自然数全体だな(#0は自然数)。普通の、足し算、掛け算では、もちろんブール環にならないけど、このニム和、ビット積では、ちゃんとブール環になっている。これが、自明じゃない、ブール環の例だ。」


南條の口角が、わずかながらも、確かにはっきりと、上にあがる。


「適当。それが、ブール環の具体例の、1つ。とでも、言いそうな顔だな?南條?」

「不適当。そんなことは、思っていない。正確には、(0を含む)自然数全体に1111111111…が無限個並んだ数を加えたものだ。便宜上、これを∞と書くこととすると、どんな自然数 a に∞をかけても a は変化しない。すなわち、∞は環における単位元の役割を果たす。これで、自然数+{∞}はブール環をなす。」


なんだか、昔の、仲が良かった頃の、2人に戻れたみたいだ。

照れ隠しなのか、南條は、早口で、続ける。


「実は。実は、ストーンの表現定理から、ブール環というものは、本質的には、こういうニム和やビット積の演算が入ったものしかない、ことが知られている。厳密。厳密には、集合代数と呼ばれるもの、と、ブール環が同型だ、ということだ。ある集合の部分集合全体に、共通部分、対称差(和集合から共通部分を引いたもの)で演算を入れると、環になるけど、これはしかもブール環になっている。簡単に言えば、集合代数とは、この部分環のこと。つまり、ストーンの表現定理の主張は、『任意のブール環は、ある集合の部分集合全体からなる環の部分環になっている』、ということ、だ。例えば、さっきの例では、2進数表記の自然数全体が、自然数の有限部分集合全体と、1対1に対応している。例えば、1↔︎{0}、10↔︎{1}、11↔︎{0,1}という感じに。演算としては、ビット積と共通部分、ニム和と対象差が、対応している。」


こんな調子である。

そうだ、南條は、数学のエンジンがかかると、もうブレーキが効かず、どんどん、どんどん、話が進んでいくのだ。

おそらく、南條が本気を出せば、三山崩しから、今までの下りまで、2分足らずで終わるだろう。


まあ、とりあえず、これで、ブール環の例も分かったし、一件落着ってわけだ。


「それでは、本条さま、よろしいでしょうか?」


うわ!

耳元で、いきなり囁かれた不気味な声に、思わず背筋がぞっとする。


「最期のお話が、終了したようでしたので。」


忘れてた。俺、死んだんだった。


「それでは、数戟『三山崩し』、勝者、南條 体さま、敗者、本条圭介さま、ということで、これにて決着でございます!事前にご確認した通り、報酬として南條さまには、本条さまの『命』が贈られます!」


平等院命題の懐から、リボルバー式の銀色の拳銃が取りだされる。


「それでは、お覚悟くださいませ!これより、数戟管理委員会を執行いたします!」


今まで、会ってきた人の顔が、走馬灯のように、走馬灯なんだけど、思い浮かんでくる。

母さん、父さん、環奈、群城、南條、りんちゃん……


みんな、ありがとう。



銃声が鳴り響く。


ピロピロピーン♪




あれ?銃声ってこんな音だったっけ?


「本条さま、もう大丈夫でございますよ。」


恐る恐る目を開ける。

平等院命題が、何やら、タブレットで、ピピっと事務処理をしている。

南條は、お茶をずずずと吸って、のんびりくつろいでいる。


あ、うん。

一応、聞いておこう。


「えーと、俺は、死ぬんじゃなかったんだっけ?」

「ええ。ですから、本条さまの東数の会員権『トポス』を回収させていただきました。すなわち、もう本条さまは、東数の会員ではございません。」


どゆこと?


「あ、これ、ございますか?これは、リボルバー式拳銃風の、顔画像認証器でございます。この見た目の方が、その、雰囲気が出るでございますでしょう?」


どゆこと??


「本条くん。東数の会員にとって、生存権に等しいような会員権は、命に例えられて、通称、『トポス』と呼ばれる、んだ。名の通り、一度、失った会員権は、二度と手に戻らないし、当然、数戟も受けることはできない。」


なるほど。

いまいち、状況が、掴めてないが、とりあえず、死ななくていいようだ。

まったく、言い回しが、いちいち大げさだったんだ。


「ったく。こっちは、本当に死ぬかと思って、ヒヤヒヤしてたんだぜ。東数の会長さまは、こうも悪趣味なのかよ。」


瞬間、場が凍りついた。

あれ?

影に徹しているはずの黒子も、ざわざわと騒ぎ始める。


何か、まずいことでも言ったか?


「本条さま、ご存知ないようなのですが実は……」

「制止。私から、説明……するよ。」


南條の顔が、いつになく、真剣な表情になる。


「本条くん。悪いニュースと、もう一つ、悪いニュース、つまり、悪いニュースが2つある。」


良いニュースないのかよ。


「1つ。1つ目は、私は、もう東数の会長ではない、ということだ。数日前、とある男に、数戟に敗れ、会長の座を奪われた。」


南條が、負けた??なんで?どんな奴に?どうして?


「彼。彼の名前は、導来 圏。異世界から来た小学2年生。あまりこういう言葉は使いたくないのだけど、相対的に、客観的に、年齢的にみても、彼は、いや、彼が、真の天才だ。」


テーブルの上には、湯のみが、無秩序に散乱している。

俺は、机上の物には、すでに興味を失っていた。

恐ろしい。

何より、直感的に、まず、俺が思ったのは、それだった。


「そして。そして、もう1つの悪いニュースは……」


南條が、口ごもる。

直感が、確信に変わる。


「彼の狙いは、君の妹だということだ。」

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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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