Towards a process semantics in the logic programming style

  • Andrea Corradini
  • Ugo Montanari
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 415)


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.


Logic Program Transition System Logic Programming Operational Semantic Atomic Formula 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

6 References

  1. [AM89]
    Asperti, A., Martini, S., Projections instead of variables, A category theoretic interpretation of logic programs, Proc. 6th Int. Conf. on Logic Programming, Lisboa, Portugal, 1989.Google Scholar
  2. [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
  3. [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
  4. [CG86]
    Clark, K.L., Gregory, S., PARLOG: Parallel Programming in Logic, ACM TOPLAS 8(1),pp. 1–49, 1986.CrossRefGoogle Scholar
  5. [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
  6. [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
  7. [Co90]
    Corradini, A., Ph.D. Thesis, Dipartimento di Informatica, Università di Pisa, forthcoming.Google Scholar
  8. [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. 5th Int. Conf. Symp. on Logic Programming, Seattle, MIT Press, pp. 993–1005, 1988.Google Scholar
  9. [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
  10. [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
  11. [GCLS88]
    Gerth, R., Codish, M., Lichtenstein, Y., Shapiro, E., Fully Abstract Denotational Semantics for Flat Concurrent Prolog, Proc. 3th Annual Symposium on Logic In Computer Science, Edinburgh, UK, 1988.Google Scholar
  12. [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
  13. [Ho83]
    Hoare, C.A.R., Communicating Sequential Processes, Prentice-Hall, 1983.Google Scholar
  14. [JL87]
    Jaffar, J., Lassez, J.-L., Constraint Logic Programming, Proc. 12th ACM Symp. on Principles of Programming Languages, pp. 111–119, 1987.Google Scholar
  15. [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
  16. [LP87]
    Levi, G., Palamidessi, C., An approach to the declarative semantics of synchronization in logic languages, Proc. 4th Int. Conf. on Logic Programming, MIT Press Series in Logic Programming, pp. 877–893, 1987.Google Scholar
  17. [L187]
    Lloyd, J.W., Foundations of Logic Programming, Springer Verlag, 1984, (2nd Edition 1987).Google Scholar
  18. [ML71]
    Mac Lane, S., Categories for the Working Mathematician, Springer Verlag, New York, 1971.Google Scholar
  19. [Ma87]
    Maher, M.J., Logic semantics for a class of committed-choice programs, Proc. 4th Int. Conf. on Logic Programming, MIT Press Series in Logic Programming, pp. 858–876, 1987.Google Scholar
  20. [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
  21. [Mo86]
    Monteiro, L., Distributed Logic: A Theory of Distributed Programming in Logic, Internal Report, Universidade Nova de Lisboa, Portugal, April 1986.Google Scholar
  22. [Mu88]
    Murakami, M, A Declarative Semantics of Parallel Logic Programs with Perpetual Processes, Proc. FGCS '88, 1988.Google Scholar
  23. [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
  24. [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
  25. [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
  26. [Ue85]
    Ueda, K., Guarded Horn Clauses, ICOT TR-103, June 1985.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Andrea Corradini
    • 1
  • Ugo Montanari
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations