Unfolding in CHR
Maurizio Gabbrielli, Maria Chiara Meo, Paolo Tacchella

TL;DR
This paper introduces a correct unfolding transformation system for CHR programs, ensuring semantic preservation and maintaining properties like confluence and termination, addressing a gap in concurrent language transformations.
Contribution
It defines and proves the correctness of an unfolding rule specifically for CHR, a novel contribution for concurrent program transformation.
Findings
Unfolding rule for CHR is correct and semantics-preserving.
Conditions for deleting unfolded rules without changing program meaning.
Confluence and termination are preserved through unfolding transformations.
Abstract
Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption and more generally to optimize a given program. Essentially it consists of a sequence of syntactic program manipulations which preserves some kind of semantic equivalence. One of the basic operations which is used by most program transformation systems is unfolding which consists in the replacement of a procedure call by its definition. While there is a large body of literature on transformation and unfolding of sequential programs, very few papers have addressed this issue for concurrent languages and, to the best of our knowledge, no other has considered unfolding of CHR programs. This paper defines a correct unfolding system for CHR programs. We define an unfolding rule, show its correctness and discuss some conditions which can be used to delete an unfolded rule while…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced NMR Techniques and Applications
