Massachusetts Institute of Technology: Leslie Kaelbling and Tomás Lozano-Pérez's "Logic Programming"

Read these slides on logic as a programming language. In declarative programming, you write statements that specify how to manipulate the data; that is, you write specific algorithms. In logic programming, you write statements that specify what is true of the world represented and rely on general-purpose algorithms that are built into the logic (programming) system.