Logic and computation: interactive proof with Cambridge LCF
Logic and computation: interactive proof with Cambridge LCF
Formal Methods Applied to a Floating-Point Number System
IEEE Transactions on Software Engineering
What every computer scientist should know about floating-point arithmetic
ACM Computing Surveys (CSUR)
Mechanizing programming logics in higher order logic
Current trends in hardware verification and automated theorem proving
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Table-driven implementation of the exponential function in IEEE floating-point arithmetic
ACM Transactions on Mathematical Software (TOMS)
A Mechanically Checked Proof of the AMD5K86TM Floating-Point Division Program
IEEE Transactions on Computers
The functional approach to programming
The functional approach to programming
Mechanical Theorem-Proving by Model Elimination
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Social processes and proofs of theorems and programs
Communications of the ACM
A Discipline of Programming
Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Verification of IEEE Compliant Subtractive Division Algorithms
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
ACL2 Theorems About Commercial Microprocessors
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
HOL Light: A Tutorial Introduction
FMCAD '96 Proceedings of the First International Conference on Formal Methods in Computer-Aided Design
Elements of Mathematical Analysis in PVS
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Verifying the Accuracy of Polynomial Approximations in HOL
TPHOLs '97 Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics
TAPSOFT '95 Proceedings of the 6th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Computing Elementary Functions: A New Approach for Achieving High Accuracy and Good Performance
Proceedings of the Symposium on Accurate Scientific Computations
Winskel is (Almost) Right: Towards a Mechanized Semantics Textbook
Proceedings of the 16th Conference on Foundations of Software Technology and Theoretical Computer Science
Floating Point Verification in HOL
Proceedings of the 8th International Workshop on Higher Order Logic Theorem Proving and Its Applications
The Semantic Challenge of Verilog HDL
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
Defining the IEEE-854 Floating-Point Standard in PVS
Defining the IEEE-854 Floating-Point Standard in PVS
Radian reduction for trigonometric functions
ACM SIGNUM Newsletter
Rounding Errors in Algebraic Processes
Rounding Errors in Algebraic Processes
ACM Transactions on Mathematical Software (TOMS)
Formalization of fixed-point arithmetic in HOL
Formal Methods in System Design
Multi-Prover verification of floating-point programs
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Hi-index | 0.00 |
Since they often embody compact but mathematically sophisticated algorithms, operations for computing the common transcendental functions in floating point arithmetic seem good targets for formal verification using a mechanical theorem prover. We discuss some of the general issues that arise in verifications of this class, and then present a machine-checked verification of an algorithm for computing the exponential function in IEEE-754 standard binary floating point arithmetic. We confirm (indeed strengthen) the main result of a previousl published error analysis, though we uncover a minor error in the hand proof and are forced to confront several subtle issues that might easily be overlooked informally.The development described here includes, apart from the proof itself, a formalization of IEEE arithmetic, a mathematical semantics for the programming language in which the algorithm is expressed, and the body of pure mathematics needed. All this is developed logically from first principles using the HOL Light prover, which guarantees strict adherence to simple rules of inference while allowing the user to perform proofs using higher-level derived rules.