Executing Formal Specifications by Translation to Higher Order Logic Programming

We describe the construction and use of a system for translating higher order logic-based specifications into programs in the higher order logic programming language Lambda Prolog. The translation improves on previous work in the field of executing specifications by allowing formulas with quantifiers to be executed, and by permitting users to pose Prolog-style queries with free variables to be instantiated by the system. We also discuss various alternative target languages and design decisions in implementing the translator.

[1]  Jeffrey J. Joyce,et al.  S: A Machine Readable Specification Notation based on Higher Order Logic , 1994, TPHOLs.

[2]  Andreas Podelski,et al.  Towards a Meaning of LIFE , 1991, J. Log. Program..

[3]  Jim Alves-Foss,et al.  Higher Order Logic Theorem Proving and its Applications 8th International Workshop, Aspen Grove, Ut, Usa, September 11-14, 1995 : Proceedings , 1995 .

[4]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[5]  Dale Miller,et al.  From operational semantics to abstract machines: preliminary results , 1990, LISP and Functional Programming.

[6]  Monica Nesi Value-Passing CCS in HOL , 1993, HUG.

[7]  Sreeranga P. Rajan Executing HOL Specifications: Towards an Evaluation Semantics for Classical Higher Order Logic , 1992, TPHOLs.

[8]  Gopalan Nadathur,et al.  Uniform Proofs as a Foundation for Logic Programming , 1991, Ann. Pure Appl. Log..

[9]  Lee Naish,et al.  Higher-order logic programming , 1996 .

[10]  Gopalan Nadathur,et al.  Higher-Order Logic Programming , 1986, ICLP.

[11]  Roland H. C. Yap,et al.  The CLP( R ) language and system , 1992, TOPL.

[12]  Chetan R. Murthy An evaluation semantics for classical proofs , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[13]  Mats Carlsson,et al.  SICStus Prolog User''s Manual , 1993 .

[14]  David W. Reed,et al.  A Near-Horn Prolog for Compilation , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[15]  Jean-Louis Lassez,et al.  Computational logic: essays in honor of Alan Robinson , 1991 .

[16]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[17]  Michael R. Donat Automating Formal Specification-Based Testing , 1997, TAPSOFT.

[18]  A. Camilleri Simulation as an aid to verification using the HOL theorem prover , 1988 .