首页> 外文期刊>Journal of Automated Reasoning >Deciding Boolean Algebra with Presburger Arithmetic
【24h】

Deciding Boolean Algebra with Presburger Arithmetic

机译:用Presburger算法确定布尔代数

获取原文
获取原文并翻译 | 示例

摘要

We describe an algorithm for deciding the first-order multisorted theory BAPA, which combines Boolean algebras of sets of uninterpreted elements (BA) and Presburger arithmetic operations (PA). BAPA can express the relationship between integer variables and cardinalities of unbounded finite sets, and it supports arbitrary quantification over sets and integers. Our motivation for BAPA is deciding verification conditions that arise in the static analysis of data structure consistency properties. Data structures often use an integer variable to keep track of the number of elements they store; an invariant of such a data structure is that the value of the integer variable is equal to the number of elements stored in the data structure. When the data structure content is represented by a set, the resulting constraints can be captured in BAPA. BAPA formulas with quantifier alternations arise when verifying programs with annotations containing quantifiers or when proving simulation relation conditions for refinement and equivalence of program fragments. Furthermore, BAPA constraints can be used for proving the termination of programs that manipulate data structures, as well as in constraint database query evaluation and loop invariant inference. We give a formal description of an algorithm for deciding BAPA. We analyze our algorithm and show that it has optimal alternating time complexity and that the complexity of BAPA matches the complexity of PA. Because it works by a reduction to PA, our algorithm yields the decidability of a combination of sets of uninterpreted elements with any decidable extension of PA. When restricted to BA formulas, the algorithm can be used to decide BA in optimal alternating time. Furthermore, the algorithm can eliminate individual quantifiers from a formula with free variables and therefore perform projection onto a desirable set of variables. We have implemented our algorithm and used it to discharge verification conditions in the Jahob system for data structure consistency checking of Java programs; our experience suggest that a straightforward implementation of the algorithm is eff ective on nontrivial formulas as long as the number of set variables is small. We also report on a new algorithm for solving the quantifier-free fragment of BAPA.
机译:我们描述了一种用于确定一阶多分类理论BAPA的算法,该算法结合了未解释元素(BA)和Presburger算术运算(PA)集合的布尔代数。 BAPA可以表达整数变量与无界有限集基数之间的关系,并且它支持对集合和整数进行任意量化。我们寻求BAPA的动机是确定在数据结构一致性属性的静态分析中出现的验证条件。数据结构通常使用整数变量来跟踪它们存储的元素数量;这种数据结构的不变量是整数变量的值等于存储在数据结构中的元素数。当数据结构内容由集合表示时,可以在BAPA中捕获所产生的约束。当验证包含量词的注释的程序时,或者当证明程序片段的精炼和等效的模拟关系条件时,会出现带有量词交替的BAPA公式。此外,BAPA约束可用于证明操纵数据结构的程序的终止,以及在约束数据库查询评估和循环不变推断中使用。我们给出了决定BAPA的算法的形式描述。我们对算法进行了分析,结果表明该算法具有最佳的交替时间复杂度,并且BAPA的复杂度与PA的复杂度相匹配。因为它通过降低PA起作用,所以我们的算法可得出未解释元素集与PA的任何可确定扩展的组合的可判定性。当限于BA公式时,该算法可用于确定最佳交替时间的BA。此外,该算法可以从具有自由变量的公式中消除单个量词,因此可以将其投影到一组理想的变量上。我们已经实现了我们的算法,并使用它来释放Jahob系统中的验证条件,以进行Java程序的数据结构一致性检查。我们的经验表明,只要设置变量的数量很小,该算法的简单实现就可以有效地处理非平凡的公式。我们还报告了一种用于解决BAPA的无量词片段的新算法。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号