Satisfiability Modulo Non-Disjoint Combinations of Theories Connected via Bridging Functions
Résumé
The Nelson-Oppen combination method is ubiquitous in all Satisfiability Modulo Theories solvers. However, one of its major drawbacks is to be restricted to disjoint unions of theories. We investigate the problem of extending this combination method to particular non-disjoint unions of theories connected via bridging functions. This problem is of greatest interest for solving verification problems expressed in a combination of data structures and arithmetic. Our work can be viewed as a synthesis of previous contributions by different authors. We investigate here an approach by reduction from non-disjoint to disjoint combination which is particularly well-suited to combine the theory of absolutely free data structures with bridging functions over a target theory. We consider the problem of adapting the combination procedure to get a satisfiability procedure for the standard interpretations of the data structure. We present an enumeration procedure that allows us to revisit the case of lists with length.