ABSTRACT

Many newcomers to Prolog find the task of writing a Prolog program is not like specifying an algorithm in the same way as in a conventional programming language. Instead, the Prolog programmer asks more what formal relationships and objects occur in his problem and what relationships are “true” about the desired solution. So, Prolog can be viewed as a descriptive language as well as a prescriptive one. The Prolog approach is rather to describe known facts and relationships about a problem, than to prescribe the sequence of steps taken by a computer to solve the problem. When a computer is programmed in Prolog, the actual way the computer carries out the computation is specified partly by the logical declarative semantics of Prolog, partly by what new facts Prolog can “infer” from the given ones, and only partly by explicit control information supplied by the Programmer.