 
Summary: Foundational Issues in Implementing
Constraint Logic Programming Systems
James H. Andrews
Dept. of Computing Science
Simon Fraser University
Burnaby, BC, Canada V5A 1S6
jamie@cs.sfu.ca
Abstract: Implementations of Constraint Logic Programming (CLP) systems are often
incomplete with respect to the theories they are intended to implement. This paper
studies two issues that arise in dealing with these incomplete implementations. First, the
notion of ``satisfiability function'' (the analogue of unification) is formally defined, and the
question of which such functions are reasonable is studied. Second, techniques are given,
based on the notion of satisfiability function, for formally (prooftheoretically) specifying
an intended CLP theory or characterizing an existing CLP system. Such prooftheoretic
characterizations have applications in proving soundness and completeness results, and
proving properties of programs. Notions from substructural logic and the notion of
Henkinness of the theory are shown to be important here.
1 Introduction
The semantics of Constraint Logic Programming (CLP) languages is now wellunderstood.
Implementations of CLP languages, however, are often not complete with respect to their
