Hostname: page-component-cd9895bd7-jn8rn Total loading time: 0 Render date: 2024-12-26T08:49:10.654Z Has data issue: false hasContentIssue false

Hoare Semigroups

Published online by Cambridge University Press:  04 April 2017

GEORG STRUTH*
Affiliation:
Department of Computer Science, University of Sheffield, Sheffield S1 4DP, U.K. Email: g.struth@sheffield.ac.uk

Abstract

A semigroup-based setting for developing Hoare logics and refinement calculi is introduced together with procedures for translating between verification and refinement proofs. A new Hoare logic for multirelations and two minimalist generic verification and refinement components, implemented in an interactive theorem prover, are presented as applications that benefit from this generalisation.

Type
Paper
Copyright
Copyright © Cambridge University Press 2017 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Armstrong, A., Gomes, V.B.F. and Struth, G. (2014). Kleene algebra with tests and demonic refinement algebras. Archive of Formal Proofs. https://www.isa-afp.org/entries/KAT_and_DRA.shtml.Google Scholar
Armstrong, A., Gomes, V.B.F. and Struth, G. (2016). Building program construction and verification tools from algebraic principles. Formal Aspects of Computing 28 (2) 265293.CrossRefGoogle Scholar
Armstrong, A., Struth, G. and Weber, T. (2013a). Program analysis and verification based on Kleene algebra in Isabelle/HOL. In: Blazy, S., Paulin-Mohring, C. and Pichardie, D. (eds.) ITP 2013, Lecture Notes in Computer Science, vol. 7998, Springer, 197212.Google Scholar
Armstrong, A., Struth, G. and Weber, T. (2013b). Kleene algebra. Archive of Formal Proofs. https://www.isa-afp.org/entries/Kleene_Algebra.shtml.Google Scholar
Chadha, R., Mateus, P., and Sernadas, A. (2006). Reasoning about imperative quantum programs. ENTCS 158 1939.Google Scholar
den Hartog, J. and de Vink, E.P. (2002). Verifying probabilistic programs using a Hoare like logic. International Journal of Foundations of Computer Science 13 (3) 315340.CrossRefGoogle Scholar
Desharnais, J. and Struth, G. (2011). Internal axioms for domain semirings. Science of Computer Programming 76 (3) 181203.CrossRefGoogle Scholar
Furusawa, H. and Struth, G. (2015). Concurrent dynamic algebra. ACM TOCL 16 (4) 30:130:38.CrossRefGoogle Scholar
Kozen, D. (1997). Kleene algebra with tests. ACM TOPLAS 19 (3) 427443.CrossRefGoogle Scholar
Kozen, D. (2000). On Hoare logic and Kleene algebra with tests. ACM TOCL 1 (1) 6076.CrossRefGoogle Scholar
Meijer, E., Fokkinga, M. and Paterson, R. (1991). Functional programming with bananas, lenses, envelopes and barbed wire. In: Hughes, J. (ed.) Functional Programming Languages and Computer Architecture, Lecture Notes in Computer Science, vol. 523, Springer, 124144.CrossRefGoogle Scholar
Morgan, C. (1994). Programming from Specifications, 2nd edition, Prentice Hall.Google Scholar
Nipkow, T., Paulson, L.C. and Wenzel, M. (2002). Isabelle/HOL - A Proof Assistant for Higher-Order Logic, Lecture Notes in Computer Science, vol. 2283, Springer.Google Scholar
Peleg, D. (1987). Concurrent dynamic logic. Journal of the ACM 34 (2) 450479.CrossRefGoogle Scholar
Pous, D. (2013). Kleene algebra with tests and Coq tools for while programs. In: Blazy, S., Paulin-Mohring, C. and Pichardie, D. (eds.) ITP 2013, Lecture Notes in Computer Science, vol. 7998, Springer, 180196.Google Scholar
von Wright, J. (2004). Towards a refinement algebra. Science of Computer Programming 51 (1–2) 2345.CrossRefGoogle Scholar