Negation and control in PROLOG (Q1082058)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Negation and control in PROLOG |
scientific article |
Statements
Negation and control in PROLOG (English)
0 references
1986
0 references
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.
0 references
Prolog implementation
0 references
negation as failure
0 references
control rules
0 references
SLD resolution
0 references
database style programming
0 references
Recursive predicates
0 references
control facilities
0 references
MU-Prolog
0 references
control primitives
0 references
logic programs
0 references
logic programming
0 references
soundness
0 references
completeness
0 references