Towards a constraint solver for proving confluence with invariant and equivalence of realistic CHR programs

Towards a constraint solver for proving confluence with invariant and equivalence of realistic CHR programs

thumbnail of KirChr_WFLP

Christiansen, H. & Kirkeby, M. H. (2019). “Towards a constraint solver for proving confluence with invariant and equivalence of realistic CHR programs”. In Functional and Constraint Logic Programming, 2019, 26th International Workshop, WFLP 2018, Frankfurt/Main, Germany, September 6, 2018, Revised Selected Papers. A part of Lecture Notes in Computer Science, Vol. 11285, pp. 112–130. DOI: 10.1007/978-3-030-16202-3_7

Abstract

Confluence of a nondeterministic program ensures a functional input-output relation, freeing the programmer from considering the actual scheduling strategy, and allowing optimized and perhaps parallel implementations. The more general property of confluence modulo equivalence ensures that equivalent inputs are related to equivalent outputs, that need not be identical. Confluence under invariants is also considered. Constraint Handling Rules (CHR) is an important example of a rewrite based logic programming language, and we aim at a mechanizable method for proving confluence modulo equivalence of terminating CHR programs. While earlier approaches to confluence for CHR programs concern an idealized logic subset, we refer to a semantics compatible with standard Prolog-based implementations. We specify a meta-level constraint language in which invariants and equivalences can be expressed and manipulated as is needed for confluence proofs, thus extending our previous theoretical results towards a practical implementation.

You must be logged in to post a comment.