Results 1  10
of
11
Formal Verification of Floating Point Trigonometric Functions
 Formal Methods in ComputerAided Design: Third International Conference FMCAD 2000, volume 1954 of Lecture Notes in Computer Science
, 2000
"... Abstract. We have formal verified a number of algorithms for evaluating transcendental functions in doubleextended precision floating point arithmetic in the Intel ® IA64 architecture. These algorithms are used in the Itanium TM processor to provide compatibility with IA32 (x86) hardware transcen ..."
Abstract

Cited by 24 (4 self)
 Add to MetaCart
Abstract. We have formal verified a number of algorithms for evaluating transcendental functions in doubleextended precision floating point arithmetic in the Intel ® IA64 architecture. These algorithms are used in the Itanium TM processor to provide compatibility with IA32 (x86) hardware transcendentals, and similar ones are used in mathematical software libraries. In this paper we describe in some depth the formal verification of the sin and cos functions, including the initial range reduction step. This illustrates the different facets of verification in this field, covering both pure mathematics and the detailed analysis of floating point rounding. 1
Verifying nonlinear real formulas via sums of squares
 Theorem Proving in Higher Order Logics, TPHOLs 2007, volume 4732 of Lect. Notes in Comp. Sci
, 2007
"... Abstract. Techniques based on sums of squares appear promising as a general approach to the universal theory of reals with addition and multiplication, i.e. verifying Boolean combinations of equations and inequalities. A particularly attractive feature is that suitable ‘sum of squares ’ certificates ..."
Abstract

Cited by 19 (2 self)
 Add to MetaCart
Abstract. Techniques based on sums of squares appear promising as a general approach to the universal theory of reals with addition and multiplication, i.e. verifying Boolean combinations of equations and inequalities. A particularly attractive feature is that suitable ‘sum of squares ’ certificates can be found by sophisticated numerical methods such as semidefinite programming, yet the actual verification of the resulting proof is straightforward even in a highly foundational theorem prover. We will describe our experience with an implementation in HOL Light, noting some successes as well as difficulties. We also describe a new approach to the univariate case that can handle some otherwise difficult examples. 1 Verifying nonlinear formulas over the reals Over the real numbers, there are algorithms that can in principle perform quantifier elimination from arbitrary firstorder formulas built up using addition, multiplication and the usual equality and inequality predicates. A classic example of such a quantifier elimination equivalence is the criterion for a quadratic equation to have a real root: ∀a b c. (∃x. ax 2 + bx + c = 0) ⇔ a = 0 ∧ (b = 0 ⇒ c = 0) ∨ a � = 0 ∧ b 2 ≥ 4ac
Linear and nonlinear arithmetic in ACL2
 Correct Hardware Design and Verification Methods, Proceedings of CHARME 2003
, 2003
"... Abstract. As of version 2.7, the ACL2 theorem prover has been extended to automatically verify sets of polynomial inequalities that include nonlinear relationships. In this paper we describe our mechanization of linear and nonlinear arithmetic in ACL2. The nonlinear arithmetic procedure operates in ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
Abstract. As of version 2.7, the ACL2 theorem prover has been extended to automatically verify sets of polynomial inequalities that include nonlinear relationships. In this paper we describe our mechanization of linear and nonlinear arithmetic in ACL2. The nonlinear arithmetic procedure operates in cooperation with the preexisting ACL2 linear arithmetic decision procedure. It extends what can be automatically verified with ACL2, thereby eliminating the need for certain types of rules in ACL2's database while simultaneously increasing the performance of the ACL2 system when verifying arithmetic conjectures. The resulting system lessens the human effort required to construct a large arithmetic proof by reducing the number of intermediate lemmas that must be proven to verify a desired theorem.
Formal verification of square root algorithms
 Formal Methods in Systems Design
, 2003
"... Abstract. We discuss the formal verification of some lowlevel mathematical software for the Intel ® Itanium ® architecture. A number of important algorithms have been proven correct using the HOL Light theorem prover. After briefly surveying some of our formal verification work, we discuss in more ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
Abstract. We discuss the formal verification of some lowlevel mathematical software for the Intel ® Itanium ® architecture. A number of important algorithms have been proven correct using the HOL Light theorem prover. After briefly surveying some of our formal verification work, we discuss in more detail the verification of a square root algorithm, which helps to illustrate why some features of HOL Light, in particular programmability, make it especially suitable for these applications. 1. Overview The Intel ® Itanium ® architecture is a new 64bit architecture jointly developed by Intel and HewlettPackard, implemented in the Itanium® processor family (IPF). Among the software supplied by Intel to support IPF processors are some optimized mathematical functions to supplement or replace less efficient generic libraries. Naturally, the correctness of the algorithms used in such software is always a major concern. This is particularly so for division, square root and certain transcendental function kernels, which are intimately tied to the basic architecture. First, in IA32 compatibility mode, these algorithms are used by hardware instructions like fptan and fdiv. And while in “native ” mode, division and square root are implemented in software, typical users are likely to see them as part of the basic architecture. The formal verification of some of the division algorithms is described by Harrison (2000b), and a representative verification of a transcendental function by Harrison (2000a). In this paper we complete the picture by considering a square root algorithm. Division, transcendental functions and square roots all have quite distinctive features and their formal verifications differ widely from each other. The present proofs have a number of interesting features, and show how important some theorem prover features — in particular programmability — are. The formal verifications are conducted using the freely available 1 HOL Light prover (Harrison, 1996). HOL Light is a version of HOL (Gordon and Melham, 1993), itself a descendent of Edinburgh LCF
Complex quantifier elimination in HOL
 TPHOLs 2001: Supplemental Proceedings
