Constraint logic programming: Difference between revisions

Content deleted Content added
m Terms and constraints: as -> because
Tree terms: emulates -> reformulates
Line 25:
===Tree terms===
 
Constraint logic programming with tree terms reformulatesemulates regular logic programming, withby substitutionsstoring storedsubstitutions as constraints in the constraint store. Terms are variables, constants, and functors applied to other terms. The only considered constraints are equalities and disequalities between terms. Equality is particularly important, as constraints link <code>t1=t2</code> are often generated by the intepreter.
 
A constraint <code>t1=t2</code> can be simplified if both terms are functors applied to other terms. If the two functors are the same and the number of subterms is also the same, this constraint can be replaced with the pairwise equality of subterms. If the terms are composed of different functors or the same functor but on different number of terms, the constraint is unsatisfiable.