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

**Peter J. Stuckey**

### 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

### BibTeX

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