Advertisement

A comparative study of Coq and HOL

  • Vincent Zammit
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1275)

Abstract

This paper illustrates the differences between the style of theory mechanisation of Coq and of HOL. This comparative study is based on the mechanisation of fragments of the theory of computation in these systems. Examples from these implementations are given to support some of the arguments discussed in this paper. The mechanisms for specifying definitions and for theorem proving are discussed separately, building in parallel two pictures of the different approaches of mechanisation given by these systems.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    P. E. Black and P. J. Windley. Automatically synthesized term denotation predicates: A proof aid. In E. T. Schubert, P. J. Windley, and J. Alves-Foss, editors, Proceedings of the 8th International Workshop on Higher Order Logic Theorem Proving and Its Applications, volume 971 of Lecture Notes in Computer Science, pages 46–57, Aspen Grove, UT, USA, September 1995. Springer-Verlag.Google Scholar
  2. 2.
    Juanito Camilleri and Tom Melham. Reasoning with inductively defined relations in the HOL theorem prover. Technical Report 265, University of Cambridge Computer Laboratory, August 1992.Google Scholar
  3. 3.
    Alonzo Church. A formulation of a simple theory of types. Journal of Symbolic Logic, 5:56–68, 1940.Google Scholar
  4. 4.
    Thierry Coquand and Gérard Huet. The calculus of constructions. Rapport de Recherche 530, INRIA, Rocquencourt, France, May 1986.Google Scholar
  5. 5.
    C. Cornes et al. The Coq Proof Assistant Reference Manual, Version 5.10. Rapport technique RT-0177, INRIA, 1995.Google Scholar
  6. 6.
    Yann Coscoy, Gilles Kahn, and Laurent Théry. Extracting text from proofs. Rapport de Recherche 2459, INRIA, Sophia-Antipolis Cedex, France, January 1995.Google Scholar
  7. 7.
    N.J. Cutland. Computability: An introduction to recursive function theory. Cambridge University Press, 1980.Google Scholar
  8. 8.
    J.-Y. Girard. Interprétation fonctionelle et élimination des coupures dans l'arithétique d'ordre supérieur. PhD thesis, Université Paris VII, 1972.Google Scholar
  9. 9.
    Michael J. Gordon, Arthur J. Milner, and Christopher P. Wadsworth. Edinburgh LCF: A Mechanised Logic of Computation, volume 78 of Lecture Notes in Computer Science. Springer-Verlag, 1979.Google Scholar
  10. 10.
    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
  11. 11.
    John Harrison. HOL done right. Unpublished Draft, August 1995.Google Scholar
  12. 12.
    John Harrison. Inductive definitions: Automation and application. In E. T. Schubert, P. J. Windley, and J. Alves-Foss, editors, Proceedings of the 8th International Workshop on Higher Order Logic Theorem Proving and Its Applications, volume 971 of Lecture Notes in Computer Science, pages 200–213, Aspen Grove, UT, USA, September 1995. Springer-Verlag.Google Scholar
  13. 13.
    Bart Jacobs and Tom Melham. Translating dependent type theory into higher order logic. In TLCA '93 International Conference on Typed Lambda Calculi and Applications, Utrecht, 16–18 March 1993, volume 664 of Lecture Notes in Computer Science, pages 209–229. Springer-Verlag, 1993.Google Scholar
  14. 14.
    Per Martin-Löf. Intuitionistic Type Theory. Bibioplois, Napoli, 1984. Notes of Giovanni Sambin on a series of lectues given in Padova.Google Scholar
  15. 15.
    T.F. Melham. Using recursive types to reason about hardware and higher order logic. In G.J. Milne, editor, International Workshop on Higher Order Logic Theorem Proving and its Applications, pages 27–50, Glasgow, Scotland, July 1988. IFIP WG 10.2, North-Holland.Google Scholar
  16. 16.
    T.F. Melham. A package for inductive relation definitions in HOL. In M. Archer, J.J. Joyce, K.N. Levitt, and P.J. Windley, editors, International Workshop on Higher Order Logic Theorem Proving and its Applications, pages 350–357, Davis, California, August 1991. IEEE Computer Society, ACM SIGDA, IEEE Computer Society Press.Google Scholar
  17. 17.
    T.F. Melham. The HOL logic extended with quantification over type variables. In L.J.M. Claesen and M.J.C. Gordon, editors, International Workshop on Higher Order Logic Theorem Proving and its Applications, pages 3–18, Leuven, Belgium, September 1992. IFIP TC10/WG10.2, North-Holland. IFIP Transactions.Google Scholar
  18. 18.
    Bengt Nordström, Kent Petersson, and Jan M. Smith. Programming in Martin-Löf type theory: an introduction. Clarendon, 1990.Google Scholar
  19. 19.
    C. Parent. Developing certified programs in the system Coq-the Program tactic. In H. Barendregt and T. Nipkow, editors, International Workshop on Types for Proofs and Programs, volume 806 of Lecture Notes in Computer Science, pages 291–312. Springer-Verlag, May 1993.Google Scholar
  20. 20.
    C. Paulin-Mohring. Extracting Fw's programs from proofs in the Calculus of Constructions. In Association for Computing Machinery, editor, Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, January 1989.Google Scholar
  21. 21.
    C. Paulin-Mohring and B. Werner. Synthesis of ML programs in the system Coq. Journal of Symbolic Computation, 15(5–6):607–640, ?? 1993.Google Scholar
  22. 22.
    Robert Pollack. The Theory of LEGO: A Proof Checker for the Extended Calculus of Constructions. PhD thesis, University of Edinburgh, 1994.Google Scholar
  23. 23.
    R. E. O. Roxas. A HOL package for reasoning about relations defined by mutual induction. In J. J. Joyce and C.-J. H. Seger, editors, Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications (HUG'93), volume 780 of Lecture Notes in Computer Science, pages 129–140, Vancouver, B.C., Canada, August 1993. Springer-Verlag, 1994.Google Scholar
  24. 24.
    K. Slind. Function definition in higher-order logic. In J. von Wright, J. Grundy, and J. Harrison, editors, Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics (TPHOLs'96), volume 1125 of Lecture Notes in Computer Science, pages 381–397, Turku, Finland, August 1996. Springer.Google Scholar
  25. 25.
    Simon Thompson. Type Theory and Functional Programming. Addison-Wesley, 1991.Google Scholar
  26. 26.
    Vincent Zammit. A mechanisation of computability theory in HOL. In Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics, volume 1125 of Lecture Notes in Computer Science, pages 431–446, Turku, Finland, August 1996. Springer-Verlag.Google Scholar
  27. 27.
    Vincent Zammit. A proof of the Snm theorem in Coq. Technical Report 9–97, The Computing Laboratory, The University of Kent at Canterbury, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Vincent Zammit
    • 1
  1. 1.Computing LaboratoryUniversity of KentCanterburyUK

Personalised recommendations