Satisfiability Modulo Theories (SMT) refers to the problem of deciding the satisfiability of a formula with respect to certain background first order theories. In this paper, we focus on Satisfiablity Modulo Integer Arithmetic, which is referred to as SMT(IA), including both linear and non-linear integer arithmetic theories. Dominant approaches to SMT rely on calling a CDCL-based SAT solver, either in a lazy or eager favor. Local search, a competitive approach to solving combinatorial problems including SAT, however, has not been well studied for SMT. We develop the first local search algorithm for SMT(IA) by directly operating on variables, breaking through the traditional framework. We propose a local search framework by considering the distinctions between Boolean and integer variables. Moreover, we design a novel operator and scoring functions tailored for integer arithmetic, as well as a two-level operation selection heuristic. Putting these together, we develop a local search SMT(IA) solver called LS-IA. Experiments are carried out to evaluate LS-IA on benchmarks from SMTLIB. The results show that LS-IA is competitive and complementary with state-of-the-art SMT solvers, and performs particularly well on those formulae with only integer variables. A simple sequential portfolio with Z3 improves the state-of-the-art on satisfiable benchmark sets from SMT-LIB.
翻译:----
整数算术理论的满足性模态下的局部搜索
The translated abstract:
本文关注于满足性模态下的整数算术理论(SMT(IA)), 即包括线性和非线性整数算术理论的公式的可满足性问题。目前主要的SMT算法通常可以调用基于CDCL的SAT求解器,采用惰性或者急切的方式求解。本文提出了第一个直接操作变量的局部搜索算法来解决SMT(IA)问题。我们设计了一个区分布尔变量和整数变量的局部搜索框架,同时针对整数算术问题设计了新颖的操作算子和打分函数,以及两级操作选择启发式。综合以上设计,我们开发出一种基于局部搜索的SMT(IA)求解器LS-IA。实验结果表明,LS-IA对于整数变量较多的公式具有特别优异的表现,并且与当下最先进的SMT求解器相比更加竞争和补充。此外,将LS-IA与Z3求解器组合成的顺序投资组合进一步提升了SMT-LIB的可满足集的最先进性。