Sets with Cardinality Constraints in Satisfiability Modulo Theories

被引:0
|
作者
Suter, Philippe [1 ]
Steiger, Robin [1 ]
Kuncak, Viktor [1 ]
机构
[1] Ecole Polytech Fed Lausanne, CH-1015 Lausanne, Switzerland
关键词
CHECKING;
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:403 / 418
页数:16
相关论文
共 50 条
  • [21] Preface to special issue on satisfiability modulo theories
    Griggio, Alberto
    Rummer, Philipp
    FORMAL METHODS IN SYSTEM DESIGN, 2017, 51 (03) : 431 - 432
  • [22] Satisfiability modulo theories for process systems engineering
    Mistry, Miten
    D'Iddio, Andrea Callia
    Huth, Michael
    Misener, Ruth
    COMPUTERS & CHEMICAL ENGINEERING, 2018, 113 : 98 - 114
  • [23] Model Learning as a Satisfiability Modulo Theories Problem
    Smetsers, Rick
    Fiterau-Brostean, Paul
    Vaandrager, Frits
    LANGUAGE AND AUTOMATA THEORY AND APPLICATIONS (LATA 2018), 2018, 10792 : 182 - 194
  • [24] Efficient interpolant generation in Satisfiability Modulo Theories
    Cimatti, Alessandro
    Griggio, Alberto
    Sebastiani, Roberto
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2008, 4963 : 397 - +
  • [25] Beyond boolean SAT: Satisfiability Modulo Theories
    Cimatti, Alessandro
    WODES' 08: PROCEEDINGS OF THE 9TH INTERNATIONAL WORKSHOP ON DISCRETE EVENT SYSTEMS, 2008, : 68 - 73
  • [26] Grounding Neural Inference with Satisfiability Modulo Theories
    Wang, Zifan
    Vijayakumar, Saranya
    Lu, Kaiji
    Ganesh, Vijay
    Jha, Somesh
    Fredriskon, Matt
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 36 (NEURIPS 2023), 2023,
  • [27] Tender System Verification with Satisfiability Modulo Theories
    Davila, Rene
    Aldeco-Perez, Rocio
    Barcenas, Everardo
    2021 9TH INTERNATIONAL CONFERENCE IN SOFTWARE ENGINEERING RESEARCH AND INNOVATION (CONISOFT 2021), 2021, : 69 - 78
  • [28] Stochastic Local Search for Satisfiability Modulo Theories
    Froehlich, Andreas
    Biere, Armin
    Wintersteiger, Christoph M.
    Hamadi, Youssef
    PROCEEDINGS OF THE TWENTY-NINTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2015, : 1136 - 1143
  • [29] Proof Checking Technology for Satisfiability Modulo Theories
    Stump, Aaron
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 228 : 121 - 133
  • [30] Automating Elevator Design with Satisfiability Modulo Theories
    Demarchi, Stefano
    Menapace, Marco
    Tacchella, Armando
    2019 IEEE 31ST INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE (ICTAI 2019), 2019, : 26 - 33