Sixth Annual IEEE Symposium on

Logic in Computer Science (LICS 1991)

Paper: Constructive negation for constraint logic programming (at LICS 1991)

Authors: Peter J. Stuckey


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


    author = 	 {Peter J. Stuckey},
    title = 	 {Constructive negation for constraint logic programming},
    booktitle =  {Proceedings of the Sixth Annual IEEE Symp. on Logic in Computer Science, {LICS} 1991},
    year =	 1991,
    editor =	 {Giles Kahn},
    month =	 {July}, 
    pages =      {328--339},
    location =   {Amsterdam, The Netherlands}, 
    publisher =	 {IEEE Computer Society Press}