Declarative Interpretations Reconsidered

Three semantics have been proposed as the most promising candidates for a declara tive interpretation for logic programs and pure Prolog programs: the least Herbrand model, the least term model, i.e. the C-semantics, and the S-semantics. Previous results show that a strictly increasing information ordering between these seman tics exists for the class of all programs. In particular, the S-semantics allows us to model computed answer substitutions, which is not the case for the other two. We study here the relationship between these three semantics for specific classes of programs. We show that for a large class of programs (which is Turing complete) these three semantics are isomorphic. As a consequence, given a query, we can extract from the least Herbrand model of the program all computed answer substi tutions. This result is applied to propose a method for proving partial correctness of programs based on the least Herbrand model.