Reasoning with Logic Programming (Lecture Notes in Computer Science)