Constraint Handling Rules - Confluence

Confluence

Most applications of CHRs require that the rewriting process be confluent; otherwise the results of searching for a satisfying assignment will be nondeterministic and unpredictable. Establishing confluence is usually done by way of the following three properties

  • A CHR program is locally confluent if all its critical pairs are joinable
  • A CHR program is called terminating if there are no infinite computations.
  • A terminating CHR program is confluent if all its critical pairs are joinable.

Read more about this topic:  Constraint Handling Rules