SMT solvers generally tackle quantifiers by instantiating their variables with tuples of terms from the ground part of the formula. Recent enumerative approaches for quantifier instantiation consider tuples of terms in some heuristic order. This paper studies different strategies to order such tuples and their impact on performance. We decouple the ordering problem into two parts. First is the order of the sequence of terms to consider for each quantified variable, and second is the order of the instantiation tuples themselves. While the most and least preferred tuples, i.e. those with all variables assigned to the most or least preferred terms, are clear, the combinations in between allow flexibility in an implementation. We look at principled strategies of complete enumeration, where some strategies are more fair, meaning they treat all the variables the same but some strategies may be more adventurous, meaning that they may venture further down the preference list. We further describe new techniques for discarding irrelevant instantiations which are crucial for the performance of these strategies in practice. These strategies are implemented in the SMT solver cvc5, where they contribute to the diversification of the solver's configuration space, as shown by our experimental results.
翻译:SMT 求解器通常通过从公式的地面部分用条件的图例来即时处理其变量,从公式的地面部分用词的顺序处理量化。最近关于量化词即时法的列举式方法以某种超常顺序来考虑术语的图例。本文研究不同的战略以命令这些图例及其对绩效的影响。我们将订购问题分为两个部分。首先,术语顺序顺序是每个量化变量要考虑的顺序,第二,即即即时图例本身的顺序。虽然大多数和最不受欢迎的图例,即所有被指定为最优先或最不受欢迎的术语的图例的图例是明确的,但两者之间的组合使得执行具有灵活性。我们审视了完全列举的有原则的战略,有些战略比较公平,这意味着它们对待所有变量都是一样的,但有些战略可能比较冒险,这意味着它们可能进一步降低偏好列表。我们进一步描述了放弃不相关的即切实际执行这些战略的关键新技术。这些战略是在SMT Soldr cvc5中执行的,这些战略有助于实现我们的空间多样化,通过软件显示的多样化。