Domain Theory: 20062007
Lecturer 

Class Tutor 
Overview
Domain theory is a mathematical theory of information and computation. It is based on the idea of states of (in general) partial information, ordered by how much information they contain. On this basis, a beautiful mathematical theory has been developed, with deep applications to many topics in Computer Science, in particular to the semantics of programming languages. In this course, we shall develop both the mathematical theory, and the applications. Particular themes will: the ideas of continuity and approximation supported by domain theory, which has important connections with topology, and gives a basis for computation with infinite objects; the development of a rich theory of fixpoints, as a foundation for recursive definitions; developing a rich set of data type constructions, and recursive definitions of domains themselves; and powerdomains, to support ideas of nondeterministic and probabilistic computation.Prerequisites
Discrete mathematics: sets, functions, relations, order relations. Domain theory would make a good combination with the course on Lambda calculus, but neither requires the other. Similar remarks apply to the course on Categories, Proofs and Programs.Synopsis
 Basic concepts of partial orders. Mathematical models of syntax.
 Fixpoints and recursive definitions, illustrated by a range of examples.
 Data types: functions, sums and products.
 Recursive types. Applications: streams, trees, untyped lambda calculus.
 Algebraicity and continuity. Approximating infinite objects.
 Powerdomains for nondeterminism and probability. Applications to transition systems and processes.
Reading list
 Abramsky and Jung, Domain Theory, in Handbook of Logic in Computer Science
 Davey and Priestley, Introduction to Lattices and Order
 Plotkin, Notes on Domains, available from web.