143 research outputs found
A library of Taylor models for PVS automatic proof checker
We present in this paper a library to compute with Taylor models, a technique
extending interval arithmetic to reduce decorrelation and to solve differential
equations. Numerical software usually produces only numerical results. Our
library can be used to produce both results and proofs. As seen during the
development of Fermat's last theorem reported by Aczel 1996, providing a proof
is not sufficient. Our library provides a proof that has been thoroughly
scrutinized by a trustworthy and tireless assistant. PVS is an automatic proof
assistant that has been fairly developed and used and that has no internal
connection with interval arithmetic or Taylor models. We built our library so
that PVS validates each result as it is produced. As producing and validating a
proof, is and will certainly remain a bigger task than just producing a
numerical result our library will never be a replacement to imperative
implementations of Taylor models such as Cosy Infinity. Our library should
mainly be used to validate small to medium size results that are involved in
safety or life critical applications
Formal proof for delayed finite field arithmetic using floating point operators
Formal proof checkers such as Coq are capable of validating proofs of
correction of algorithms for finite field arithmetics but they require
extensive training from potential users. The delayed solution of a triangular
system over a finite field mixes operations on integers and operations on
floating point numbers. We focus in this report on verifying proof obligations
that state that no round off error occurred on any of the floating point
operations. We use a tool named Gappa that can be learned in a matter of
minutes to generate proofs related to floating point arithmetic and hide
technicalities of formal proof checkers. We found that three facilities are
missing from existing tools. The first one is the ability to use in Gappa new
lemmas that cannot be easily expressed as rewriting rules. We coined the second
one ``variable interchange'' as it would be required to validate loop
interchanges. The third facility handles massive loop unrolling and argument
instantiation by generating traces of execution for a large number of cases. We
hope that these facilities may sometime in the future be integrated into
mainstream code validation.Comment: 8th Conference on Real Numbers and Computers, Saint Jacques de
Compostelle : Espagne (2008
Generating formally certified bounds on values and round-off errors
International audienceWe present a new tool that generates bounds on the values and the round-off errors of programs using floating point operations. The tool is based on forward error analysis and interval arithmetic. The novelty of our tool is that it produces a formal proof of the bounds that can be checked independently using an automatic proof checker such as Coq and a complete model of floating point arithmetic. For the first time ever, we can easily certify that simple numerical programs such as the ones usually found in real time applications do not overflow and that round-off errors are below acceptable thresholds. Such level of quality should be compulsory on safety critical applications. As our tool is easy to handle, it could also be used for many pieces of software
Properties of two's complement floating point notations
International audienceFew designs, mostly those of Texas Instruments, continue to use tworsquos complement floating point units. Such units are simpler to build and to validate, but they do not comply to the dominant IEEE standard for floating point arithmetic. We compare some properties of the two systems in this text. Some features are lost, but others remain unchanged. One strong example is the case of Sterbenzrsquos theorem and our recent extension. We show in the paper that the theorem and its extension hold for the tworsquos complement architecture. Still, users should ensure that results are large enough on circuits that do not implement gradual underflow. Theorems have been proven and validated using the Coq automatic proof checker
Additive Symmetric: the Non-Negative Case
International audienceAn additive symmetric b of a with respect to c satisfies c = (a+b)/2. Existence and uniqueness of such are basic properties in exact arithmetic that fail when a and b are floating point numbers and the computation of performed in IEEE-754 like arithmetic. We exhibit and prove conditions on the existence, the uniqueness and the exact correspondence of an additive symmetric when b and c have the same sign
Properties of the subtraction valid for any floating point system
International audienceWe start in this text with a very generic definition of floating point systems. We show that just a few very natural necessary conditions are sufficient to focus down to two classes of implemented floating point arithmetic. Later, we prove that, for all the existing implementations, high level properties such as Sterbenz's theorem are satisfied. We finish this text by focusing on the differences between an IEEE-754 compatible unit and Texas Instrument TMS/SMJ 320C3x digital signal processing circuit that is recommended for avionics and military applications. The results presented in this text have been validated by the Coq automatic proof checker to build confidence for later implementations in critical systems such as an aircraft flight control primary or secondary computer
- …