ACM Transactions on Computational Logic · 2013 · 38 citations · 13 references
ComputingComputer ScienceLogicProgramming LanguagesSemanticsConstraint ProgrammingConstraint SatisfactionConstraint SolvingDeductive ReasoningLogic ProgrammingRule-based RepresentationConcurrent Logic ProgrammingConstraint Handling RulesConstraint Logic ProgrammingConstraint RulesDeclarative SemanticsOperational SemanticsProgram InterpretationStructural Operational Semantics
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 multiparadigm declarative programming language that allows embedding of Horn programs with SLD resolution. We analyze 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.
13