On Locality and the Exchange Law for Concurrent Processes

  title={On Locality and the Exchange Law for Concurrent Processes},
  author={Charles Antony Richard Hoare and Akbar Hussain and Bernhard M{\"o}ller and Peter W. O'Hearn and Rasmus Lerchedahl Petersen and Georg Struth},
This paper studies algebraic models for concurrency, in light of recent work on Concurrent Kleene Algebra and Separation Logic. It establishes a strong connection between the Concurrency and Frame Rules of Separation Logic and a variant of the exchange law of Category Theory. We investigate two standard models: one uses sets of traces, and the other is state-based, using assertions and weakest preconditions. We relate the latter to standard models of the heap as a partial function. We exploit… 
In praise of algebra
The provable concurrency laws for Milner transitions, for the Back/Morgan refinement calculus, and for Dijkstra’s weakest preconditions are given.
Algebra, Logic, Locality, Concurrency
This talk reports on ongoing work on models and logics for concurrent processes on approaches to message passing and shared memory process interaction, and strong and weak approaches to sequencing, are accomodated as different models of the same core axioms.
Concurrency and local reasoning under reverse exchange
Reverse Exchange for Concurrency and Local Reasoning
From the reverse exchange law the reverse inequation of the inequational exchange law is derived, which can be applied for modular and concurrency reasoning and yields slightly restricted but still reasonably useful variants of the concurrency rule.
Unifying Semantics for Concurrent Programming
  • C. Hoare
  • Computer Science
    Computation, Logic, Games, and Quantum Foundations
  • 2013
This essay presents algebraic laws for the structural features of a class of imperative programming languages which provide both sequential and concurrent composition; and it illustrates the way in which the laws are consistent with the other three semantic presentations of the same language.
Algebraic Principles for Rely-Guarantee Style Concurrency Verification Tools
We provide simple equational principles for deriving rely-guarantee-style inference rules and refinement laws based on idempotent semirings. We link the algebraic layer with concrete models of
A Framework for Concurrent Imperative Programming
The proposed framework provides a general model of concurrent imperative programming that supports the views program logic by Dinsdale-Young and others, which generalizes various type systems and separation logic approaches to program correctness.
Transitive Separation Logic
An algebraic extension of SL at the data structure level is given that defines operations that additionally to heap separation make assumptions about the linking structure.
Monads with merging
It is shown how monads with merging generalise and relate to models for well-known algebraic theories for concurrency such as classic process algebras and the more recent concurrent monoids.


Concurrent Kleene Algebra and its Foundations
A Semantics for Concurrent Separation Logic
A resource-sensitive logic for partial correctness, based on a recent proposal of O'Hearn, adapting separation logic to the concurrent setting is introduced, using a novel ''local'' interpretation of traces which allows accurate reasoning about ownership.
Local Action and Abstract Separation Logic
Local actions provide a semantics for a generalized form of (sequential) separation logic, and it is shown that the conditions on local actions allow a general soundness proof for a separation logic for concurrency, interpreted over arbitrary separation algebras.
A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events
A finitary axiomatization of the algebra of regular events involving only equations and equational implications that is sound for all interpretations over Kleene algebras is given. Axioms for Kleene
Resources, Concurrency and Local Reasoning
In this paper we show how a resource-oriented logic, separation logic, can be used to reason about the usage of resources in concurrent programs.
The Equational Theory of Pomsets
Free Shuffle Algebras in Language Varieties
Theories for the Global Ubiquitous Computer
This paper describes an initiative to provide theories that can underlie the development of the Global Ubiquitous Computer, the network of ubiquitous computing devices that will pervade the civilised
A Discipline of Programming
A semantics for concurrent separation logic
  • 2007