Automatic decidability and combinability

Christopher Lynch, Silvio Ranise, Christophe Ringeissen, Duc-Khanh Tran
2011 Information and Computation  
1027 in showing that the formula ∀x, y.(x < y ⇒ x < y + y) is true for all possible interpretations of the non-logical symbols < and +, but only for those interpretations in which < is the usual ordering over the integers and + is the addition function. When proving the validity of a formula, general-purpose ATPs have only one way to consider the interpretations allowed by a background theory T : add as a premise to the formula a conjunction of the axioms for T . There are several important
more » ... ries of data structures admitting finite axiomatizations; e.g., lists, arrays, records, and integer-offsets. Unfortunately, there are also ubiquitous theories in verification such as Presburger Arithmetic which can only be approximated by finite sets of axioms (see, e.g., [6]). However, even when finite axiomatizations exist for the background theory T , the performance of an ATP is usually poor for realistic verification applications when it is used off-the-shelf (see [28] for an extensive discussion on this issue and possible solutions). There exist specialized reasoning methods for many background theories of interest, such as the ones listed above, which go under the name of Satisfiability Modulo Theories (SMT) solvers, but they are limited to the particular class of FOL formulae without quantifiers. While being able to cope only with quantifier-free formulae is not an obstacle for some verification applications, it may become a serious limitation in the verification of complex data structures. Finding good heuristics for lifting SMT techniques from ground to quantified formulas is a hot line of current (see, e.g., [12] ) and future research. On the other hand, ATPs are-at least in principle-capable of handling arbitrary FOL formulae, including those containing quantifiers. Finally, to make the situation even more complex, most verification problems involve more than one theory, so that methods to combine theories, such as the one pioneered by Nelson and Oppen [22], are required to modularly re-use procedures for the component theories. Given the large variety of FOL formulae generated by verification tools, especially in the context of software verification where formulae containing quantifiers are quite frequently obtained, it is desirable to make ATPs and specialized decision procedures cooperate so as to augment the degree of automation of verification techniques. In this paper, we consider the problem of embedding ATPs in verification tools and devise methods for their cooperation with other specialized decision procedures. In this respect, it is crucial to develop a general framework for
doi:10.1016/j.ic.2011.03.005 fatcat:43hij62ivrc3plqi2seqpzq73m