Skip to main content

Being and Change: Reasoning About Invariance

  • Chapter
  • First Online:
Correct System Design

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9360))

Abstract

We introduce a new way of reasoning about invariance in terms of foot-prints in a Hoare logic for recursive programs with (unbounded) arrays. A foot-print of a statement is a predicate that describes that part of the state that can be changed by the statement. We define invariance of an assertion with respect to a foot-print by means of a logical operation. This new Hoare logic is applied in a new simpler and modular proof of correctness of the well-known Quicksort sorting algorithm.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ahrendt, W., de Boer, F.S., Grabe, I.: Abstract Object Creation in Dynamic Logic. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 612–627. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  2. Apt, K.R., de Boer, F.S., Olderog, E.-R.: Verification of Sequential and Concurrent Programs, Texts in Computer Science. Springer (2009)

    Google Scholar 

  3. Apt, K.R.: Ten years of hoare’s logic: A survey part II: nondeterminism. Theor. Comput. Sci. 28, 83–109 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  4. Beckert, B., Hähnle, R., Schmitt, P.H.: Verification of object-oriented software: The KeY approach. Springer (2007)

    Google Scholar 

  5. Brotherston, J., Kanovich, M.I.: Undecidability of propositional separation logic and its neighbours. J. ACM 61(2), 14 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  6. Calcagno, C., Yang, H., O’Hearn, P.W.: Computability and Complexity Results for a Spatial Assertion Language for Data Structures. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, pp. 108–119. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  7. Foley, M., Hoare, C.A.R.: Proof of a recursive program: Quicksort. Comput. J. 14(4), 391–395 (1971)

    Article  MathSciNet  MATH  Google Scholar 

  8. Hoare, C.A.R.: Quicksort. Comput. J. 5(1), 10–15 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  9. Hoare, C.A.R.: Procedures and parameters: An axiomatic approach. In: Symposium on Semantics of Algorithmic Languages, pp. 102–116 (1971)

    Google Scholar 

  10. Olderog, E.-R.: On the notion of expressiveness and the rule of adaption. Theor. Comput. Sci. 24, 337–347 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  11. Reynolds, J.C.: An Overview of Separation Logic. In: Meyer, B., Woodcock, J. (eds.) VSTTE 2005. LNCS, vol. 4171, pp. 460–469. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  12. Weiß, B.: Deductive Verification of Object-Oriented Software: Dynamic Frames, Dynamic Logic and Predicate Abstraction. PhD thesis, Karlsruhe Institute of Technology (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Frank S. de Boer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

de Boer, F.S., de Gouw, S. (2015). Being and Change: Reasoning About Invariance. In: Meyer, R., Platzer, A., Wehrheim, H. (eds) Correct System Design. Lecture Notes in Computer Science(), vol 9360. Springer, Cham. https://doi.org/10.1007/978-3-319-23506-6_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-23506-6_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-23505-9

  • Online ISBN: 978-3-319-23506-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics