本論文では、浮動小数点プログラムの正当性検証が困難であるという問題に対し、より単純化された対数演算を用いた検証システムを提案しています。著者らは、定理証明システムNQTHMを用いて、対数演算の実装の正当性と、対数演算における加算、乗算、除算の累積相対誤差限界に関する有用な定理を機械的に検証しました。
対数演算では、任意の正の実数b (b≠1) を基数とする対数関数logbを用いて、正の実数を表現します。しかし、実際には対数の表現は有限ビット数に制限されるため、丸め誤差が発生します。本稿では、丸め処理を単純化するために、基数bを有理数として扱い、その有限精度を特徴付ける公理を提示しています。
著者らは、対数演算の加算、乗算、除算の実装を提示し、NQTHMを用いてその正当性を検証しました。乗算と除算は、入力値が正確に表現されている場合、正確な結果を生成することが証明されました。加算は、正確な入力値に対して可能な限り正確な結果を生成することが証明されました。
対数演算を用いたプログラムでは、演算の繰り返しによって誤差が蓄積されます。本稿では、この蓄積誤差を表現するために、「トレランス」と呼ばれる概念を導入しています。トレランスは、特定の基数における表現と、その表現が表す実際の値との間の相対誤差限界を表します。著者らは、トレランスを用いて、対数演算における誤差の蓄積に関する定理を証明し、NQTHMを用いてその正当性を検証しました。
本稿では、例として、テイラー級数を用いた関数近似プログラムを対数演算で実装し、そのトレランスを解析しています。その結果、対数演算を用いても、適切なトレランスで関数を近似できることが示されました。
本論文では、対数演算を用いた検証システムを提案し、NQTHMを用いてその正当性を機械的に検証しました。また、トレランスという概念を導入することで、対数演算における誤差の蓄積を解析できることを示しました。本研究は、浮動小数点プログラムの検証を簡素化するための重要な一歩と言えるでしょう。
Till ett annat språk
från källinnehåll
arxiv.org
Djupare frågor