# Control flow versus logic: A denotational and a declarative model for Guarded Horn Clauses

## Abstract

The paper gives four semantic models for Guarded Horn Clauses (GHC). Two operational models are based on a transition system; the first one gives the set of computed answer substitutions (the so-called success set) and the second one takes deadlock and infinite behaviour into account. They are easily related. The main purpose of the paper is to develop compositional models for GHC that are correct with respect to the operational models. For the success set case we give a compositional declarative semantics which can be seen a an extension of models for Horn Clause Logic. Further, a metric semantics that uses tree-like structures is given, which is proved to be correct with respect to the second operational semantics.

## Keywords

Logic Program Operational Semantic Denotational Semantic Compositional Semantic Current Substitution## Preview

Unable to display preview. Download preview PDF.

## References

- [Apt87]K.R. Apt.
*Introduction to logic programming*. Technical Report CS-R8741, Centre for Mathematics and Computer Science, Amsterdam, 1987. To appear as a chapter in Handbook of Theoretical Computer Science, North-Holland.Google Scholar - [AR88]P. America and J.J.M.M. Rutten.
*Solving reflexive domain equations in a category of complete metric spaces*. Proc. of the third workshop on mathematical foundations of programming language semantics, Lecture notes in Computer Science 298, 1988, pp. 254–288.Google Scholar - [dBK88]J.W. de Bakker and J.N. Kok. Uniform abstraction, atomicity and contractions in the comparative semantics of concurrent prolog. In
*Proc. Fifth Generation Computer Systems (FGCS 88)*, pages 347–355, Tokyo, Japan, 1988. Extended Abstract, full version available as CWI report CS-8834 and to appear in Theoretical Computer Science.Google Scholar - [BZ82]J.W. de Bakker and J.I. Zucker.
*Processes and the denotational semantics of concurrency*. Inform. and Control 54, 1982, pp. 70–120.Google Scholar - [CG86]K.L. Clark, S. Gregory,
*PARLOG: Parallel programming in logic*, ACM Trans. Program. Lang. Syst. Vol. 8, 1, 1986, 1–49. Res. Report DOC 84/4, Dept. of Computing, Imperial College, London,1984.Google Scholar - [DM87]S.K. Debray and P. Mishra. Denotational and operational semantics for prolog. In M. Wirsing, editor,
*Formal Description of Programming Concepts III*, pages 245–269, North-Holland, 1987.Google Scholar - [Ede85]E. Eder.
*Properties of substitutions and unifications*. Journal Symbolic Computation 1, 1985, pp. 31–46.Google Scholar - [vEK76]M.H. van Emden and R.A. Kowalski.
*The semantics of predicate logic as a programming language*. Journal of the ACM 23(4), 1976, 733–742.Google Scholar - [FL88]M. Falaschi, G. Levi,
*Finite Failures and Partial Computations in Concurrent Logic Languages*, Proc. of the FGCS'88.Google Scholar - [FLMP88a]M. Falaschi, G. Levi, C. Palamidessi, and M. Martelli.
*Declarative modeling of the operational behaviour of logic languages*. Theoretical Computer Science, 1988. To appear.Google Scholar - [FLPM88b]M. Falaschi, G. Levi, C. Palamidessi, and M. Martelli.
*A new declarative semantics for logic languages*. In Proceedings Conference and Symposium on Logic Programming, MIT press, 1988, pp. 993–1005.Google Scholar - [GCLS88]R. Gerth, M. Codish, Y. Lichtenstein, and E. Shapiro.
*Fully abstract denotational semantics for concurrent prolog*. In Proc. Logic In Computer Science, 1988, pp. 320–335.Google Scholar - [Gre87]S. Gregory.
*Parallel logic programming in PARLOG*. International Series in Logic Programming, Addison-Wesley, 1987.Google Scholar - [HP79]M. Hennessy and G.D. Plotkin.
*Full abstraction for a simple parallel programming language*. In J. Becvar, editor, Proceedings 8th MFCS, Lecture Notes in Computer Science 74, Springer Verlag, 1979, pp. 108–120.Google Scholar - [JM84]N.D. Jones and A. Mycroft. Stepwise development of operational and denotational semantics for prolog. In
*Proc. 1984 Int. Symp. on Logic Programming*, 1984.Google Scholar - [KK89]P. Knijnenburg and J.N. Kok. A compositional semantics for the finite failures of a language with atomized statements. Technical report, University of Utrecht, 1989.Google Scholar
- [KR88]J.N. Kok and J.J.M.M. Rutten.
*Contractions in comparing concurrency semantics*. In Proceedings 15th ICALP, Tampere, Lecture Notes in Computer Science 317, Springer Verlag, 1988, 317–332. To appear in Theoretical Computer ScienceGoogle Scholar - [Lev88]G. Levi.
*A new declarative semantics of flat guarded horn clauses*. Technical Report, ICOT, Tokyo, 1988.Google Scholar - [Le2]G. Levi.
*Models, unfolding rules and fixed point semantics*. Proc. Symp. on Logic Programming, 1988, pp. 1649–1665.Google Scholar - [LMM88]J.-L. Lassez, M.J. Maher, and K. Marriot.
*Unification revisited*. In J. Minker, editor, Foundations of deductive databases and logic programming, Morgan Kaufmann, Los Altos, 1988.Google Scholar - [LP85]G. Levi and C. Palamidessi.
*The declarative semantics of logical read-only variables*. In Proc. Symp. on Logic Programming, IEEE Comp. Society Press, 1985, pp. 128–137.Google Scholar - [LP87]G. Levi and C. Palamidessi.
*An approach to the declarative semantics of synchronization in logic languages*. In Proc. 4th Int. Conference on Logic Programming, 1987, 877–893.Google Scholar - [Pal88]C. Palamidessi.
*A fixpoint semantics for Guarded Horn Clauses*. Technical Report CS-R8833, Centre for Mathematics and Computer Science, Amsterdam, 1988.Google Scholar - [Rin88]G.A. Ringwood. Parlog 86 and the dining logicians.
*Comm. ACM*, 31:10–25, 1988.Google Scholar - [Sar87a]V.A. Saraswat:
*The concurrent logic programming language CP: definition and operational semantics*, in: Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich, West Germany, January 21–23, 1987, pp. 49–62.Google Scholar - [Sha83]E.Y. Shapiro.
*A subset of concurrent prolog and its interpreter*. Technical Report TR-003, ICOT, Tokyo, 1983.Google Scholar - [Sha87]E.Y. Shapiro. Concurrent prolog, a progress report. In W. Bibel and Ph. Jorrand, editors,
*Fundamentals of Artificial Intelligence*, Springer Verlag, 1987. Lecture Notes in Computer Science 232.Google Scholar - [Sh83]E.Y. Shapiro.
*A subset of concurrent prolog and its interpreter*. Tech. Report TR-003, ICOT, Tokyo, 1983.Google Scholar - [Ued85]K. Ueda.
*Guarded Horn Clauses*. Technical Report TR-103, ICOT, 1985. Revised in 1986. A revised version is in E. Wada, editor,*Proceedings Logic Programming*, pages 168–179, Springer Verlag, 1986. LNCS 221.Google Scholar - [Ued86]K. Ueda.
*Guarded Horn Clauses: A Parallel Logic Programming Language with the Concept of a Guard*. Technical Report TR-208, ICOT, 1986. Revised in 1987. Also to appear in M. Nivat and K. Fuchi, editors,*Programming of Future Generation Computers*, North Holland, 1988.Google Scholar