首页> 外文会议>Verification, model checking, and abstract interpretation >Sets with Cardinality Constraints in Satisfiability Modulo Theories
【24h】

Sets with Cardinality Constraints in Satisfiability Modulo Theories

机译:可满足性模理论中具有基数约束的集合

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

摘要

Boolean Algebra with Presburger Arithmetic (BAPA) is a decidable logic that can express constraints on sets of elements and their cardinalities. Problems from verification of complex properties of software often contain fragments that belong to quantifier-free BAPA (QFBAPA). In contrast to many other NP-complete problems (such as quantifier-free first-order logic or linear arithmetic), the applications of QFBAPA to a broader set of problems has so far been hindered by the lack of an efficient implementation that can be used alongside other efficient decision procedures. We overcome these limitations by extending the efficient SMT solver Z3 with the ability to reason about cardinality (QFBAPA) constraints. Our implementation uses the DPLL(T) mechanism of Z3 to reason about the top-level propositional structure of a QFBAPA formula, improving the efficiency compared to previous implementations. Moreover, we present a new algorithm for automatically decomposing QFBAPA formulas. Our algorithm alleviates the exponential explosion of considering all Venn regions, significantly improving the tractability of formulas with many set variables. Because it is implemented as a theory plugin, our implementation enables Z3 to prove formulas that use QFBAPA constructs with constructs from other theories that Z3 supports, as well as with quantifiers. We have applied our implementation to the verification of functional programs; we show it can automatically prove formulas that no automated approach was reported to be able to prove before.
机译:具有Presburger算术(BAPA)的布尔代数是可以确定的逻辑,可以表达对元素集及其基数的约束。验证软件复杂属性带来的问题通常包含属于无量词BAPA(QFBAPA)的片段。与许多其他NP完全问题(例如无量化器的一阶逻辑或线性算术)相比,迄今为止,QFBAPA在更广泛的问题上的应用由于缺乏可以使用的有效实现而受到阻碍以及其他有效的决策程序。通过扩展有效的SMT求解器Z3并具有推理基数(QFBAPA)约束的能力,我们克服了这些限制。我们的实现使用Z3的DPLL(T)机制来推理QFBAPA公式的顶级命题结构,与以前的实现相比,提高了效率。此外,我们提出了一种自动分解QFBAPA公式的新算法。我们的算法减轻了考虑所有Venn区域的指数爆炸,显着提高了具有许多设置变量的公式的易处理性。因为它是作为理论插件实现的,所以我们的实现使Z3能够证明使用QFBAPA构造的公式以及Z3支持的其他理论的构造以及量词。我们已将我们的实施应用于功能程序的验证;我们展示了它可以自动证明以前没有自动方法可以证明的公式。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号