Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Information and Computation 183(2), 140–164 (2003)
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)
Downey, P.J., Sethi, R.: Assignment commands with array references. Journal of the ACM 25(4), 652–666 (1978)
Enderton, H.B.: A Mathematical Introduction to Logic. Academic Press, New York (1972)
Gallier, J.H.: Logic for Computer Science: Foundations of Automatic Theorem Proving. Harper & Row, New York (1986)
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)
Ghilardi, S.: Model-theoretic methods in combined constraint satisfiability. Journal of Automated Reasoning 33(3-4), 221–249 (2004)
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 .
Jaffar, J.: Presburger arithmetic with array segments. Information Processing Letters 12(2), 79–82 (1981)
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)
Mateti, P.: A decision procedure for the correctness of a class of programs. Journal of the ACM 28(2), 215–232 (1981)
McCarthy, J.: Towards a mathematical theory of computation. In: Proceedings of IFIP Congress (1962)
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)
Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Transaction on Programming Languages and Systems 1(2), 245–257 (1979)
Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning (2001)
Reynolds, J.C.: Reasoning about arrays. Communications of the ACM 22(5), 290–299 (1979)
Reynolds, J.C.: Separation logic: a logic for shared mutable data structures (2002)
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)
Suzuki, N., Jefferson, D.R.: Verification decidability of presburger array programs. Journal of the ACM 27(1), 191–205 (1980)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D. (2006). Deciding Extensions of the Theory of Arrays by Integrating Decision Procedures and Instantiation Strategies. In: Fisher, M., van der Hoek, W., Konev, B., Lisitsa, A. (eds) Logics in Artificial Intelligence. JELIA 2006. Lecture Notes in Computer Science(), vol 4160. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11853886_16
Download citation
DOI: https://doi.org/10.1007/11853886_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-39625-3
Online ISBN: 978-3-540-39627-7
eBook Packages: Computer ScienceComputer Science (R0)