From Formal Proofs to Mathematical Proofs: A Safe, Incremental Way for Building in First-order Decision Procedures

  • Fréderic Blanqui
  • Jean-Pierre Jouannaud
  • Pierre-Yves Strub
Part of the IFIP International Federation for Information Processing book series (IFIPAICT, volume 273)

We investigate here a new version of the Calculus of Inductive Constructions (CIC) on which the proof assistant Coq is based: the Calculus of Congruent Inductive Constructions, which truly extends CIC by building in arbitrary first-order decision procedures: deduction is still in charge of the CIC kernel, while computation is outsourced to dedicated first-order decision procedures that can be taken from the shelves provided they deliver a proof certificate. The soundness of the whole system becomes an incremental property following from the soundness of the certificate checkers and that of the kernel. A detailed example shows that the resulting style of proofs becomes closer to that of the working mathematician.


Decision Procedure Typing Rule Proof Assistant Elimination Rule Inductive Type 
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.


  1. 1.
    H. Barendregt. Lambda calculi with types. In S. Abramski, D. Gabba, and T. Maibaum, editors, Handbook of Logic in Computer Science, volume 2. Oxford University Press, 1992.Google Scholar
  2. 2.
    B. Barras. Auto-validation d’un syst笥 de preuves avec familles inductives. PhD thesis, University of Paris VII, 1999.Google Scholar
  3. 3.
    F. Blanqui. Definitions by rewriting in the calculus of constructions. Mathematical Structures in Computer Science, 15(1):37–92, 2005. Journal version of LICS’01.Google Scholar
  4. 4.
    F. Blanqui. Inductive types in the calculus of algebraic constructions. Fundamenta Informaticae, 65(1-2):61–86, 2005. Journal version of TLCA’03.MathSciNetzbMATHGoogle Scholar
  5. 5.
    F. Blanqui, J.-P. Jouannaud, and M. Okada. The Calculus of Algebraic Constructions. In RTA, Lecture Notes in Computer Science 1631:301–316. Springer-Verlag, 1999.MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    F. Blanqui, J. Jouannaud, and P. Strub. Building decision procedures in the calculus of inductive constructions. In Proceedings 16th CSL 2007. LNCS 4646, 2007.Google Scholar
  7. 7.
    F. Blanqui, J.-P. Jouannaud, and P.-Y. Strub. A Calculus of Congruent Constructions. Unpublished draft, 2005.Google Scholar
  8. 8.
    A. Bouhoula, J.-P. Jouannaud, and J. Meseguer. Specification and proof in membership equational logic. Theoretical Comput. Sci., 236:35–132, 2000.MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Coq-Development-Team. The Coq Proof Assistant Reference Manual - Version 8.0. INRIA, INRIA Rocquencourt, France, 2004. Scholar
  10. 10.
    T. Coquand and G. Huet. The Calculus of Constructions. Information and Computation, 76(2-3):95–120, 1988.MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    T. Coquand and C. Paulin-Mohring. Inductively defined types. Colog’-88, International Conference on Computer Logic, volume 417 of LNCS, pages 50–66. Springer-Verlag, 1990.Google Scholar
  12. 12.
    P. Corbineau. Démonstration automatique en Théorie des Types. PhD thesis, University of Paris IX, 2005.Google Scholar
  13. 13.
    K. Futatsugi, J. Goguen, J.-P. Jouannaud, and J. Meseguer. Principles of OBJ2. Proceedings of 12th ACM Conference on Principles of Programming Languages, 1985.Google Scholar
  14. 14.
    J. H. Geuvers and M. Nederhof. A modular proof of strong normalization for the calculus of constructions. J. of Functional programming, 1,2:155–189, 1991.MathSciNetzbMATHGoogle Scholar
  15. 15.
    E. Giménez. Structural recursive definitions in type theory. In Proceedings of ICALP’98, volume 1443 of LNCS, pages 397–408, July 1998.Google Scholar
  16. 16.
    G. Gonthier. The four color theorem in Coq. In TYPES 2004 International Workshop, 2004.Google Scholar
  17. 17.
    N. Oury. Extensionality in the calculus of constructions. In Proceedings 18th TPHOL, Oxford, UK. LNCS 3603, 2005.Google Scholar
  18. 18.
    C. Paulin-Mohring. Inductive definitions in the system COQ. In Typed Lambda Calculi and Applications, pages 328–345. Springer Verlag, 1993. LNCS 664.Google Scholar
  19. 19.
    N. Shankar. Little engines of proof. In G. Plotkin, editor, Proceedings of the Seventeenth Annual IEEE Symp. on Logic in Computer Science. IEEE Computer Society Press, 2002.Google Scholar
  20. 20.
    R. E. Shostak. An efficient decision procedure for arithmetic with function symbols. J. of the Association for Computing Machinery, 26(2):351–360, 1979.MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    M. Stehr. The Open Calculus of Constructions: An equational type theory with dependent types for programming, specification, and interactive theorem proving (part I and II). Fundamenta Informaticae 68(1-2), p. 131-174, 2005.MathSciNetzbMATHGoogle Scholar
  22. 22.
    T. Streicher. Investigations into intensional type theory, Habilitation, Münich University, 1993.Google Scholar
  23. 23.
    P.-Y. Strub. The Calculus of Congruent Inductive Constructions. PhD thesis, École Polytechnique, 2008.Google Scholar
  24. 24.
    B. Werner. Une Théorie des Constructions Inductives. PhD thesis, University Paris VII, 1994.Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2008

Authors and Affiliations

  • Fréderic Blanqui
    • 1
  • Jean-Pierre Jouannaud
    • 2
  • Pierre-Yves Strub
    • 2
  1. 1.INRIA & LORIAFrance
  2. 2.LIX UMR 7161Project INRIA TypiCal École PolytechniqueFrance

Personalised recommendations