A Superposition-Based Approach to Abductive Reasoning in Equational Clausal Logic
Résumé
Abduction can be defined as the process of inferring plausible explanations (or hypotheses) from observed facts (conclusions). This form of reasoning has the potential of playing a central role in
system verification, particularly for identifying bugs and providing hints to correct them.
We describe an approach to perform abductive reasoning that is based on the superposition calculus.
The formulas we consider are sets of first-order clauses with equality,
and the explanations that are allowed to be inferred are boolean
combinations of equations constructed over a given finite set
of ground terms. By duality, abduction can be reduced to a consequence-finding problem.
We show how the inference rules of the superposition calculus can be adapted
to obtain a calculus that is deductive complete for ground clauses built on the considered sets of ground terms, thus guaranteeing that all required explanations can be generated. This calculus enjoys the same termination properties as the superposition calculus: in particular, it is terminating
on ground extensions of decidable theories of interest in software verification.
The number of implicates of a given equational formula is usually huge. We describe techniques for storing sets of abduced clauses efficiently, and show how usual trie-based approaches for representing sets of propositional clauses in a compact way can be adapted and extended in order to denote equational clauses up to equivalence (modulo the axioms of equality). We provide algorithms for performing redundancy pruning in an efficient way on such representations.
We also identify hints for improvements and provide lines of on-going and future research.