円周率が3.2ならば真白菜子は蒼井陸斗である
本小説は『道徳の解答の作り方 ー文芸部による攻略ー』に登場する蒼井陸斗と真白菜子(先輩)のお話です。
log_a(b)はaを底、bを真数とする対数の意味です。
log_10(2), √2が正であることは断りなく用いています。
#Aは集合Aの元の個数を表します。
「蒼くん、蒼くん、2年生の小テストで出題された問題を大くんに見せてもらったんだけど、これがもうひどいのなんの」
部活に行くと先輩がいきなりそう言ってノートを押し付けてきた。とりあえずノートに目を落とす。
問1. 2^2019の桁数を求めよ。ただし、log_10(2)=0.3010とする。
別に対数の定番問題ではないだろうか? こういう桁数問題はよく見る気がするが、何がひどいと?
「ひどいですか?」
「あのね、例えばさ、この問題にこう答えたらバツになる?」
先輩は僕からノートを奪うと近くの席に座ってスラスラと何かを書き始めた。僕も荷物を置いて先輩の近くに座る。今更だが、他の2人はいないようだ。
「こんな感じー」
『log_10(2)は無理数である
∵) 背理法で示す
log_10(2)=n/m
と仮定する(m, n は自然数)
このとき、
10^(n/m) = 2
10^n = 2^m
左辺は5の倍数であるが右辺は5の倍数でないので矛盾
よって、log_10(2)は無理数 /
一方、仮定より、
log_10(2)=0.3010
特にこれは有理数である
よって矛盾
したがって、2^2019は608桁 //』
「……教師に嫌われるやつですね」
なるほど。問題文でlog_10(2)=0.3010と仮定されているが、実際はそうじゃないだろと。
この答え、確かに論理的には何も間違ってはいない。問題の仮定に矛盾がある以上、結論はなんだって真になる。
「もうちょっとちゃんとふざけるなら」
『log_10(2)は無理数である
0.3010は有理数なので、
log_10(2)≠0.3010 ……①
一方、仮定より、
log_10(2)=0.3010 ……②
②より、
log_10(2)-0.3010=0 ……③
①より log_10(2)-0.3010≠0 であるので、
③の両辺を log_10(2)-0.3010 で割って、
1=0
両辺に1を足して、
2=1
したがって、
2^2019=1^2019=1
よって1桁 //』
「真面目にふざけてますね……」
「えへへ」
先輩は照れたように笑ったが、僕は一言も褒めてはいない。
「この問題、超面白いよね。中に矛盾が入ってるお陰でどんな結論にも持っていける」
さっきはひどいと言っていたのに、すぐに手のひらを返して面白いときた。どっちなんだよ……。
「数学の問題としては悪問じゃないですか、それ? この問題自体は定番問題ですけど」
「なんでも導けるから、例えば」
先輩はノートに新たな問題を書く。
問2. 真白菜子=蒼井陸斗を証明せよ。ただし、log_10(2)=0.3010とする。
……なんだ、その問題。
「その仮定の下だと僕と先輩が同一人物になると。まぁ、仮定が偽なのでどんな命題も真になりますけど」
なるわけだが、証明しろってなぁ……。
「実際に証明してみると」
先輩は数十秒で証明を書き上げた。
『proof)
先と同様にして
2=1
よって、
#{真白菜子, 蒼井陸斗}≦2=1
したがって、
真白菜子=蒼井陸斗 //』
「なんでもありですね……」
集合の元の個数が1以下で、空集合ではないのだからその集合は1元集合。よって、その中にある元はすべて等しいと。
「この仮定の下なら、100万ドルもらえるよ!」
そしてまた先輩はノートに問題を書く。ノリノリだな……。
問3. リーマン予想が正しいことを証明せよ。ただし、log_10(2)=0.3010とする。
リーマン予想、100万ドルの懸賞金が懸けられたいわゆるミレニアム問題の1つ。ミレニアム問題は7つあるが、その中で解決済みなのはポアンカレ予想1つのみ。他は証明できれば100万ドルが手に入る。
そんなことを考えている間に、先輩はさっさと証明を書き終えていた。
『proof)
背理法で示す
リーマン予想が間違っていると仮定する
ここで、log_10(2)≠0.3010 である
しかし、これは問題の仮定に矛盾
よって、リーマン予想は正しい』
証明としてそれがアリならもうなんでもありじゃないか……。リーマン予想は何も関係ない。
「ちなみにこれもできるよね」
問4. リーマン予想が間違っていることを証明せよ。ただし、log_10(2)=0.3010とする。
『proof)
背理法で示す
リーマン予想が正しいと仮定する
ここで、log_10(2)≠0.3010 である
しかし、これは問題の仮定に矛盾
よって、リーマン予想は間違っている』
「証明として間違ってはいませんよね、まぁ」
この証明は相手にするのがリーマン予想である必要はまったくなく、もちろんリーマン予想の部分をホッジ予想やBSD予想にしても成立する。つまり、残っているミレニアム問題を全部解決して600万ドルもらえるわけだ。……バカバカしい。
「先輩が log_10(2)=0.3010 という仮定にお怒りなのはもう重々わかりましたよ」
「本当さ、ありえないよね、この仮定」
まぁ、数学はともかく、有効数字という文化のある物理や化学なんかでは実際には等しくない値がイコールで繋がってるのも珍しくはないんだが……。
「だってさ、これ、『log_10(2)=0.3010… とする』だったらこんなことにならないんだよ? もしくは、『0.3010 < log_10(2) < 0.3011』か。なんで log_10(2)=0.3010 にしちゃったわけ?」
「その差が無視できるほど近いからイコールで書くってのは数学っぽくはありませんが、そもそも常用対数って数学より物理とか化学で使うイメージですし」
「本当に無視できるかわからないじゃん。今は指数が2019なんて小さい数だからいいけど、ここが10^5とかなら無視できないでしょ。問題が幅のある形で書いてあれば、この時は特定できないって正しい答えが出てくるけど、イコールで書いちゃったら30101桁っていう、log_10(2)の小数第5位が0じゃないと間違ってる答えが出てきちゃうし!」
ちなみにスマホの電卓によるとlog_10(2)の小数第5位の値は2らしいので、log_10(2)=0.3010 という仮定の下では2^(10^5)の桁数は間違って求まることになる。先輩の主張はもっともではある。
「そのうち西暦10万年が来たら年度問題ができなくなっちゃうよ」
「その言い方だと別に問題ないかなって感じになりますけど……」
西暦10万年とか、地球まだあるのか? 少なくとも人類は滅びてそうな気がする。
「西暦10万年はさておき、こんな風に偽のものを仮定しちゃうともうめちゃくちゃになるわけだけどさ、これを公的に認めようとした所があるんだよね」
その話はなんとなく知っている気がする。詳しくは全然覚えていないが。
「アメリカですよね?円周率のやつ」
「なーんだ、知ってるのかー」
先輩は至極つまらなそうな顔をする。
「いえ、詳しくは全然。何かでチラッと読んだ記憶が薄っすらあるだけなので」
「本当に!あのね、インディアナ州円周率法案っていうやつなんなだけどね!」
そんなにウキウキとしながら話す内容でもなかろうに。
「これ、別に円周率に関する法案じゃないんだけど」
「あ、そうなんですか?」
「うん。円積問題の解法に関する法案らしいよ」
「解法って、不可能であることが証明されているんですが……」
円積問題は、角の3等分線問題、立方体倍積問題と並んでギリシアの3大作図問題と言われるものだ。それを作図する方法は長らく数学者たちの頭を悩ませたらしいが、今では全てが作図不可能であることが証明されている。
「そうだよね。円周率が超越数だったら作図不可能だよね」
「うわぁ……」
円積問題が作図可能であるって結論を持ってくるために円周率の値を変えたと? それはひどい。
「実際のところはその法案の発案者は色々勘違いしまくってて、なんでそうなった?ってところばっかりだから、円周率を作図可能数にしてやろうなんて意図はなかったっぽいよ。ただその法案の中で正しいって言っていることから、円周率が3.2であることが出るんだよね」
「近似の精度が甘すぎませんか、それ……」
3.1より遠いという……。どうしてそうなったんだよ。
「しかもその法案、下院では可決されちゃってるっていうね。もちろんわかってる人がそれはダメだろって気づいて、ちゃんと凍結になったんだけど」
「その法案を提出した人もアレですが、それを可決した下院の議員も相当ですね……」
「きっと、ちゃんと内容を読んでなかったんだね。これが仮に上院でも可決されてたらインディアナ州は論理的には無法地帯になってたわけだよ」
「偽の仮定を法律で認めちゃうわけですから、まぁ」
「こんな感じのことがまかり通るよね」
問5. あなたは10人の人を殺した。それは正当防衛ではなく、あなたには判断能力も十分にあった。あなたが無罪となるように主張せよ。ただし、円周率は3.2であると法律で定められているものとする。
『仮定より、法的には、
π=3.2 ……①
円周率は超越数であるので(証明略)、
π≠3.2 ……②
①より、法的には、
π-3.2=0 ……③
②より π-3.2≠0であるので、
③の両辺をπ-3.2で割って、法的には、
1=0
両辺に10を掛けて、
10=0
よって、法的には10人殺すことと0人殺すことは等価である
よって、私は無罪を主張する //』
「逆に誰も殺していなくても10人殺したことと等価なので捕まることもあると。やりたい放題ですね」
「法秩序の崩壊。世界は混沌に包み込まれるであろぉ」
頑張って低い声を出しているみたいだが、元が高いので全然迫力がない。
「そうですね」
「ノリ悪いなぁ」
「まぁ、凍結されてよかったですよね」
「うん。蒼くんも偽の仮定を置くような真似はしちゃダメだよ?」
「日常会話なら『もしも〜だったら』って普通に使う気がしますけど。それに、背理法も使いますし」
日常会話で、「もしも自分が神様だったら」と言った相手に、「それ、仮定が偽だから意味ないよ。ナンセンス」なんて言うのは違うと思う。
「そっか、背理法で答えを書く時ってどんな矛盾を出してもいいわけだ!」
先輩は何かを思いついたようにノートにペンを走らせ始めた。
問6. √2 が無理数であることを証明せよ。
『proof)
背理法で示す
√2=n/m
とする(m, nは自然数)
2=(n^2)/(m^2)
2m^2=n^2
2m^2-n^2=0 ……①
一方、2m^2の素因数2の個数は奇数、n^2の素因数2の個数は偶数であるので、
2m^2≠n^2
2m^2-n^2≠0
①の両辺を2m^2-n^2で割って、
1=0
両辺に1を足して、
2=1
#{真白菜子, 蒼井陸斗}≦2=1
よって、
真白菜子=蒼井陸斗
真白菜子と蒼井陸斗は同一人物ではないので矛盾
したがって、√2は無理数 //』
さっきまでの話を組み合わせているだけだが、いやはや何という無駄な証明。後半部分が全て蛇足。
「まず、式①の時点で、その下にある一方って書いた事実に矛盾してて証明終了でいいじゃないですか……。それをなぜか引っ張って、1=0が出てもまだ引っ張るって……」
「でも間違いじゃないでしょ? テストでこれを書いても、バツにはできないよね?」
「いや、間違ってはいないにしても完全に蛇足ですよ。例えば、証明の中に無意味に『一方、1=1である』って入れても間違いではありませんが、減点対象になりませんか?」
証明ってのは出来るだけ簡潔にすべきじゃないのか? 今の問題だったら、
『proof)
任意の自然数m, nに対して、
2m^2の素因数2の個数は奇数、n^2の素因数2の個数は偶数であるので、
2m^2≠n^2
2≠(n/m)^2
√2≠n/m
よって、√2は無理数 //』
これだけでいい。例えばこれを、
『proof)
任意の自然数m, nに対して、
2m^2の素因数2の個数は奇数、n^2の素因数2の個数は偶数であるので、
2m^2≠n^2
2≠(n/m)^2
√2≠n/m
一方、1=1である
また、2=2である
また、3=3である
また、4=4である
また、5=5である
よって、√2は無理数 //』
としても論理的に間違いではない。間違いではないが、どう見ても変だろう。
「正しいことを書いてるのに?」
「何をもって減点というのは難しそうですけど、先輩の答案は明らかにふざけてますからね……」
「ふざけて書かれた正しい推論の方が、真剣に書かれた間違った推論よりいいと思うけど?」
「それはそうかもしれませんが……」
「あくまで蒼くんは減点されると主張するわけだね。よし、じゃ、今度小テストの時にでもやってみよ。どんな問題だって、無理矢理 背理法にすることはできるしね」
その後、先輩が数学の教師から呼び出されたのはまた別のお話。
P, Qを命題として、Pが恒偽の時、
P⇒Qは恒真命題である
という、論理学の基本からひたすらふざけたお話でした。