# Algebraic laws for nondeterminism and concurrency

@article{Hennessy1985AlgebraicLF, title={Algebraic laws for nondeterminism and concurrency}, author={Matthew C. B. Hennessy and Robin Milner}, journal={J. ACM}, year={1985}, volume={32}, pages={137-161} }

Since a nondeterministic and concurrent program may, in general, communicate repeatedly with its environment, its meaning cannot be presented naturally as an input/output function (as is often done in the denotational approach to semantics). In this paper, an alternative is put forth. First, a definition is given of what it is for two programs or program parts to be equivalent for all observers; then two program parts are said to be observation congruent if they are, in all program contexts…

## Tables from this paper

## 1,454 Citations

Categorical Models for Concurrency: Independence, Fairness and Dataflow

- Computer Science
- 2000

The work presented in this thesis contributes to a categorical approach to semantics for concurrency which have been developed through the last 15 years, aiming at a more coherent theory.

Models of Nondeterministic Regular Expressions

- Computer ScienceJ. Comput. Syst. Sci.
- 1999

It is shown that the free model of the new set of axioms is a class of trees labelled over A, and the three proposed interpretations of regular expressions (algebraic, denotational, and behavioural) are proven to coincide.

Program Equivalence for Algebraic Effects via Modalities

- Computer ScienceArXiv
- 2019

The main novel contribution of the dissertation is defining the first logic for algebraic effects whose induced program equivalence coincides with contextual equivalence, a logic whose formulas express properties of higher-order programs with algebraiceffects.

Safe Implementation Equivalence for Asynchronous Nondeterministic Processes

- Computer ScienceMFCS
- 1986

This paper introduces an equivalence relation for processes based exclusively on communication relations and on the notion of process interface, called safe implementation equivalence, which is generated by various preorders relying on relations which allow to evaluate formally the nondeterminism of processes.

A logic for the specification and proof of regular controllable processes of CCS

- MathematicsActa Informatica
- 2004

The problem of program verification is reduced to the proof of the validity of a formula of an adequate logic whose language of formulas is obtained from constants true, false and ¦Nil¦ by using operators ∨, ∧, fixpoint operators, + and a for a∈A; the latter can be considered as extensions of the operators + andA of CCS.

Fully Abstract Models for Nondeterministic Regular Expressions

- Computer ScienceCONCUR
- 1995

The effect of removing the idempotence law X+X=X and distribution law X·(Y+Z)=X·Y +X·Z from Kleene Algebras is studied and it is shown that resource bisimulation equivalence can be obtained as the kernel of resource simulation.

Finite Conjunctive Nondeterminism (Extended Abstract)

- Computer Science
- 1987

An approach to the semantics of processes is developed which reconciles the more usual denotational and operational semantics with logic and in such a framework the authors would expect the logic to determine theDenotational semantics.

Axioms for concurrency

- Mathematics
- 1989

It is shown that strong observational congruence over a subset of the usual CCS algebra with the full merge operator cannot be completely characterised by any finite set of equational axioms, thus requiring the power of the Expansion Theorem to present an infinite set of axiom within a single axiom schema.

On bisimulation and model-checking for concurrent systems with partial order semantics

- Computer Science
- 2011

This thesis provides some of the groundwork for the design of a logic-based, game-theoretic framework for studying, in a uniform manner, several concurrent systems regardless of whether they have an interleaving or a partial order semantics.

A Specification Formalism for Interacting Objects

- Computer Science
- 1998

The overall goal is to develop a practically useful formalism for specifying and reasoning about systems of concurrent objects, and it is essential that the proof system be simple, and that the specification language be based on concepts that are intuitively clear and mathematically simple.

## References

SHOWING 1-10 OF 19 REFERENCES

Full Abstraction for a Simple Parallel Programming Language

- Computer ScienceMFCS
- 1979

A denotational semantics for a simple language with parallelism was given, treating parallelism in terms of non-deterministic mergeing of uninterruptible actions, and expected identities such as the associativity and commutativity of the parallel combinator were true in this semantics.

SEMANTICAL CONSIDERATIONS ON FLOYD-HOARE LOGIC

- Computer Science, PhilosophyFOCS 1976
- 1976

An appropriate axiom system is given which is complete for loop-free programs and also puts conventional predicate calculus in a different light by lumping quantifiers with non-logical assignments rather than treating them as logical concepts.

Concurrent Processes and Their Syntax

- MathematicsJACM
- 1979

It is shown that processes are a flow algebra, and therefore constitute a suitable semantics for flowgraphs, and it is emphasized that the nouon of flowgraph evolved from the notion of process and not the reverse.

A Powerdomain Construction

- Computer Science, MathematicsSIAM J. Comput.
- 1976

A powerdomain construction is developed, which is analogous to the powerset construction and also fits in with the usual sum, product and exponentiation constructions on domains, and a restricted class of algebraic inductive partial orders is found which is closed under this construction.

Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory

- Computer Science
- 1981

The temporal logic of programs

- Computer Science18th Annual Symposium on Foundations of Computer Science (sfcs 1977)
- 1977

A unified approach to program verification is suggested, which applies to both sequential and parallel programs. The main proof method suggested is that of temporal reasoning in which the time…

A Calculus of Communicating Systems

- Computer ScienceLecture Notes in Computer Science
- 1980

A case study in synchronization and proof techniques, and some proofs about data structures in value-communication as a model of CCS 2.0.

The denotational description of programming languages - an introduction

- Computer Science
- 1979

The aim of this book is to provide a rigorous theory to support reliable reasoning in formal semantics of TINY, and to clarify the role of Dana Scott's theory in this book.