Computer Sciences Dept.

Logic for Logic Programmers

Kenneth Kunen

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.

Download this report (PDF)

Return to tech report index

Computer Science | UW Home