GROUND INTERPOLATION FOR THE THEORY OF EQUALITY
Given a theory T and two formulas A and B jointly unsatisfiable in T, a theory interpolant of A and B is a formula I such that (i) its non-theory symbols are shared by both A and B, (ii) it is entailed by A in T, and (iii) it is unsatisfiable with B in T. Theory interpolation has found several successful applications in model checking. We present a novel method for computing interpolants for ground formulas in the theory of equality. The method produces interpolants from colored congruence graphs representing derivations in that theory. These graphs can be produced by conventional congruence closure algorithms in a straightforward manner. By working with graphs, rather than at the level of individual proof steps, we are able to derive interpolants that are pleasingly simple (conjunctions of Horn clauses) and smaller than those generated by other tools. Our interpolation method can be seen as a theory-specific implementation of a cooperative interpolation game between two provers. We present a generic version of the interpolation game, parametrized by the theory T, and define a general method to extract runs of the game from proofs in T and then generate interpolants from these runs.
logical interpolation satisfiability modulo theories