Diagnosis and debugging as contradiction removal in logic programs

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

5 Citations (Scopus)


We apply to normal logic programs with integrity rules a contradiction removal approach, and use it to uniformly treat diagnosis and debugging, and as a matter of fact envisage programs as artifacts and fault-finding as debugging. Our originality resides in applying to such programs the principle that if an assumption leads to contradiction then it should be revised: assumptions are not A literals with no rules for A; contradiction is violation of an integrity rule; and revision consists in assuming A instead. Since revised assumptions may introduce fresh contradictions the revision process must be iterated. To do so we’ve devised an algorithm which is sound and complete. Our use of normal logic programs extends that of Horn programs made by Konolige, and so adds expressiveness to the causal part of his framework. Non-abnormalities are assumed rather than abduced, and are revised only if they result in contradiction; simple logic programming techniques achieve it.

Original languageEnglish
Title of host publicationProgress in Artificial Intelligence - 6th Portuguese Conference on AI, EPIA 1993, Proceedings
EditorsMiguel Filgueiras, Luis Damas
Place of PublicationBerlin, Heidelberg
Number of pages15
ISBN (Electronic)978-3-540-48036-5
ISBN (Print)978-3-540-57287-9
Publication statusPublished - 1993
Event6th Portuguese Conference on Artificial Intelligence, EPIA 1993 - Porto, Portugal
Duration: 6 Oct 19938 Oct 1993

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume727 LNAI
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference6th Portuguese Conference on Artificial Intelligence, EPIA 1993


  • Debugging
  • Diagnosis
  • Logic programming
  • Non-monotonic reasoning


Dive into the research topics of 'Diagnosis and debugging as contradiction removal in logic programs'. Together they form a unique fingerprint.

Cite this