Abstract
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.
Similar content being viewed by others
References
Bertot, Y., Castéran, P., Huet, G., Paulin-Mohring, C.: Interactive theorem proving and program development : Coq’Art : the calculus of inductive constructions. Texts in theoretical computer science. Springer, Berlin (2004). Données complémentaires http://coq.inria.fr
Bertot, Y., Gonthier, G., Biha, S.O., Pasca, I.: Canonical big operators. In: Mohamed, O.A., Muñoz, C.A., Tahar, S. (eds.) TPHOLs, volume 5170 of Lecture Notes in Computer Science, pp. 86–101. Springer (2008)
Boldo, S., Clément, F., Filliâtre, J.-C., Mayero, M., Melquiond, G., Weis, P.: Formal proof of a wave equation resolution scheme: The method error. In: Kaufmann, M., Paulson, L.C. (eds.) Interactive Theorem Proving, First International Conference, ITP 2010, Edinburgh, UK, July 11-14, 2010. Proceedings, volume 6172 of Lecture Notes in Computer Science, pp. 147–162. Springer (2010)
Boldo, S., Melquiond, G.: Flocq: A Unified Library for Proving Floating-point Algorithms in Coq. In: Proceedings of the 20th IEEE Symposium on Computer Arithmetic, pp. 243–252. Tübingen, Germany (2011)
Cohen, C.: Construction of real algebraic numbers in coq. In: Beringer, L., Felty, A.P. (eds.) ITP, volume 7406 of Lecture Notes in Computer Science, pp. 67–82. Springer (2012)
The Coq development team: The Coq proof assistant reference manual. Version 8.4 (2012)
de Dinechin, F., Lauter, C.Q., Melquiond, G.: Assisted verification of elementary functions using Gappa. In: Haddad, H. (ed.) Proceedings of the 2006 ACM Symposium on Applied Computing (SAC), Dijon, France, April 23-27, 2006, pp. 1318–1322. ACM (2006)
Gonthier, G., Mahboubi, A., Tassi, E.: A Small Scale Reflection Extension for the Coq system. Research Report RR-6455, INRIA (2008)
Harrison, J.: Floating point verification in HOL. In: Schubert, E.T., Windley, P.J., Alves-Foss, J. (eds.) Higher Order Logic Theorem Proving and Its Applications, 8th International Workshop, Aspen Grove, UT, USA, September 11-14, 1995, Proceedings, volume 971 of Lecture Notes in Computer Science, pp. 186–199. Springer (1995)
Higham, N.: Accuracy and Stability of Numerical Algorithms. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA (1996)
IEEE Computer Society: IEEE Standard for Floating-Point Arithmetic. IEEE Standard 754-2008 (2008)
Roux, P., Garoche, P.-L.: Computing quadratic invariants with min- and max-policy iterations: A practical comparison. In: Jones, C.B., Pihlajasaari, P., Sun, J. (eds.) FM 2014: Formal Methods - 19th International Symposium, Singapore, May 12-16, 2014. Proceedings, volume 8442 of Lecture Notes in Computer Science, pp. 563–578. Springer (2014)
Rump, S.: Verification of positive definiteness. BIT Numer. Math. 46, 433–452 (2006)
Rump, S.: Verification methods: Rigorous results using floating-point arithmetic. Acta Numerica 19, 287–449 (2010)
Rump, S., Jeannerod, C.P.: Improved backward error bounds for lu and cholesky factorizations. SIAM J. Matrix Anal. Appl. 35(2), 684–698 (2014)
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was done while the author was a visiting researcher at LRI, Inria Saclay – Île-de-France.
Rights and permissions
About this article
Cite this article
Roux, P. Formal Proofs of Rounding Error Bounds. J Autom Reasoning 57, 135–156 (2016). https://doi.org/10.1007/s10817-015-9339-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-015-9339-z