This book describes computability theory and provides an extensive treatment of data structures and program correctness. It makes accessible some of the author's work on generalized recursion theory, particularly the material on the logic programming language PROLOG. It also considers LISP programming language and shows its relation to the PROLOG type of language. Advanced first-degree and graduate students of computer science; researchers in computer science and logic.