0除算の話

 最近体調が悪くて完全に周回遅れになってしまったんだけれど、これの話を思い出したんでメモっておこうかなと。

 コメント欄を見たら「インプ稼ぎ疑惑あり」とか出てて世も末だと思った。本当でも嘘でも救いがないのでイーロンなんとかしろください。
 とはいえ、0除算ができない理由については簡単に説明しようと思えばできるし、実際説明している動画とかも見つけたし、なんならどこかで書いた気もするんだけど、一応自分なりの理解をまとめとこうかなと。付け加えると、動画で0除算を含めた代数的公理系があるという話を議論していて、それは聞いたことない……ってなったのであんまり詳しくはないです。


小学校で最初に習う除算

 最初に議論するのは、小学生が習うタイプの除算の定義。a÷bという記号の定義は、たとえばこう説明される。「大皿にりんごがa個あるとする。かごを持ってきて、b個のりんごをかごに乗せて持っていくことを何度も繰り返すとき、大皿からりんごがなくなった時点でりんごがb個乗ったかごはいくつできているでしょうか?」たとえばa=18でb=3だったら、3個持っていく、3個持っていく、3個持っていく、3個持っていく、3個持っていく、3個持っていく、と6回やったところで0になるから、18÷3=6というわけだ。
 ちなみに、これをやると割り切れないときの処理に困るわけだが、これは最後の文面「大皿からりんごがなくなった時点」を、「大皿のりんごがb個を下回った時点」に置き換えるとできる。このとき大皿に残っていたりんごは「あまり」と呼ばれ、よって18÷4は「4あまり2」が答えになる。
 この文脈で議論した場合、18÷0が定義できないのは明らかである。なぜなら、「0個のりんごをかごに乗せて持っていく」という行為が意味不明だからである。大皿にかごだけ持ってきてなにもせず帰って行くのだろうか? その行為を繰り返そうと思えば永遠に繰り返せると思うが、それになんの意味があるのだろうか? 一応、永遠に繰り返せるという点で「18÷0は無限大」という定義ができるかもしれないが、これは「無限大あまり18」なのだろうか。それとも18は0を下回ってないのでこの表記は不適切なのだろうか。どちらにしても、18÷0が特定の数になることはあり得ない。上記定義と不整合である。

乗算の逆演算としての除算

 続いて単純に加減乗除を代数的操作として扱い始める議論を考えよう。この前youtubeで動画を見たら中学生の文化と出てきていたが、分数が出てくると小学生でもこの考え方をせざるを得なくなるので、あまり正確ではないように思われる。
 この場合、a÷bは、a=b×xという方程式の解を表す記号として解釈される。たとえば18÷3は、18=3xという方程式の解であり、これはx=6が解なので18÷3=6である、ということになる。18÷4も同様に18=4xという方程式の解であり、解いてみるとx=4.5が解なので、18÷4=4.5となる。では18÷0は、18=0xという方程式の解ということになるが、0になにをかけても0であるため、この方程式は「解なし」となる。だからこの考え方だと、18÷0は「解なし」となるのである。

体の公理を用いた乗算表現

 前節の議論には若干の穴があって、「0になにをかけても0である」というところが、どういう理由でそうなるのかの説明が完全ではない。小学生的にかけ算を議論するならば、a×bは「りんごをb個載せたかごがa個ある。りんごは合計で何個あるでしょうか」という問題の解なので、a=0なら答えは0である。しかし前節の議論は加減乗除を解釈から離れて記号演算として扱うことに特徴があるので、解釈を持ち出すのは不整合である。若干難しい言い方をすると、semanticsではなくsyntaxの問題として捉えるべきである。
 したがって、加減乗除の現代的な取り扱いを見なければならない。これは基本的に体の公理で扱われる。体の公理は、加法と乗法という二つの代数演算が満たすべきとされる10個の公理のことである。以下、列挙する。

1)a+(b+c)=(a+b)+c(加法の結合法則)
2)a+b=b+a(加法の交換法則)
3)ある特別な元0が存在して、どんなaに対してもa+0=a(加法単位元の存在)
4)どんなaに対しても-aが存在して、a+(-a)=0(加法逆元の存在)
5)a(bc)=(ab)c(乗法の結合法則)
6)ab=ba(乗法の交換法則)
7)ある特別な元1が存在して、どんなaに対しても1a=a(乗法単位元の存在)
8)0以外のどんなaに対してもa^{-1}が存在して、aa^{-1}=1(乗法逆元の存在)
9)(a+b)c=ac+bc(分配法則)
10)0≠1

 以上の条件を満たす代数的構造を体(field)と呼ぶ。上の公理は抽象的なので、別に数ではないものでも体の公理を満たすものは存在する(有理式の全体とか)。しかしながら、とりあえず実数が体構造を持つということは現代数学における共通見解と言っていいだろう。
 この構造は加法と乗法しか定義していないが、a-b=a+(-b)として減法を、a÷b=ab^{-1}として除法を定義することができる。特徴的なのは8)で、ここには0^{-1}が存在しなくてもよいように、「0以外の」という言葉があらかじめ書かれている。しかし、「0^{-1}が存在しない」とは書かれていないので、一見すると0除算は禁止されていないように見えるかもしれない。ところがそうではなく、この公理から0除算の不可能性が示せるのである。
 この考え方だと、18÷0は18×0^{-1}なので、18÷0が定義できるためには0^{-1}が存在しなければならない。公理8)から、0^{-1}は00^{-1}=1を満たす。したがってもし0^{-1}が存在するならば、上の公理1)や3)や4)や9)を適宜用いることにより、

