Logic for Logic Programmers
University of Wisconsin-Madison Department of Computer Sciences
MetadataShow full item record
The goal of logic programming is that the program, or database, can be understood by logic along, independently of any execution model. Attempts to realize this goal have made it clear that the logic involved must go beyond ordinary first-order logic. This survey will explore several topics of current interest in the logical meaning of logic programs, with particular attention paid to: (1) the meaning of negation; this still remains problematical, although many partial results are known. (2) The meaning of recursions; these imply a least fixed-point computation in deductive databases, and something else in Prolog. (3) The meaning of the Prolog built-in predicates, such as the evaluation of numeric terms. (4) The semantic meaning of the order in which a stream of answers is returned.