Knowledge Representation, Non-Monotonic Logical Reasoning, Ecological Rationality, Ad Hoc Teamwork, Applications of Logic Programming