Deciding Extensions of the Theories of Vectors and Bags

Vectors and bags are basic collection data structures, which are used frequently in programs and specifications. Reasoning about these data structures is supported by established algorithms for deciding ground satisfiability in the theories of arrays (for vectors) and multisets (for bags), respectively. Yet, these decision procedures are only able to reason about vectors and bags in isolation, not about their combination. This paper presents a decision procedure for the combination of the theories of vectors and bags, even when extended with a function bagof bridging between vectors and bags. The function bagof converts vectors into the bags of their elements, thus admitting vector/bag comparisons. Moreover, for certain syntactically restricted classes of ground formulae decidability is retained if the theory of vectors is extended further with a map function which applies uninterpreted functions to all elements of a vector.

[1]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[2]  Frank Wolter,et al.  Semi-qualitative Reasoning about Distances: A Preliminary Report , 2000, JELIA.

[3]  Andrei Voronkov,et al.  Automated Deduction—CADE-18 , 2002, Lecture Notes in Computer Science.

[4]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[5]  Viorica Sofronie-Stokkermans,et al.  Hierarchic Reasoning in Local Theory Extensions , 2005, CADE.

[6]  Carsten Ihlemann,et al.  On Local Reasoning in Verification , 2008, TACAS.

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

[8]  Ruzica Piskac,et al.  Decision Procedures for Multisets with Cardinality Constraints , 2008, VMCAI.

[9]  Graham Steel,et al.  Deduction with XOR Constraints in Security API Modelling , 2005, CADE.

[10]  Patrick Maier,et al.  Safety Guarantees from Explicit Resource Management , 2007, FMCO.

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

[12]  Calogero G. Zarba Combining Multisets with Integers , 2002, CADE.

[13]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[14]  Patrick Maier,et al.  Monitoring External Resources in Java MIDP , 2008, Electron. Notes Theor. Comput. Sci..

[15]  Ruzica Piskac,et al.  Linear Arithmetic with Stars , 2008, CAV.

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

[17]  Calogero G. Zarba,et al.  Combining Decision Procedures for Sorted Theories , 2004, JELIA.