Towards a Process Semantics in the Logic Programming Style

We propose a new, more informative semantics for HCL: the meaning of a program is a set of observations over successful computations (refutations), which is parametric with respect to the observation function. The semantics is given in a logic programming style, i.e. with three different although equivalent characterizations (operational, model-theoretic and fixpoint). This semantics should fill the gap between the classic HCL semantics (not informative enough to be generalized to concurrent logic languages), and the process semantics used for imperative languages. Consistency of our approach with the classic semantics of HCL is checked by considering the minimal observation function, which observes just the initial and final state of a computation.

[1]  Hassan Aït-Kaci,et al.  LOGIN: A Logic Programming Language with Built-In Inheritance , 1986, J. Log. Program..

[2]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[3]  S. Maclane,et al.  Categories for the Working Mathematician , 1971 .

[4]  Kazunori Ueda,et al.  Guarded Horn Clauses , 1986, LP.

[5]  Joseph A. Goguen,et al.  What Is Unification?: A Categorical View of Substitution, Equation and Solution , 1989 .

[6]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[7]  Joost N. Kok A Compositional Semantics for Concurrent Prolog , 1988, STACS.

[8]  Ugo Montanari,et al.  An Algebraic Representation of Logic-Program Computations , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[9]  S. Lane Categories for the Working Mathematician , 1971 .

[10]  Giorgio Levi,et al.  Semantic Models for a Version of PARLOG , 1989, ICLP.

[11]  Masaki Murakami A Declarative Semantics of Parallel Logic Programs with Perpetual Processes , 1988, FGCS.

[12]  Andrea Asperti,et al.  Projections Instead of Variables: A Category Theoretic Interpretation of Logic Programs , 1989, ICLP.

[13]  Ehud Shapiro Concurrent Prolog: A Progress Report , 1986, Computer.

[14]  Vijay A. Saraswat,et al.  The concurrent logic programming language CP: Definition and operational semantics , 1987, POPL '87.

[15]  Giorgio Levi,et al.  A Synchronization Logic: Axiomatics and Formal Semantics of Generalized Horn Clauses , 1984, Inf. Control..

[16]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[17]  Giorgio Levi,et al.  The Relation between Logic and Functional Languages: A Survey , 1986, J. Log. Program..

[18]  Michael Codish,et al.  Fully abstract denotational semantics for flat Concurrent Prolog , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[19]  Michael J. Maher Logic Semantics for a Class of Committed-Choice Programs , 1987, ICLP.

[20]  Haim Gaifman,et al.  Fully abstract compositional semantics for logic programs , 1989, POPL '89.

[21]  Keith L. Clark,et al.  PARLOG: parallel programming in logic , 1986, ACM Trans. Program. Lang. Syst..