Abstract
In program verification one has often to reason about lists over elements of a given nature. Thus, it becomes important to be able to combine the theory of lists with a generic theory T modeling the elements. This combination can be achieved using the Nelson-Oppen method only ifT is stably infinite.
The goal of this paper is to relax the stable-infiniteness requirement. More specifically, we provide a new method that is able to combine the theory of lists with any theory T of the elements, regardless of whether T is stably infinite or not. The crux of our combination method is to guess an arrangement over a set of variables that is larger than the one considered by Nelson and Oppen.
Furthermore, our results entail that it is also possible to combine T with the more general theory of lists with a length function.
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., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Information and Computation 183(2), 140–164 (2003)
Berezin, S., Ganesh, V., Dill, D.L.: An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 521–536. Springer, Heidelberg (2003)
Bjørner, N.S.: Integrating Decision Procedures for Temporal Verification. PhD thesis, Stanford University (1998)
Boyer, R.S., Moore, J.S.: A Computational Logic. ACM Monograph SERIES (1979)
de Moura, L., Rueß, H., Shankar, N.: Justifying equality. In: PDPAR (2004)
Déharbe, D., Ranise, S.: Light-Weight Theorem Proving for Debugging and Verifying Units of Code. In: Proc. of the International Conference on Software Engineering and Formal Methods (SEFM 2003), IEEE Computer Society Press, Los Alamitos (2003)
Filliâtre, J.-C., Owre, S., Rueß, H., Shankar, N.: ICS: integrated canonizer and solver. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 246–249. Springer, Heidelberg (2001)
Fontaine, P., Gribomont, P.: Combining non-stably infinite, non-first order theories. In: Ranise, S., Tinelli, C. (eds.) Pragmatics of Decision Procedures in Automated Reasoning (2004)
Ganzinger, H.: Shostak light. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 332–346. Springer, Heidelberg (2002)
Kapur, D., Nie, X.: Reasoning about Numbers in Tecton. In: Proc. 8th Inl. Symp. Methodologies for Intelligent Systems, pp. 57–70 (1994)
Melham, T.F.: Automating Recursive Type Definitions in Higher Order Logic. In: Current Trends in Hardware Verification and Theorem Proving. LNCS, pp. 341–386. Springer, Heidelberg (1989)
Nelson, G., Oppen, D.C.: Simplifications by cooperating decision procedures. ACM Trans. on Programming Languages and Systems 1(2), 245–257 (1979)
Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. Journal of the Association for Computing Machinery 27(2), 356–364 (1980)
Oppen, D.C.: Reasoning about recursively defined data structures. Journal of the ACM 27(3), 403–411 (1980)
Owre, S., Shankar, N.: Abstract Datatypes in PVS. Technical Report CSL-93- 9R, SRI International (1997)
Paulson, L.C.: A fixedpoint approach to implementing (co)inductive definitions. In: Bundy, A. (ed.) CADE 1994. LNCS, vol. 814, pp. 148–161. Springer, Heidelberg (1994)
Pugh, W.: The omega test: a fast integer programming algorithm for dependence analysis. Supercomputing, 4–13 (1991)
Shostak, R.E.: Deciding combination of theories. Journal of the Association for Computing Machinery 31(1), 1–12 (1984)
Stump, A., Barrett, C.W., Dill, D.L.: CVC: a cooperating validity checker. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 500–504. Springer, Heidelberg (2002)
Tinelli, C., Zarba, C.G.: Combining non-stably infinite theories. Journal of Automated Reasoning (2004) (to appear)
Wolper, P., Boigelot, B.: On the construction of automata from linear arithmetic constraints. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, pp. 1–19. Springer, Heidelberg (2000)
Zarba, C.G.: Combining multisets with integers. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 363–376. Springer, Heidelberg (2002)
Zarba, C.G.: Combining sets with integers. In: Armando, A. (ed.) FroCos 2002. LNCS (LNAI), vol. 2309, pp. 103–116. Springer, Heidelberg (2002)
Zarba, C.G.: Combining sets with elements. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 762–782. Springer, Heidelberg (2004)
Zhang, T., Sipma, H.B., Manna, Z.: Decision procedures for recursive data structures with integer constraints. In: Basin, D., Rusinowitch, M. (eds.) IJCAR 2004. LNCS (LNAI), vol. 3097, pp. 152–167. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fontaine, P., Ranise, S., Zarba, C.G. (2005). Combining Lists with Non-stably Infinite Theories. In: Baader, F., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2005. Lecture Notes in Computer Science(), vol 3452. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-32275-7_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-32275-7_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25236-8
Online ISBN: 978-3-540-32275-7
eBook Packages: Computer ScienceComputer Science (R0)