Logic programming is an attractive paradigm that allows the programmer to concentrate on the meaning (the logic) of the problem to be solved the declarative layer. An execution model is then used as the problem solver the operational layer. In practice, for efficiency reasons, the semantics of the two layers do not always match. For instance, in Prolog, the computation of solutions is based on ...