Negation and control in PROLOG

From MaRDI portal





Ways of bringing Prolog closer to the ideals of logic programming are investigated. First various implementations of negations are reviewed (all solutions predicates, delaying until ground, negative unifiers, program transformations,...). Possible pittfals of that variants are illustrated on examples. Delaying until ground technique is found to be generally the most efficient form of negations for database style programming. Recursive predicates are proposed to be transformed, if possible. The second part of the book is devoted to problems concerning adding control facilities to Prolog. A model of execution of MU-Prolog system is given and control primitives (priority and wait) are introduced. An algorithm for generating control information is given and used in preprocessor for logic programs. The appropriate theoretical foundations of logic programming are re-examined and a generalized resolution (Heterogeneous SLD) is defined. It is shown that soundness and completeness still hold. Several of the ideas contained in the paper were implemented in MU- Prolog, the reference manual of which is enclosed as an appendix.











This page was built for publication: Negation and control in PROLOG

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q1082058)