Using Theorem Proving for Numerical Analysis Correctness Proof of an Automatic Differentiation Algorithm

  • Micaela Mayero
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2410)


In this paper, we present a formal proof, developed in the Coq system, of the correctness of an automatic differentiation algorithm. This is an example of interaction between formal methods and numerical analysis (involving, in particular, real numbers). We study the automatic differentiation tool, called O∂yssée, which deals with FORTRAN programs, and using Coq we formalize the correctness proof of the algorithm used by O∂yssée for a subset of programs. To do so, we briefly describe the library of real numbers in Coq including real analysis, which was originally developed for this purpose, and we formalize a semantics for a subset of FORTRAN programs. We also discuss the relevance of such a proof.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    The ADIC Home Page,
  2. 2.
  3. 3.
    C. Bischof, A. Carle, P. Khademi, A. Mauer, and P. Hovland. ADIFOR2.0 user’s guide. Technical Report ANL/MCS-TM-192, CRPC-TR95516-S, Argonne National Laboratory Technical Memorandum, June 1998.Google Scholar
  4. 4.
    Pietro Di Giannantonio and Alberto Ciaffaglione. A co-inductive approach to real numbers. In Proc. of TYPES’99, volume 1956, pages 114–130. Springer-Verlag LNCS, 1999.Google Scholar
  5. 5.
    Christèle Faure and Yves Papegay. Odyssée user’s guide version 1.7. Technical Report 0224, INRIA Sophia-Antipolis, September 1998.Google Scholar
  6. 6.
    Jean-Christophe Filliâtre. Preuves de programmes impératifs en théories des types. PhD thesis, Université Paris-Sud, Juillet 1999.Google Scholar
  7. 7.
    Herman Geuvers, Freek Wiedijk, and Jan Zwanenburg. Equational Reasoning via Partial Reflection. In Proceedings of TPHOL. Springer-Verlag, August 2000.Google Scholar
  8. 8.
    M.J.C. Gordon and T.F. Melham. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993.Google Scholar
  9. 9.
    Carl A. Gunter. Semantics of Programming Languages: Structures and Techniques. Foundations of Computing. MIT Press, 1992.Google Scholar
  10. 10.
    John Harrison. Theorem Proving with the Real Numbers. Springer-Verlag, 1998.Google Scholar
  11. 11.
    Micaela Mayero. Formalisation et automatisation de preuves en analyses éelle et numérique. PhD thesis, Université Paris 6, Décembre 2001.
  12. 12.
    Sam Owre, Natarajan Shankar, and John Rushby. PVS: A prototype verification System. In Proceedings of CADE 11, Saratoga Springs, New York, June 1992.Google Scholar
  13. 13.
    LogiCal Project The Coq Development Team. The Coq Proof Assistant Reference Manual Version 7.2. INRIA-Rocquencourt, December 2001.
  14. 14.
    R. Towle. Control and data dependence for program transformations. PhD thesis, Univ. of Illinois, Urbana, March 1976.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Micaela Mayero
    • 1
  1. 1.Department of Computing ScienceProgramming Logic Group Chalmers University of TechnologyGöteborgSweden

Personalised recommendations