This is an archive of an inactive wiki and cannot be modified.

This is how a proposed design constraint should look like (copy-paste when adding a new proposal):

Support LP semantics with negation as failure and strong negation

Negation as failure --- more accurately called "default negation" --- has been the staple of logic programming and databases for over 20 years. Virtually all widely used rule systems rely on default negation. SQL has it built into its semantics.

Full Statement

Default negation means that a fact is declared false if it cannot be proven true. The semantics of such negation has been worked out in the LP and DB commmunities in the late 80's and currently two semantics are widely used: the well-founded semantics and the stable-model semantics. Especially useful is "scoped negation" (see Offer_module_construct_for_scoped_positive_and_negation_as_failure_queries).

Position in the DC structure


Normative rules cannot be defined without default negation or some other similar formalism, such as epistemic logic.


Charter, use cases.


RIF without that is useless for me / RIF without that is of limited use for me


MichaelKifer, HaroldBoley, JosDeBruijn, AxelPolleres