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.
Click https://s3.amazonaws.com/saylordotorg-resources/wwwresources/site/wp-content/uploads/2011/11/CS405-1.2.1-MIT.pdf link to open resource.