Justifications in Constraint Handling Rules for Logical Retraction in Dynamic Algorithms: Theory, Implementations, and Complexity.

FUNDAMENTA INFORMATICAE(2020)

引用 1|浏览7
暂无评分
摘要
We present a concise source-to-source transformation that introduces justifications for user-defined constraints into the rule-based Constraint Handling Rules (CHR) programming language. There is no need to introduce a new semantics for justifications. This leads to a conservative extension of the language, as we can show the equivalence of rule applications. A scheme of two rules suffices to allow for logical retraction (deletion, removal) of CHR constraints during computation. Without the need to recompute from scratch, these rules remove the constraint and also undo all its consequences. We prove a confluence result concerning the rule scheme. We prove its correctness in general and tighten the results for confluent programs. We give an implementation, show its correctness, present two classical examples of dynamic algorithms, and improve the implementation. The computational overhead of introducing justifications and of performing logical retraction, i.e. the additional time and space needed, is proportional to the derivation length in the original program. This overhead may increase space complexity, but does not change the worst-case time complexity.
更多
查看译文
关键词
Truth Maintenance,Rule-Based Programming,Logic Programming,Computational Logic,Source-to-Source Program Transformation,Constraint Deletion,Confluence
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要