Academia.eduAcademia.edu

A denotational semantics for Prolog

1989, ACM Transactions on Programming Languages and Systems

In this paper we propose a denotational semantics for Prolog and an approach to the abstract interpretation of Prolog programs; we deal with the control rules of Prolog and the cut operator. Moreover, we get a simple denotation for negation as nite failure. The abstract analysis is proposed both for computed answers analysis and for call patterns analysis. In both cases the abstract semantics is nitely computable. Two examples show the usefulness of our approach for the analysis of Prolog programs.