Compositional model-theoretic semantics for logic programs.