# Towards a process semantics in the logic programming style

## Abstract

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.

Actually, the semantic definitions are given at the very basic level of transition systems, and it is shown how to represent a logic program with such a system. Therefore, the same constructions can be applied to every formalism representable as a transition system.

## Keywords

Logic Program Transition System Logic Programming Operational Semantic Atomic Formula## Preview

Unable to display preview. Download preview PDF.

## 6 References

- [AM89]Asperti, A., Martini, S.,
*Projections instead of variables, A category theoretic interpretation of logic programs*, Proc. 6^{th}Int. Conf. on Logic Programming, Lisboa, Portugal, 1989.Google Scholar - [AN86]Aït-kaci, H., Nasr, R.,
*LOGIN: a logic programming language with built-in inheritance*, Journal of Logic Programming 3, pp. 185–215, 1986.CrossRefGoogle Scholar - [BL86]Bellia, M., Levi, G.,
*The relation between logic and functional languages: A survey*, Journal of Logic Programming 3, pp. 217–236, 1986.CrossRefGoogle Scholar - [CG86]Clark, K.L., Gregory, S.,
*PARLOG: Parallel Programming in Logic*, ACM TOPLAS 8(1),pp. 1–49, 1986.CrossRefGoogle Scholar - [CM88]Corradini, A., Montanari, U.,
*(Concurrent) Logic Programming as Transition Systems and viceversa*, Internal Report TP 13, Escuela Superior Latino-Americana de Informática (ESLAI), Buenos Aires, R. Argentina, December 1988.Google Scholar - [CM89]Corradini, A., Montanari, U.,
*An Algebraic Representation of Logic Program Computations*, Technical Report TR-36/89, Dipartimento di Informatica, Università di Pisa, December 1989.Google Scholar - [Co90]Corradini, A.,
*Ph.D. Thesis*, Dipartimento di Informatica, Università di Pisa, forthcoming.Google Scholar - [FLMP88]Falaschi, M., Levi, G., Martelli, M., Palamidessi, C.,
*Declarative Modeling of the Operational Behaviour of Logic Languages*, Technical Report TR-10/88, Dipartimento di Informatica, Univ. di Pisa, 1988; a preliminary version also appeared as:*A new declarative semantics for logic languages*, in Proc. 5^{th}Int. Conf. Symp. on Logic Programming, Seattle, MIT Press, pp. 993–1005, 1988.Google Scholar - [FLP84]Falaschi, M., Levi, G., Palamidessi, C.,
*A Synchronization Logic: Axiomatics and Formal Semantics of Generalized Horn Clauses*, in Information and Control, 60(1–3), Academic Press, 1984.Google Scholar - [GS89]Gaifman, H., Shapiro, E.,
*Fully Abstract Compositional semantics for Logic Programs*, Proc. of the 1989 ACM Conf. on Principles of Logic Programming, 1989.Google Scholar - [GCLS88]Gerth, R., Codish, M., Lichtenstein, Y., Shapiro, E.,
*Fully Abstract Denotational Semantics for Flat Concurrent Prolog*, Proc. 3^{th}Annual Symposium on Logic In Computer Science, Edinburgh, UK, 1988.Google Scholar - [Go88]Goguen, J.A.,
*What is Unification? A Categorical View of Substitution, Equation and Solution*, Research Report SRI-CSL-88-2R2, SRI International, Menlo Park, California, 1988.Google Scholar - [Ho83]Hoare, C.A.R., Communicating Sequential Processes, Prentice-Hall, 1983.Google Scholar
- [JL87]Jaffar, J., Lassez, J.-L.,
*Constraint Logic Programming*, Proc. 12^{th}ACM Symp. on Principles of Programming Languages, pp. 111–119, 1987.Google Scholar - [Ko88]Kok, J.N.,
*A Compositional Semantics for Concurrent Prolog*, in Proc. of the Symposium on Theoretical Aspects of Computer Science (STACS), Bordeaux, 1988.Google Scholar - [LP87]Levi, G., Palamidessi, C.,
*An approach to the declarative semantics of synchronization in logic languages*, Proc. 4^{th}Int. Conf. on Logic Programming, MIT Press Series in Logic Programming, pp. 877–893, 1987.Google Scholar - [L187]Lloyd, J.W.,
*Foundations of Logic Programming*, Springer Verlag, 1984, (2^{nd}Edition 1987).Google Scholar - [ML71]Mac Lane, S.,
*Categories for the Working Mathematician*, Springer Verlag, New York, 1971.Google Scholar - [Ma87]Maher, M.J.,
*Logic semantics for a class of committed-choice programs*, Proc. 4^{th}Int. Conf. on Logic Programming, MIT Press Series in Logic Programming, pp. 858–876, 1987.Google Scholar - [Mi84]Milner, R.,
*Notes on a Calculus for Communicating Systems*, in Control Flow and Data Flow: Concepts of Distributed Programming, (M. Broy, ed.), NATO ASI Series F: Vol. 14, Springer-Verlag, pp. 205–228, 1984.Google Scholar - [Mo86]Monteiro, L.,
*Distributed Logic: A Theory of Distributed Programming in Logic*, Internal Report, Universidade Nova de Lisboa, Portugal, April 1986.Google Scholar - [Mu88]Murakami, M,
*A Declarative Semantics of Parallel Logic Programs with Perpetual Processes*, Proc. FGCS '88, 1988.Google Scholar - [RB85]Rydeheard, D.E., Burstall, R.M.,
*The Unification of Terms: A Category-Theoretic Algorithm*, Internal Report UMCS-85-8-1, Dept. Comp. Sci., University of Manchester, August 1985.Google Scholar - [Sa87]Saraswat, V.A.,
*The concurrent logic programming language CP: definition and operational semantics*, Proc. of the SIGACT-SIGPLAN Symposium on Principle of Programming Languages, ACM, Jan. 1987.Google Scholar - [Sh86]Shapiro, E.,
*Concurrent Prolog: A Progress Report*, in Fundamentals of Artificial Intelligence, (W. Bibel e Ph. Jorrand eds.), LNCS 232, Springer Verlag, pp. 277–313, 1986.Google Scholar - [Ue85]Ueda, K.,
*Guarded Horn Clauses*, ICOT TR-103, June 1985.Google Scholar