数ならぬ

理学系のこと、特に数学について書きます。雑学的な知識もまとめていく所存。

なぜ÷0は禁じ手なのか?——抽象的に考えることで、見えるもの——

 実数ではゼロ除算ができない。次の命題が成り立つからである。

0は吸収元である
すべての実数xにたいして、0x=0が成り立つ

 上の命題はなぜ0除算を禁止するのだろうか。そのことを考えるために、まずは除算の定義について思い出してみよう。

 高校までに習う除算は二つある。それは算数的な余り付きの除算と、数学的なかけ算の逆として定義される除算である。今回は後者の除算について考えていく。後者の除算は次のように定義される。

除算の定義
abで割る、という言葉はbc=1をみたすようなcaにかけることを意味する

 ちょっと分かりづらいので例を提示しておく。

42で割りたいと思ったとする。このとき2にたいして2x=1となるx\dfrac{1}{2}である。つまり、42で割るというのは4\times\dfrac{1}{2}を計算するのと同じである。

 そりゃ、当然である。もうちょっと難しい例の方がわかりやすい気がするので、もう一例挙げてみる。

\dfrac{10}{3}\dfrac{5}{6}で割ることを考える。このとき、\dfrac{5}{6}x=1を満たすx\dfrac{6}{5}であり、\dfrac{10}{3}\dfrac{5}{6}で割るというのは\dfrac{10}{3}\times\dfrac{6}{5}を計算することと全く同じことである。

 たぶん歴史的には一つ目の例が先に出てきて、ここでは割り算をかけ算に変えるということをする必要がなかったけれど、二つ目のようなちょっと複雑な例が出てきて定義をより柔軟なものに変えたのだろう。

 察しのいい方は気づかれたかもしれないが、この定義では割る数bbc=1となるcが存在することを要求している。だが、そのようなことは本当に絶対に成り立つのだろうか。例えばbc=1となるcが存在しない数bも存在するかもしれない。そのような数では除算をすることができないのではないか。

 それが0除算のできない、もっとも本質的な理由である。

 もっとも上に掲載した定理によると0x=0となる。つまりどうやってxをとってきても1にはならない。つまり0には0x=1となるようなxは存在しない。だから、0で割り算をすることはできない。

 だが、われわれが見ているのは数学である。数学では命題を考えるのと同じくらいに、なぜ命題が成り立つのか、成り立たないかを考えることも重要である。ということで0除算ができない理由、すなわち0x=0が成り立ってしまう原因を考えていこう。もしかしたら、このことを深く考えることで、0除算ができるような興味深い体系が発見できるかもしれない。

 実数の演算について考えてみよう。もっとも抽象的な性質について考える。われわれは幸運なことに、その性質を小学生の時にはすでに知っていた。思い出してみよう。

 まず、小学生の頃だったか、足し算は順番を入れ替えても答えが同じになるという、交かんのきまりを勉強した。そして同時に、三つ以上の数の足し算はどこからでも計算してよいという、結合のきまり、最後に、かけ算は足し算に配れるという分配のきまりを勉強したはずだ。これらはそれぞれ、交換法則、結合法則、分配法則と大人びた、しかし意味内容はほとんど変わらない言葉に言い換えられた。

「きまり」の例

 交換法則

 3+5=8,5+3=8

 入れ替えても計算の結果は変わらない。

 結合法則

 (2+3)+5=5+5=10,2+(3+5)=2+8=10

 括弧をどこにつけようが、結末は変わらない。

 分配法則

 2\times(3+5)=16,2\times 3+2\times 5=16

 かけ算は配れる。

 これ以外にも計算の法則はあるだろうか。計算の法則ではないが、数の性質がある。それも、強く演算に関わってくるようなものの。

 それが01である。

 0は足し算、1はかけ算で、演算された数を変えない唯一の元である。こういうある演算に対して、演算したものを変えないような元を単位元という。

 また、元の数にたいして、足し算をすると0となる数がある。これを加法的逆元という。いわゆるマイナス〜と呼ばれる数である。

 さて、ここまでの性質の列挙で、実は一番最初に掲げた定理が成り立つ。再掲しよう。

0は吸収元である
すべての実数xにたいして、0x=0が成り立つ

 これの証明は、今までの法則を使えば非常に簡単である。

Proof

 0x=(0+0)x=0x+0xが成り立つ。ここで0x加法的逆元yを加えると、0=0xが成り立つ◽︎

 証明には0の性質と、分配法則、加法的逆元の存在を使っている。すなわち、これらからジェンガのようになにかをなくすとこの証明は成り立たないことが分かる。

 0除算のためには0の性質を持った元が必要なので、抜くべきは分配法則か加法的逆元のどちらかである。

 どちらの性質も完全にはなくさず、緩めたものが新たなる代数体系であるである。

輪の定義

Wを集合としてそこに交換法則、結合法則を満たす足し算かけ算+,\cdotを導入する。また特殊な記号として足し算かけ算のそれぞれの単位元となる0,1を入れ、さらに単項演算//を導入する。ここで次のような公理を満たす代数構造を輪と呼ぶ。

0\cdot0=0

/(xy)=/x/y

//x=x

xz+yz=(x+y)z+0z

(x+yz)/y=x/y+z+0y

(x+0y)z=xz+0y

/(x+0y)=/x+0y

0/0+x=0/0

 単項演算とは、-:x\to-xのように、一つの数にたいして操作を行うものである。今回は/という逆数をとるような演算を入れている。

 そして思うのが、公理が長すぎるということである。公理をいじくるのも一苦労である。ここで輪では0による除算のようなものが許されていることに注目する。前述したとおり/xという数はxの逆数のようなものになっている。であるので 、/0を考えることで0の除算もどきが考えられるのである。

ここで実数を含むような具体的な輪を構成する。

here

Rに元\infty,\perpを加え、以下のような演算の規則を設定する。

xを実数の元とする。

x+\infty=\infty

\infty+\infty=\perp

x+\perp=\perp

\infty+\perp=\perp

\perp+\perp=\perp

a,b0でない実数とする。

/a=a^{-1}

/0=\infty

/\infty=0

/\perp=\perp

a\cdot\infty=\infty

a\cdot\perp=\perp

\infty\cdot\infty=\infty

\infty\cdot0=\perp

\perp\cdot0=\perp

\infty\cdot\perp=\perp

ここでx/0を考えるとこれはx\cdot\inftyと一致するのでx\neq0のときは\inftyx=0のときは\perpとなる。

このように代数構造を緩めることで0除算ができるようになる。しかしその構造は複雑怪奇であり、少々扱いが難しいため、0除算を禁止した方がいくぶんか簡単ではないだろうか。