Observable Semantics for Constraint Logic Programs

Abstract
We consider the constraint logic programming paradigm CLP(χ), as defined by Jaffar and Lassez. CLP(χ) integrates a generic computational mechanism based on constraints within the logic programming framework. The paradigm retains the semantic properties of pure logic programs, namely the existence of equivalent operational, model-theoretic and fixpoint semantics. We introduce a framework for defining various semantics, each corresponding to a specific observable property of CLP computations. Each semantics can be defined either operationally (i.e. top-down) or declaratively (i.e. bottom-up). The construction is based on a new notion of interpretation, on a natural extension of the standard notion of model and on the definition of various immediate consequences operators, whose least fixpoints on the lattice of interpretations are models corresponding to various observable properties. We first consider some semantics defined by Jaffar and Lassez and their relations, in terms of correctness and full abstraction, to the equivalences induced on programs by suitable observables. Then we define a fully abstract semantics which models answer constraints. Finally we introduce a semantics for answer constraints which is compositional w.r.t. union of programs. Suitable abstractions of this semantics allow us to obtain correct (in one case fully abstract) semantics for partial answers and call patterns. Our semantic constructions can be taken as the basis for program transformation and (modular) analyses techniques.

This publication has 0 references indexed in Scilit: