Abstract. We motivate and develop a linear logic declarative semantics for CHR ∨ , an extension of the CHR programming language that integrates concurrent committed choice with backtrack search and a predefined underlying constraint handler. We show that our semantics maps each of these aspects of the language to a distinct aspect of linear logic. We show how we can use this semantics to reason about derivations in CHR ∨ and we present strong theorems concerning its soundness and completeness.
We observe that the various formulations of the operational semantics of Constraint Handling Rules proposed over the years fall into a spectrum ranging from the analytical to the pragmatic. While existing analytical formulations facilitate program analysis and formal proofs of program properties, they cannot be implemented as is. We propose a novel operational semantics ω ! , which has a strong analytical foundation, while featuring a terminating execution model. We prove its soundness and completeness with respect to existing analytical formulations and we provide an implementation in the form of a sourceto-source transformation to CHR with rule priorities.
Constraint Handling Rules (CHR) is a declarative rule-based programming language that has cut out its niche over the course of the last 20 years. It generalizes concurrent constraint logic programming to multiple heads, thus closing the gap to multiset transformation systems. Its popular extension CHR with Disjunction (CHR ∨ ) is a multi-paradigm declarative programming language that allows the embedding of Horn programs with SLD resolution.We analyse the assets and the limitations of the classical declarative semantics of CHR ∨ and highlight its natural relationship with linear logic. We furthermore develop two linear logic semantics for CHR ∨ that differ in the reasoning domain for which they are instrumental. We show their idempotence and their soundness and completeness with respect to the operational semantics. We show how to apply the linear-logic semantics to decide program properties and to reason about operational equivalence of CHR ∨ programs.
Abstract. Developing constraint solvers which are key requisites of constraint programming languages is time consuming and difficult. In this paper, we propose a generic algorithm that symbolically constructs rulebased solvers from the intensional definition of the constraint. Unlike the well-established "generate and test" approach, our symbolic construction approach is capable of generating recursive rules from a recursive constraint definition. Combining the two approaches gives better filtering capabilities than either of the approaches acting alone.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.