Pi-calculus, dialogue games and full abstraction PCF

Game semantics is an unusual denotational semantics in that it captures the intentional (or algorithmic) and dynamical aspects of the computation. This makes it an ideal semantical framework in which to seek to unify analyses of both the qualitative (correctness) as well as the quantitative (efficiency) properties of programming languages. This paper reports work arising from a recent construction of an order (or inequationall y) fully abstract model for Scot t‘s functional programming language PCF based on a kind of two-person (Player and Opponent) dialogue game of questions and answers [H094]. In this model types are interpreted as games and terms as innocent strategies. The fully abstract game model may be said to be canonical for the semantical analysis of sequential functional languages. Unfortunately even for relatively simple PCF-terms, precise description of their denotations as strategies in [H094] very rapidly becomes unwieldy and opaque. What is needed to remedy the situation is an expressive formal language which lends itself to a succinct and economical representation of innocent strategies. In this paper we give just such a representation in terms of an appropriately sorted polyadic r-calculus, reading input ~-actions as Opponent’s moves, and output ~-actions as Player’s moves. This correspondence captures every essential aspect of the dialogue game paradigm so precisely that the r-representation may as well be taken to be the basis for its formal dejinitzon. Although the rr-representation of strategies already gives an encoding of PCF in the rr-calculus indirectly via the fully abstract denotation of PCF-terms as innocent strategies, we define by recursion a new encoding of PCF in the n-calculus directly. The two ~-encodings of PCF are weakly bisimilar; if the latter is regarded as a compilation, then the former amounts to a more efficient version with compile-time optimization. 1 PCF: observational preorder and full abstraction The functional language PCF [SC093, P1077] is essentially the simply typed A-calculus augmented by basic arithmetic, con● martin@pmmscam.ac.uk. ‘On leave from the National University of Singapore. lo@comlab ox.ac.uk. Permission to make. digihllhard copies of 011or part of this material wKhout fee is granted provided that the copies we not made or distributed for profit or commercial ~dvtmtage. the ACM copyright/server nouce, lhe title of the publication and its date appear. and notice is given that copyright is by pemussIon of the .%sociatmr for Computmg Machinery. Inc. (ACM). To copy olherwse. to repubiish,to post on servers or to redistribute to lists, requires specdic perrntssion and/or fee. FPCA ’95 La Jolla, CA USAe 1995 ACIM 0-89791 -7/95/0006 ... S3.50 C.-H. L. Ongt Oxford University Computing Laboratory Wolfson Building, Parks Road, Oxford

[1]  A. Pitts INTRODUCTION TO HIGHER ORDER CATEGORICAL LOGIC (Cambridge Studies in Advanced Mathematics 7) , 1987 .

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  Pierre-Louis Curien Categorical Combinators, Sequential Algorithms, and Functional Programming , 1993, Progress in Theoretical Computer Science.

[4]  Radha Jagadeesan,et al.  Games and Full Completeness for Multiplicative Linear Logic , 1994, J. Symb. Log..

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

[6]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..

[7]  Radha Jagadeesan,et al.  Full Abstraction for PCF , 1994, Inf. Comput..

[8]  Peter W. O'Hearn,et al.  Kripke Logical Relations and PCF , 1995, Inf. Comput..

[9]  Andreas Blass,et al.  A Game Semantics for Linear Logic , 1992, Ann. Pure Appl. Log..

[10]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[11]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[12]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[13]  Pierre-Louis Curien,et al.  Categorical Combinators , 1986, Inf. Control..

[14]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[15]  Dana S. Scott,et al.  A Type-Theoretical Alternative to ISWIM, CUCH, OWHY , 1993, Theor. Comput. Sci..

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

[17]  C.-H.L. Ong,et al.  Correspondence between operational and denotational semantics: the full abstraction problem for PCF , 1995, LICS 1995.

[18]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[19]  Hanno Nickau Hereditarily Sequential Functionals , 1994, LFCS.

[20]  Samson Abramsky,et al.  Full Abstraction for PCF * ( Extended Abstract ) , 1994 .

[21]  C.-H. Luke Ong,et al.  Full Abstraction in the Lazy Lambda Calculus , 1993, Inf. Comput..

[22]  C.-H. Luke Ong Correspondence between Operational and Denotational Semantics , 1995, LICS 1995.

[23]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[24]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.