Skip to main content

Hoare Logic in the Abstract

  • Conference paper
Computer Science Logic (CSL 2006)

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

Included in the following conference series:

Abstract

We present an abstraction of Hoare logic to traced symmetric monoidal categories, a very general framework for the theory of systems. We first identify a particular class of functors – which we call ‘verification functors’ – between traced symmetric monoidal categories and subcategories of Preord (the category of preordered sets and monotone mappings). We then give an abstract definition of Hoare triples, parametrised by a verification functor, and prove a single soundness and completeness theorem for such triples. In the particular case of the traced symmetric monoidal category of while programs we get back Hoare’s original rules. We discuss how our framework handles extensions of the Hoare logic for while programs, e.g. the extension with pointer manipulations via separation logic. Finally, we give an example of how our theory can be used in the development of new Hoare logics: we present a new sound and complete set of Hoare-logic-like rules for the verification of linear dynamical systems, modelled via stream circuits.

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abramsky, S., Gay, S., Nagarajan, R.: Specification structures and propositions-as-types for concurrency. In: Birtwistle, G., Moller, F. (eds.) Logics for Concurrency: Structure vs. Automata, pp. 5–40. Springer, Heidelberg (1996)

    Google Scholar 

  2. Apt, K.R.: Ten years of Hoare’s logic: A survey – Part 1. ACM Transactions on Programming Languages and Systems 3(4), 431–483 (1981)

    Article  MATH  Google Scholar 

  3. Bainbridge, E.S.: Feedback and generized logic. Information and Control 31, 75–96 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  4. Berger, M., Honda, K., Yoshida, N.: A logical analysis of aliasing in imperative higher-order functions. In: ICFP 2005, pp. 280–293 (2005)

    Google Scholar 

  5. Blass, A., Gurevich, Y.: The underlying logic of Hoare logic. Bull. of the Euro. Assoc. for Theoretical Computer Science 70, 82–110 (2000)

    MATH  MathSciNet  Google Scholar 

  6. Bloom, S.L., Ésik, Z.: Floyd-Hoare logic in iteration theories. J. ACM 38(4), 887–934 (1991)

    Article  MATH  Google Scholar 

  7. Boulton, R.J., Hardy, R., Martin, U.: A Hoare logic for single-input single-output continuous time control systems. In: Maler, O., Pnueli, A. (eds.) HSCC 2003. LNCS, vol. 2623, pp. 113–125. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  8. Cook, S.A.: Soundness and completeness of an axiom system for program verification. SIAM J. Comput. 7(1), 70–90 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  9. Escardó, M.H., Pavlovic, D.: Calculus in coinductive form. In: LICS 1998, Indiana, USA (June 1998)

    Google Scholar 

  10. Floyd, R.W.: Assigning meanings to programs. Proc. Amer. Math. Soc. Symposia in Applied Mathematics 19, 19–31 (1967)

    MathSciNet  Google Scholar 

  11. Haghverdi, E., Scott, P.: Towards a typed geometry of interaction. In: Ong, L. (ed.) CSL 2005. LNCS, vol. 3634, pp. 216–231. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  12. Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–585 (1969)

    Article  MATH  Google Scholar 

  13. Joyal, A., Street, R., Verity, D.: Traced monoidal categories. Mathematical Proceedings of the Cambridge Philosophical Society 119, 447–468 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  14. Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Transactions on Computational Logic (TOCL) 1(1), 60–76 (2000)

    Article  MathSciNet  Google Scholar 

  15. Mac Lane, S.: Categories for the Working Mathematician. Graduate texts in mathematics, 2nd edn., vol. 5. Springer, Heidelberg (1998)

    MATH  Google Scholar 

  16. Manes, E.G., Arbib, M.A.: Algebraic Approaches to Program Semantics. AKM series in theoretical computer science. Springer, New York (1986)

    MATH  Google Scholar 

  17. O’Hearn, P., Reynolds, J., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  18. Pratt, V.R.: Semantical considerations on Floyd-Hoare logic. In: FoCS 1976, pp. 109–121 (1976)

    Google Scholar 

  19. Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: LICS 2002, pp. 55–74 (2002)

    Google Scholar 

  20. Rutten, J.J.M.M.: An application of stream calculus to signal flow graphs. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2003. LNCS, vol. 3188, pp. 276–291. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  21. Simpson, A.K., Plotkin, G.D.: Complete axioms for categorical fixed-point operators. In: LICS 2000, pp. 30–41 (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Martin, U., Mathiesen, E.A., Oliva, P. (2006). Hoare Logic in the Abstract. In: Ésik, Z. (eds) Computer Science Logic. CSL 2006. Lecture Notes in Computer Science, vol 4207. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11874683_33

Download citation

  • DOI: https://doi.org/10.1007/11874683_33

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-45458-8

  • Online ISBN: 978-3-540-45459-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics