SLD resolution (Selective Linear Definite clause resolution) is
the basic inference rule used in logic programming. It is a
refinement of resolution, which is both sound and refutation
complete for Horn clauses. Given a goal clause: with selected
literal , and an input definite clause: whose positive literal
(atom) unifies with the atom of the selected literal , SLD
resolution derives another goal clause, in which the selected
literal is replaced by the negative literals of the input clause
and the unifying substitution is applied: In the simplest case,
in propositional logic, the atoms and are identical, and the
unifying substitution is vacuous. However, in the more general
case, the unifying substitution is necessary to make the two
literals identical. The name "SLD resolution" was given by
Maarten van Emden for the unnamed inference rule introduced by
Robert Kowalski. Its name is derived from SL resolution, which
is both sound and refutation complete for the unrestricted
clausal form of logic. "SLD" stands