Three semantics have been proposed as the most promising candidates fo
r a declarative interpretation for logic programs and pure Prolog prog
rams: the least Herbrand model, the least term model, i.e., the C-sema
ntics, and the L-semantics. Previous results show that a strictly incr
easing information ordering between these semantics exists for the cla
ss of all programs. In particular, the L-semantics allows us to model
the 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 progr
ams (which is Turing complete), these three semantics are isomorphic.
As a consequence, given a query, we can extract from the least Herbran
d model of a program in this class all computed answer substitutions.
However, for specific programs the least Herbrand model is tedious to
construct and reason about because it contains ''ill-typed'' facts. Th
erefore, we propose a fourth semantics that associates with a ''correc
tly typed'' program the ''well-typed'' subset of its least Herbrand mo
del. This semantics is used to reason about partial correctness and ab
sence of failures of correctly typed programs, The results are extende
d to programs with arithmetic.