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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
Bainbridge, E.S.: Feedback and generized logic. Information and Control 31, 75–96 (1976)
Berger, M., Honda, K., Yoshida, N.: A logical analysis of aliasing in imperative higher-order functions. In: ICFP 2005, pp. 280–293 (2005)
Blass, A., Gurevich, Y.: The underlying logic of Hoare logic. Bull. of the Euro. Assoc. for Theoretical Computer Science 70, 82–110 (2000)
Bloom, S.L., Ésik, Z.: Floyd-Hoare logic in iteration theories. J. ACM 38(4), 887–934 (1991)
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)
Cook, S.A.: Soundness and completeness of an axiom system for program verification. SIAM J. Comput. 7(1), 70–90 (1978)
Escardó, M.H., Pavlovic, D.: Calculus in coinductive form. In: LICS 1998, Indiana, USA (June 1998)
Floyd, R.W.: Assigning meanings to programs. Proc. Amer. Math. Soc. Symposia in Applied Mathematics 19, 19–31 (1967)
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)
Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–585 (1969)
Joyal, A., Street, R., Verity, D.: Traced monoidal categories. Mathematical Proceedings of the Cambridge Philosophical Society 119, 447–468 (1996)
Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Transactions on Computational Logic (TOCL) 1(1), 60–76 (2000)
Mac Lane, S.: Categories for the Working Mathematician. Graduate texts in mathematics, 2nd edn., vol. 5. Springer, Heidelberg (1998)
Manes, E.G., Arbib, M.A.: Algebraic Approaches to Program Semantics. AKM series in theoretical computer science. Springer, New York (1986)
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)
Pratt, V.R.: Semantical considerations on Floyd-Hoare logic. In: FoCS 1976, pp. 109–121 (1976)
Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: LICS 2002, pp. 55–74 (2002)
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)
Simpson, A.K., Plotkin, G.D.: Complete axioms for categorical fixed-point operators. In: LICS 2000, pp. 30–41 (2000)
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
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)