なぜ0で割ることはできないか:ゼロ割り算が定義されない理由

どうも、木村(@kimu3_slime)です。

「0で割ってはいけない」という考え方は、小学校や中学校のどこかで学ぶのではないでしょうか。それはなぜなのでしょうか?

大学で数学を学んだ僕が、なぜ0で割ってはいけないか、0割り算が定義されない理由について話します。簡単に言えば、0で割れるとすると、\(0=1\)という不都合なこと(矛盾)が起こるからです。

 



よくある間違い

ときには、「\(1\div 0 =0\)」と小学校で教えられることがあるようです。これは間違いです。(混同しないようにしてほしいのですが、\(0 \div 1 =0\)は正しいです)


同じように、\(9\div 0 =0\)や\(9\div 0= 1\)も間違いです。結果をどんな数字にしようとしても、問題が発生してしまいます。

パソコンの電卓で計算してみると、「0で割ることはできません」と返されます。プログラムにおいては、0で割ることは、しばしば0除算エラーとして扱われるでしょう。

でも、どうして間違いなのでしょうか。「割り算って何人かで分けるってことでしょ。0人で分けたら何にも分けられないから0じゃないの」と考える人もいるでしょう。

これには僕はこう答えます。9個のものを0人で分けるとしましょう。確かに、0人に0個のものを配って、あまりが9と考えることはできるでしょう。しかし、同じようにして、0人に5個のものを配って(\(0\times 5 =0\))、あまりが9と考えることができます。では答えは、\(9\div 0 =0\)なのでしょうか、\(9 \div 0 =5\)なのでしょうか? 解釈の仕方によって、異なる答えが出てきてしまうのでは計算として困りますね。

これはあくまでたとえ話です。0割り算ができない=定義されないのは、数(とその体系)の性質によります。もう少し、きちんと考えてみましょう。

 

あまりを考えない割り算

話をわかりやすくするため、まずあまりを考えない普通の割り算について考えましょう。例えば、

\[ \begin{aligned}7 \div 2 = \frac{7}{2}\end{aligned} \]

です。割り算とは、一体何なのでしょうか。それは掛け算の逆の計算です。

\(\frac{7}{2}\)とはどんな数かというと、2をかけると7になる数のことです\(2\times \frac{7}{2}=7\)。

 

数を一般的に\(a,b\)と書くと、\(b \neq 0\)のとき、

\[ \begin{aligned}a \div b = \frac{a}{b}\end{aligned} \]

という数(分数)が定まります。\(\frac{a}{b}\)は一体どんな数かといえば、\(b\)をかけると\(a\)になる数のことです\(b \times \frac{a}{b}=a\)。

これが割り算・分数の定義(僕たちが議論の出発点とすること、ルール)です。小学校の算数では、イメージできることや計算できることに重点が置かれがちです。しかし、それが問題なくできること、正しさが保証されているのは、数やその規則が先人によって明確に定義されているからです。

例えば、\(a=0\)のとき、\(\frac{0}{b}=0\)であることが示せます。どうしてでしょうか。割り算の定義を思い出すと、\(\frac{0}{b}\)とは、\(b\)をかけると\(0\)になる数を表しているのでした。そんな数といえば、\(b\times 0 =0\)なので、\(0\)ですね。したがって、\(\frac{0}{b}=0\)となります。

 

上の定義では、\(b\)が0でないときに限定していたことに注意しましょう。どうして、

\[ \begin{aligned}a \div 0 = \frac{a}{0}\end{aligned} \]

としてはいけないのでしょうか。それは、結果がひとつの数として定まらないからです。

さきほどの割り算の定義から、どんな数にも等しいことが言えてしまいます。例えば、\(0\times 0= 0\)なので、\(a \div 0=0\)です。また、\(1\times 0 =0\)なので、\(a\div 0 =1\)です。\(x\)をどんな数としても、\(x \times 0 = 0\)なので、\(a \div 0= x\)です。

仮に、0割り算を受け入れて、\(a \div 0\)という数がただひとつ定まって存在するとしましょう。上で行った議論から、例えば\(a \div 0 = 0 =1\)となってしまいます。しかし、\(0=1\)は正しくないです(\(0 \neq 1\)なので)。ある文章が正しくて(真であり)、同時に正しくない(偽である)ことを、数学では矛盾と呼びます。

0割り算を認めることは、例えば\(0=1\)を認めることになってしまう。それどころか、すべての数が等しいことになってしまう。それでは普通の計算はできませんね(\(1+1=2\)すらできない笑)。なので、0割り算は定義できない(仮に定義すると、他の数の体系・計算に不都合すぎる)、という回答になります。

 

0で割ってはいけないことの説明に、しばしば次のものが見られます。

\[ \begin{aligned}1 \div \frac{1}{10} = 10\end{aligned} \]

