Dagstuhl Seminar Proceedings. 10351 - Modelling, Controlling and Reasoning About State
Doi
Abstract
The nu-calculus of Pitts and Stark was introduced as a paradigmatic
functional language with a very basic local-state effect: references of unit
type. These were called names, and the motto of the new language went as
follows:
"Names are created with local scope, can be tested for equality, and are
passed around via function application, but that is all."
Because of this limited framework, the hope was that fully abstract models
and complete proof techniques could be obtained. However, it was soon
realised that the behaviour of nu-calculus programs is quite intricate, and
program equivalence in particular is surprisingly difficult to capture. Here we
shall focus on the following "hard" equivalence.
new x,y in f. (fx=fy) == f. true
We shall examine attempts and proofs of the above, explain the advantages
and disadvantages of the proof methods and discuss why program
equivalence in this simple language remains to date a mystery