
数学において、ゼロ除算、つまり除数(分母)がゼロである除算は、問題のある特殊なケースです。分数表記を用いると、一般的な例は次のように書けます。、そこでは被除数(分子)です。
初等算術における商の一般的な定義は、除数を掛けたときに被除数になる数である。つまり、 はと同等です。この定義によれば、商はは意味不明です。製品は常に他の数字ではなく 。初等代数の通常の規則に従いながらゼロ除算を許容すると、数学的誤謬、つまり不合理な結果につながる微妙な間違いが生じる可能性があります。これを防ぐために、実数および体と呼ばれるより一般的な数値構造ゼロ除算は定義されておらず、ゼロ除算が発生する可能性のある状況は慎重に扱う必要があります。任意の数に 0 を掛けると 0 になるため、式も未定義のままです。
微積分学は、入力が特定の値に近づくときの関数の極限における挙動を研究します。実関数が分母がゼロに近づく分数で表せる場合、関数の出力は任意に大きくなり、「無限大に近づく」と言われます。これは数学的な特異点の一種です。例えば、逆関数、 が無限大に近づくにつれて傾向として分子と分母の両方が同じ入力でゼロに近づく場合、結果として得られる極限は分数を構成する特定の関数に依存し、それぞれの極限から決定できないため、式は不定形になると言われます。
実数などのフィールドを扱い、ゼロ除算を未定義のままにするという一般的な慣習に代わるものとして、ゼロ除算の結果を別の方法で定義することも可能であり、その結果、異なる数体系が生まれる。例えば、商はは、無限大における新たな明示的な点と等しいと定義することができ、時には無限大記号 で表される。、あるいは、被除数の符号に応じて正または負の符号を持つ符号付き無限大となるように定義することもできます。これらの数体系では、ゼロ除算はそれ自体特別な例外ではなくなりますが、無限大の点または複数の点は、独自の新しいタイプの例外的な振る舞いを伴います。
コンピュータにおいて、ゼロ除算を試みるとエラーが発生する可能性があります。状況や対象となる数値の種類によっては、ゼロ除算の結果、正または負の無限大になったり、特殊な非数値が返されたり、プログラムがクラッシュしたりするなど、様々な結果が生じる可能性があります。一部の定理証明器では、除算を全関数とするために、商をゼロと定義しています。
割り算では、被除数はは、サイズの部分に分割されていると想定されています。(除数)と商は、結果として得られる部品の数です。たとえば、10枚のパンをサンドイッチにするとします。サンドイッチ1つにつきパン2枚が必要です。合計で5つのサンドイッチを作ることができます( )。ここで、サンドイッチ1つにつきパンのスライスが0枚必要だと想像してみてください(例えばレタスラップなど)。パンの種類は関係ないので、10枚のパンからそのようなサンドイッチをいくらでも作ることができます。 [ 2 ]
除算の商の概念は、繰り返し減算による計算に適しています。除算とは、被除数がなくなるまでに除数を何回減算できるかを数えることです。ゼロを有限回減算しても、ゼロでない被除数がなくなることはないため、このようにゼロ除算を計算すると、決して終わりません。[ 3 ]このような無限のゼロ除算アルゴリズムは、一部の機械式計算機で物理的に実現されています。[ 4 ]
分割除法では、被除数はは、以下のように分割されると想定されている。部分と商は各部分の最終的なサイズです。たとえば、10 枚のクッキーを 2 人の友人に分けるとします。各友人は 5 枚のクッキーを受け取ります ( )。では、10 枚のクッキーを 0 人の友達に分配すると想像してみてください。各友達は何枚のクッキーを受け取るでしょうか? 友達がいないので、これは不合理です。 [ 5 ]

