# A comparative study of Coq and HOL

Conference paper

First Online:

## 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.

## References

- 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.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.Alonzo Church. A formulation of a simple theory of types.
*Journal of Symbolic Logic*, 5:56–68, 1940.Google Scholar - 4.Thierry Coquand and Gérard Huet. The calculus of constructions. Rapport de Recherche 530, INRIA, Rocquencourt, France, May 1986.Google Scholar
- 5.C. Cornes et al. The Coq Proof Assistant Reference Manual, Version 5.10. Rapport technique RT-0177, INRIA, 1995.Google Scholar
- 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.N.J. Cutland.
*Computability: An introduction to recursive function theory*. Cambridge University Press, 1980.Google Scholar - 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.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.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.John Harrison. HOL done right. Unpublished Draft, August 1995.Google Scholar
- 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.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.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.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.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.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.Bengt Nordström, Kent Petersson, and Jan M. Smith.
*Programming in Martin-Löf type theory: an introduction*. Clarendon, 1990.Google Scholar - 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.C. Paulin-Mohring. Extracting F
_{w}'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.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.Robert Pollack.
*The Theory of LEGO: A Proof Checker for the Extended Calculus of Constructions*. PhD thesis, University of Edinburgh, 1994.Google Scholar - 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.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.Simon Thompson.
*Type Theory and Functional Programming*. Addison-Wesley, 1991.Google Scholar - 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.Vincent Zammit. A proof of the S
_{n}^{m}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