Day. 9 続・数の作り方
サブタイトルの通り、第七話のお話の続きです。この時は実数から複素数を作りました。今回はもう少し基本的なところから押さえましょう。基本は大事です、何事も。
六月に入って一週間も経つと、暑さは次第に厳しさを増していく。全国的に真夏日を観測する地域が現れ始めると、ここ、つばき学園高校ではプールの授業が解禁される。
敷地内にある屋内プールは、オフシーズンは休日だけ温水プールとして開放されるが、燃料費の節約のためとして、基本的に水泳部しか使わない。しかし夏になれば燃料をほとんど使わないので、プールを使用できる時間が大幅に増やされる。プール授業の解禁もその一環だ。
生徒たちは皆、学園が指定する水着を着て、時に泳ぎの訓練をして、時に自由に遊んで、夏の間だけの楽しみを満喫するわけだが……。
「はあ~~~……」
なぜか憂鬱な表情でため息をつく生徒が一名。彼女はマス部の副部長、軽部杏里。大体いつもニコニコ笑っている彼女が、こんな顔をするのは珍しい。
二年生のプール授業は明日から始まる予定だが、杏里はとにかくその授業が嫌みたいだ。前日から部室でため息を漏らすほどに。おかげでただでさえ薄暗い部室が、雰囲気まで暗くなっている。
中央のテーブルに突っ伏して唸っている杏里に、わたしは慎重に声をかける。
「やだなぁ~~……プール授業やだなぁ~~……」
「杏里先輩、そんなに水泳の授業が嫌なんですか?」
「うん……滅びればいい」
「んな極端な」
「水泳の授業は水場での対処法や必要な身体能力を身につけるのに重要だ。サボるならともかく、授業そのものを無くすのはよくない」
「いやサボるのもよくないでしょ」
立った姿勢でロッカーにもたれかかりながら、蘭子は手元の本から目を背けることなく言った。てっきりとても大事なことを言うのかと思いきや、真顔でピントのズレた指摘をするものだから、わたしは反射的に突っ込んでしまった。
すると杏里が顔を上げて、テーブルの上で重ねた両腕にあごを載せた。子どもみたいに拗ねている。
「いいもん。水場に近づかなきゃいいんでしょ。どうせ卒業したら泳ぐ機会もないし」
「そういう問題じゃないのでは」
「まあ実際のところ、水泳の授業を真面目に受けたところで、水場でのトラブルに対処できるようになるとは限らないけどね」
「蘭子先輩、にべもない……」
どうも蘭子は、水泳の授業が大事だと思ってはいても、サボりたがっている杏里のことを、積極的に止めようとはしていない。杏里がこんなことを言い出すことは、もう見慣れていると言わんばかりに。
「それにしても杏里先輩、どうしてそんなに水泳の授業が嫌なんですか?」
「うっ。そ、それは……」
「泳げないから」
「言わないでよ蘭子ちゃん、恥ずかしい!」
端的に理由を教えてくれた蘭子。さすが幼馴染み、そういう事情もよく知っているみたいだが、こうもあっさりバラすとは……。
「杏里先輩って、スポーツ全般で見るのもやるのも好きだって、この間言ってませんでした?」
「ああ。水泳競技が唯一の例外。小学生の時からあまり得意ではなかったが、最近はもっと下手になってる。全然練習してないからな」
「だって泳ごうとしてもいっつも沈むんだもん! もうやんなっちゃう!」
再びテーブルに突っ伏して恨み言を叫ぶ杏里。そんな彼女の、テーブルの下に隠れているふくよかな胸部に、わたしはちらっと視線を向ける。制服越しでも分かるほどの、見事なサイズ……それ故に不信感が否めない。
「蘭子先輩、脂肪って筋肉よりも軽くて、水に浮きやすいって聞きますけど、なんで杏里先輩は沈むんですかね」
素朴な疑問を蘭子にぶつけた瞬間に、俯いている杏里の肩がぴくっと跳ねた。
「それはよくある誤解だな」と、蘭子。「アルキメデスの浮力の原理に従うと、水より密度が高いものは沈むし、逆に低いものは浮く。骨や筋肉の密度は、種類にもよるが、平均して大体1.1くらいで、脂肪は0.9くらいだとされている。水の密度はちょうど1だから、体脂肪率が50%を超えないと、理論的には人体が通常の水には浮かばない」
「体脂肪率50%って……メタボどころか死にますね」
「死ぬとは限らないが、健康に害をなすレベルではあるな。人体が水に浮かぶには、第一に、肺に空気を入れて風船みたいにする必要がある。それから、水平を保つ姿勢も大事だ」
「水平、ですか?」
「人体が水に浮かぶとき、水面に出るのは全体の2%ほどだと言われている。体全体を均等に浮かばせるには、余計な力を抜いて、頭も足も上げすぎないようにして、背筋をきちんと伸ばすことが大事だ。茉莉、水辺で溺れそうになったとき、最もやってはいけない姿勢とは、何だと思う?」
「やってはいけない姿勢……?」
「助けを求めたり、何かに掴まろうとして、手を水面より上に出すことだ。その手だけで全体の2%が水の外に出てしまうので、頭が逆に沈んでしまう」
「うわっ、慌てていたら普通にやっちゃいそうです」
「また、猫背の状態もよくない。呼吸のために顔を水面に出すことが難しくなるからな」
「なるほど……」
蘭子って数学だけでなく色んなことを知っているな……勉強になる。現在進行形で猫背になってテーブルに伏している杏里は、さっきから無言のまま。
「杏里の場合はなあ……脂肪が多いのはともかく、姿勢が少しよくないんだよな。水への恐怖感もあるのだろうが、普段から猫背になりがちだから、泳ぐときも無意識にそうなるんだよ」
「それってやっぱり、胸のせいですか」
「だろうなあ。必要以上に重い胸があるせいで、どうしても体を真っ直ぐに保つのが難しいんだよ」
「背泳ぎでもしようものなら、胸だけが浮いて他の部位が沈みそうですもんね」
「それは言えてる」
……なんてことを真剣に話し合っていたわたしと蘭子は、いつの間にか杏里がゆらりと立ち上がって、わたし達に近づいていることに気づかなかった。
マス部の部室に、小気味よい打撃音が二度響く。
その直後、部室にOGの沼倉純がやって来た。
「うーっす、お前ら元気にやってるかー?」
沼倉はOGと言っても、二留しているせいで未だにこの高校の生徒であり、引退してからも時折こうして、マス部の様子を見に来ている。
で、沼倉が部室に入ってきたとき、中では妙なことが起きていた。
「胸が重いとか脂肪が多いとか、女の子を怒らせる言葉を使いすぎ。二人が男の子だったら二度と口を利きたくないレベルだからね」
「すみません……」
「もう言いません……」
「何やってんだお前ら」
静かな怒りを込めて叱る杏里の前で、一個ずつたんこぶを頭に作られたわたしと蘭子が、床に正座して項垂れて、反省の言葉を並べている光景であった。怒った杏里、めっちゃおっかねぇ。
すぐには状況を飲み込めなかった沼倉は、杏里のお叱りの言葉で、なんとか事情を察した。
「あー、そういえばもうすぐプール授業だな。泳ぐのが下手くそで今から憂鬱な杏里に、デリカシーのないことを言って怒られたわけだ」
「沼倉先輩、どの口が言いますか」
「まあ、プール授業ひとつサボったところで、単位や卒業には影響ないだろ。杏里は他の科目で充分カバーできるんだから、モーマンタイ、モーマンタイ」
「…………」
「取得単位ゼロで留年しまくっている純先輩が言うと、びっくりするほど説得力ないですね」
他人事のように高笑いする沼倉を、白眼視するわたし達。なんでどいつもこいつも、杏里がプール授業をサボりたがっていることに、異を唱えようとしないのか。むしろ、先輩の立場でありながら、サボりを勧めているようにすら見える。
「というか、蘭子と杏里って、体育の授業は一緒に受けているんだよな?」
「ええ。クラスは違うけど、体育と芸術科目は合同でやるので。あ、ちなみにこの場合の“合同”は数学用語ではないので注意が必要」
「分かっとるわい」
沼倉が瞬時に突っ込む。たぶんそんな注意が必要なのは、数学用語と同じ単語に何でも反応する蘭子くらいじゃないかなぁ。
蘭子のせいで脱線しかけた話を戻して、沼倉は続けた。
「あのさ、蘭子は普通に泳げるんだろう? 同じ授業を受けるなら、蘭子が杏里に泳ぎを教えてやればいいじゃないか」
「えっ! 蘭子ちゃん、教えてくれるの?」
嬉しそうに目を輝かせる杏里。まあ、普通に泳げて理屈も分かっている蘭子なら、教えるのも上手いだろうし、杏里からの信頼も厚いから適任だろう。わたしも同じクラスだったら杏里に教えてあげたかったな。わたしも一通りは泳げるし。
しかし、残念ながら杏里のぬか喜びに終わった。蘭子は蔑むような視線を沼倉に向ける。さらには小さく舌打ちまでする始末。
「ちっ……よく知りもしないくせに、簡単に言ってくれるよ」
「おいおい、それが先輩に対する態度かい。いつもそうだけどさ」
まあ確かに、蘭子から沼倉への態度とか接し方はいつも悪いけど、それも普段の沼倉の言動を見れば、宜なりという所では。
さて、蘭子は沼倉の提案の何が気に入らないかといえば……。
「一応幼馴染みなんでね、小四の時に一度、杏里に泳ぎ方を教えたことはあったんだよ」
「ん? それはつまり……」
小学生の時から苦手だった泳ぎを、蘭子からすでに教えてもらっていて、されども未だ泳げていないということは……。
突然、蘭子は頭を抱えて、絞り出すように叫ぶ。
「そう! どんだけ懇切丁寧に教えても、杏里はちっとも泳げるようにならなかったんだ! 私にとって、人生初の挫折だったんだよ!」
「案外早かったな、お前の挫折」
「な、なんかごめんね、蘭子ちゃん……」
一見すると挫折など知らずに今日まで生きてきたような蘭子だけど、意外なところで躓いていた。それは最早、杏里に泳ぎを教えること自体が、トラウマになるほどに。つまりそれほど杏里は泳ぐのが下手……というどころか、カナヅチそのものなのでは。
すると、沼倉が何か思いついたように口を開く。
「ん? ちょっと待てよ……それって、二人が何歳の時のこと?」
「小四で誕生日前だから、九歳ですけど」
「ならば、こうだ」
沼倉はホワイトボードに何か書き始めた。
(蘭子,杏里)として、(9,9)~(16,16)
「二人の年齢をペアにすれば、どの年でも必ず同値になる。類別して整数に対応させると、それは二人の年齢差、すなわち0になる」
「……だから、何だと?」
「何年経ってもこのペアは0と同一視され続ける。杏里の水泳能力の変化も同じく、ずーっと0だ!」
この直後に沼倉純は、デリカシーなさすぎの罪で、拳骨の刑に処されました。
「それで、結局何なんですか、この式」
賽の河原の石積みみたいなたんこぶを頭に作られて、うつ伏せで床に倒れている沼倉を全員が無視して、わたしはその沼倉が書いた数式を指差して尋ねる。ちなみに賽の河原には、“報われない努力”という意味があります。……言わないけどね。
「あー、これはね……」杏里が答える。「以前に話した、自然数のペアを使って整数を定義する方法だよ。この“~”の部分が、ペア同士の同値関係を表していてね」
「確か、同値関係で結べる自然数のペアたちを、パッキングするとか言ってましたっけ……前に教わった合同式はこんな感じで、これも同値関係の一種でしたよね」
a≡b (mod n) ⇔ a-b = kn(kは整数)
「この場合の同値関係って、どういうものになるんですか」
「うん。自然数のペア同士を結ぶ同値関係は他にもあるけど……今回使うのは、こんな関係」
(a,b)~(c,d) ⇔ a+d = b+c
「んんと……?」すぐには飲み込めないわたし。「これは……どういう意図で作られた定義だ?」
「少々フライングするが、右の式のbとdを移項すれば分かる」
蘭子に言われたとおりに、頭の中で式変形してみた。このくらいなら書かなくてもできる。
a-b = c-d
「ああ、なるほど! ペアの左側から右側を引いた値が等しいってことか。ん? フライングってどういう……?」
「この時点では引き算を定義できないから、整数の定義に使えないんだ。引き算は、自然数の範囲では閉じない演算だからな」
「閉じない?」
閉じるという言葉は知っているが、これもいわゆる数学語で、日常で使うものとは違っていそうだ。
「演算の結果が、特定の集合の範囲に収まっていることを『閉じている』というんだ。例えば、自然数同士の足し算やかけ算は、その結果も必ず自然数だから、足し算とかけ算は自然数の範囲で閉じているといえる」
「一方で、自然数同士の引き算は、答えが自然数になるとは限らないので、引き算は自然数の範囲で閉じていない、といえるわけ」
1+2=3, 4+11=15, … 自然数の和は必ず自然数
2×3=6, 7×12=84, … 自然数の積は必ず自然数
5-2=3, 4-9=-5, … 自然数の差は自然数と限らない
「だから、整数を定義できなければ、そもそも引き算も定義できない。自然数だけだと、できない引き算が無数にあって使い物にならないからな」
「なるほど……じゃあ負の数を知らずに引き算をしている小学生たちは、ずっと不完全な計算を強いられていたと?」
「人聞きが悪いな……小学生の場合は、具体的な計算が学習の主軸だからな。最低限の数や図形の性質は教わるが、実生活で使えればそれでいいという程度の、極めていい加減な教え方しかしない」
「いい加減とか言っちゃっていいんですか」
「厳密で抽象的な話なんて、小学生に理解できるわけがないだろう。子どもも教師も面倒くさいから、扱うのを避けているだけ」
蘭子もたいがい人聞きが悪いな……。
「あれ? ということは、自然数から整数を定義するには、自然数の足し算を使うしかないと?」
「まあそうなるな」
「でもわたし、自然数の足し算を定義する話を、まだ聞いたことがないのですけど」
「「!!」」
杏里と蘭子の表情が、固く強張った。そして二人して険しい表情になり、杏里は額を押さえ、蘭子は目頭を押さえた。
「すっかり忘れてた……」
「なんか、すでに教えた気になってた……」
わたしへ早めに教えるのを忘れていた事が、そんなに悔やまれるほどの一大事なのか。自然数の足し算なんて基本的すぎて、とっくに話した気になっていても無理はないかもしれないが。
というか、わたしもこの二人から教わるのが当然だと思っていたけど、そうでもないよな?
「あっ! こういうのも自分で調べた方がよかったですかね? マス部の部員ならそうでないといけないって、前に言ってましたし」
「そういえばそんなことも言ったっけ……複素数の話をした時だったか」
「でも自然数の足し算の定義は、高校数学の教科書には載っていないし、調べる機会もないと知りようもないと思うわよ」
「そんなもんですかね……」
「だが、茉莉には以前、ペアノの公理のことを説明したはずだ。足し算はその応用でいける」
「ペアノの公理って確か、自然数の集合を定義する五つの条件でしたよね」
ペアノの公理、つまり自然数の集合Nが満たすべき五つの条件は、次のようになる。
①0はNに属する
②aがNに属するならば、後続S(a)もNに属する
③S(a)=0となるaはNに属さない
④a≠bならば、S(a)≠S(b)
⑤Nの部分集合Mについて、0がMに属し、かつ、Mの任意の要素aに対してS(a)がMに属するならば、M=Nである
なお、条件①③⑤に含まれる0は、流儀によっては1となっているものもあります。詳しい解説は、第一話を読んでね。
「ペアノの公理に則ると、一般的な自然数はすべて、0と後続関数Sの組み合わせで表現できる」
1 ← S(0)
2 ← S(S(0))
3 ← S(S(S(0)))
4 ← S(S(S(S(0))))
:
「そして、自然数の足し算は、この後続関数を用いた、たった二つの式だけで定義できる」
「二つだけで、すべての足し算を?」
自然数の足し算と一口に言っても、その定義には足し算を使えないはずだし、色んなパターンが考えられるだろう。定義に必要な式が二つだけというのは、にわかには信じがたいが。
「これが、ペアノの公理に基づく、自然数の足し算の定義だ」
蘭子はホワイトボードに数式を書いた。
①a + 0 = a
②a + S(b) = S(a+b)
「…………」
一瞬理解が追いつかなかったが、これは、つまり……話が違うというやつだ!
「足し算の定義に足し算を使ってる!?」
「あー、やっぱりそこで引っかかっちゃったかぁ」
「これってさっき散々言ってた、循環してしまう定義ってやつじゃないですか! おかしいですよ!」
「大丈夫だ」蘭子はきっぱり言った。
「何がですか!」
「これは循環ではなく、再帰的な定義というんだよ」
「再帰的……」
「数式の適用を何度も繰り返すうちに、一番簡単な形に持っていけるってことよ。例えば、2+3という足し算だったら……」
杏里はそう言って、蘭子の書いた足し算の定義の隣に数式を書き込んでいく。
2+3 = S(S(0)) + S(S(S(0)))
= S( S(S(0))+S(S(0)) ) …②を適用
= S(S( S(S(0))+S(0) )) …②を適用
= S(S(S( S(S(0))+0 ))) …②を適用
= S(S(S( S(S(0)) ))) …①を適用
= 5
「こんな感じで、最終的に後続関数だけの形に持っていけて、5という答えが出せるの」
「めっちゃ複雑で追うのも大変……」
「もちろん、実際に足し算をするときには、こんな遠回りな方法を使う必要はない。数が大きくなるほど適用回数も増えるしね。でも理屈では、どんな自然数の足し算も、この要領ですべて説明できる」
「再帰的ってこういうことか……」
「これから先も、再帰的な定義と出会うことはあるだろうから、覚えておいてね」
ちなみに自然数のかけ算も、後続関数と自然数の足し算を使って、再帰的に定義できます。みんなも考えてみよう。
「さて!」蘭子がパンと両手を叩く。「自然数の足し算が無事に定義できたところで、いよいよ整数とその演算について定義していこうじゃないか」
「本筋からだいぶずれましたからね。わたしのせいですけど」
「いやいや、大事な説明を飛ばしていたわたし達も悪いから」
「といっても、もうすでに整数を定義するための用意はできているんだけどね」
「例の同値関係ですね」
(a,b)~(c,d) ⇔ a+d = b+c
「ここにあるa,b,c,dは全て自然数だから、この同値関係は自然数の足し算だけを使っているわけだ」
「えっと、この後は……パッキングでしたっけ」
「そうだ。合同式でも似たようなことをすでにやったな」
「合同式の場合は、特定の自然数nで割った余りが等しい整数たちを、余りの種類ごとにパッキングして、0以上n未満の整数で名前をつけることができるわね。例えばmod7だったら……」
[0] = {…,-21,-14,-7,0,7,14,21,…}
[1] = {…,-20,-13,-6,1,8,15,22,…}
[2] = {…,-19,-12,-5,2,9,16,23,…}
[3] = {…,-18,-11,-4,3,10,17,24,…}
[4] = {…,-17,-10,-3,4,11,18,25,…}
[5] = {…,-16,-9,-2,5,12,19,26,…}
[6] = {…,-15,-8,-1,6,13,20,27,…}
「無数にある整数を、余りによって分類することで、コンパクトにまとめることができるんですよね」
「ちなみにこの場合の“コンパクト”も数学用語ではないので注意が必要」
「ホントに数学用語っぽいものによく反応しますね。これだから数学好きは……」
ちなみに数学用語のコンパクトとは、『位相空間またはその部分集合について、任意の開被覆に対して有限部分被覆が存在すること』……まったく分からん。
「で、自然数のペアの同値関係の場合は……」
「こんな感じになるわね。要するに、左の数から右の数を引いた値が等しいペアたちをまとめるってことね」
「結果的にそうなるってだけだがな」
:
[3,0] = {(3,0),(4,1),(5,2),(6,3),…}
[2,0] = {(2,0),(3,1),(4,2),(5,3),…}
[1,0] = {(1,0),(2,1),(3,2),(4,3),…}
[0,0] = {(0,0),(1,1),(2,2),(3,3),…}
[0,1] = {(0,1),(1,2),(2,3),(3,4),…}
[0,2] = {(0,2),(1,3),(2,4),(3,5),…}
[0,3] = {(0,3),(1,4),(2,5),(3,6),…}
:
「この場合は、0を含むペアを、同値なペアたちの代表者にしているんですね」
「さっき茉莉が言った、代表者という表現はとても的確だ。同値な要素をまとめてパッキングする以上、何か一つは、各パッケージの名前に使わなければならない。今回は整数との関係を分かりやすくするために、0を含むペアを代表者にしたが、今後の計算では、どのペアを代表者にしても問題ないということが重要になってくる」
「なるほど……水泳のリレーでいえば、アンカーの選手が花形になりがちですけど、実際はどの選手をチームの代表者に据えても大丈夫、という感じですね!」
「おい茉莉」蘭子の語気が強くなる。「なぜ水泳を引き合いに出す。陸上でもいいだろう。ほら杏里がまた沈んでしまったじゃないか」
「あっ……」
憂鬱な水泳の授業が明日に迫っていることを思い出して、またどよ~んとした雰囲気をまとってテーブルに突っ伏す杏里。いらんことを言ってしまった……。
ここは数学の話を続けて、水泳のことを一旦忘れてもらうしかない。わたしは慌てて蘭子に質問する。
「それで、蘭子先輩。ここからどうやって、整数を定義する話に繋がるんですか?」
「ん? もうほとんどできているようなものだろう」
「え……?」
「だから、さっき決めた“代表者”のうち、右側が0のペアは正の整数、左側が0のペアは負の整数に対応するんだよ。結果的には、左から右を引いた値がそのまま、対応する整数になる」
[3,0] → 3
[2,0] → 2
[1,0] → 1
[0,0] → 0
[0,1] → -1
[0,2] → -2
[0,3] → -3
「あー、そんな簡単なことだったんですね……でもなんか、あっさりしすぎてて不安です。本当にこれで大丈夫なんですか」
「……そういう不安を大事にした方がいいとは言ったけどな。数というのは計算ができてナンボだからな、数の作り方に不安があるなら、計算を定義すればいい」
「つまり、自然数のペアの代表者を使って、足し算や引き算を定義すればいいと?」
「そういうことだ。足し算の定義はとても簡単だ。左の要素同士、右の要素同士を足し合わせればいい」
[a,b]+[c,d] = [a+c,b+d]
確かに見た目は簡単です。でも、本当にこんな簡単でいいのか……少し考えたら違和感を見つけました。
「でも蘭子先輩、それは0のある場所が違っていたら成り立たないのでは? 例えばこんな式とか」
[3,0]+[0,4] = [3,4] (?)
「代表者は0を含むペアに決めたのに、これだと代表者が作れませんよ」
「…………」
「なんか、的外れなこと言っちゃったみたいですね」
蘭子の呆れたような表情で、何も言われなくても察しがついた。
「茉莉ちゃん、さっき蘭子ちゃんが言ってたでしょ。代表者はどのペアにしても問題ないって」
「あ、復活した」
数学の話を聞いてHPが回復したようで、杏里はいつもの柔らかな笑顔でわたしに言う。
「計算した結果、0を含まないペアになった場合は、0を含むペアに代表者を替えたらいいのよ」
[3,0]+[0,4] = [3,4] = [0,1]
対応する整数に置き換えると、
3+(-4) = -1
「そっか、名前は違うけど、集合としては同じですからね」
「……納得してくれたかな」
「あれっ、でもこれって、代表者の選び方によって結果が変わったりしないのですか?」
「ふむ、その心配は尤もだな。だがその心配はない。まず、同じ集合からどんなペアを代表者に選んでも、それらは必ず同値関係で結ばれるだろう?」
[a,b]の代わりに[a',b']を代表者とすると、
a+b' = a'+b
「このことを踏まえて、別の代表者同士で足し算をした結果は、このとおり元の足し算の結果と同値になるので、代表者の選び方で答えが変わることはない」
[a',b']+[c',d'] = [a'+c',b'+d']
このとき、
(a+c)+(b'+d') = (a+b')+(c+d')
= (a'+b)+(c'+d)
= (a'+c')+(b+d)
よって、(a+c,b+d)~(a'+c',b'+d')
従って、[a+c,b+d] = [a'+c',b'+d']
※厳密には、自然数の足し算で交換法則・結合法則が成り立つことも示す必要があるが、割愛。
「おー、ホントだ……よくできてますね、この定義」
「これで整数の足し算は定義できた。じゃあ茉莉、引き算とかけ算の定義は茉莉が考えてみな」
「うえっ!?」
唐突にマーカーペンを「はい」と手渡されて、わたしは身構えてしまった。完全に聞き手に徹するつもりでいたから油断していた……。
「大丈夫よ、わたしもついてるから」
「うぅ……」
「もちろん引き算は使わないように気をつけなよ」
「お前らホント新人には甘いんだな」
ずっと床に倒れていた沼倉が、むくりと起き上がった。
「あ、お帰りなさい」
「三途の川はどうでした、沼倉先輩?」
「そんなとこ行ってねぇわ」短く突っ込む沼倉。「で、さっきから何やってるかと思ったら、整数の定義の話か」
「ええ、そうです。純先輩がわたしの苦手なことをからかうためだけに書いた式の意味を、茉莉ちゃんに教えているところです。ふふふ」
「わ、悪かったってば……」
うわあ、杏里の微笑みがめっちゃ怖いよぉ。さすがの沼倉もビクビクと怯えている。死ぬような目に遭うのはもう御免なのか、からかう気はすっかり失せたようだ。
杏里の暗い微笑みに慄いているわたしに、蘭子が後ろから声をかける。
「茉莉、ひとつ教えてやろう。数学に慣れていないと、自力で定義を考えるのは難しく感じるかもしれない。好き勝手に作ったところで、well-definedになるとは限らないからな。だが、定義はそもそも、その後の議論をやりやすくするために、一時的な約束事として決めるものだ。つまり、定義なんて結論ありきで構わないのだよ!」
「…………」
ものすごく大胆な言説を披露している蘭子だが、その片隅に『※蘭子個人の見解です』というテロップが見える気がした。
まあ、蘭子がそこまで言うなら、わたしも結論ありきで考えてみよう。要は、最終的に整数の引き算の形に置き換えられるように、自然数のペア同士の演算を考えたらいい。
理想としては、左右それぞれで引き算をすれば、一応答えは出る。
[a,b]-[c,d] = [a-c,b-d]
例えば5-3=2だったら、
[5,0]-[3,0] = [2,0]
でも引き算の定義に引き算を使うわけにいかないし、何よりこの方法だと、負の整数が絡んだとき、自然数のペアなのに負の整数が現れてしまう。
例えば3-(-2)=5だったら、
[3,0]-[0,2] = [3,-2] (?)
だから、足し算だけで引き算を定義しなければならないわけだが、果たしてそんなことが可能だろうか。引き算を足し算に変えるなんてことは……。
「あっ」
いや、できるじゃないか。そうだ、引き算は引く数の符号を入れ替えることで、足し算に変えられる。ならばさっきの足し算の定義を使って……。
わたしはホワイトボードに、思いつくまま式を書き込んでいく。
「できました! これが整数の引き算の定義です!」
[a,b]-[c,d] = [a+d,b+c]
「……その心は?」蘭子が得意顔で問う。
「引き算は、引く数の符号を反転させることで、足し算に変えられます。自然数のペアでいえば、符号の反転は、ペアの左右を入れ替えることです。だから、引く数の方のペアの、左右を入れ替えてから、足し算の定義にそのまま当てはめました」
[a,b]-[c,d] = [a,b]+[d,c] = [a+d,b+c]
「お見事!」蘭子は拍手で讃えた。「引き算から足し算への変換を考えれば、ペアの要素の入れ替えに気づける。実に論理的な導出だ」
「すごいじゃない、茉莉ちゃん。今日初めて触れる概念なのに、もう使いこなしてる!」
「えへへ……」
先輩たちに揃って褒められて、わたしの気分と自己肯定感は爆上がりだ。……そんなわたしを、沼倉だけは冷めた目で見ている。
「この調子で次は、整数のかけ算も定義してみよう」
「はい、おまかせください!」
マーカーペンを握り直して、再びホワイトボードに向き合う。実をいえば、方針はもう見えている。定義を決めるだけなら、結論ありきのフライングでも全然構わないのだ。
整数と同一視している自然数のペアは、結論からいえば、左から右を引いた値が、対応する整数になっている。つまり整数のかけ算は、各ペアの要素の差をかけ合わせることだといえる。
このことを踏まえると……。
(a-b)×(c-d) = ac+bd-ad-bc
= (ac+bd)-(ad+bc)
結果的にこの形になればいいのだから、自然数のペア同士のかけ算は、こうすればいい。
[a,b]×[c,d] = [ac+bd,ad+bc]
「こんな感じでどうですか!?」
「うん、上出来だ。これで整数は、閉じた演算も含めて、すべて定義できたことになる。代表者を変えても結果が変わらないことも示したいが、足し算のときと同じ要領でいけるから、今回はここまでだ」
「お疲れさま、茉莉ちゃん」
「いやぁ、長い旅路でしたねぇ」
「…………足りない」
突然、じっと黙って見守っていたはずの沼倉が、不満そうな声を上げた。
「「「えっ?」」」
「数式で定義することは確かに重要だ。だがそれだけでは、数学という秩序の美しさの半分しか分からない。数学は論理だけでなく、フィーリングも同じくらい重要なんだ」
「フィーリング……?」
なんだか、理屈重視の数学とは、相容れないワードに思える。困惑するわたしを横目に、沼倉はホワイトボードに大股でずかずかと歩み寄り、数式ではなくグラフを書いていく。
「いいか。自然数のペアを平面座標上にプロットして、同値なペア同士を線で結ぶと、こうなる」
「おおっ! どれも斜めの一直線に、しかも綺麗に平行に並んでいますね!」
「同値関係の定義から考えれば、この結果になるのは自然だけどな」と、蘭子。「だけど確かに、数式を眺めているだけじゃ、この秩序ある光景はお目にかかれない」
「なるほど……」
「さらにこのグラフからは、ペアの同値関係と整数が、非常に自然な形で対応していると分かる」
沼倉はこのグラフに書かれた点線を、縦軸を超えて延長して、横軸と交わらせた。
「ほら、このとおり」
「ホントだ! 同値なペアたちの代表者と、整数との繋がりが、視覚的にもはっきりしていますね」
「このグラフを使うと、整数の足し算と引き算を、ベクトルの結合に置き換えることもできるのだが……茉莉はベクトルをまだ知らないだろうから、その説明はまた今度な」
「あ、はい……」
よかった、知らない数学の話を絡められることがなくて……。
「というかお前ら、新入りが相手だからって、ちゃんとした数学の用語を避けすぎじゃないかい? お前らがさっきから言うところの、パッキングは『同値類』、代表者は『代表元』と呼ぶのが正式だろうが」
「いきなりお堅い単語を使われても、茉莉ちゃんが眠くなるだけだと思って」
杏里が苦笑しながら訳を言った。ずっとわたしに気を遣って、専門用語を避けていたのか。杏里はともかく、蘭子さえも……なんか申し訳ないな。これっぽっちも気を遣わない沼倉はどうでもいいとしてもね。
「とにかく以上が、同値類を使った自然数から整数への拡張だ。同様に、整数のペアをこういう同値関係で分類することで、今度は有理数を定義することができる」
(a,b)~(c,d) ⇔ ad-bc = 0 (a,b,c,dは整数。ただしb≠0, d≠0)
つまり、a/b = c/dという関係。
「なるほど、大きさの等しい分数になるペア同士が、同値関係になるってわけですね。それじゃあ、次は有理数のペアを使って、実数を定義するんですか?」
「「「…………」」」
「えっ、なんで黙るんですか」
三人の先輩たちはなぜか、難しい顔になって、悩ましそうに眉間にしわを寄せている。
「残念だが茉莉……実数は、有理数のペアでは定義できないんだ。ペアどころか、無限個の有理数を使わないと実数は作れない」
「うっそ!」
「実数って、整数や有理数と比べても、格段に定義が難しい数ですよね」
「まあ、同値類別を使うことに変わりはないが、数列の極限の基礎知識をフル活用する必要があるな。イプシロン・エヌ論法とか」
「そういうわけで、有理数から実数を作るには、あまりにも事前情報が不足しているので、その話はまた今度にしておこう」
「えー……」
先輩たちにそこまで言わせてしまうとは、現状よく分かっていないとはいえ、実数恐るべし。単に数直線上にある数としか認識していなかったけど、実はわたしが想像する以上に、奥が深くて謎めいた数なのかもしれない……。
というわけで、本日の数学談義は何となくお開きとなった。自然数のペアから整数へ、整数のペアから有理数へ、実数のペアから複素数へ、それぞれ数の世界が広がるのを見てきたが、難問を一つだけ残して終わってしまった。
そして、現状もう一つ、厄介な問題が残っていることも忘れてはならない。その事を沼倉が指摘する。
「それよりもお前ら、明日からどうするんだ? 杏里が水泳の授業を受けるかどうか……実数の構成と同じくらいの難題だが」
「その例えだととっくに解決してるんじゃ?」
嫌なことを思い出してまた机に突っ伏す杏里をなだめながら、蘭子は沼倉に言った。それ以前に授業はちゃんと受けるべきだから、難題ですらないと思うが。
わたしは杏里を慰めにかかる。
「杏里先輩、一つ一つできるようになりましょう。まずはバタ足の練習からです!」
「小学生レベルからやらないとダメなの!?」
涙目で顔を上げた杏里が、不覚にも可愛いと思ってしまった。
「何事も基礎を固めるのは大事ですよ。数の拡張だって、最初に自然数がきちんと定義されているからこそできるんですから」
「茉莉ちゃんが自然に数学を引き合いに出した……」
「着実に染まってきてるなぁ」
何とでも言ってくれ。普段は真面目な杏里に、授業をサボるなんて選択をさせないために、使えるものは数学でも何でも使うのだ。
あっ、いいことを思いついた。
「そうですよ! もう夏も近いですし、三人で海とか市営プールに遊びに行きたいです!」
「今さらっと私をハブにしたな?」と、沼倉。
「泳げなくても楽しめますけど、泳げたらきっと、もっと楽しくなりますよ!」
「それって、みんなで水着になるってこと?」
「もちろんそうですよ」
「……それもいいわね!」
「杏里、よもや論点がズレてはいまいか?」
たぶん泳ぐこととは別のことに目を輝かせている杏里に、白けた顔で蘭子は突っ込む。
まあ動機が不純だとしても、泳ぐことにやる気を出してくれるなら御の字だ。杏里が前向きになるためにも、三人での水遊びは楽しいものにしないといけない。蘭子は今ひとつ乗り気じゃないが、一緒に来てくれたら杏里も嬉しいはずだ。
というわけで、具体的なことは何ひとつ決まっていないけれど、わたし達三人は、一緒に海やプールへ行くことと、新しい水着を買いに行くことの相談を始めた。今からすでに楽しく話し合っているわたし達を、遠巻きに眺めている人が一名いることは、すっかり忘れて。
「お前ら、ホントに私を誘う気は微塵もないんだな……まあいいけどさ」
水泳も海もそれほど興味がないので、たとえ誘われても行く気はない沼倉であった。
* * *
杏里と茉莉、そして私の三人で、海やプールへ遊びに行くことになった。基本的に出不精な私は、あまり乗り気ではなかったが、この二人と学校の外でも一緒というのは……ちょっと心惹かれるものがある。
どこへ遊びに行くか、どこで水着を買うか、杏里と茉莉は楽しそうに相談している。ここは二人に任せた方がいいだろう。私にはろくすっぽ分からん。
それにしても、杏里に少しでも泳ぎを習得させるためとはいえ、私がまたそんなことに巻き込まれるとはね……ふと、きょう廊下で体育担当の先生に、声をかけられたことを思い出す。
『及川さん、明日のプール授業だけど、やっぱり今年も……?』
『ええ、万が一があってもいけないので』
『なんだか申し訳ないわ。及川さんだけなんて……』
『仕方ないですよ。これは私の問題なので』
先生の前では、つとめて平気そうに振る舞ったが、いつもこの時期は複雑な気分になる。杏里は泳げないから水泳の授業に後ろ向きになるが、私は……。
授業で杏里に泳ぎを教えるなんて、もう無理なのだ。沼倉が書いたあの式も、もう成り立たない。二つのペアは同値でなくなった。それは去年から分かりきっていたことなのに、杏里は私に淡い期待を寄せていたのだ。
それでもまあ、遊ぶなら楽しくやろう。他でもないこの二人が、心から楽しめるように。
ん? 後ろにいるもう一人?
誘ってもどうせ来ないから、どうでもいい。
たぶんですけど、今回の自然数のペアから整数を作る話は、伝説の名著『数学ガール ゲーデルの不完全性定理』の方が、もっと馴染みやすいと思うのです。表現とかが丸被りしてはよくないので、なるべく『数学ガール』で使われた数学用語以外の言葉は避けたいと思いながら書いたら、こんな具合になりました。先人が書いた素晴らしい著作と題材が被ると、扱いに苦労します……。
作中の時期が夏というのもあって、プールの話から始めたら、思いのほか水難にまつわるトリビアに文字数を使っていました。数学を題材にしたコメディを目指したはずだったのに……どうしてこうなった。まあ、キャラの意外な一面を掘り下げられたのは収穫と思っておきます。
さて、次回はいよいよお待ちかね、プール回、そして水着回です。この寒い時期にプールの話とか……なんて思わずに、とりあえず楽しみにお待ちください。




