Floats and Ropes: A Case Study for Formal Numerical Program Verification

  • Sylvie Boldo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5556)


We present a case study of a formal verification of a numerical program that computes the discretization of a simple partial differential equation. Bounding the rounding error was tricky as the usual idea, that is to bound the absolute value of the error at each step, fails. Our idea is to find out a precise analytical expression that cancels with itself at the next step, and to formally prove the correctness of this approach.


Interval Arithmetic Proof Obligation Proof Assistant High Order Logic Linear Recurrence 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    IEEE: IEEE Standard for Floating-Point Arithmetic. IEEE Std. 754-2008 (2008)Google Scholar
  2. 2.
    Wilkinson, J.H.: Rounding Errors in Algebraic Processes. Prentice-Hall, Upper Saddle River (1963)zbMATHGoogle Scholar
  3. 3.
    Higham, N.J.: Accuracy and stability of numerical algorithms. SIAM, Philadelphia (2002)CrossRefzbMATHGoogle Scholar
  4. 4.
    Even, G., Seidel, P., Ferguson, W.E.: A Parametric Error Analysis of Goldschmidt’s Division Algorithm. In: 16th IEEE Symposium on Computer Arithmetic (2003)Google Scholar
  5. 5.
    Goubault, E., Putot, S.: Static analysis of numerical algorithms. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 18–34. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Dekker, T.J.: A floating point technique for extending the available precision. Numerische Mathematik 18(3), 224–242 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Coq’Art: The Calculus of Inductive Constructions. Springer, Heidelberg (2004)CrossRefzbMATHGoogle Scholar
  8. 8.
    Daumas, M., Rideau, L., Théry, L.: A generic library of floating-point numbers and its application to exact computing. In: 14th International Conference on Theorem Proving in Higher Order Logics, Edinburgh, Scotland, pp. 169–184 (2001)Google Scholar
  9. 9.
    Boldo, S.: Preuves formelles en arithmétiques á virgule flottante. PhD thesis, École Normale Supérieure de Lyon (2004)Google Scholar
  10. 10.
    Filliâtre, J.C., Marché, C.: Multi-Prover Verification of C Programs. In: Sixth International Conference on Formal Engineering Methods, pp. 15–29. Springer, Heidelberg (2004)Google Scholar
  11. 11.
    Filliâtre, J.-C., Marché, C.: The Why/Krakatoa/Caduceus platform for deductive program verification. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 173–177. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Boldo, S., Filliâtre, J.-C.: Formal verification of floating-point programs. In: 18th IEEE Symposium on Computer Arithmetic, Montpellier, France, pp. 187–194 (2007)Google Scholar
  13. 13.
    Bécache, E.: Étude de schémas numériques pour la résolution de léquation des ondes. In: ENSTA (2003)Google Scholar
  14. 14.
    Askey, R., Gasper, G.: Certain rational functions whose power series have positive coefficients. The American Mathematical Monthly 79, 327–341 (1972)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Andrews, G.E., Askey, R., Roy, R.: Special functions. Cambridge University Press, Cambridge (1999)CrossRefzbMATHGoogle Scholar
  16. 16.
    Boldo, S., Filliâtre, J.-C., Melquiond, G.: Combining Coq and Gappa for Certifying Floating-Point Programs. In: 16th Symposium on the Integration of Symbolic Computation and Mechanised Reasoning (2009)Google Scholar
  17. 17.
    Bertot, Y., Gonthier, G., Biha, S.O., Pasca, I.: Canonical big operators. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 86–101. Springer, Heidelberg (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Sylvie Boldo
    • 1
    • 2
  1. 1.INRIA SaclayÎle-de-FranceOrsayFrance
  2. 2.LRIUniv Paris-Sud, CNRSOrsayFrance

Personalised recommendations