A Comparison of Notions of Negation as Failure
John S. Schlipf
Abstract
John S. Schlipf
Abstract
Abstract When logic programming was generalized to allow negative subgoals, difficulties immediately arose concerning the meaning of negation as failure in the context of these subgoals. Various semantics have been proposed, each attempting to capture natural intuitions about negation as failure and to preserve other intuitive properties. We discuss several such semantics for normal logic programs here: the minimal model semantics, the perfect model semantics for stratified programs, the two- and three-valued program completion semantics, and the stable and well-founded semantics. We contrast them in various ways: we present some examples and intuitions that might be used to justify them, discuss which violate or preserve certain properties of more classical logics and which allow modular programming, and present some results about expressive powers and computational complexity.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Abstract When logic programming was generalized to allow negative subgoals, difficulties immediately arose concerning the meaning of negation as failure in the context of these subgoals. Various semantics have been proposed, each attempting to capture natural intuitions about negation as failure and to preserve other intuitive properties. We discuss several such semantics for normal logic programs here: the minimal model semantics, the perfect model semantics for stratified programs, the two- and three-valued program completion semantics, and the stable and well-founded semantics. We contrast them in various ways: we present some examples and intuitions that might be used to justify them, discuss which violate or preserve certain properties of more classical logics and which allow modular programming, and present some results about expressive powers and computational complexity.
Key concepts: Negation as failure, Negation, Stable model semantics, Well-founded semantics, Programming language, Semantics (computer science), Computer science, Operational semantics