別の解釈では、商は比率 を表す . [ 6 ]例えば、ケーキのレシピでは小麦粉10カップと砂糖2カップが必要で、その比率はまたは、比例して、このレシピをケーキの量に合わせて調整するには、小麦粉と砂糖の比率を次のようにします。例えば、小麦粉1カップと砂糖1/5カップ、または小麦粉50カップと砂糖10カップのように維持することができます。 [ 7 ]ここで、砂糖不使用のケーキのレシピで小麦粉10カップと砂糖0カップが必要だと想像してみてください。比率は、または比例的に、これは全く理にかなっています。 [ 8 ]これは単にケーキに砂糖が入っていないという意味です。しかし、「砂糖1に対して小麦粉は何部か?」という質問には、依然として意味のある数値的な答えはありません。
比率として分割する解釈の幾何学的表現は、デカルト座標平面上の直線の傾きである。[ 9 ]傾きは、直線に沿った「上昇量」(垂直座標の変化)を「水平方向の変化量」(水平座標の変化)で割ったものとして定義される。これを対称比表記で表すと、水平線の傾きは垂直線には傾きがありますただし、傾きを単一の実数とすると、水平線の傾きは となります。実数演算では商は定義されていないため、垂直線には定義されていない傾きがあります。は定義されていません。 [ 10 ]実数値の傾きは原点を通る直線のは、水平座標にある直線と垂直線との交点の垂直座標です。図中の黒の破線。垂直な赤線と黒の破線は平行なので、平面上では交わりません。時には無限遠点で交わると言われ、その比率はは新しい番号で表されます ; [ 11 ]下記の§ 射影的に拡張された実数直線を参照。垂直線は「無限に急な」傾斜を持つと言われることがある。
除算は乗算の逆演算であり、同じゼロでない数を掛けてから割る、またはその逆を行うと、元の数は変化しません。例えば、 . [ 12 ]したがって、「6 ÷ 3 はいくつですか?」のような割り算の問題は、「3 に掛けると 6 になる数は何ですか?」という掛け算を含む等式に書き換え、その式が真となる値を求めることで解くことができます。記号的には、これらは次のように表すことができます。そして同様に、そこで ?} は各方程式で同じ未知量を表します。この場合、未知量はです。なぜならしたがって . [ 13 ]
ゼロ除算を含む類似の問題、、以下の条件を満たす未知量を決定する必要があるしかし、どんな数でもゼロを掛けると6ではなく0になるので、6の代わりになる数は存在しない。 ?} 正しい記述をするために。 [ 14 ]
問題が次のように変更された場合、同等の乗法的な記述はこの場合、未知の量にどのような値を代入しても正しい式が得られるため、商として割り当てられる単一の数値は存在しない。 .
これらの困難のため、除数がゼロである商は伝統的に未定義とみなされ、ゼロによる除算は許可されていません。[ 15 ] [ 16 ]
ゼロ除算を許容しない説得力のある理由は、それを許容すると誤謬につながるからである。
数値を扱う場合、ゼロ除算という不正な計算は簡単に見分けられます。例えば、次のようになります。
ここでの誤謬は、キャンセルすることが正当であるという前提から生じている。他の数字と同じように、実際には、それは除算の一種である。 .
代数を使うと、ゼロ除算を偽装して無効な証明を得ることが可能です[ 17 ]。例えば:[ 18 ]
これは基本的に前の数値バージョンと同じ誤った計算ですが、ゼロ除算は次のように書いたため難読化されています。として .
ブラフマグプタ(紀元598年頃~668年)の『ブラフマスプタシッダーンタ』は、ゼロをそれ自体で数として扱い、ゼロを含む演算を定義した最古の文献である。 [ 17 ]ブラフマグプタによれば、
正の数または負の数をゼロで割ると、分母がゼロの分数になります。ゼロを負の数または正の数で割ると、ゼロになるか、分子がゼロで分母が有限の数の分数になります。ゼロをゼロで割るとゼロになります。
830年、マハーヴィーラはブラフマグプタが著書『ガニタ・サラ・サムグラハ』で犯した誤り、「ある数をゼロで割っても変化しない」を訂正しようと試みたが、成功しなかった。 [ 17 ]
バースカラ2世の『リーラーヴァティー』(12世紀)は、ゼロによる除算は無限量をもたらすと提唱した。[ 19 ]
量をゼロで割ると、分母がゼロの分数になります。この分数を無限量と呼びます。ゼロを除数とするこの量においては、多くの要素が挿入されたり抽出されたりしても、変化はありません。それは、無数の存在の秩序が吸収されたり生み出されたりしても、無限にして不変の神においては何の変化も起こらないのと同様です。
歴史的に、値を割り当てることが数学的に不可能であるという最も初期の記録の一つは、は、アングロ・アイリッシュの哲学者ジョージ・バークリーが1734年に『アナリスト』の中で行った微積分に対する批判(「消え去った量の亡霊」)に含まれている。 [ 20 ]
微積分学は、関数の入力が特定の値に近づくにつれて出力が収束する値である極限の概念を用いて、関数の挙動を研究します。表記法は は、関数の値がであることを意味します。は任意に近づけることができる選択することで十分に近い .
実関数 の極限の場合は、傾向として、関数は定義されていません 、数学的な特異点の一種。代わりに、関数は「無限大に近づく」と言われ、 と表記される。、そしてそのグラフには線があります。垂直漸近線として。このような関数は正式には定義されていませんが、、そして無限大の記号この場合、特定の実数を表すものではなく、このような極限は非公式に「無限大に等しい」と言われます。関数の値が際限なく減少する場合、その関数は「負の無限大に近づく」と言われます。場合によっては、関数は2つの異なる値に収束する傾向がある。傾向として上から( ) および以下 ( ); このような関数には、2つの異なる片側極限があります。 [ 21 ]
無限特異点の基本的な例として、逆関数がある。 、これはのとき正または負の無限大に近づく傾向として :
ほとんどの場合、関数の商の極限は、各関数の極限の商に等しくなります。
しかし、関数が、それぞれの限界値が両方とも に等しい 2 つの関数を割ることによって構築される場合、この場合、結果の極限は個々の極限から決定できないため、不定形をとると言われ、非公式には次のように書かれる。 . (別の不定形、 (これは、極限が両方とも無限大に発散する2つの関数を割った結果です。)このような極限は、特定の関数によっては、任意の実数値に等しくなる場合もあれば、無限大に発散する場合もあり、全く収束しない場合もあります。たとえば、 分子と分母のそれぞれの限界値は、したがって、不定形になります。しかし、まず商を簡略化すると、極限が存在することがわかります。
アフィン拡張された実数は実数 から得られる2つの新しい数字を追加することによってそして はそれぞれ「正の無限大」と「負の無限大」と読み、無限遠点を表します。 、無限大における極限の概念は、有限極限のように機能させることができます。正負両方の拡張実数を扱う場合、式は通常未定義のままです。ただし、非負の値のみを考慮するコンテキストでは、 を定義すると便利な場合が多いです。 .
セットは射影的に拡張された実数直線であり実数直線の1点コンパクト化である。ここでは符号なし無限大または無限大点を意味し、正でも負でもない無限量です。この量は次の式を満たします。、これはこの文脈では必要である。この構造では、非ゼロに対して定義可能、そしてのときは ではありませんこれは、三角関数の正接関数と余接関数の範囲を自然な視点から捉える方法です。は無限遠の一点に近づく。どちらのアプローチもまたはどちらの方向からでも。
この定義は多くの興味深い結果をもたらします。しかし、結果として得られる代数構造は体ではなく、体のように振る舞うことを期待すべきではありません。例えば、 は、この実数直線の拡張において未定義です。
複素解析は、複素数における微積分学の概念を応用する学問である。この学問において特に重要なのは拡張複素数である。、1つの追加の数が付加された複素数の集合。通常は無限大記号で表される。そして無限遠点を表し、それはすべての外部領域に含まれるように定義され、それらを位相的近傍とする。
これは直感的には、複素平面の無限の辺を包み込み、それらを一点で固定することと考えることができる。1点コンパクト化により、拡張複素数は位相的に球面と等価になります。この等価性は、各複素数を逆立体射影によって球面上の点にマッピングすることで計量的な等価性に拡張でき、結果として得られる球面距離が複素数間の距離の新しい定義として適用されます。一般に、球面の幾何学は複素演算を用いて研究でき、逆に複素演算は球面幾何学の観点から解釈できます。結果として、拡張複素数の集合はしばしばリーマン球面と呼ばれます。この集合は通常、アスタリスク、オーバーライン、チルダ、またはサーカムフレックスで装飾された複素数の記号で表されます。たとえば、 .
拡張複素数では、ゼロでない任意の複素数に対して、通常の複素数演算は、追加の規則によって拡張されます。、 、 、 、 しかしながら、、 、そしては未定義のままです。
基本的な 4 つの演算 (加算、減算、乗算、除算) は、いくつかの制限はあるものの、整数 (正の整数) に適用され、初等算術では、それらが適用される数の領域の拡張をサポートする枠組みとして使用されます。たとえば、任意の整数から別の整数を減算できるようにするには、負の整数を取り込むために、数の領域を整数の集合全体に拡張する必要があります。同様に、任意の整数を他の任意の整数で除算できるようにするには、数の領域を有理数に拡張する必要があります。この数体系の段階的な拡張の間、古い数に適用された「拡張された演算」が異なる結果を生み出さないように注意が払われます。大まかに言えば、整数の設定ではゼロによる除算は意味を持たない (定義されていない) ため、設定が実数や複素数に拡張されても、これは変わりません。[ 22 ]
これらの演算を適用できる数の範囲が拡大するにつれて、演算の見方も変化します。たとえば、整数の範囲では、減算は符号付き数の加算に置き換えることができるため、もはや基本的な演算とはみなされません。[ 23 ]同様に、数の範囲が有理数を含むように拡大すると、除算は特定の有理数による乗算に置き換えられます。この視点の変化に合わせて、「なぜゼロで割ることができないのか?」という質問は、「なぜ有理数はゼロの分母を持つことができないのか?」という質問になります。この修正された質問に正確に答えるには、有理数の定義を綿密に検討する必要があります。
実数体の構築における現代的なアプローチでは、有理数は集合論に基づく発展の中間段階として現れます。まず、自然数(ゼロを含む)がペアノの公理系などの公理的基盤の上に確立され、次にこれが整数環に拡張されます。次のステップは、すでに確立されている集合と演算、すなわち加算、乗算、および整数のみを使用して有理数を定義することです。整数の順序対の集合から始めて、と共に、この集合上に二項関係を定義するの場合に限りこの関係は同値関係であることが示され、その同値類は有理数として定義されます。この関係が同値関係であることを正式に証明する際に、第2座標がゼロでないという要件が必要となります(推移性を検証するため)。 [ 24 ] [ 25 ] [ 26 ]
ゼロ除算は実数や整数では意味のある定義ができないが、他の数学的構造においては、それ、あるいは類似の演算を一貫して定義することは可能である。
超実数では、ゼロによる除算は依然として不可能ですが、ゼロ以外の無限小による除算は可能です。[ 27 ]超実数でも同様です。[ 28 ]
分布理論では、関数を拡張することができる。実数空間全体にわたる分布(実質的にはコーシー主値を用いる)に。しかし、この分布の「値」を で求めることは意味がない。 ; 洗練された回答は、分布の特異なサポートを指します。
行列代数では、正方形または長方形の数値ブロックは、あたかも数値そのもののように操作されます。行列は加算および乗算でき、場合によっては除算も存在します。行列で割るということは、より正確には、その逆行列を掛けることを意味します。すべての行列に逆行列があるわけではありません。[ 29 ]例えば、ゼロのみを含む行列は逆行列ではありません。
擬似除算は、以下のように設定することで定義できます。、その中ではの擬似逆行列を表します。もし ならば、次のことが証明できる。存在する場合、 . もし、それから .
抽象代数学では、整数、有理数、実数、複素数は、可換環のようなより一般的な代数構造に抽象化できます。可換環とは、加算、減算、乗算はより馴染みのある数体系と同様に振る舞いますが、除算は定義されない数学的構造です。可換環に乗法逆元を付加することを局所化と呼びます。ただし、すべての可換環のゼロにおける局所化は自明環であり、ここでしたがって、非自明な可換環はゼロに逆元を持たないため、非自明な可換環ではゼロ除算は定義されません。
しかしながら、可換環を形成する任意の数体系は、ゼロ除算が常に可能なホイールと呼ばれる構造に拡張することができる。 [ 30 ]ただし、結果として得られる数学的構造は、乗法が加算に対して分配法則を満たさなくなるため、もはや可換環ではない。さらに、ホイールでは、要素をそれ自身で除算しても、乗法単位元 は得られない。、そして元のシステムが整域であった場合、ホイールでの乗算はもはや消去可能な半群をもたらさない。
標準算術に適用される概念は、環や体などのより一般的な代数構造における概念と類似しています。体では、すべての非ゼロ要素は乗法に関して可逆です。前述のように、除法はゼロで除算しようとした場合にのみ問題が生じます。これは、斜体(このため、除算環と呼ばれます)でも同様です。しかし、他の環では、非ゼロ要素による除算も問題となる場合があります。たとえば、環整数の法則6。式の意味解決策となるべきである方程式のしかしリングの中では、 は零因子です。この方程式には2つの異なる解があります。そして、したがって表現は未定義です。
場の理論では、式は正式な表現の略記にすぎません。、そこではの乗法逆元です。体公理は非零要素に対してのみそのような逆元の存在を保証するため、この式はの場合には意味を持ちません。はゼロです。現代の文献では、体(フィールド)を特殊なタイプの環として定義しており、次の公理が含まれています。体 (またはそれに相当するもの) に対して、零環が体にならないようにします。零環では零による除算が可能であるため、他の体の公理だけでは、体を定義する際に零による除算を排除するには不十分であることがわかります。
コンピュータにおいて、ほとんどの数値計算は浮動小数点演算で行われます。浮動小数点演算は1980年代以降、IEEE 754規格によって標準化されています。IEEE浮動小数点演算では、数値は符号(正または負)、固定精度の仮数、および整数指数を用いて表現されます。指数が大きすぎて表現できない数値は、代わりに正または負の無限大(+∞または−∞)に「オーバーフロー」し、指数が小さすぎて表現できない数値は、代わりに正または負のゼロ(+0または−0)に「アンダーフロー」します。NaN (非数)値は、未定義の結果を表します。
IEEE 算術では、0/0 または ∞/∞ の除算は NaN になりますが、それ以外の除算は常に明確な結果を生成します。ゼロ以外の数を正のゼロ (+0) で割ると、被除数と同じ符号の無限大になります。ゼロ以外の数を負のゼロ(−0) で割ると、被除数とは反対の符号の無限大になります。この定義により、算術アンダーフローの場合でも結果の符号が保持されます。[ 31 ]
例えば、単精度IEEE演算を使用する場合、、それから地下水が、そして分割するこの結果によって、正確な結果は単精度数として表現するには大きすぎるため、代わりに同じ符号の無限大を使用してオーバーフローを示します。

整数除算は、結果に整数表現がないため、通常は浮動小数点除算とは異なる方法で処理されます。CPUによって動作が異なります。たとえば、x86プロセッサはハードウェア例外を発生させますが、PowerPCプロセッサは除算に対して誤った結果を黙って生成して処理を続行し、ARMプロセッサはハードウェア例外を発生させるかゼロを返すかのいずれかになります。[ 32 ]このプラットフォーム間の不一致のため、CおよびC++プログラミング言語では、ゼロ除算の結果は未定義の動作とみなされます。[ 33 ] Pythonなどの一般的な高レベルプログラミング言語では、[ 34 ]ゼロ除算を試みると例外が発生し、プログラムの別の部分で処理できます。
RocqやLeanなどの多くの証明支援システムは、1/0 = 0と定義しています。これは、すべての関数を合計にするためです。このような定義は矛盾を生み出しません。なぜなら、さらなる操作(打ち消しなど)には依然としてゼロでない除数が必要だからです。[ 35 ] [ 36 ]
デスク電卓では、除算を含むその他の演算も実行できます(ただし、ゼロで割ろうとしないでください。電卓は手動で停止するまで除算を試み続けます)。動画によるデモンストレーションについては、以下をご覧ください。「機械式電卓でゼロ除算を行うとどうなるか?」(2021年3月7日、 2024年1月6日取得– YouTube経由)
代数符号が丸め誤差によって決定されないように適切な注意を払えば、アフィンモードはオーバーフローを修正しながら順序関係を維持します。したがって、たとえば、アンダーフローする負の数の逆数は依然として負です。
ZeroDivisionErrorCoq の自然数に対する標準除算関数 div は、全除算かつ純粋除算ですが、正しくありません。除数が 0 の場合、結果は 0 になります。