Title :
Constructive negation for constraint logic programming
Author :
Stuckey, Peter J.
Author_Institution :
Dept. of Comput. Sci., Melbourne Univ., Parkville, Vic., Australia
Abstract :
Constructive negation is an extension of the negation as failure rule to handle nonground negative subgoals in a constructive manner. It entails the following procedure: nodes of the subderivation for the nonground negative subgoal are collected as a disjunction and negated giving a formula equivalent to the negative subgoal. Constructive negation was formulated for logic programming in the Herbrand universe by introducing disequality constraints. A framework for constructive negation for constraint logic programming over arbitrary structures that is sound and complete with respect to the three-valued consequences of the completion of a program is described, and a simpler, more efficient form of constructive negation for the Herbrand universe is obtained. What makes a structure particularly suited to the use of constructive negation is characterized, and this suitability condition is shown for a number of structures and classes of structures
Keywords :
formal logic; logic programming; Herbrand universe; constraint logic programming; constructive negation; disequality constraints; disjunction; negation as failure rule; nodes; nonground negative subgoals; subderivation; suitability condition; three-valued consequences; Computer science; Equations; Grounding; Impedance; Logic programming;
Conference_Titel :
Logic in Computer Science, 1991. LICS '91., Proceedings of Sixth Annual IEEE Symposium on
Conference_Location :
Amsterdam
Print_ISBN :
0-8186-2230-X
DOI :
10.1109/LICS.1991.151657