Characterising and Explaining Inconsistency in Logic Programs
- Cite this paper as:
- Schulz C., Satoh K., Toni F. (2015) Characterising and Explaining Inconsistency in Logic Programs. In: Calimeri F., Ianni G., Truszczynski M. (eds) Logic Programming and Nonmonotonic Reasoning. LPNMR 2015. Lecture Notes in Computer Science, vol 9345. Springer, Cham
A logic program under the answer set semantics can be inconsistent because its only answer set is the set of all literals, or because it does not have any answer sets. In both cases, the reason for the inconsistency may be (1) only explicit negation, (2) only negation as failure, or (3) the interplay between these two kinds of negation. Overall, we identify four different inconsistency cases, and show how the respective reason can be further characterised by a set of culprits using semantics which are weaker than the answer set semantics. We also provide a technique for explaining the set of culprits in terms of trees whose nodes are derivations. This can be seen as an important first step towards debugging inconsistent logic programs.