The KBD library implements a number of model-based diagnosis algorithms adapted to diagnosis of knowledge bases and logic programs.
The debugger allows its users to specify:
* (logical) *requirements to the knowledge base*, e.g. consistency, coherency, etc.;
**test cases*, which are formulas in the knowledge representation language used to encode the knowledge base that satisfy the defined requirements; can be used to state desired statements (entailments) of the intended knowledge base (positive test cases) and undesired statements (non-entailments) of the intended knowledge base (negative test cases);
**test cases*, which are sets of formulas stating desired statements (entailments) of the intended knowledge base (positive test cases) and undesired statements (non-entailments) of the intended knowledge base (negative test cases);
**background knowledge*, which is a requirements-satisfying subset of the knowledge base that is assumed to be correct.
Given a knowledge base (i.e. a set of formulas) violating some of the predefined requirements or test cases the library computes a set of: