Publication type: |
Article in Proceedings |
Author: |
Till Mossakowski, Lutz Schröder, Sergey Goncharov |
Editor: |
J. Fiadeiro, P. Inverardi |
Title: |
A generic complete dynamic logic for reasoning about purity and effects |
Book / Collection title: |
Fundamental Approaches to Software Engineering (FASE 2008) |
Volume: |
4961 |
Page(s): |
199 – 214 |
Series: |
Lecture Notes in Computer Science |
Year published: |
2008 |
Publisher: |
Springer |
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 modeled 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. |
Internet: |
http://dx.doi.org/10.1007/978-3-540-78743-3_15 |
PDF Version: |
http://www.informatik.uni-bremen.de/~till/papers/purity-effects.pdf |
Keywords: |
dynamic logic pure function monad observational purity completeness |
Status: |
Reviewed |
Last updated: |
18. 06. 2008 |
|
|