Combined Abstract Congruence Closure for Theories with Associativity or Commutativity
Résumé
Formal verification techniques, such as deductive verification, require a logic-based tool support to discharge proof obligations, in other words, satisfiability procedures. We design satisfiability procedures thanks to congruence closure methods applied to unions of axiomatized theories, targeting equational axioms such as Associativity or Commutativity. In the proposed approach, any function symbol can be uninterpreted, associative only, commutative only, but also associative and commutative. To tackle the union of these theories, we introduce a combined congruence closure procedure that can be viewed as a particular Nelson-Oppen combination method using particular congruence closure procedures for the individual theories. In this context, we consider terminating congruence closure procedures, but also non-terminating ones. Hence, we have terminating ones for Commutativity and Associativity-Commutativity, while the one for Associativity is non-terminating. We show how all the congruence closure procedures, including the combined one, can be presented in a uniform and abstract way.