Formal Proofs of Rounding Error Bounds

Floating-point arithmetic is a very efficient solution to perform computations in the real field. However, it induces rounding errors making results computed in floating-point differ from what would be computed with reals. Although numerical analysis gives tools to bound such differences, the proofs involved can be painful, hence error prone. We thus investigate the ability of a proof assistant like Coq to mechanically check such proofs. We demonstrate two different results involving matrices, which are pervasive among numerical algorithms, and show that a large part of the development effort can be shared between them.

[1]  Guillaume Melquiond,et al.  Flocq: A Unified Library for Proving Floating-Point Algorithms in Coq , 2011, 2011 IEEE 20th Symposium on Computer Arithmetic.

[2]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[3]  Ioana Pasca,et al.  Canonical Big Operators , 2008, TPHOLs.

[4]  Guillaume Melquiond,et al.  Formal Proof of a Wave Equation Resolution Scheme: The Method Error , 2010, ITP.

[5]  Nicholas J. Higham,et al.  INVERSE PROBLEMS NEWSLETTER , 1991 .

[6]  Siegfried M. Rump,et al.  Verification of Positive Definiteness , 2006 .

[7]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[8]  Claude-Pierre Jeannerod,et al.  Improved Backward Error Bounds for LU and Cholesky Factorizations , 2014, SIAM J. Matrix Anal. Appl..

[9]  Florent de Dinechin,et al.  Assisted verification of elementary functions using Gappa , 2006, SAC.

[10]  Siegfried M. Rump,et al.  Verification methods: rigorous results using floating-point arithmetic , 2010, Acta Numerica.

[11]  Pierre Roux,et al.  Computing Quadratic Invariants with Min- and Max-Policy Iterations: A Practical Comparison , 2014, FM.

[12]  Christine Paulin-Mohring,et al.  The coq proof assistant reference manual , 2000 .

[13]  Enrico Tassi,et al.  A Small Scale Reflection Extension for the Coq system , 2008 .

[14]  John Harrison Floating Point Verification in HOL , 1995, TPHOLs.

[15]  Cyril Cohen,et al.  Construction of Real Algebraic Numbers in Coq , 2012, ITP.

[16]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[17]  James Demmel,et al.  IEEE Standard for Floating-Point Arithmetic , 2008 .