
Exploring Approximations for FloatingPoint Arithmetic using UppSAT
We consider the problem of solving floatingpoint constraints obtained f...
read it

A CrossPlatform Benchmark for Interval Computation Libraries
Interval computation is widely used to certify computations that use flo...
read it

MetaF*: Metaprogramming and Tactics in an Effectful Program Verifier
Verification tools for effectful programming languages often rely on aut...
read it

A Proof of the Compositions of Time Interval Relations
We prove the 169 compositions of time interval relations. The proof is f...
read it

Towards platformindependent verification of the standard mathematical functions: the square root function
The paper presents (humanoriented) specification and (penandpaper) ve...
read it

Towards platformindependent specification and verification of the standard trigonometry functions
Research project "Platformindependent approach to formal specification ...
read it

Verified Quadratic Virtual Substitution for Real Arithmetic
This paper presents a formally verified quantifier elimination (QE) algo...
read it
ComputerAssisted Verification of Four Interval Arithmetic Operators
Interval arithmetic libraries provide the four elementary arithmetic operators for operand intervals bounded by floatingpoint numbers. However, actual implementations need to make a large case analysis that considers, e.g., magnitude relations between all pairs of argument bounds, positional relations between the arguments and zero, and handling of the special values, i.e. infinities and NaN. Their correctness is not obvious as they are implemented by human hands, which comes to be critical for the reliability. This work provides a mechanicallyverified interval arithmetic library. For this purpose, we utilize the Why3 platform equipped with a specification language for annotated programs and backend theorem provers. We conducted several proof tasks for each of three properties of the target code: validity, soundness, and tightness. To accomplish the proof, we propose several techniques to specify/verify the target annotated code. First, we specify additional lemmas that support deductions made by backend SMT solvers. Second, we examine the tightness property so that the code annotated the property with our proposed comparison predicates is verified successfully. In the experiments, applying the techniques in conjunction with the AltErgo SMT solver and the Coq proof assistant proved the entire code.
READ FULL TEXT
Comments
There are no comments yet.