Combining decision procedures by (model-)equality propagation

Diego Caminha B. de Oliveira, David Déharbe, Pascal Fontaine
2012 Science of Computer Programming  
Formal methods in software and hardware design often generate formulas that need to be validated, either interactively or automatically. Among the automatic tools, SMT (Satisfiability Modulo Theories) solvers are particularly suitable to discharge such proof obligations, as their input language is equational logic with symbols from various useful decidable fragments such as uninterpreted symbols, linear arithmetic, and usual datastructures like arrays or lists. In this paper, we present an
more » ... ach to combine decision procedures and propositional solvers into an SMT-solver, based not only on the exchange of deducible equalities between decision procedures, but also on the generation of model equalities by decision procedures. This extends nicely the classical Nelson-Oppen combination procedure in a simple platform to smoothly combine convex and non-convex theories. We show the soundness and completeness of this approach using an original abstract framework to represent and reason about SMT-solvers. We then describe an algorithmic translation of this method, implemented in the kernel of the veriT solver (Bouton et al. (2009)) [9].
doi:10.1016/j.scico.2010.04.003 fatcat:m46t7qjkejaj3nl4ktnpkdj6ze