A refined operational semantics for FreeCHR

📅 2025-04-07
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing CHR embedding implementations lack a unified semantic foundation, impeding maintainability and compromising correctness guarantees. This paper addresses the semantic gap between the abstract operational semantics and concrete execution in the FreeCHR framework. We propose, for the first time, a refined, executable operational semantics for FreeCHR and formalize and verify it in Coq. Specifically, we prove that our refined semantics constitutes a sound concretization of FreeCHR’s original abstract semantics, and further establish its strong equivalence to the standard CHR refined operational semantics. Consequently, we rigorously demonstrate behavioral and expressive equivalence between FreeCHR and mainstream CHR systems. This work provides the first unified, formally verified semantic bridge for CHR embeddings across diverse host languages, enabling principled implementation, interoperability, and verification of CHR-based constraint solvers.

Technology Category

Application Category

📝 Abstract
Constraint Handling Rules (CHR) is a rule-based programming language that which is typically embedded into a general-purpose language with a plethora of implementations. However, the existing implementations often re-invent 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 recently 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 present a definition of the refined operational semantics for FreeCHR and prove it to be both, a valid concretization of the very abstract semantics of FreeCHR, and an equivalent representation of the refined semantics of CHR. This will establish implementations of FreeCHR as equivalent in behavior and expressiveness to existing implementations of CHR. This is an extended preprint of a paper submitted to the the 41st International Conference on Logic Programming.
Problem

Research questions and friction points this paper is trying to address.

Formalize embedding of CHR into host languages
Address practical issues in abstract CHR semantics
Prove equivalence of FreeCHR and existing CHR implementations
Innovation

Methods, ideas, or system contributions that make the work stand out.

Refined operational semantics for FreeCHR framework
Unified embedding of CHR into host languages
Proven equivalence to classical CHR implementations
🔎 Similar Papers
No similar papers found.
S
Sascha Rechenberger
Institute of Software Engineering and Programming Languages, Ulm University, 89069 Ulm, Germany
Thom Frühwirth
Thom Frühwirth
Professor of Computer Science, University of Ulm
Computational LogicProgramming LanguagesConstraint ProgrammingLogic Programming