Deciding Extensions of the Theory of Arrays by Integrating Decision Procedures and Instantiation Strategies

  • Silvio Ghilardi
  • Enrica Nicolini
  • Silvio Ranise
  • Daniele Zucchelli
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4160)


The theory of arrays, introduced by McCarthy in his seminal paper “Toward a mathematical science of computation”, is central to Computer Science. Unfortunately, the theory alone is not sufficient for many important verification applications such as program analysis. Motivated by this observation, we study extensions of the theory of arrays whose satisfiability problem (i.e. checking the satisfiability of conjunctions of ground literals) is decidable. In particular, we consider extensions where the indexes of arrays has the algebraic structure of Presburger Arithmetic and the theory of arrays is augmented with axioms characterizing additional symbols such as dimension, sortedness, or the domain of definition of arrays.

We provide methods for integrating available decision procedures for the theory of arrays and Presburger Arithmetic with automatic instantiation strategies which allow us to reduce the satisfiability problem for the extension of the theory of arrays to that of the theories decided by the available procedures. Our approach aims to reuse as much as possible existing techniques so to ease the implementation of the proposed methods. To this end, we show how to use both model-theoretic and rewriting-based theorem proving (i.e., superposition) techniques to implement the instantiation strategies of the various extensions.


Decision Procedure Theorem Prove Function Symbol Predicate Symbol Separation Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: On a rewriting approach to satisfiability procedures: Extension, combination of theories and an experimental appraisal. In: Gramlich, B. (ed.) FroCos 2005. LNCS, vol. 3717, pp. 65–80. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Information and Computation 183(2), 140–164 (2003)MATHCrossRefMathSciNetGoogle 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.
    Downey, P.J., Sethi, R.: Assignment commands with array references. Journal of the ACM 25(4), 652–666 (1978)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Enderton, H.B.: A Mathematical Introduction to Logic. Academic Press, New York (1972)MATHGoogle Scholar
  6. 6.
    Gallier, J.H.: Logic for Computer Science: Foundations of Automatic Theorem Proving. Harper & Row, New York (1986)MATHGoogle Scholar
  7. 7.
    Ganzinger, H., Korovin, K.: Integrating equational reasoning into instantiation-based theorem proving. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 71–84. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Ghilardi, S.: Model-theoretic methods in combined constraint satisfiability. Journal of Automated Reasoning 33(3-4), 221–249 (2004)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D.: Deciding extension of the theory of arrays by integrating decision procedures and instantiation strategies. Rapporto Interno DSI 309-06, Università degli Studi di Milano, Milano, Italy (2006), Available at:
  10. 10.
    Jaffar, J.: Presburger arithmetic with array segments. Information Processing Letters 12(2), 79–82 (1981)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Kirchner, H., Ranise, S., Ringeissen, C., Tran, D.-K.: On superposition-based satisfiability procedures and their combination. In: Van Hung, D., Wirsing, M. (eds.) ICTAC 2005. LNCS, vol. 3722, pp. 594–608. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Mateti, P.: A decision procedure for the correctness of a class of programs. Journal of the ACM 28(2), 215–232 (1981)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    McCarthy, J.: Towards a mathematical theory of computation. In: Proceedings of IFIP Congress (1962)Google Scholar
  14. 14.
    McPeak, S., Necula, G.C.: Data structure specifications via local equality axioms. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 476–490. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Transaction on Programming Languages and Systems 1(2), 245–257 (1979)MATHCrossRefGoogle Scholar
  16. 16.
    Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning (2001)Google Scholar
  17. 17.
    Reynolds, J.C.: Reasoning about arrays. Communications of the ACM 22(5), 290–299 (1979)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Reynolds, J.C.: Separation logic: a logic for shared mutable data structures (2002)Google Scholar
  19. 19.
    Stump, A., Barrett, C.W., Dill, D.L., Levitt, J.: A decision procedure for an extensional theory of arrays. In: Proc. of the 16th IEEE Symposium on Logic in Computer Science (LICS 2001). IEEE Computer Society, Los Alamitos (2001)Google Scholar
  20. 20.
    Suzuki, N., Jefferson, D.R.: Verification decidability of presburger array programs. Journal of the ACM 27(1), 191–205 (1980)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Silvio Ghilardi
    • 1
  • Enrica Nicolini
    • 2
  • Silvio Ranise
    • 1
    • 3
  • Daniele Zucchelli
    • 1
    • 3
  1. 1.Dipartimento di InformaticaUniversità degli Studi di MilanoItalia
  2. 2.Dipartimento di MatematicaUniversità degli Studi di MilanoItalia
  3. 3.LORIA & INRIA-LorraineNancyFrance

Personalised recommendations