Notes on logic programming

The aim of these notes is to give a compact but complete presentation of the basic ideas behind logic programming. The emphasis throughout is on logical principles and on the main ideas of the most useful algorithms. These are concretely realized, although not always in the purest form, in various versions of PROLOG. We shall not be much concerned with how PROLOG is actually implemented, however, since the details vary considerably from system to system and tend to obscure the relatively simple conceptual framework which lies beneath the surface.