Forms of Logic Specifications: A Preliminary Study

There is no universal agreement on exactly what form a specification should take, what part it should play in synthesis, and what its precise relationship with the specified program should be. In logic programming, the role of specification is all the more unclear since logic programs are often used as executable specifications. In this paper we take the view that specifications should be set in the context of the problem domain, which we call a framework. We conduct a preliminary study of two useful forms of logic specifications: if-and-only-if and partial specifications. First we set up a three-tier formalism for synthesis, the top-tier being a framework. Then within this formalism we define these two forms of specifications, and discuss their roles in synthesis.

[1]  Christopher J. Hogger,et al.  Derivation of Logic Programs , 1981, JACM.

[2]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[3]  Yves Deville,et al.  Logic Program Synthesis , 1994, J. Log. Program..

[4]  Kung-Kiu Lau,et al.  The Relationship Between Logic Programs and Specifications - The Subset Example Revisited , 1997, J. Log. Program..

[5]  Kung-Kiu Lau,et al.  The Halting Problem for Deductive Synthesis of Logic Programs , 1994, ICLP.

[6]  Robert L. Constable,et al.  Proofs as programs , 1985, TOPL.

[7]  Kung-Kiu Lau,et al.  A Formal Approach to Deductive Synthesis of Constraint Logic Programs , 1995, ILPS.

[8]  Hirohisa Seki,et al.  Verification of Prolog Programs Using an Extension of Execution , 1986, ICLP.

[9]  Kung-Kiu Lau,et al.  On Specification Frameworks and Deductive Synthesis of Logic Programs , 1994, International Workshop/Symposium on Logic-based Program Synthesis and Transformation.

[10]  Laurent Fribourg,et al.  Extracting Logic Programs from Proofs that Use Extended Prolog Execution and Induction , 1990, ICLP.

[11]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[12]  Zohar Manna,et al.  Fundamentals of Deductive Program Synthesis , 1992, IEEE Trans. Software Eng..

[13]  Alan Bundy,et al.  The Synthesis of Logic Programs from Inductive Proofs , 1990 .

[14]  Pierangelo Miglioli,et al.  Abstract Parametric Classes and Abstract Data Types defined by Classical and Constructive Logical Methods , 1994, J. Symb. Comput..

[15]  Chen C. Chang,et al.  Model Theory: Third Edition (Dover Books On Mathematics) By C.C. Chang;H. Jerome Keisler;Mathematics , 1966 .

[16]  Sten-Åke Tärnlund,et al.  A Natural Programming Calculus , 1979, IJCAI.

[17]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[18]  Wilfrid Hodges,et al.  Logical features of Horn Clauses , 1993 .

[19]  Christopher John Hogger,et al.  Introduction to logic programming , 1986, A.P.I.C. Studies in data processing.

[20]  John W. Lloyd,et al.  The Gödel programming language , 1994 .

[21]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.