A Comparative Study of Coq and HOL

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.

[1]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[2]  T. Melham Using Recursive Types to Reason about Hardware in Higher Order Logic , 1988 .

[3]  John Harrison,et al.  Inductive Definitions: Automation and Application , 1995, TPHOLs.

[4]  Thomas F. Melham A Package For Inductive Relation Definitions In HOL , 1991, 1991., International Workshop on the HOL Theorem Proving System and Its Applications.

[5]  Bart Jacobs,et al.  Translating Dependent Type Theory into Higher Order Logic , 1993, TLCA.

[6]  Bengt Nordström,et al.  Programming in Martin-Lo¨f's type theory: an introduction , 1990 .

[7]  Simon Thompson,et al.  Type theory and functional programming , 1991, International computer science series.

[8]  Christine Paulin-Mohring,et al.  Synthesis of ML Programs in the System Coq , 1993, J. Symb. Comput..

[9]  Konrad Slind,et al.  Function Definition in Higher-Order Logic , 1996, TPHOLs.

[10]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[11]  Christine Paulin-Mohring,et al.  Extracting ω's programs from proofs in the calculus of constructions , 1989, POPL '89.

[12]  Thomas F. Melham The HOL logic extended with quantification over type variables , 1993, Formal Methods Syst. Des..

[13]  R. Pollack The Theory of LEGO A Proof Checker for the Extended Calculus of Constructions , 1994 .

[14]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[15]  Tom Melham,et al.  Reasoning with Inductively Defined Relations in the HOL Theorem Prover , 1992 .

[16]  Vincent Zammit,et al.  A Mechanisation of Computability Theory in HOL , 1996, TPHOLs.

[17]  Gilles Kahn,et al.  Extracting Text from Proofs , 1995, TLCA.

[18]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[19]  Rachel E. O. Roxas A HOL Package for Reasoning about Relations Defined by Mutual Induction , 1993, HUG.

[20]  Phillip J. Windley,et al.  Autotically Synthesized Term Denotation Predicates: A Proof Aid , 1995, TPHOLs.

[21]  N. Cutland Computability: An Introduction to Recursive Function Theory , 1980 .

[22]  Catherine Parent,et al.  Developing Certified Programs in the System Coq - The Program Tactic , 1994, TYPES.

[23]  Vincent Zammit,et al.  A Proof of the S-m-n theorem in Coq , 1997 .

[24]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[25]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .