This is the second of two columns on logic programming. It presents
examples of typical logic programming applications using the query evaluator
developed in the first column. Among the examples considered are implementations
of Prolog-style lists, nondeterministic automata, backtracking and exhaustive
search, theorem proving, and deductive databases.