0=00^{-1}+(-1)
=(0+0)0^{-1}+(-1)
=00^{-1}+00^{-1}+(-1)
=1+1+(-1)=1+0=1

となって、公理10)と矛盾する結果が導出できてしまう。以上の理由によって、0^{-1}の存在は禁止されてしまうのである。
 なお、体の公理がある場合、任意のxに対して0x=0が示される。これは上と同様に、

0=0x+(-0x)=(0+0)x+(-0x)=0x+0x+(-0x)=0x

として、簡単に証明できる。したがって前節の議論はこの形でも正当化される。

極限操作での定義可能性

 というわけで、18÷0は少なくとも直接定義することはできなさそうである。そこで次に問題になるのが、18÷xの極限としての18÷0である。実際、上に張ったtogetterでもこの可能性は議論されていた。ところがこれは実際には無理である。なぜなら、18/xはx>0ならば正、x<0ならば負であるため、右側極限と左側極限が一致するためには極限が0である場合しかあり得ない。しかしながら、18/xの絶対値を取った18/|x|は+∞に発散しており、したがって18/xが0に収束することはあり得ない。こうしてこの場合も定義に失敗する。
 なお、右側極限と左側極限はあるので、右側極限を取れば+∞が、左側極限を取れば-∞が得られる。しかし+∞も-∞も数ではないし、二つ可能性が出てくる時点で「定義されている」という言い方はやはり問題を持つであろう。

立体射影による議論

 最後に、実は0^{-1}が定義できる比較的初等的な構造が存在する。これはアレクサンドロフの一点コンパクト化の極めて初等的な例である。
 いま、二次元平面を考え、x軸を数直線と同一視する。この二次元平面に原点を中心とした半径1の円周Sを書き、数xに対して、北極点(0,1)と(a,0)を通る直線Lを引くと、この直線はSと北極点以外のたった一箇所だけで交わる。この点(x,y)を具体的に計算してみよう。a=0のときは簡単で、南極点(0,-1)が該当する。a≠0の場合には、直線Lはy=-a^{-1}x+1で与えられるため、

x^2+(-a^{-1}x+1)^2=1

を解けばxが求まる。計算してみると、上の式は

(1+a^{-2})x^2-2a^{-1}x=0

と同値なので、x=0である場合(これが北極)を除けば、この方程式の解は

x=2a^{-1}/(1+a^{-2})

で与えられる。この場合、

y=-a^{-1}x+1=(1-a^{-2})/(1+a^{-2})

となることもわかる。この計算結果を関数として与えておこう。つまり、数aに対して円周Sの対応関係を与える関数は、

x(a)=2a^{-1}/(1+a^{-2}),
y(a)=(1-a^{-2})/(1+a^{-2})

で与えられる。この関数(x(a),y(a))を、数aの円周Sへの立体射影と言う。
 この立体射影の特徴は、次の式である。

x(a^{-1})=2a/(1+a^2)=2a^{-1}/(a^{-2}+1)=x(a),
y(a^{-1})=(1-a^2)/(1+a^2)=(a^{-2}-1)/(a^{-2}+1)=-y(a)

 つまり、関数x(a),y(a)は

(x(a^{-1}),y(a^{-1}))=(x(a),-y(a))

を満足するのである。言葉で言うと、a^{-1}の立体射影の値は、aの立体射影の値の、x軸を挟んで線対称に移動した点になっている。これを踏まえた上で、0^{-1}は、0の立体射影である南極点と線対称な点である北極点であると見なせる。北極点に対応する数は存在しないが、これを「無限遠点」と称して導入して∞という記号で表せば、0^{-1}=∞という考え方が生まれる。
 この考え方は、コンパクト性を持たない実数直線を、「無限遠点」を一点付け加えることで円周Sに埋め込めるという「一点コンパクト化」と呼ばれる操作のために生み出されたものである。∞は、よく関数の極限として現れる通常の意味ではなく、「無限遠点」という数とは異なる不思議な点を表す記号であることに注意されたい。この意味で0^{-1}は定義できるが、これは18÷0の定義可能性を意味しない。なぜなら立体射影は代数構造ではなく位相構造に関係する概念であり、0^{-1}は定義はできるものの、∞×xがいくつになるのかという情報はまったく持っていない。そして当然ながら、これをどう定義したとしても体の公理は満たされない。したがって結局、立体射影を用いても18÷0は定義できないが、0^{-1}までなら、定義すること自体はできるのである。

最後に:問題点

 最後に、この話の問題点は上のような議論もさることながら、「0除算ができない」という、数学的には常識になっていることを知らない小学校教員が算数を教えているということである。ぶっちゃけ、算数しかやったことがない教員でも、数学をがっつりやりこんだ人間でも、上の議論のどれかは見たことがあるはずである。それにもかかわらず「18÷0は0だ、覚えろ」とやる教員は、つまり上の理屈を全部忘れているわけで、そんな奴に算数をまともに教えられるはずがない。
 教えられない人間は教員やるべきじゃないと思うけどな……というのが、シンプルに僕の考えです。以上。

この記事が気に入ったらサポートをしてみませんか?