Skip to main content

Combining Lists with Non-stably Infinite Theories

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 3452))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Information and Computation 183(2), 140–164 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  2. 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)

    Chapter  Google Scholar 

  3. Bjørner, N.S.: Integrating Decision Procedures for Temporal Verification. PhD thesis, Stanford University (1998)

    Google Scholar 

  4. Boyer, R.S., Moore, J.S.: A Computational Logic. ACM Monograph SERIES (1979)

    Google Scholar 

  5. de Moura, L., Rueß, H., Shankar, N.: Justifying equality. In: PDPAR (2004)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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)

    Google Scholar 

  9. Ganzinger, H.: Shostak light. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 332–346. Springer, Heidelberg (2002)

    Google Scholar 

  10. Kapur, D., Nie, X.: Reasoning about Numbers in Tecton. In: Proc. 8th Inl. Symp. Methodologies for Intelligent Systems, pp. 57–70 (1994)

    Google Scholar 

  11. 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)

    Chapter  Google Scholar 

  12. Nelson, G., Oppen, D.C.: Simplifications by cooperating decision procedures. ACM Trans. on Programming Languages and Systems 1(2), 245–257 (1979)

    Article  MATH  Google Scholar 

  13. Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. Journal of the Association for Computing Machinery 27(2), 356–364 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  14. Oppen, D.C.: Reasoning about recursively defined data structures. Journal of the ACM 27(3), 403–411 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  15. Owre, S., Shankar, N.: Abstract Datatypes in PVS. Technical Report CSL-93- 9R, SRI International (1997)

    Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. Pugh, W.: The omega test: a fast integer programming algorithm for dependence analysis. Supercomputing, 4–13 (1991)

    Google Scholar 

  18. Shostak, R.E.: Deciding combination of theories. Journal of the Association for Computing Machinery 31(1), 1–12 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  19. 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)

    Chapter  Google Scholar 

  20. Tinelli, C., Zarba, C.G.: Combining non-stably infinite theories. Journal of Automated Reasoning (2004) (to appear)

    Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. Zarba, C.G.: Combining multisets with integers. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 363–376. Springer, Heidelberg (2002)

    Google Scholar 

  23. Zarba, C.G.: Combining sets with integers. In: Armando, A. (ed.) FroCos 2002. LNCS (LNAI), vol. 2309, pp. 103–116. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  24. Zarba, C.G.: Combining sets with elements. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 762–782. Springer, Heidelberg (2004)

    Google Scholar 

  25. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics