On the Collecting Semantics for Logic Programs