Logic Programming, Knowledge Representation, and Nonmonotonic Reasoning