A denotational semantics for Prolog | ACM Transactions on Programming Languages and Systems (TOPLAS) | DeepDyve