The Picard Algorithm for Ordinary Differential Equations in Coq

  • Evgeny Makarov
  • Bas Spitters
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7998)


Ordinary Differential Equations (ODEs) are ubiquitous in physical applications of mathematics. The Picard-Lindelöf theorem is the first fundamental theorem in the theory of ODEs. It allows one to solve differential equations numerically. We provide a constructive development of the Picard-Lindelöf theorem which includes a program together with sufficient conditions for its correctness. The proof/program is written in the Coq proof assistant and uses the implementation of efficient real numbers from the CoRN library and the MathClasses library. Our proof makes heavy use of operators and functionals, functions on spaces of functions. This is faithful to the usual mathematical description, but a novel level of abstraction for certified exact real computation.


Coq Exact real computation Ordinary Differential Equations Constructive mathematics Type classes 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cruz-Filipe, L., Geuvers, H., Wiedijk, F.: C-CoRN, the Constructive Coq Repository at Nijmegen. In: Asperti, A., Bancerek, G., Trybulec, A. (eds.) MKM 2004. LNCS, vol. 3119, pp. 88–103. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Spitters, B., van der Weegen, E.: Type classes for mathematics in type theory. MSCS, Special Issue on “Interactive Theorem Proving and the Formalization of Mathematics” 21, 1–31 (2011)Google Scholar
  3. 3.
    Krebbers, R., Spitters, B.: Type classes for efficient exact real arithmetic in Coq. LMCS 9(1:1) (2013), doi:10.2168/LMCS-9(1:01)2013Google Scholar
  4. 4.
    O’Connor, R.: Certified Exact Transcendental Real Number Computation in Coq. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 246–261. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Gonthier, G., Ziliani, B., Nanevski, A., Dreyer, D.: How to make ad hoc proof automation less ad hoc. In: ICFP, pp. 163–175 (2011)Google Scholar
  6. 6.
    O’Connor, R., Spitters, B.: A computer verified, monadic, functional implementation of the integral. TCS 411, 3386–3402 (2010)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Bridger, M.: Real analysis, a constructive approach. Pure and Applied Mathematics (New York). Wiley (2007)Google Scholar
  8. 8.
    Julien, N., Paşca, I.: Formal Verification of Exact Computations Using Newton’s Method. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 408–423. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Coquand, T., Spitters, B.: A constructive proof of Simpson’s rule. Logic and Analysis 4(15), 1–8 (2012)MathSciNetGoogle Scholar
  10. 10.
    Boespflug, M., Dénès, M., Grégoire, B.: Full reduction at full throttle. In: Jouannaud, J.-P., Shao, Z. (eds.) CPP 2011. LNCS, vol. 7086, pp. 362–377. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Immler, F., Hölzl, J.: Numerical analysis of ordinary differential equations in Isabelle/HOL. In: Beringer, L., Felty, A. (eds.) ITP 2012. LNCS, vol. 7406, pp. 377–392. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  12. 12.
    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.) ITP 2010. LNCS, vol. 6172, pp. 147–162. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Boldo, S., Clément, F., Filliâtre, J., Mayero, M., Melquiond, G., Weis, P.: Wave equation numerical resolution: a comprehensive mechanized proof of a C program. Journal of Automated Reasoning, 1–34 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Evgeny Makarov
    • 1
  • Bas Spitters
    • 1
  1. 1.Radboud University NijmegenThe Netherlands

Personalised recommendations