Modeling Answer Constraints in Constraint Logic Programs

The constraint logic programming paradigm CLP(X) (CLP for short) has been proposed by Jaaar and Lassez in order to integrate a generic computational mechanism based on constraints with the logic programming framework. This paradigm retains the semantic properties of logic languages, namely the existence of equivalent operational, model theo-retic and xpoint semantics. Moreover, since computation is performed over the particular domain of computation X, CLP(X) programs have an equivalent \algebraic" semantics, i.e. a semantics which is deened directly on the algebraic structure of the domain X. In this paper we propose an extension of such a semantics, for the success set case, in order to fully characterize the operational behaviour of programs. We introduce a framework for deening various notions of models, each corresponding to a speciic operationally observable property. The construction is based on a new notion of interpretation (set of constrained atoms), on a natural extension of the standard notion of truth and on the dee-nition of various immediate consequences operators T i , whose least xpoints on the lattice of interpretations are models corresponding to various observable properties. Since within our framework the equivalence between the operational and the declarative semantics can be fully achieved, it can be taken as the basis of program transformation and analyses techniques. In particular, it is possible to deene suitable abstract immediate consequence operators and therefore a bottom-up abstract interpretation framework which generalizes to the CLP case an approach developed for pure logic programs.

[1]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

[2]  Frank S. de Boer,et al.  On the Asynchronous Nature of Communication in Concurrent Logic Languages: A Fully Abstract Model Based on Sequences , 1990, CONCUR.

[3]  Claude Kirchner,et al.  Solving Disequations , 1987, LICS.

[4]  Frank S. de Boer,et al.  Semantic Models for a Version of PARLOG , 1989, ICLP.

[5]  Daniele Turi Extending S-Models to Logic Programs with Negation , 1991, ICLP.

[6]  Michael J. Maher,et al.  Reactive Behaviour Semantics for Concurrent Constraint Logic Programs , 1989, NACLP.

[7]  Hubert Comon-Lundh,et al.  Equational Problems and Disunification , 1989, J. Symb. Comput..

[8]  Giorgio Levi,et al.  Failure and Success made Symmetric , 1990, NACLP.

[9]  Kim Marriott,et al.  Bottom-up Abstract Interpretation of Logic Programs , 1988, ICLP/SLP.

[10]  A. Udaya Shankar,et al.  An introduction to assertional reasoning for concurrent systems , 1993, CSUR.

[11]  Giorgio Levi,et al.  A Model-Theoretic Reconstruction of the Operational Semantics of Logic Programs , 1993, Inf. Comput..

[12]  Giorgio Levi,et al.  Declarative Modeling of the Operational Behavior of Logic Languages , 1989, Theor. Comput. Sci..

[13]  Giorgio Levi,et al.  Models, Unfolding Rules and Fixpoint Semantics , 1988, ICLP/SLP.

[14]  Jean-Louis Lassez,et al.  Applications of a Canonical Form of Gerneralized Linear Constraints , 1988, FGCS.

[15]  Giorgio Levi,et al.  Finite Failures and Partial Computations in Concurrent Logic Languages , 1990, Theor. Comput. Sci..

[16]  Kim Marriott,et al.  Analysis of Constraint Logic Programs , 1990, NACLP.

[17]  Masaki Murakami Nested Guarded horn Clauses : A Language Provided with a Complete Set of Unfolding Rules , 1990 .

[18]  Roberto Barbuti,et al.  A general framework for semantics-based bottom-up abstract interpretation of logic programs , 1993, TOPL.