\[ \begin{aligned}1 \div \frac{1}{100} = 100\end{aligned} \]

\[ \begin{aligned}1 \div \frac{1}{10000000}= 10000000\end{aligned} \]

と、割る数を小さくして0に近づけていくと、割り算の結果は限りなく大きくなってしまう。だから、0割り算に特定の数字を割り当てることはできない。これも悪くはない議論です。

ただ、この議論だけ見ると

\[ \begin{aligned}1 \div 0 = \infty\end{aligned} \]

という「無限大」の記号を使えば良いんじゃないか? と思う人もいるでしょう(間違いです)。中学以降の知識が必要になりますが、マイナスで同様の議論をすると、

\[ \begin{aligned}1 \div (-\frac{1}{10000000})= -10000000\end{aligned} \]

といくらでもマイナスに大きい値に近づいていきます。したがって、\(1 \div 0 = \infty\)といったように何か記号を割り当てるのも妥当ではないわけです。

これは反比例、関数\(y = \frac{1}{x}\)が、\(x=0\)での値を考えないことが多いことに関連してきます。

関数とは数の対応関係のことであり、例えば\(x=0\)での値を(\(\frac{1}{x}\)という式に関係なく)個別に\(y=0\)と定めることはできます。しかし、それはつながったグラフ、連続な関数になりません(連続な関数については、高校数学で学ぶでしょう)。\(0\)という値どころか、どんな値\(a\)を定めても、連続になることはありません(プラス方向は正の無限大へ、マイナス方向は負の無限大へ近づいているので)。

(極限の言葉を使えば、\(\lim _{x\searrow 0}\frac{1}{x} = \infty\)、\(\lim _{x\nearrow 0 }\frac{1}{x} = -\infty\)で、どちらも特定の値に収束しない。無限大は、発散の状態を表す記号であり、普通の数のように扱えないことに注意。)

だから、\(x=0\)では定義されないものとして考える。これは悪くない議論だと思いますが、「\(\frac{1}{x}\)が連続であるような値を決められないから」は、割り算ができないことの理由付けとしては弱いかなと思います。

0割り算があるとすると、それをどんな値に決めるにせよ、\(0=1\)という矛盾が導かれる。だから受け入れられない。それがわかりやすいでしょう。

 

あまりを考える割り算

あまりのある割り算でも、同様に0割り算は定義できません。

\(7 \div 2 \)の商が\(3\)、あまりが\(1\)であるとは、\(7 =2\times 3+1\)が成り立つことによって定義されています。

一般には、\(b \neq 0 \)のとき、あまりを考えた割り算\(a \div b\)の商が\(p\)、あまりが\(r\)であるとは、\(a =b\times p +r\)、\(0 \leq r <|b|\)が成り立つことと定義します。

この計算はきちんと定まります:整数の除法、割り切れる・約数b|a、最大公約数gcdとは?

 

\(b=0\)のとき、あまりを考える割り算の結果があると認めると、矛盾を導くことを確かめてみましょう。

\(a =0 \times p +r\)、\(0 \leq r <|0|\)を満たすような商\(p\)、あまり\(r\)が割り算の答えです。あまりの条件(割る数より小さいこと)から、\(r=0\)でなければなりません。\(a = 0\times p = 0\)なので、\(a=0\)でなければならなくなりました。\(a \neq 0\)である数を最初に考えていたら、例えば\(a=1\)のときを考えていたら\(1 =0\)が導かれ、この時点で矛盾です。

\(a=0,b=0\)のときを考えます。この場合は、\(0 = 0 \times p\)という式になり、矛盾という矛盾は生じません。しかし、商\(p\)は何でも良いことになってしまいます。つまり、\(0 \div 0\)の商は、\(0\)であり\(1\)であり\(2\)でもあるとなり、答えに一意性がなくなります。したがって、\(0 \div 0\)は考えないことが多いでしょう。

 

以上、なぜ0で割ってはいけないか、0割り算が定義されない理由を紹介してきました。

素朴なイメージのまま考えようとしても、この問題に納得することはできないでしょう。計算の優先順位を明確にしなければ6÷2(1+2) の答えが決まらないように、0で割るという問題も割り算の意味をはっきりとさせる必要があります。

割り算は掛け算を逆にした計算であること、0にどんな数をかけても0であることを知ると、0割り算からはどんな数も等しいことが導けてしまう。それは不都合だから定義しない。この記事が、「割ってはいけない謎のルール」について、少しでも納得するきっかけになれば嬉しいです。

木村すらいむ(@kimu3_slime)でした。ではでは。

 

こちらもおすすめ

6÷2(1+2) の答えは9?1? 出題者はカッコを使うべき

なぜ分数の割り算はひっくり返してかける? 分数の定義と逆数について

カッコの前のマイナスの外し方:分配法則を理解する

「すべての」「存在する」「一意性」とは? 証明の書き方