Combining Coq and Gappa for Certifying Floating-Point Programs

  • Authors:
  • Sylvie Boldo;Jean-Christophe Filliâtre;Guillaume Melquiond

  • Affiliations:
  • INRIA Saclay - Île-de-France, ProVal, Orsay F-91893 and LRI, Université Paris-Sud, CNRS, Orsay, F-91405;LRI, Université Paris-Sud, CNRS, Orsay, F-91405 and INRIA Saclay - Île-de-France, ProVal, Orsay F-91893;INRIA Saclay - Île-de-France, ProVal, Orsay F-91893 and LRI, Université Paris-Sud, CNRS, Orsay, F-91405

  • Venue:
  • Calculemus '09/MKM '09 Proceedings of the 16th Symposium, 8th International Conference. Held as Part of CICM '09 on Intelligent Computer Mathematics
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Formal verification of numerical programs is notoriously difficult. On the one hand, there exist automatic tools specialized in floating-point arithmetic, such as Gappa, but they target very restrictive logics. On the other hand, there are interactive theorem provers based on the LCF approach, such as Coq, that handle a general-purpose logic but that lack proof automation for floating-point properties. To alleviate these issues, we have implemented a mechanism for calling Gappa from a Coq interactive proof. This paper presents this combination and shows on several examples how this approach offers a significant speedup in the process of verifying floating-point programs.