A generic complete dynamic logic for reasoning about purity and effects

5Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.

Abstract

For a number of programming languages, among them Eiffel, C, Java, and Ruby, Hoare-style logics and dynamic logics have been developed. In these logics, pre- and postconditions are typically formulated using potentially effectful programs. In order to ensure that these pre- and postconditions behave like logical formulae (that is, enjoy some kind of referential transparency), a notion of purity is needed. Here, we introduce a generic framework for reasoning about purity and effects. Effects are modelled abstractly and axiomatically, using Moggi's idea of encapsulation of effects as monads.We introduce a dynamic logic (from which, as usual, a Hoare logic can be derived) whose logical formulae are pure programs in a strong sense. We formulate a set of proof rules for this logic, and prove it to be complete with respect to a categorical semantics. Using dynamic logic, we then develop a relaxed notion of purity which allows for observationally neutral effects such writing on newly allocated memory. BCS © 2010.

Cite

CITATION STYLE

APA

Mossakowski, T., Schröder, L., & Goncharov, S. (2010). A generic complete dynamic logic for reasoning about purity and effects. In Formal Aspects of Computing (Vol. 22, pp. 363–384). https://doi.org/10.1007/s00165-010-0153-4

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free