(57)【要約】      （修正有）【課題】エラーを返すことなく零除算の演算処理を可能とする。【解決手段】被除数B＝0又は，丸めた結果の数値＝0を以て被除数Bとすることに対して，除数A＝0又は，丸めた結果の数値＝0を以て除数Aとする場合，即ち，B/A＝0/0の場合，この商Cとして0を返す。また，被除数B≠0又は，丸めた結果の数値≠0を以て被除数Bとすることに対して，除数A＝0又は，丸めた結果の数値＝0を以て除数Aとする場合，即ち，B/A＝B/0（B≠0）の場合，この商Cとして0を返す。更に，目的とする除算b/aに対して，被除数B＝数値a×数値b，除数A＝数値a×数値aとして，即ち，除算B/Aを行い，これを以て除算b/aを行ったこととし，a＝0及び／又はA＝0の場合，除算b/aの商Cとして0を返す。【選択図】図１
2015180983.tif 000002
【特許請求の範囲】
【請求項１】
被除数B＝0又は，丸めた結果の数値＝0を以て被除数Bとすることに対して，除数A＝0又は，丸めた結果の数値＝0を以て除数Aとする場合，商Cとして0を返すことを特徴とする，零除算演算処理プログラム。
【請求項２】
被除数B≠0又は，丸めた結果の数値≠0を以て被除数Bとすることに対して，除数A＝0又は，丸めた結果の数値＝0を以て除数Aとする場合，商Cとして0を返すことを特徴とする，請求項１に記載の零除算演算処理プログラム。
【請求項３】
目的とする除算B/Aに対して，被除数b＝数値A×数値B，除数a＝数値A×数値Aとして除算b/aを行い，この除算b/aを以て除算B/Aとすることを特徴とする，請求項１又は２に記載の零除算演算処理プログラム。
【請求項４】
目的とする除算B/Aに対して，被除数b＝数値A×数値Bを演算し，且つ，除数a＝数値A×数値Aを演算し，その後，被除数bと除数aとで除算b/aを行い，これを以て除算B/Aを行ったこととし，A＝0の場合，商Cとして0を返すことを特徴とする，請求項１乃至３の何れかに記載の零除算演算処理プログラム。
【請求項５】
目的とする除算B/Aに対して， Bの絶対値｜B｜からAの絶対値｜A｜を繰り返し減じる演算において，それらの各差がそれらの各減算の直前の値又は差よりも小さくなり且つ非負であるとき，絶対値｜A｜を減じる操作を繰り返すことで最小差dを得，この最小差dを得るに当たって絶対値｜B｜から絶対値｜A｜を減じ得る繰り返し数をRとし，A又はBの何れか一方のみが負数の場合には繰り返し数Rに対して−1を乗じた数を以て商Cとし，A及びBの両方が負数又は両方が正数の場合には繰り返し数Rを以て商Cとすることを特徴とし，特に，Aが負数で且つ上記最小差dが0でない場合には，当該最小差dに対して−1を乗じた数を以て剰余Dとし，また特に，A＝0の場合，商Cとして0を返し，更に剰余D＝Bを返すことを特徴とする，請求項１又は２の何れかに記載の零除算演算処理プログラム。
【請求項６】
目的とする除算B/Aに対して，B/0に1＝(1/n)/(1/n)を乗じ，当該nに対する極限として無限大をとることにより，B/0の値として0を返すことを特徴とする，請求項１乃至４の何れかに記載の零除算演算処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，零除算を行うことが可能な演算処理プログラムに関するものである。
【背景技術】
【０００２】
従来，被除数／除数＝商を処理する除算において、除数が０となる演算処理は禁止されており，コンピュータ等の演算処理装置上の処理としては，零除算が検出されれば，除外され，エラーを返すように構成されるか，又は所謂フリーズ状態となってしまう。このことは，コンピュータプログラム上において零除算が禁止されているというよりも，純粋に数学的に０で割るという除算は定義されていないということによっている。
【０００３】
また，これまでは，被除数を固定しておきながら除数を０，０．１，０．０１，・・・と小さくして行くと，商が急激に増大し，無限大に接近してしまうという事実から零除算は発散するとも考える向きもあった。この考えに基づけば，正側から除数を０に近づけた場合の結果である＋∞と，負側から除数を０に近づけた場合の結果である−∞とから除数０の点であたかも−∞＝+∞となるかのような問題まで検討されてきた。
【０００４】
これらの問題から零除算は物理学や他の様々な数学応用分野において特異点の問題を提起し，永らく未解決とされてきた。特に，大型コンピュータやスーパーコンピュータを用いた計算分野においても零除算に係る特異点の問題は未解決とされ，ビッグバンやブラックホールをはじめ多くの未解決問題を残している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１１８５７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は，上述の如くの問題を解決するものであり，零除算の解と解法，根拠を与え，零除算に纏わる問題を解決し，零除算を可能とする零除算演算処理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の零除算演算処理プログラムは，被除数B＝0又は，与えられた数値を適宜に丸めた結果の数値＝0を以て被除数Bとすることに対して，除数A＝0又は，与えられた数値を適宜に丸めた結果の数値＝0を以て除数Aとする場合，商Cとして0を返すことを特徴としている。
【０００８】
被除数B≠0又は，与えられた数値を適宜に丸めた結果の数値≠0を以て被除数Bとすることに対して，除数A＝0又は，与えられた数値を適宜に丸めた結果の数値＝0を以て除数Aとする場合，商Cとして0を返すことを特徴としている。
【０００９】
目的とする除算B/Aに対して，被除数b＝数値A×数値B，除数a＝数値A×数値Aとすることにより，除算B/Aを行ったこととすることを特徴としている。
【００１０】
目的とする除算B/Aに対して，被除数b＝数値A×数値Bを演算し，且つ，除数a＝数値A×数値Aを演算し，その後，被除数bと除数aとで除算b/aを行い，これを以て除算B/Aを行ったこととし，A＝0の場合，商Cとして0を返すことを特徴としている。
【００１１】
目的とする除算B/Aに対して，BからAを繰り返し減じる演算において，それらの各差がそれらの各減算の直前の値又は各差よりも小さくなり且つ非負であるとき，Aを減じる操作を繰り返すことで最小差dを得，この最小差dを得るに当たってBからAを減じ得る繰り返し数を以て商Cとすることを特徴とし，特に，A＝0の場合，BからAを減じた差がBよりも小さくなることがないので繰り返し数が0となることから商Cとして0を返すことを特徴とする。
【００１２】
目的とする除算B/Aに対して，BからAを繰り返し減じる演算において，それらの各差がそれらの各減算の直前の値又は差よりも小さくなり且つ非負であるとき，Aを減じる操作を繰り返すことで最小差を得，この最小差を得るに当たってBからAを減じ得る繰り返し数を以て商Cとすることを特徴とし，この一連の操作によって繰り返し数を最大化した際の非負最小値となる差を，除算B/Aにおける剰余Dとすることを特徴とし，特に，A＝0の場合，BからAを減じた差がBよりも小さくなることがないので繰り返し数が0となることから商Cとして0を返すことを特徴とし，更に，剰余項として剰余D＝Bを返すことを特徴としている。
【００１３】
また、目的とする除算B/Aに対して， Bの絶対値｜B｜からAの絶対値｜A｜を繰り返し減じる演算において，それらの各差がそれらの各減算の直前の値又は差よりも小さくなり且つ非負であるとき，絶対値｜A｜を減じる操作を繰り返すことで最小差dを得，この最小差dを得るに当たって絶対値｜B｜から絶対値｜A｜を減じ得る繰り返し数をRとし，A又はBの何れか一方のみが負数の場合には繰り返し数Rに対して−1を乗じた数を以て商Cとし，A及びBの両方が負数又は正数の場合には繰り返し数Rを以て商Cとすることを特徴とし，特に，Aが負数で且つ上記最小差dが0でない場合には，当該最小差dに対して−1を乗じた数を以て剰余Dとし，また特に，A＝0の場合，絶対値｜B｜からAを減じた差が絶対値｜B｜よりも小さくなることがないので繰り返し数が0となることから商Cとして0を返すことを特徴とし，更に剰余項として上記最小差d＝｜B｜となることから剰余D＝Bを返すことを特徴としている。
【発明の効果】
【００１４】
本発明の零除算演算処理プログラムによれば，厳密な定理に基づいた単純な処理にして零除算の演算処理を高速且つ確実に実行することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】３つの直角三角形を用いて零除算0/0＝0の直感的理解を促す模式図。
【発明を実施するための形態】
【００１６】
本発明を適用して成る零除算演算処理及び零除算演算処理プログラムについて，以下に，図１を参照しながら説明する。先ず，零除算の原理について説明し，その後，零除算演算処理及び零除算演算処理プログラムについて説明するものとする。
【００１７】
零除算
§１．x/0＝0の証明（可減集合編）
定義：A，Bを実数とするとき，除算B/Aの演算を，以下で定義する．
【００１８】
（数１）
|B|−(|{A}|・|A|+a)＝0  (0≦a)（A,B,a∈R）
において，B0＝B，Aj =A  (j=0,1,2,・・・)として，可減漸化式Bj−Aj+1＝Bj+1におけるAj+1（このAj+1を第j+1可減数と呼ぶ）を元とする集合を第j+1可減数集合{Aj+1}とし，Bj （このBjを第j被可減数と呼ぶ）がBj >Bj+1≧0を満たすとき，{Aj+1}≠φ．満たさないとき，{Aj+1}＝φとして，全ての可減数集合{Aj+1}を要素とする集合を可減集合{A}とする．
ここに，Bは被除数，Aは除数，|{A}|は可減集合{A}の要素数|{A}|であってB/Aの商であり，aは剰余であって，|{A}|を最大化したときにとり得る非負最小実数である．このとき，次の定理が成り立つ。
【００１９】
定理１：0/0＝0が成り立つ．
証明：定義B−(|{A}|・|A|+a)＝0より，B＝0⇒a＝0．
従って，0−(|{A}|・|A|+0)＝0−|{A}|・|A|＝0．
ここで，A＝0⇒0−|{A}|・|A|＝0−|{A}|×0＝0．
さて，B＝B0＝0∧A＝Aj＝0故に，可減漸化式Bj−Aj+1＝Bj+1は0−0＝0であってBj >Bj+1≧0は満たさない．
よって，可減集合{A}＝{{A1},{A2},・・・,{Aj},・・・}＝{φ,φ,・・・,φ,・・・}＝φであり，
要素数|{A}|＝|φ|＝0を得る．
従って，A＝B＝0⇒B−(|{A}|・|A|+a)＝0−(0×0+0)＝0．∴  0/0＝0．□
【００２０】
補足：除算B/Aは，BからAを何回減じることが出来てその時の剰余が幾つになるかによって定義可能であり，上記のようにA=0∧B＝0とした場合，この何回減じることが可能かは可減集合{A}の要素数|{A}|によって与えられ， A＝0の場合，任意の値でも成立するように感じられるが，実際には「0は，何回減じても減じたことにならない（−0−0−0・・・の項は一般に無記載とする．）」という事実によって，1回も減じていないのと変わらないこととなり，従って，可減回数|{A}|は|{A}|＝0しかとり得ないことに注意を要する．
【００２１】
定理２：除算B/AにけるA＝0の商は0で，剰余はBとなる．
【００２２】
証明：B＞0のとき，定義|B|−(|{A}|・|A|+a)＝0より，A＝0ならば，B＝B0＞0∧A＝Aj＝0
故に，可減漸化式Bj−Aj+1＝Bj+1は，
【００２３】
（数２）
B0−0＝B0＝B1
B1−0＝B1＝B2
・・・
Bj−0＝Bj＝Bj+1
であって，Bj >Bj+1≧0は満たさない．
よって，可減集合{A}＝{{A1},{A2},・・・,{Aj},・・・}＝{φ,φ,・・・,φ,・・・}＝φであり，
要素数|{A}|＝|φ|＝0を得る．従って，
【００２４】
【数３】
2015180983.tif 000003
が成り立つ．
これより，B＞0⇒a≠0が成り立つ．ここで，A＝0⇒商|{A}|＝0，且つ，剰余a＝Bであって，明らかに，aは|{A}|を最大化した際の非負最小数であるからB≠0における除算B/AにけるA＝0の商|{A}|は0で，剰余aはBとなる．勿論，B＝0⇒a＝0が成り立つ．□
【００２５】
補題１：除算B/Aにおいて，A＞B＝0の場合
定義より，
B＝B0＝0∧A＝Aj＞0であり，
可減漸化式Bj−Aj+1＝Bj+1は
【００２６】
（数４）
B0−A1＝0−A＝B1
B1−A2＝−A−A＝−2A＝B2
・・・
Bj−Aj+1＝−(j＋1)A＝Bj+1
であってBj >Bj+1≧0は満たさない．
よって，可減集合{A}＝{{A1},{A2},・・・,{Aj},・・・}＝{φ,φ,・・・,φ,・・・}＝φであり，要素数|{A}|＝|φ|＝0を得る．従って，
A＞B＝0のとき，
【００２７】
（数５）
0−(|{A}|・|A|+a)＝0−(|φ|・|A|＋a)＝0−(0×|A|＋a)＝0−(0＋a)＝0
∴  a＝0．
これより，A＞B＝0⇒商|{A}|＝0，剰余a＝0が成り立つ．□
【００２８】
補題２：除算B/Aにおいて，A＞B＞0の場合
定義より，        
0＜B＝B0＜A＝Ajであり，
可減漸化式Bj−Aj+1＝Bj+1は
【００２９】
（数６）
B0−A1＝0−A＝B1
B1−A2＝−A−A＝−2A＝B2
・・・
Bj−Aj+1＝−j A−A＝−(j＋1)A＝Bj+1
であってBj >Bj+1≧0は満たさない．
よって，可減集合{A}＝{{A1},{A2},・・・,{Aj},・・・}＝{φ,φ,・・・,φ,・・・}＝φであり，要素数|{A}|＝|φ|＝0を得る．従って，A＞B＞0のとき，
【００３０】
（数７）
B−(|{A}|・|A|+a)＝B−(|φ|・|A|＋a)＝B−(0×|A|＋a)＝B−(0＋a)＝B−a＝0
∴  B＝a
を得る．これより，A＞B＞0⇒商|{A}|＝0，余りa＝Bが成り立つ．□
【００３１】
補題３：除算B/Aにおいて，B＞A＝0の場合
定理２によって証明されている．□
【００３２】
補題４：除算B/Aにおいて，B＞A＞0の場合
定義より，被除数Bは，B＝kA＋b（ただし，k∈N，0≦b＜A）と表される．
これを用いれば，B0＝B＝kA＋bであるから可減漸化式Bj−Aj+1＝Bj+1は，
【００３３】
（数８）
B0−A1＝(kA＋b)−A＝{(k−1)A＋b}＝B1
B1−A2＝{(k−1)A＋b}−A＝{(k−2)A＋b}＝B2
・・・
Bk-1−Ak＝(A＋b)−A＝b＝Bk
Bk−Ak+1＝b−A＝Bk+1＜0
であって，仮定より明らかに，B0 >B1>・・・> Bk-1>Bk≧0が成り立ち，且つ，Bk >Bk+1≧0は満たさない．
これより，可減数集合{Aj+1}は，
【００３４】
（数９）
{A1}≠φ∧{A2}≠φ∧・・・∧{Ak}≠φ∧{Ak+1}＝φ∧{Ak+2}＝φ∧・・・
であるから，可減集合{A}は，
【００３５】
（数１０）
{A}＝{{A1}≠φ, {A2}≠φ,・・・, {Ak}≠φ, {Ak+1}＝φ, {Ak+2}＝φ,・・・}
であり，可減集合{A}の要素数|{A}|は明らかに，
【００３６】
（数１１）
|{A}|＝k
となる．即ち，除算B/Aにおける商は，kとなり，仮定に一致する．
この結果を定義に当て嵌めれば，
【００３７】
（数１２）
|B|−(|{A}|・|A|+a)＝B−(kA＋a)＝(kA＋b)−(kA＋a)＝b−a＝0
∴  a＝b  (0≦b＜A)
が成り立つ．
ここで，b＝0ならば，明らかにBは，Aの整数倍の正実数であって剰余aが0であり，b＞0ならば，Bは，Aで割ると剰余aがbとなることを意味する．□
【００３８】
補題５：除算B/Aにおいて，A＝B＝0の場合
定理１によって証明されている．□
【００３９】
ここで，上記定義には，少なくともAとBの何れか一方が負数となるケースを意図的に外して謂わば，四半平面のみを考慮した．そこで，これらの様な負数を含む場合の拡張定義と，その効果を以下に示す．
【００４０】
拡張定義：A及び／又はBを負数の実数とするとき，除算B/Aの演算の結果を，以下で定義する．
【００４１】
【数１３】
2015180983.tif 000004
以上で置き換えれば，結果は以下のようになる．
各ケースにおける商の符号等は，
【００４２】
（数１４）
（１）A＝−α＜0∧B＝β＞0
2015180983.tif 000005
（２）A＝α＞0∧B＝−β＜0
2015180983.tif 000006
（３）A＝−α＜0∧B＝−β＜0
2015180983.tif 000007
（４）A＝0∧B≠0
2015180983.tif 000008
（５）A≠0∧B＝0
2015180983.tif 000009
（６）A＝0∧B＝0
2015180983.tif 000010
となる．
また，各ケースにおける剰余項の符号等は，
【００４３】
（数１５）
（１）A＝α＞0∧B＝β＞0
2015180983.tif 000011
（２）A＝−α＜0∧B＝β＞0
2015180983.tif 000012
（３）A＝α＞0∧B＝−β＜0
2015180983.tif 000013
（４）A＝−α＜0∧B＝−β＜0
2015180983.tif 000014
（５）A＝0∧B＝±β≠0
2015180983.tif 000015
（６）A≠0∧B＝0
2015180983.tif 000016
（７）A＝0∧B＝0
2015180983.tif 000017
となる．
【００４４】
§２．x/0＝0の証明（特性分数編）
定義：A，Bを実数とするとき，除算B/Aを，特性分数(AB)/(A2)で演算する．このとき，次の定理が成り立つ．
【００４５】
定理３：A=0⇒∀B{(AB)/(A2)＝0 }（A,B∈R）が成り立つ．
証明：定義より
【００４６】
（数１６）
A=0⇒∀B{(AB)/(A2)＝(0×B)/(02)＝(0×B)/(0×0)＝0/0＝0 }  ∴  B/0＝0□
【００４７】
勿論，A≠0ならば，この特性分数における演算を進めた場合，数学的な解はB/Aに一致することは言うまでもない．但し，当該ステップによる演算の場合，有限桁での計算の取り扱いとなることに起因するコンピュータ計算科学上おけるトレランス問題を内包していることに注意を要する．次に，特性分数(AB)/(A2)の括弧を先に外した場合であっても同様の結論が得られることを示す．
【００４８】
別証：
【００４９】
（数１７）
A=0⇒∀B{(AB)/(A2)＝B×A/A2＝B×0/02＝B×0/0＝B×0＝0 }  ∴  B/0＝0□
【００５０】
補足１：除算算B/Aの特性分数AB/A2において，
【００５１】
（数１８）
A≠0⇒AB/A2＝B/A∧A＝0⇒A/A≠1
であることに注意を要する．
補足２：定理３の証明には，0/0＝0を用いている．
【００５２】
補題６：双曲関数f(x)＝ax/x2（0＜a）において，変域を−∞<x＜+∞とするとき，値域は−∞<y＜+∞となるがx＝0の十分近傍，即ち，x→±ε（0<ε<E：εは十分に小さい正の任意定数Eより小さい正の数である）では，
【００５３】
【数１９】
2015180983.tif 000018
また，
【００５４】
【数２０】
2015180983.tif 000019
となる．勿論，この表記は，
【００５５】
【数２１】
2015180983.tif 000020
（0<ε<E：εは十分に小さい正の任意定数Eより小さい正の数である．）
を意味する．
【００５６】
これは一見すると，x＝0でf(x)はあたかも−∞＝+∞かのうように錯覚させるが，極限の概念ではx→+0はあくまでもxを0に近づけるのであって，決して0には到達せず，0点の正側の近傍の域を出ない．従って，明らかに，
【００５７】
【数２２】
2015180983.tif 000021
が成り立つ．他方， f(x)においてx＝0とすると，
【００５８】
【数２３】
2015180983.tif 000022
が成り立つ．このことは，0近傍の±0の辺りでそれぞれ±∞に近づく対極的な発散方向にあったものが，中間点であるf(0)＝0となっていて，従って，−∞＝+∞問題は解決されていることを意味する．
【００５９】
§３．x/0＝0(x∈R)の証明（一般分数編）
定理４：A≠0,B∈Rに対するF(B,A)＝B/Aについて，F(B,0)＝0が成り立つ．
証明：F(B,A)＝B/Aにおいて，a≠0に対して，
【００６０】
（数２４）
F (a,0)= F (a/a,0/a)= F (1,0)
【００６１】
（数２５）
∴   F (a,0)= F (1,0) 
一方，
【００６２】
（数２６）
F (a,0)= F (a×1,0)=a F (1,0) 
従って，
【００６３】
（数２７）
aF(1,0)=F(1,0) 
これより，
【００６４】
（数２８）
(a−1)F(1,0)=0 
【００６５】
（数２９）
2015180983.tif 000023
を得る．ここで，
【００６６】
（数３０）
a≠1⇒F(a,0)＝F(1,0)＝0
が成り立つ．また，a＝1ならば，
【００６７】
（数３１）
2015180983.tif 000024
を得る．□
【００６８】
§３．回転系の考察
定義：角速度ωで回転する回転系の回転半径rにおける接線速度vを用いてv＝rωとする．このとき，次の定理が成り立つ．
【００６９】
定理５：回転系の回転中心は回転しない．
証明：底辺をr，高さをvとする直角三角形を考えれば，その傾きω＝v/r>0は，定理４より，r＝0においてω＝0となり，これらr，v，ωにそれぞれ回転半径，接線速度，角速度の物理量を当てると，回転中心は回転しないことがわかる．□
【００７０】
定理６：点は回転しない．
証明：点Pが回転すると仮定すると，点Pは角速度ω>0を有することになり，従って接線速度v>0を有することになる．このとき，r＝v/ω>0であるから点Pは半径r>0を満たすことになるが，大きさがないという点の定義より，点は半径r＝0であるから矛盾する．このような矛盾が生じたのは点Pに角速度ω>0があると仮定したことによる．故に，点Pは角速度ω＝0でなければならない．□
【００７１】
ω＝v/rとx/0＝0と微分学の関係
角速度ωで回転する回転系の回転半径rにおける接線速度vを用いれば，v(r)＝ωrと表される。vをrについて微分すると，
【００７２】
【数３２】
2015180983.tif 000025
ただし，
【００７３】
【数３３】
2015180983.tif 000026
であって，Eは十分に小さい正の定数である．
ここで，重要なことは，εは，
【００７４】
【数３４】
2015180983.tif 000027
でなければならないということである．これこそが微分の本質である．εは限りなく0に近づけるが決して0ではない．そうでなければ，Δr＝0とすることになり，
【００７５】
【数３６】
2015180983.tif 000028
となって，微分学が，暗黙に0/0＝1としていることになってしまうからである．
【００７６】
つまり，微分は，Δr→ε（ε≠0∧0<ε<E：Eはどんなに小さな定数より小さい正の数．）によって成り立ち，0点までは行けない．微分では，或る1点に迫ることは出来ても到達することは出来ない．これは，微分における極限を取るという操作が動的なものであることを意味する．（補足：微分学上では，高次の無限小等は扱えず，極微細領域を厳密に取り扱うことが出来ないということもある．）
【００７７】
ところで，図１に示すような３つの直角三角形（A），（B），（C）を考える．
三角形（A）の場合，r<vであってω（A）＝v/rで相似形にvを0に近づけて行くと，r<vの関係を保ちながら辺々0に近づき，vが長さ0に達すると，大きさが0の点になる．このとき，傾きは0であり，勿論，r<v＝0ゆえにr＝0．
【００７８】
ここで，ω(A)>ω(B)>ω(C)であるから三角形（A）と同様に三角形（B），（C）も１つの頂点に集約し，最終的には，ω(A)＝ω(B)＝ω(C)＝0に集約されてしまう．微分学は，この頂点まで到達することが出来ないので，あくまでも頂点と頂点に限りなく近い別の点との線形近似直線の傾きを見ているに過ぎない．この結果は，0/0＝0に反しない上，微分学とも全く反せず，寧ろ相補的存在とさえ言える．
【００７９】
§４．零除算演算処理プログラムの説明
以上の零除算に関する諸定理を前提として，本発明の零除算演算処理プログラムは零除算演算処理が成される．その演算処理について以下に説明をする．
【００８０】
本実施形態において零除算演算処理プログラムは，被除数B＝0又は，丸めた結果の数値＝0を以て被除数Bとすることに対して，除数A＝0又は，丸めた結果の数値＝0を以て除数Aとする場合，即ち，B/A＝0/0の場合，この商Cとして0を返すように構成される。
【００８１】
また，本実施形態の零除算演算処理プログラムは，被除数B≠0又は，丸めた結果の数値≠0を以て被除数Bとすることに対して，除数A＝0又は，丸めた結果の数値＝0を以て除数Aとする場合，即ち，B/A＝B/0（B≠0）の場合，この商Cとして0を返すように構成される．
【００８２】
更に，目的とする除算b/aに対して，被除数B＝数値a×数値b，除数A＝数値a×数値aとして，即ち，除算B/Aを行い，これを以て除算b/aを行ったこととし，a＝0及び／又はA＝0の場合，除算b/aの商Cとして0を返すように構成される．
【００８３】
より具体的には，目的とする除算b/aに対して，被除数B＝数値a×数値bを演算し，且つ，除数A＝数値a×数値aを演算し，その後，被除数Bと除数Aとで除算B/Aを行い，これを以て除算b/aを行ったこととし，a＝0及び／又はA＝0の場合，除算b/aの商Cとして0を返すように構成される．
【００８４】
また，本発明を適用して成る別の実施形態における零除算演算処理プログラムは，目的とする除算B/Aに対して，BからAを繰り返し減じる演算において，それらの各差がそれらの各減算の直前の値又は各差よりも小さくなり且つ非負であるとき，Aを減じる操作を繰り返すことで最小差を得，この最小差を得るに当たってBからAを減じ得る繰り返し数を以て商Cとすることを特徴とし，特に，A＝0の場合，BからAを減じた差がBよりも小さくなることがないので繰り返し数が0となることから商Cとして0を返す。
【００８５】
また、目的とする除算B/Aに対して，BからAを繰り返し減じる演算において，それらの各差がそれらの各減算の直前の値又は差よりも小さくなり且つ非負であるとき，Aを減じる操作を繰り返すことで最小差を得，この最小差を得るに当たってBからAを減じ得る繰り返し数を以て商Cとすることを特徴とし，この一連の操作によって繰り返し数を最大化した際の非負最小値となる差を，除算B/Aにおける剰余Dとすることを特徴とし，特に，A＝0の場合，BからAを減じた差がBよりも小さくなることがないので繰り返し数が0となることから商Cとして0を返すことを特徴とし，更に，剰余項として剰余D＝Bを返す。
【００８６】
また、目的とする除算B/Aに対して， Bの絶対値｜B｜からAの絶対値｜A｜を繰り返し減じる演算において，それらの各差がそれらの各減算の直前の値又は差よりも小さくなり且つ非負であるとき，絶対値｜A｜を減じる操作を繰り返すことで最小差dを得，この最小差dを得るに当たって絶対値｜B｜から絶対値｜A｜を減じ得る繰り返し数をRとし，A又はBの何れか一方のみが負数の場合には繰り返し数Rに対して−1を乗じた数を以て商Cとし，A及びBの両方が負数又は正数の場合には繰り返し数Rを以て商Cとすることを特徴とし，特に，Aが負数で且つ上記最小差dが0でない場合には，当該最小差dに対して−1を乗じた数を以て剰余Dとし，また特に，A＝0の場合，絶対値｜B｜からAを減じた差が絶対値｜B｜よりも小さくなることがないので繰り返し数が0となることから商Cとして0を返すことを特徴とし，更に剰余項として上記最小差d＝｜B｜となることから剰余D＝Bを返す。
【００８７】
以上、説明したように本発明の零除算演算処理プログラムによれば，これまで除外されてきた零除算が適正に取り扱い得るようになるが，本発明の主旨を逸脱しない範囲で様々な変更が可能である．なお，上述の全ての証明や説明は，本発明者の完全オリジナルであることをここに付記する．
【００８８】
§５．ゼロ除算への極限の導入と極限
a∈R∧a≠0 を満たすaに対して，nを適当な大きさの実数として，aの0除算 
【００８９】
【数３７】
2015180983.tif 000029
を考える．上式において，nの極限を考える．即ち， 
【００９０】
【数３８】
2015180983.tif 000030
及び，
【００９１】
【数３９】
2015180983.tif 000031
を得る．ただし，上記最後の等式は 0/0＝0 を用いている．
ここで，1/n＝mとして，
【００９２】
【数４０】
2015180983.tif 000032
であって，
【００９３】
【数４１】
2015180983.tif 000033
であることに注意する．
【００９４】
つまり，極限系は保形系であって，極限においてもその比は変化しないが，極限に対して不連続となる0/0＝0などの0除算においては区別が必要となることを示している．また，上記結果は，aが如何なる実数であっても，aの0除算，即ち，a/0は，0/0＝0に限りなく接近させ得るということを示している．しかしながら厳密には、極限と定点とには，ギャップがあることに注意を要する．
【００９５】
参考：y = f(x) = x を x について微分すると，
【００９６】
【数４２】
2015180983.tif 000034
であることからも上記零除算における極限が妥当であることが判る．
【００９７】
§６．零除算に対するこれまでの間違った見方について
除算の逆演算としての乗算に見るゼロ除算の不合理性の主張が間違いであることの証明
【００９８】
よく見る 0 除算の不合理性を示す（証明）方法の中に，a,b,c∈Rとして，
【００９９】
【数４３】
2015180983.tif 000035
の関係が成り立つので，a≠0においてb＝0のとき，a＝0となり不合理であるゆえに，ゼロ除算，すなわち，a/0は定義されないとされる．これは，具体的には，
【０１００】
【数４４】
2015180983.tif 000036
の不合理性を主張するものである．（ここで，（数４４）右辺に見る0×cの結果は0であって，0を乗じて結果が0にならない実数は存在しないことは容易に示すことが出来ることに注意を要する．これについては，後述の補題に示す．）
【０１０１】
しかしながらこの論法は，証明として不完全であって，それどころか間違いであるとさえ言える．それを以下に示す．
【０１０２】
定理）除算とこの逆演算としての乗算との関係によって，0除算の不合理性を示すことは不可能である．
【０１０３】
証明）（数４３）の関係が一般に成り立つとするためには，以下に見る前提が必要である．つまり，（数４３）の関係が成り立つのは，
【０１０４】
【数４５】
2015180983.tif 000037
の両辺に bを乗じて
【０１０５】
【数４６】
2015180983.tif 000038
より，（数４６）の左辺が
【０１０６】
【数４７】
2015180983.tif 000039
すなわち，
【０１０７】
【数４８】
2015180983.tif 000040
が一般に成り立つか否かによることになる．つまるところ，（数４３）の関係上0除算において不合理を導くことには，0/0＝1が成り立つことを前提としている．
【０１０８】
しかしながら0/0＝1が成り立つかということには証明が必要である．従って，（数４３）が一般に成り立つか否かということは，0/0＝1 が成り立つか否かに依る．故に，（数４３）の関係上，上述の不合理が生じるからという理由だけではゼロ除算を否定することは出来ないといえる．
【０１０９】
そこで，0/0＝1 を仮定し，A＝B∈Rとして両辺にBを乗じて
【０１１０】
【数４９】
2015180983.tif 000041
この両辺からA2を引き
【０１１１】
【数３１】
2015180983.tif 000042
これを整理し，
【０１１２】
【数３２】
2015180983.tif 000043
を得る．すると，仮定より明らかに両辺を（A−B）で割ることが可能であって，それは
【０１１３】
【数３３】
2015180983.tif 000044
であるから，A＝Bを踏まえ，直ちに
【０１１４】
【数３４】
2015180983.tif 000045
を得，従ってAは任意の実数であるからA≠0とすれば，
【０１１５】
【数３５】
2015180983.tif 000046
を得，またA＝0としても（数３４）は仮定より，
【０１１６】
【数３６】
2015180983.tif 000047
であり，この両辺を0で割ると，
【０１１７】
【数３７】
2015180983.tif 000048
であるから，
【０１１８】
【数３８】
2015180983.tif 000049
すなわち，
【０１１９】
【数３９】
2015180983.tif 000050
を得るが，これら（数３５）と（数３９）は何れも不合理．このような不合理が生じたのは，0/0＝1が成り立つと仮定したことによる．ゆえに，0/0＝1 は成り立たない．以上によって，（数４３）の関係上において，0 除算が不合理であることを示すことは不可能であることが証明された．□
【０１２０】
本定理によって，除算とその逆演算としての乗算との関係上において，ゼロ除算の不合
理を示すことが不可能であることが明らかとなったが，本定理は，寧ろ，乗算の逆演算として除算を定義することが狭義除算であることを示していると言える．つまり，このような除算定義は，除算 a/b における除数たる bについて，b/b＝1 の関係が成り立つ場合に限定されることを示しており，このような限定条件付きの除算は，狭義の除算であると言わざるを得ない．
【０１２１】
補題７：0（実数ゼロ）を乗じた解が0（実数ゼロ）にならない実数は存在しない． 
証明）いま，0を乗じても0にならないが，その他の四則演算や分配法則、結合法則等一般の数に対して適用可能な処理は適用可能であるという特別な量0’が存在したとする． 
このとき， 
0＝0＋0 
の両辺に0’を乗じると， 
0×0’＝(0+0)×0’
＝0×0’＋0×0’
となる．ここで，0×0’＝μ≠0と表記することにすれば，上式は， 
μ＝2μ 
これより， 
μ＝0 
を得るが，これは仮定に反する． 
つまり，いかなる実数xに対しても0を乗じた解は0，すなわち 
x×0＝0 
でなければならないことを意味する． 
勿論，0×0の場合， 
0×0＝0 
でなければならない．□
【図１】
2015180983.tif 000051