On Confluence of Constraint Handling Rules

07/1996; DOI: 10.1007/3-540-61551-2_62
Source: CiteSeer

ABSTRACT . We introduce the notion of confluence for Constraint Handling Rules (CHR), a powerful language for writing constraint solvers. With CHR one simplifies and solves constraints by applying rules. Confluence guarantees that a CHR program will always compute the same result for a given set of constraints independent of which rules are applied. We give a decidable, sufficient and necessary syntactic condition for confluence. Confluence turns out to be an essential syntactical property of CHR programs for two reasons. First, confluence implies correctness (as will be shown in this paper). In a correct CHR program, application of CHR rules preserves logical equivalence of the simplified constraints. Secondly, even when the program is already correct, confluence is highly desirable. Otherwise, given some constraints, one computation may detect their inconsistency while another one may just simplify them into a still complex constraint. As a side-effect, the paper also gives soundness and com...

1 Bookmark
  • [Show abstract] [Hide abstract]
    ABSTRACT: In this paper, parsing as deduction and constraint programming are brought together to outline a procedure for the specication of constraint-based (chart) parsers. Extending the proposal in Shieber (1995) which provides a meta interpreter for several deduction sys- tems, we show how to directly realize the inference rules for chart parsers as Constraint Handling Rules (Fr uhwirth, 1998) by viewing the items of a conventional chart parser as constraints and the constraint base as a chart. This allows the direct use of the con- straint resolution process to parse sentences in diverse natural language formalisms such as minimalist grammars (Stabler, 1997; Stabler, 2001) or property grammars (Blache, 2000; Balfourier et al., 2002).
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Constraint Handling Rules (CHR) is a declarative committed-choice programming language with a strong relationship to linear logic. Its generalization CHR with Disjunction (CHRv) is a multi-paradigm declarative programming language that allows the embedding of horn programs. We analyse the assets and the limitations of the classical declarative semantics of CHR before we motivate and develop a linear-logic declarative semantics for CHR and CHRv. We show how to apply the linear-logic semantics to decide program properties and to prove operational equivalence of CHRv programs across the boundaries of language paradigms.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Today, there exist two distinct direct approaches to prove termination of CHR programs. Both are applicable on separate classes of CHR programs. One approach, by T. Fruhwirth, proves termination of CHR programs without propagation rules. A second approach deals with CHR programs with propagation rules. Due to its extended scope to such programs, it fails to prove termination for a class of CHR programs with- out propagation that are in the scope of Fruhwirth's approach. In this paper, we introduce a termination condition for CHR which is strictly more powerful than both of these and deals with a new class of programs.
    Logic Programming, 24th International Conference, ICLP 2008, Udine, Italy, December 9-13 2008, Proceedings; 01/2008