Content deleted Content added
m →Semantics: constraints in the current goal: slight rewriting |
→Semantics: +some + ones the interpreter is trying to satisfy |
||
Line 19:
==Semantics==
The semantics of constraint logic programs can be defined in terms of a virtual interpreter that maintains a pair <math>\langle G,S \rangle</math> during execution. The first element of this pair is called current goal; the second element is called constraint store. The ''current goal'' contains the literals the interpreter is trying to prove and may also contain some constraints it is trying to satisfy; the ''constraint store'' contains all constraints the interpreter has assumed satisfiable so far.
Initially, the current goal is the goal and the constraint store is empty. The interpreter proceed by removing the first element from the current goal and analyzing it. The details of this analysis are explain below, but in the end it may produce a [[Recursion|recursive call]] or a failure; the interpreter backtracks in the second case. It may also generate an addition of new literals to the current goal and an addition of new constraint to the constraint store. The interpreter stops when the current goal is empty and the constraint store is satisfiable.
|