| | |
Summary: Axioms for Definability and Full Completeness
Samson Abramsky
May 7, 1999
1 Introduction
The term ``full abstraction'' was coined by Robin Milner in [Mil75]. In 1977 two seminal
papers on the programming language PCF, by Milner and Plotkin, appeared in Theoretical
Computer Science [Mil77, Plo77]. These papers initiated an extensive body of work centering
on the Full Abstraction problem for PCF (see [BCL86, Cur93, Ong95] for surveys).
The importance of full abstraction for the semantics of programming languages is that it
is one of the few quality filters we have. Specifically, it provides a clear criterion for assessing
how definitive a semantic analysis of some language is. It must be admitted that to date
the quest for fully abstract models has not yielded many obvious applications; but it has
generated much of the deepest work in semantics. Perhaps it is early days yet.
Recently, game semantics has been used to give the first syntaxindependent constructions
of fully abstract models for a number of programming languages, including PCF [AJM96,
HO96, Nic94], richer functional languages [AM95, McC96b, McC96a, HY97], and languages
with nonfunctional features such as reference types and nonlocal control constructs [AM97c,
AM97b, AM97a, Lai97]. A noteworthy feature is that the key definability results for the
richer languages are proved by a reduction to definability for the functional fragment, using
a technique of factorization theorems. Thus the results originally obtained for PCF prove to
|