Logic Programming, Knowledge Representation, and Non Monotonic Reasoning