Deciding Extensions of the Theory of Arrays by Integrating Decision Procedures and Instantiation Strategies
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.
KeywordsDecision Procedure Theorem Prove Function Symbol Predicate Symbol Separation Logic
Unable to display preview. Download preview PDF.
- 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: http://homes.dsi.unimi.it/~zucchell/publications/techreport/GhiNiRaZu-RI309-06.pdf.
- 13.McCarthy, J.: Towards a mathematical theory of computation. In: Proceedings of IFIP Congress (1962)Google Scholar
- 16.Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning (2001)Google Scholar
- 18.Reynolds, J.C.: Separation logic: a logic for shared mutable data structures (2002)Google Scholar
- 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