English
Related papers

Related papers: A Refined Operational Semantics for FreeCHR

200 papers

(To appear in Theory and Practice of Logic Programming (TPLP)) We introduce a systematic, concurrent execution scheme for Constraint Handling Rules (CHR) based on a previously proposed sequential goal-based CHR semantics. We establish…

Programming Languages · Computer Science 2010-06-22 Edmund S. L. Lam , Martin Sulzmann

A grammar formalism based upon CHR is proposed analogously to the way Definite Clause Grammars are defined and implemented on top of Prolog. These grammars execute as robust bottom-up parsers with an inherent treatment of ambiguity and a…

Computation and Language · Computer Science 2007-05-23 Henning Christiansen

CHR is a very versatile programming language that allows programmers to declaratively specify constraint solvers. An important part of the development of such solvers is in their testing and debugging phases. Current CHR implementations…

This paper is concerned with rule-based programs that go wrong. The unwanted behavior of rule applications is non-termination or failure of a computation. We propose a static program analysis of the non-termination problem for recursion in…

Programming Languages · Computer Science 2017-01-11 Thom Fruehwirth

Tabled Constraint Logic Programming is a powerful execution mechanism for dealing with Constraint Logic Programming without worrying about fixpoint computation. Various applications, e.g in the fields of program analysis and model checking,…

Programming Languages · Computer Science 2007-12-27 Tom Schrijvers , Bart Demoen , David S. Warren

Confluence of a nondeterministic program ensures a functional input-output relation, freeing the programmer from considering the actual scheduling strategy, and allowing optimized and perhaps parallel implementations. The more general…

Programming Languages · Computer Science 2018-09-14 Henning Christiansen , Maja Kirkeby

Constraint Handling Rules (CHR) is a committed-choice declarative language which has been originally designed for writing constraint solvers and which is nowadays a general purpose language. CHR programs consist of multi-headed guarded…

Logic in Computer Science · Computer Science 2011-01-19 Cinzia Di Giusto , Maurizio Gabbrielli , Maria Chiara Meo

Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption and more generally to optimize a given program. Essentially it consists of a sequence of syntactic program manipulations which…

Programming Languages · Computer Science 2008-07-28 Maurizio Gabbrielli , Maria Chiara Meo , Paolo Tacchella

Previous results on proving confluence for Constraint Handling Rules are extended in two ways in order to allow a larger and more realistic class of CHR programs to be considered confluent. Firstly, we introduce the relaxed notion of…

Logic in Computer Science · Computer Science 2016-11-22 Henning Christiansen , Maja H. Kirkeby

PRISM is an extension of Prolog with probabilistic predicates and built-in support for expectation-maximization learning. Constraint Handling Rules (CHR) is a high-level programming language based on multi-headed multiset rewrite rules. In…

Programming Languages · Computer Science 2010-07-23 Jon Sneyers , Wannes Meert , Joost Vennekens , Yoshitaka Kameya , Taisuke Sato

We present HiCR, a model to represent the semantics of distributed heterogeneous applications and runtime systems. The model describes a minimal set of abstract operations to enable hardware topology discovery, kernel execution, memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-09-03 Sergio Miguel Martin , Luca Terracciano , Kiril Dichev , Noah Baumann , Jiashu Lin , Albert-Jan Yzelman

A general framework is proposed for integration of rules and external first order theories. It is based on the well-founded semantics of normal logic programs and inspired by ideas of Constraint Logic Programming (CLP) and constructive…

Logic in Computer Science · Computer Science 2010-12-08 W. Drabent , J. Maluszynski

Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption, and more generally to optimize a given program. Essentially, it consists of a sequence of syntactic program manipulations which…

Programming Languages · Computer Science 2020-02-19 Maurizio Gabbrielli , Maria Chiara Meo , Paolo Tacchella , Herbert Wiklicky

We propose a novel, operational framework to formally describe the semantics of concurrent programs running within the context of a relaxed memory model. Our framework features a "temporary store" where the memory operations issued by the…

Programming Languages · Computer Science 2012-08-30 Gérard Boudol , Gustavo Petri , Bernard Serpette

Program verification and synthesis frameworks that allow one to customize the language in which one is interested typically require the user to provide a formally defined semantics for the language. Because writing a formal semantics can be…

Programming Languages · Computer Science 2024-09-10 Jiangyi Liu , Charlie Murphy , Anvay Grover , Keith J. C. Johnson , Thomas Reps , Loris D'Antoni

Graph transformation systems (GTS) and constraint handling rules (CHR) are non-deterministic rule-based state transition systems. CHR is well-known for its powerful confluence and program equivalence analyses, for which we provide the basis…

Logic in Computer Science · Computer Science 2010-06-16 Frank Raiser , Thom Frühwirth

Developing suitable formal semantics can be of great help in the understanding, design and implementation of a programming language, and act as a guide for software development tools like analyzers or partial evaluators. In this sense, full…

Logic in Computer Science · Computer Science 2010-02-16 F. J. López-Fraguas , J. Rodríguez-Hortalá

We investigate representations of imperative programs as constrained Horn clauses. Starting from operational semantics transition rules, we proceed by writing interpreters as constrained Horn clause programs directly encoding the rules. We…

Programming Languages · Computer Science 2020-08-10 John P. Gallagher , Manuel Hermenegildo , Bishoksan Kafle , Maximiliano Klemen , Pedro López García , José Morales

Contextual refinement (CR) is one of the standard notions of specifying open programs. CR has two main advantages: (i) (horizontal and vertical) compositionality that allows us to decompose a large contextual refinement into many smaller…

Programming Languages · Computer Science 2022-03-16 Youngju Song , Minki Cho , Dongjae Lee , Chung-Kil Hur

We propose a general framework to allow: (a) specifying the operational semantics of a programming language; and (b) stating and proving properties about program correctness. Our framework is based on a many-sorted system of hybrid modal…

Logic in Computer Science · Computer Science 2025-12-01 Ioana Leustean , Natalia Moanga , Traian Florin Serbanuta