Semantics of Nondeterminism: Functions, Strategies and Bisimulation

Lead Research Organisation: University of Birmingham
Department Name: School of Computer Science

Abstract

A key question in the theory of programming is: when are two programs equivalent? The answer will depend on what we think a program means. For example, we can think of a program as a function: the user gives all the required input, and then the computer behaves accordingly. Or we can think of it as a strategy for a game between the computer and the user: the computer gives some information, the user responds, the computer gives some more information, the user responds, and so on. These viewpoints have been extremely fruitful in recent years.To reason about a computer system, it is often necessary to idealize it as nondeterministic, i.e.\ possessing a range of possible behaviours. The factors that determine its actual behaviour are too low-level and complex to consider explicitly. But this apparently simple idea has ramifications for the theory of programming language semantics that are not well understood. They centre on the same questions: when are two programs equivalent, and what do programs mean? Previous research has used mathematical structures known from the theory of deterministic programs. But these have limited applicability to nondeterministic programs, and lead to somewhat awkward notions of equivalence. This research will proceed in the opposite direction: begin with certain computationally natural notions of equivalence, and investigate what structures they lead to. In some cases (thinking of programs as strategies), these are likely to be structures that we already know, but, by proceeding in this way, we aim to relate them more closely to the way programs actually behave.In other cases (thinking of programs as functions), completely new structures will be required. Some mysterious theorems have been proved that show that, in a sense, all programs (of a certain kind) share some behaviour---yet they do not tell us what this behaviour is. We will therefore undertake a careful examination of programs' behaviour to solve this mystery, and thereby obtain the required structures.

Publications

10 25 50

publication icon
Bowler N (2013) Exploring the Boundaries of Monad Tensorability on Set in Logical Methods in Computer Science

publication icon
Koutavas V (2011) From Applicative to Environmental Bisimulation in Electronic Notes in Theoretical Computer Science

publication icon
Levy P (2009) Exploratory Functions on Nondeterministic Strategies, up to Lower Bisimilarity in Electronic Notes in Theoretical Computer Science

publication icon
Levy P (2008) Global State Considered Helpful in Electronic Notes in Theoretical Computer Science

 
Description I brought together two powerful ways of reasoning about programs: game semantics, where a piece of program code is understood as if it were playing a game with the user, and a less abstract style of reasoning where program code is not understood as having any intrinsic meaning.

We obtained several precise descriptions of universes of computational processes that make arbitrary choices at different points in time. Our results included determination of how many steps are required to construct such universes, analysis of the way that different sets of behaviours may be combined, characterization of universes that indicate when one program simulates another, and showing that some plausible reasoning principles are in fact legitimate.

By contrast (and showing the importance of such arguments), we gave numerous examples of plausible but fallacious reasoning about the behaviour of pieces of code involving a variety of programming language features.

There were several other accomplishments but these are the main ones.
Exploitation Route The work on game semantics raises numerous questions about different language features and how one shows algebraically that different constructions on codes are in fact equal.

The characterizations of universes could lead to denotational semantics but more analysis is needed especially of the connection to modal logic formulas.
Sectors Digital/Communication/Information Technologies (including Software)

URL http://www.cs.bham.ac.uk/~pbl/papers/