, 2001
"... Abstract. Building on a simple construction of the complex numbers and a proof of the Fundamental Theorem of Algebra, we implement, as a HOL derived inference rule, a decision method for the first order algebraic theory of C based on quantifier elimination. Although capable of solving some mildly in ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
Abstract. Building on a simple construction of the complex numbers and a proof of the Fundamental Theorem of Algebra, we implement, as a HOL derived inference rule, a decision method for the first order algebraic theory of C based on quantifier elimination. Although capable of solving some mildly interesting problems, we also implement a more efficient semidecision procedure for the universal fragment based on Gröbner bases. This is applied to examples including the automatic proof of some simple geometry theorems. The general and universal procedures present an interesting contrast in that the latter can exploit the findingchecking separation to achieve greater efficiency, though this feature is only partly exploited in the present implementation. 1
Provably faithful evaluation of polynomials
 In Proceedings of the 21st Annual ACM Symposium on Applied Computing
, 2006
"... We provide sufficient conditions that formally guarantee that the floatingpoint computation of a polynomial evaluation is faithful. To this end, we develop a formalization of floatingpoint numbers and rounding modes in the Program Verification System (PVS). Our work is based on a wellknown formali ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We provide sufficient conditions that formally guarantee that the floatingpoint computation of a polynomial evaluation is faithful. To this end, we develop a formalization of floatingpoint numbers and rounding modes in the Program Verification System (PVS). Our work is based on a wellknown formalization of floatingpoint arithmetic in the proof assistant Coq, where polynomial evaluation has been already studied. However, thanks to the powerful proof automation provided by PVS, the sufficient conditions proposed in our work are more general than the original ones.
Hierarchical verification of the implementation of the ieee754 tabledriven floatingpoint exponential function using hol
 In International Conference on Theorem Proving in HigherOrder Logics (TPHOLs’01
, 2001
"... Abstract. The IEEE754 floatingpoint standard is considered one of the most important standards, and is used in nearly all floatingpoint applications. In this paper, we have formalized and verified a hardware implementation of the TableDriven algorithm for the floatingpoint exponential function. ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. The IEEE754 floatingpoint standard is considered one of the most important standards, and is used in nearly all floatingpoint applications. In this paper, we have formalized and verified a hardware implementation of the TableDriven algorithm for the floatingpoint exponential function. Throughout this paper, we have used a hierarchical approach in formally modeling and verifying in HOL the floatingpoint exponential function from the gate level implementation up to a behavioral specification written by Harrison [7]. 1
A Hierarchical Verification of The IEEE754 TableDriven Floating Point Exponential Function using HOL
, 2001
"... ..."
Types for Proofs and Programs
, 1999
"... pport. Contents 1 Introduction and Overview 1 2 Types for Proofs 2 2.1 Formal Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.1 What is a Formal System? . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.2 The Origins of Formal Systems . . . . . . ..."
Abstract
 Add to MetaCart
pport. Contents 1 Introduction and Overview 1 2 Types for Proofs 2 2.1 Formal Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.1 What is a Formal System? . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.2 The Origins of Formal Systems . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.3 Formal Systems in Computer Science . . . . . . . . . . . . . . . . . . . . . 3 2.2 Theorem Proving: Making Formal Systems Usable . . . . . . . . . . . . . . . . . . 4 2.2.1 Objectives of Interactive Theorem Proving . . . . . . . . . . . . . . . . . . 4 2.2.2 How to Ensure Correctness . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.3 How to Facilitate Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.4 How to Facilitate Reasoning . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Reasoning in HigherOrder Logic (HOL) . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3.1 Church's Si
Enabling Hardware Verification through Design Changes
"... The IEEE754 floatingpoint standard, used in nearly all floatingpoint applications, is considered as one of the most important standards. Deep datapath and algorithm complexity have made the verification of such floatingpoint units a very hard task. Theorem proving, offers a good solution to hand ..."
Abstract
 Add to MetaCart
The IEEE754 floatingpoint standard, used in nearly all floatingpoint applications, is considered as one of the most important standards. Deep datapath and algorithm complexity have made the verification of such floatingpoint units a very hard task. Theorem proving, offers a good solution to handle such verification tasks. In this paper, we stress on the design changes performed for the sake of formalizing and verifying the IEEE754 tabledriven exponential function in all abstraction levels of the design ow. While verifying the VHDL code implementation against a highlevel abstract specification, we were faced by two main problems: (1) the large abstraction gap between the two models; and (2) the atness of the VHDL code, making it intractable to model and formally verify. We have therefore proposed a hierarchical methodology to solve such modeling problem, and experimented it on our verification task using the HOL theorem proving environment.