Combining decision procedures by (model-)equality propagation

  • Authors:
  • Diego Caminha B. de Oliveira;David Déharbe;Pascal Fontaine

  • Affiliations:
  • Université de Nancy, Nancy, France and INRIA, Nancy, France and LORIA, Nancy, France;Departamento de Informática e Matemática Aplicada, Universidade Federal do Rio Grande do Norte, NatalRN, Brazil;Université de Nancy, Nancy, France and INRIA, Nancy, France and LORIA, Nancy, France

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 data-structures like arrays or lists. In this paper, we present an approach 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].