Journal of Automated Reasoning

, Volume 54, Issue 4, pp 327–352 | Cite as

Decision Procedures for Flat Array Properties

  • Francesco AlbertiEmail author
  • Silvio Ghilardi
  • Natasha Sharygina


We present new decidability results for quantified fragments of theories of arrays. Our decision procedures are parametric in the theories of indexes and elements and orthogonal with respect to known results. We show that transitive closures (’acceleratio’) of relation expressing certain array updates produce formulas inside our fragment; this observation will be used to identify a class of programs handling arrays having decidable reachability problem.


Decision procedures Quantifiers Arrays SMT 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alberti, F., Bruttomesso, R., Ghilardi, S., Ranise, S., Sharygina, N.: Lazy abstraction with interpolants for arrays. In: LPAR, pp. 46–61 (2012)Google Scholar
  2. 2.
    Alberti, F., Bruttomesso, R., Ghilardi, S., Ranise, S., Sharygina, N.: SAFARI: SMT-Based Abstraction for Arrays with Interpolants. In: CAV, pp. 679–685 (2012)Google Scholar
  3. 3.
    Alberti, F., Bruttomesso, R., Ghilardi, S., Ranise, S., Sharygina, N.: An extension of lazy abstraction with interpolation for programs with arrays. Formal Methods in System Design 45(1), 63–109 (2014)CrossRefzbMATHGoogle Scholar
  4. 4.
    Alberti, F., Ghilardi, S., Sharygina, N.: Definability of accelerated relations in a theory of arrays and its applications. In: FroCoS, pp. 23–39 (2013)Google Scholar
  5. 5.
    Alberti, F., Ghilardi, S., Sharygina, N.: Booster: An acceleration-based verification framework for array programs. In: Cassez, F., Raskin, J.-F. (eds.) Automated Technology for Verification and Analysis - 12th International Symposium, ATVA 2014, Sydney, NSW, Australia, November 3-7, 2014, Proceedings, volume 8837 of Lecture Notes in Computer Science, pp. 18–23, Springer (2014)Google Scholar
  6. 6.
    Alberti, F., Ghilardi, S., Sharygina, N.: Decision procedures for flat array properties. In: TACAS (2014)Google Scholar
  7. 7.
    Bach, E., Shallit, J.: Algorithmic Number Theory. Vol. 1. Foundations of Computing Series. MIT Press (1996)Google Scholar
  8. 8.
    Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanovic, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: CAV, pp. 171–177 (2011)Google Scholar
  9. 9.
    Barrett, C., Stump A., Tinelli, C.: The Satisfiability Modulo Theories Library (SMT-LIB). (2010)
  10. 10.
    Behrmann, G., Bengtsson, J., David, A., Larsen, K.G., Pettersson, P., Yi, W.: UPPAAL implementation secrets. In: FTRTFT, pp. 3–22 (2002)Google Scholar
  11. 11.
    Beyer, D.: Status report on software verification - (competition summary sv-comp 2014). In: Ábrahám, E., Havelund, K. (eds.) TACAS, volume 8413 of Lecture Notes in Computer Science, pp 373–388. Springer (2014)Google Scholar
  12. 12.
    Bjørner, N., McMillan, K.L., Rybalchenko, A.: On solving universally quantified horn clauses. In: SAS, pp. 105–125 (2013)Google Scholar
  13. 13.
    Börger, E., Grädel, E., Gurevich, Y.: The Classical Decision Problem. Perspectives in Mathematical Logic. Springer-Verlag, Berlin (1997)CrossRefGoogle Scholar
  14. 14.
    Bouton, T., Caminha, D., de Oliveira, B., Déharbe, D., Fontaine, P.: Verit: An open, trustable and efficient smt-solver. In: Schmidt, R.A. (ed.) CADE, volume 5663 of Lecture Notes in Computer Science, pp. 151–156. Springer, Berlin (2009)Google Scholar
  15. 15.
    Bozga, M., Iosif, R., Lakhnech, Y.: Flat parametric counter automata. Fundamenta Informaticae 91, 275–303 (2009)zbMATHMathSciNetGoogle Scholar
  16. 16.
    Bradley, A.R., Manna, Z., Sipma, H.B.: What’s decidable about arrays? In: VMCAI, pp. 427–442 (2006)Google Scholar
  17. 17.
    Comon, H., Jurski, Y.: Multiple counters automata, safety analysis and presburger arithmetic. In: CAV, vol. 1427 of LNCS, pp. 268–279. Springer (1998)Google Scholar
  18. 18.
    de Moura, L., Bjørner, N.: Z3: An efficient SMT solver. In: TACAS, pp. 337–340 (2008)Google Scholar
  19. 19.
    Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. Technical Report HPL-2003-148, HP Labs (2003)Google Scholar
  20. 20.
    Dillig, I., Dillig, T., Aiken, A.: Fluid updates: Beyond strong vs. weak updates. In: ESOP, pp. 246–266 (2010)Google Scholar
  21. 21.
    Weber, T., Cok, D.R., Stump, A.: The 2013 SMT Evaluation. Available at (2013)
  22. 22.
    Finkel, A., Leroux, J.: How to compose Presburger-accelerations: Applications to broadcast protocols. In: FSTTCS, pp. 145–156 (2002)Google Scholar
  23. 23.
    Ganzinger, H.: Shostak light. Automated deduction—CADE-18, vol. 2392 of Lecture Notes in Comput. Sci., pp. 332–346. Springer, Berlin (2002)Google Scholar
  24. 24.
    Ge, Y., de Moura, L.: Complete instantiation for quantified formulas in satisfiabiliby modulo theories. In: CAV, pp. 306–320 (2009)Google Scholar
  25. 25.
    Ghilardi, S., Ranise, S.: Backward reachability of array-based systems by SMT solving: Termination and invariant synthesis. Logical Methods in Computer Science 6(4) (2010)Google Scholar
  26. 26.
    Ghilardi, S., Ranise, S.: MCMT: A Model Checker Modulo Theories. In: IJCAR, pp. 22–29 (2010)Google Scholar
  27. 27.
    Habermehl, P., Iosif, R., Vojnar, T.: A logic of singly indexed arrays. In: LPAR, pp. 558–573 (2008)Google Scholar
  28. 28.
    Habermehl, P., Iosif, R., Vojnar, T.: What else is decidable about integer arrays? In: FOSSACS (2008)Google Scholar
  29. 29.
    Halpern, J.Y.: Presburger arithmetic with unary predicates is \({\varPi ^{1}_{1}}\) complete. J. Symbolic Logic 56(2), 637–642 (1991)CrossRefzbMATHMathSciNetGoogle Scholar
  30. 30.
    Ihlemann, C., Jacobs, S., Sofronie-Stokkermans, V.: On local reasoning in verification. In: TACAS, pp. 265–281. Springer (2008)Google Scholar
  31. 31.
    Jhala, R., McMillan, K.L.: Array Abstractions from Proofs. In: CAV (2007)Google Scholar
  32. 32.
    Lewis, H.B.: Complexity of solvable cases of the decision problem for the predicate calculus. In: 19th Ann. Symp. on Found. of Comp. Sci., pp. 35–47. IEEE (1978)Google Scholar
  33. 33.
    McCarthy, J.: Towards a mathematical science of computation. In: International Federation for Information Processing Congress, pp. 21–28 (1962)Google Scholar
  34. 34.
    McMillan, K.L.: Lazy Abstraction with Interpolants. In: CAV (2006)Google Scholar
  35. 35.
    Nieuwenhuis, R., Oliveras, A.: DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic. In: CAV’05, pp. 321–334 (2005)Google Scholar
  36. 36.
    Oppen, D.C.: A superexponential upper bound on the complexity of Presburger arithmetic. J. Comput. Syst. Sci. 16(3), 323–332 (1978)CrossRefzbMATHMathSciNetGoogle Scholar
  37. 37.
    Reynolds, A., Tinelli, C., Goel, A., Krstic, S., Deters, M., Barrett, C.: Quantifier instantiation techniques for finite model finding in SMT. In: CADE, pp. 377–391 (2013)Google Scholar
  38. 38.
    Rosser, B.: The n-th prime is greater than n log n. Proc. Lond. Math. Soc., II. Ser. 45, 21–44 (1938)Google Scholar
  39. 39.
    Semënov, A.L.: Logical theories of one-place functions on the set of natural numbers. Izvestiya: Mathematics 22, 587–618 (1984)CrossRefzbMATHGoogle Scholar
  40. 40.
    Shoenfield, J.R.: Mathematical logic. Association for Symbolic Logic, Urbana, IL. Reprint of the 1973 second printing (2001)Google Scholar
  41. 41.
    Tinelli, C., Zarba, C.G.: Combining nonstably infinite theories. J. Automat. Reason. 34(3), 209–238 (2005)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2015

Authors and Affiliations

  • Francesco Alberti
    • 1
    Email author
  • Silvio Ghilardi
    • 2
  • Natasha Sharygina
    • 1
  1. 1.Faculty of InformaticsUniversità della Svizzera ItalianaLuganoSwitzerland
  2. 2.Department of MathematicsUniversità degli Studi di MilanoMilanoItaly

Personalised recommendations