Project Details
Description
Constraint Handling Rules, CHR, is a programming language consisting of rewrite rules over sets of logical atoms. CHR has become an important language for various forms of logic reasoning and application. A desired property of a CHR program is confluence, i.e., the final state, i.e., the result of running the program, is independent of the order in which the rules are applied. A confluent program may be optimized by a control of the rule order or parallel execution, and a proof of confluence is often involved in the proof of program correctness.
This project aims at extending existing results on proving confluence for CHR programs to confluence modulo an equivalence relation (CME). Given an equivalence relation ≈, a program is CME whenever alternative end states are equivalent modulo ≈. CME is highly relevant for CHR as it extends the notion of confluence to a much larger class of programs, including dynamic programming algorithms with pruning (such as Viterbi and Dijkstra's shortest path) and programs with redundant data structures (e.g., representing sets as lists or trees as in Union-Find).
This project aims at extending existing results on proving confluence for CHR programs to confluence modulo an equivalence relation (CME). Given an equivalence relation ≈, a program is CME whenever alternative end states are equivalent modulo ≈. CME is highly relevant for CHR as it extends the notion of confluence to a much larger class of programs, including dynamic programming algorithms with pruning (such as Viterbi and Dijkstra's shortest path) and programs with redundant data structures (e.g., representing sets as lists or trees as in Union-Find).
| Status | Finished |
|---|---|
| Effective start/end date | 01/11/2015 → 31/12/2018 |
Funding
- Independent Research Fund Denmark | Natural Sciences: €311,134.00
Research output
- 1 Journal article
-
On proving confluence modulo equivalence for Constraint Handling Rules
Christiansen, H. & Kirkeby, M. H., 2017, In: Formal Aspects of Computing. 29, 1, p. 57-95 39 p.Research output: Contribution to journal › Journal article › Research › peer-review
Open Access7 Link opens in a new tab Citations (Scopus)
Activities
-
The 26th International Workshop on Functional and Logic Programming
Christiansen, H. (Speaker) & Kirkeby, M. H. (Speaker)
6 Sept 2018Activity: Participating in or organising an event › Participation in workshop, seminar, course
-
LOPSTR 2018 -28th International Symposium on Logic-Based Program Synthesis and Transformation
Christiansen, H. (Speaker) & Kirkeby, M. H. (Speaker)
4 Sept 2018 → 6 Sept 2018Activity: Participating in or organising an event › Organisation and participation in conference
-
7th International Workshop on Confluence
Christiansen, H. (Speaker)
7 Jul 2018Activity: Participating in or organising an event › Participation in workshop, seminar, course