Formal Verification of Exact Computations Using Newton's Method

We are interested in the verification of Newton's method. We use a formalization of the convergence and stability of the method done with the axiomatic real numbers of Coq's Standard Library in order to validate the computation with Newton's method done with a library of exact real arithmetic based on co-inductive streams. The contribution of this work is twofold. Firstly, based on Newton's method, we design and prove correct an algorithm on streams for computing the root of a real function in a lazy manner. Secondly, we prove that rounding at each step in Newton's method still yields a convergent process with an accurate correlation between the precision of the input and that of the result. An algorithm including rounding turns out to be much more efficient.

[1]  Eduardo Giménez,et al.  Codifying Guarded Definitions with Recursive Schemes , 1994, TYPES.

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

[3]  Jun Sawada,et al.  Mechanical Verification of a Square Root Algorithm Using Taylor's Theorem , 2002, FMCAD.

[4]  John Robert Harrison,et al.  Theorem proving with the real numbers , 1998, CPHC/BCS distinguished dissertations.

[5]  Micaela Mayero,et al.  Formalisation et automatisation de preuves en analyses réelle et numérique , 2001 .

[6]  James H. Davenport,et al.  A Generic Root Operation for Exact Real Arithmetic , 2000, CCA.

[7]  Nicolas Julien Certified Exact Real Arithmetic Using Co-induction in Arbitrary Integer Base , 2008, FLOPS.

[8]  Cezary Kaliszyk,et al.  Computing with Classical Real Numbers , 2009, J. Formaliz. Reason..

[9]  B Démidovitch,et al.  Eléments de calcul numérique , 1973 .

[10]  César A. Muñoz,et al.  Real Number Calculations and Theorem Proving , 2008, TPHOLs.

[11]  Richard P. Brent,et al.  Modern Computer Arithmetic , 2010 .

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

[13]  Jacques D. Fleuriot On the Mechanization of Real Analysis in Isabelle/HOL , 2000, TPHOLs.

[14]  David R. Lester Real Number Calculations and Theorem Proving , 2008, TPHOLs.

[15]  Peter Hertling,et al.  Computability & Complexity in Analysis , 2001 .

[16]  Nicolas Magaud,et al.  A Proof of GMP Square Root , 2004, Journal of Automated Reasoning.

[17]  Maribel Fernández,et al.  Curry-Style Types for Nominal Terms , 2006, TYPES.

[18]  Matt Kaufmann,et al.  Nonstandard Analysis in ACL2 , 2001, Journal of Automated Reasoning.

[19]  Herman Geuvers,et al.  C-CoRN, the Constructive Coq Repository at Nijmegen , 2004, MKM.

[20]  Milad Niqui Coinductive Formal Reasoning in Exact Real Arithmetic , 2008, Log. Methods Comput. Sci..

[21]  Neil Immerman,et al.  First-Order and Temporal Logics for Nested Words , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[22]  I. Pasca A Formal Verification for Kantorovitch's Theorem , 2008 .

[23]  John Harrison Formal Verification of Square Root Algorithms , 2003, Formal Methods Syst. Des..

[24]  Russell O'Connor,et al.  Certified Exact Transcendental Real Number Computation in Coq , 2008, TPHOLs.

[25]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.

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