Deciding Extensions of the Theories of Vectors and Bags

  • Patrick Maier
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5403)

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aspinall, D., Maier, P., Stark, I.: Monitoring external resources in Java MIDP. Electr. Notes Theor. Comput. Sci. 197(1), 17–30 (2008)CrossRefGoogle Scholar
  2. 2.
    Aspinall, D., Maier, P., Stark, I.: Safety guarantees from explicit resource management. In: Proc. FMCO 2007. LNCS, vol. 5382, pp. 52–71. Springer, Heidelberg (2008)Google Scholar
  3. 3.
    Bradley, A.R., Manna, Z., Sipma, H.B.: What’s decidable about arrays? In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 427–442. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D.: Decision procedures for extensions of the theory of arrays. Ann. Math. Artif. Intell. 50(3-4), 231–254 (2007)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Ihlemann, C., Jacobs, S., Sofronie-Stokkermans, V.: On local reasoning in verification. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 265–281. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)CrossRefMATHGoogle Scholar
  7. 7.
    Piskac, R., Kuncak, V.: Decision procedures for multisets with cardinality constraints. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 218–232. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Piskac, R., Kuncak, V.: Linear arithmetic with stars. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 268–280. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Sofronie-Stokkermans, V.: Hierarchic reasoning in local theory extensions. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS, vol. 3632, pp. 219–234. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  10. 10.
    Suzuki, N., Jefferson, D.: Verification decidability of Presburger array programs. J. ACM 27(1), 191–205 (1980)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Tinelli, C., Zarba, C.G.: Combining decision procedures for sorted theories. In: Alferes, J.J., Leite, J. (eds.) JELIA 2004. LNCS, vol. 3229, pp. 641–653. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  12. 12.
    Zarba, C.G.: Combining multisets with integers. In: Voronkov, A. (ed.) CADE 2002. LNCS, vol. 2392, pp. 363–376. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Patrick Maier
    • 1
  1. 1.Laboratory for Foundations of Computer Science School of InformaticsThe University of EdinburghScotland

Personalised recommendations