Array Theory of Bounded Elements and its Applications

We investigate a first-order array theory of bounded elements. This theory has rich expressive power that allows free use of quantifiers. By reducing to weak second-order logic with one successor (WS1S), we show that the proposed array theory is decidable. Then two natural extensions to the new theory are shown to be undecidable. A translation-based decision procedure for this theory is implemented, and is shown applicable to program verification.

[1]  Nikolaj Bjørner,et al.  Efficient E-Matching for SMT Solvers , 2007, CADE.

[2]  Nils Klarlund,et al.  Mona & Fido: The Logic-Automaton Connection in Practice , 1997, CSL.

[3]  David L. Dill,et al.  A decision procedure for an extensional theory of arrays , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[4]  Silvio Ghilardi,et al.  Decision procedures for extensions of the theory of arrays , 2007, Annals of Mathematics and Artificial Intelligence.

[5]  A. Goel,et al.  Deciding array formulas with frugal axiom instantiation , 2008, SMT '08/BPR '08.

[6]  Henny B. Sipma,et al.  What's Decidable About Arrays? , 2006, VMCAI.

[7]  David L. Dill,et al.  A Decision Procedure for Bit-Vectors and Arrays , 2007, CAV.

[8]  Joseph Y. Halpern Presburger arithmetic with unary predicates is Π11 complete , 1991, Journal of Symbolic Logic.

[9]  Ju. V. Matijasevic,et al.  ENUMERABLE SETS ARE DIOPHANTINE , 2003 .

[10]  Armin Biere,et al.  Lemmas on demand for the extensional theory of arrays , 2008, SMT '08/BPR '08.

[11]  Charles Gregory Nelson,et al.  Techniques for program verification , 1979 .

[12]  J. Cheney,et al.  A sequent calculus for nominal logic , 2004, LICS 2004.

[13]  Armin Biere,et al.  Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays , 2009, TACAS.

[14]  Tomás Vojnar,et al.  Automatic Verification of Integer Array Programs , 2009, CAV.

[15]  Youssef Hamadi,et al.  Efficiently solving quantified bit-vector formulas , 2010, Formal Methods in Computer Aided Design.

[16]  Albert Oliveras,et al.  A Write-Based Solver for SAT Modulo the Theory of Arrays , 2008, 2008 Formal Methods in Computer-Aided Design.

[17]  Cesare Tinelli,et al.  Solving quantified verification conditions using satisfiability modulo theories , 2007, Annals of Mathematics and Artificial Intelligence.

[18]  Harald Ruess,et al.  Solving Bit-Vector Equations , 1998, FMCAD.

[19]  Nikolaj Bjørner,et al.  Generalized, efficient array decision procedures , 2009, 2009 Formal Methods in Computer-Aided Design.

[20]  D. Kapur,et al.  A Reduction Approach to Decision Procedures , 2005 .

[21]  Nils Klarlund,et al.  Mona: Monadic Second-Order Logic in Practice , 1995, TACAS.

[22]  Carlo A. Furia What's Decidable about Sequences? , 2010, ATVA.

[23]  J. Büchi Weak Second‐Order Arithmetic and Finite Automata , 1960 .

[24]  Nils Klarlund,et al.  MONA Version 1.4 - User Manual , 2001 .

[25]  John McCarthy,et al.  Towards a Mathematical Science of Computation , 1962, IFIP Congress.

[26]  Tomás Vojnar,et al.  A Logic of Singly Indexed Arrays , 2008, LPAR.

[27]  David Jefferson,et al.  Verification Decidability of Presburger Array Programs , 1980, JACM.

[28]  Min Zhou,et al.  On Array Theory of Bounded Elements , 2010, CAV.

[29]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

[30]  Leonardo Mendonça de Moura,et al.  Complete Instantiation for Quantified Formulas in Satisfiabiliby Modulo Theories , 2009, CAV.

[31]  Gerhard Goos,et al.  Automated Technology for Verification and Analysis , 2004, Lecture Notes in Computer Science.