Relating Full Abstraction Results for Different Programming Languages

We prove that Plotkin's model of bottomless cpos and partial continuous functions [19] is fully abstract for PCFv, a call-by-yalue version of the language PCF [17]. This settles a ‘folk theorem’ which has occasionally been misunderstood. We then show that the (known) full abstraction results for lazy PCF [2] and PCF with control [22] can be derived as corollaries from this theorem. Such a connection is particularly surprising, because observational congruence—the central notion in the definition of full abstraction—is usually not preserved by many known translations between different programming languages. We expect that new full abstraction theorems for some extensions of PCFv can be derived in the same way.

[1]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[2]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[3]  Joseph Y. Halpern,et al.  The semantics of local storage, or what makes the free-list free?(Preliminary Report) , 1984, POPL '84.

[4]  Daniel P. Friedman,et al.  Programming with Continuations , 1984 .

[5]  T G Muchnick,et al.  On some extensions of syntactic error recovery technique based on phrase markers , 1986, SIGP.

[6]  K. Mulmuley Full Abstraction and Semantic Equivalence , 1987 .

[7]  Albert R. Meyer,et al.  Towards fully abstract semantics for local variables , 1988, POPL '88.

[8]  C.-H. Luke Ong,et al.  Fully abstract models of the lazy lambda calculus , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[9]  Matthias Felleisen,et al.  The theory and practice of first-class prompts , 1988, POPL '88.

[10]  Albert R. Meyer,et al.  Towards a fully abstract semantics for local variables: Preliminary report , 1988 .

[11]  Albert R. Meyer Semantical Paradigms: Notes for an Invited Lecture, with Two Appendices by Stavros S. Cosmadakis , 1988, LICS 1988.

[12]  Stavros S. Cosmadakis,et al.  Computing with recursive types , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[13]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[14]  S.S. Cosmadakis,et al.  Completeness for typed lazy inequalities , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[15]  Jon G. Riecke,et al.  A Complete and Decidable Proof System for Call-by-Value Equalities (Preliminary Report) , 1990, ICALP.

[16]  Matthias Felleisen,et al.  Reasoning with continuations II: full abstraction for models of control , 1990, LISP and Functional Programming.