An instance of FreeCHR with refined operational semantics

📅 2025-05-28
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing CHR implementations suffer from fragmented embedding strategies across host languages, impeding maintainability and formal verification of correctness; although FreeCHR aims to unify multi-language embeddings, its abstract operational semantics lacks executability and a foundation for mechanized verification. Method: We propose the first verifiable execution algorithm for FreeCHR, grounded in a refined operational semantics for CHR, and establish a rigorous soundness guarantee linking the abstract semantics to an executable, implementable semantics. Contribution/Results: Through formal modeling and program verification (using Isabelle/HOL), our algorithm bridges the gap between abstract specification and concrete implementation, resolving the long-standing challenge of semantic realizability. It provides a unified, implementation-friendly, and formally verifiable specification framework for embedding CHR into arbitrary host languages. The approach significantly enhances correctness assurance and cross-language maintainability of CHR implementations.

Technology Category

Application Category

📝 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 also prove soundness of the algorithm with respect to the very abstract semantics of FreeCHR. Hereby we provide a unified and an easy to implement guideline for new CHR implementations, as well as an algorithmic definition of the refined operational semantics.
Problem

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

Unifying CHR embedding into host languages
Resolving practical issues in abstract CHR semantics
Providing algorithmic refined semantics for FreeCHR
Innovation

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

FreeCHR framework unifies CHR embedding
Execution algorithm from refined semantics
Proves soundness against abstract semantics
🔎 Similar Papers
No similar papers found.
S
Sascha Rechenberger
Institute for Software Engineering and Programming Languages, Ulm University
Thom Frühwirth
Thom Frühwirth
Professor of Computer Science, University of Ulm
Computational LogicProgramming LanguagesConstraint ProgrammingLogic Programming