Towards Automated Verification of Logarithmic Arithmetic
Mark G. Arnold, Thomas A. Bailey, John R. Cowles

TL;DR
This paper demonstrates the use of the Boyer-Moore Theorem Prover to verify the correctness and error bounds of logarithmic arithmetic operations, simplifying the verification of floating point programs.
Contribution
It introduces a formal verification framework for logarithmic arithmetic, including axioms, correctness of operations, and error bounds, using the NQTHM prover.
Findings
Axioms for finite precision logarithmic systems are satisfiable for 1 < b < 2.
Verified correctness of conversion, multiplication, division, and addition functions.
Established bounds on relative errors in combined logarithmic operations.
Abstract
Correctness proofs for floating point programs are difficult to verify. To simplify the task, a similar, but less complex system, known as logarithmic arithmetic can be used. The Boyer-Moore Theorem Prover, NQTHM, mechanically verified the correctness of a simple implementation of logarithmic arithmetic. It also verified some useful theorems about accumulated relative error bounds for addition, multiplication and division in this logarithmic number system. These theorems were used to verify a program that approximates e^x using a truncated Taylor series. Axioms that characterize the finite precision of the logarithmic system using a rational base, b, were shown by the prover to be satisfiable for any choice of 1 < b < 2. The prover verified the correctness of a function for converting an arbitrary rational value to a logarithmic representation. It also verified that multiplication and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical Methods and Algorithms
