An instance of FreeCHR with refined operational semantics
Sascha Rechenberger, Thom Fr\"uhwirth

TL;DR
This paper refines the operational semantics of FreeCHR, a framework for unifying CHR embedding into host languages, by introducing an execution algorithm that addresses practical issues and proves its soundness.
Contribution
It introduces an execution algorithm for FreeCHR based on refined operational semantics, improving practical implementation and correctness assurance.
Findings
Derived from refined operational semantics
Proved soundness of the execution algorithm
Provides guidelines for new CHR implementations
Abstract
Constraint Handling Rules (CHR) is a rule-based programming language which is typically embedded into a general-purpose language. There exists a plethora of implementations of CHR for numerous host languages. However, the existing implementations often reinvent the way to embed CHR, which impedes maintenance and weakens assertions of correctness. To formalize and thereby unify the embedding of CHR into arbitrary host languages, we introduced the framework FreeCHR and proved it to be a valid representation of classical CHR. Until now, this framework only includes a translation of the very abstract operational semantics of CHR which, due to its abstract nature, introduces several practical issues. In this paper, we introduce an execution algorithm for FreeCHR. We derive it from the refined operational semantics of CHR, which resolve the issues introduced by the very abstract semantics. We…
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
TopicsLogic, programming, and type systems · Constraint Satisfaction and Optimization · Formal Methods in Verification
