On proving confluence modulo equivalence for Constraint Handling Rules

From MaRDI portal
Publication:511019

DOI10.1007/S00165-016-0396-9zbMATH Open1355.68050arXiv1611.03628OpenAlexW3099526688WikidataQ125525925 ScholiaQ125525925MaRDI QIDQ511019FDOQ511019

Henning Christiansen, Maja H. Kirkeby

Publication date: 14 February 2017

Published in: Formal Aspects of Computing (Search for Journal in Brave)

Abstract: Previous results on proving confluence for Constraint Handling Rules are extended in two ways in order to allow a larger and more realistic class of CHR programs to be considered confluent. Firstly, we introduce the relaxed notion of confluence modulo equivalence into the context of CHR: while confluence for a terminating program means that all alternative derivations for a query lead to the exact same final state, confluence modulo equivalence only requires the final states to be equivalent with respect to an equivalence relation tailored for the given program. Secondly, we allow non-logical built-in predicates such as var/1 and incomplete ones such as is/2, that are ignored in previous work on confluence. To this end, a new operational semantics for CHR is developed which includes such predicates. In addition, this semantics differs from earlier approaches by its simplicity without loss of generality, and it may also be recommended for future studies of CHR. For the purely logical subset of CHR, proofs can be expressed in first-order logic, that we show is not sufficient in the present case. We have introduced a formal meta-language that allows reasoning about abstract states and derivations with meta-level restrictions that reflect the non-logical and incomplete predicates. This language represents subproofs as diagrams, which facilitates a systematic enumeration of proof cases, pointing forward to a mechanical support for such proofs.


Full work available at URL: https://arxiv.org/abs/1611.03628





Cites Work


Cited In (1)






This page was built for publication: On proving confluence modulo equivalence for Constraint Handling Rules

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q511019)