Games, mobile processes, and functions
By: Guilhem Jaber, Davide Sangiorgi
Potential Business Impact:
Connects two ways computers understand programs.
We establish a tight connection between two models of the $\lambda$-calculus, namely Milner's encoding into the $\pi$-calculus (precisely, the Internal $\pi$-calculus), and operational game semantics (OGS). We first investigate the operational correspondence between the behaviours of the encoding provided by $\pi$ and OGS. We do so for various LTSs: the standard LTS for $\pi$ and a new `concurrent' LTS for OGS; an `output-prioritised' LTS for $\pi$ and the standard alternating LTS for OGS. We then show that the equivalences induced on $\lambda$-terms by all these LTSs (for $\pi$ and OGS) coincide. We also prove that when equivalence is based on complete traces, the `concurrent' and `alternating' variants of OGS also coincide with the `well-bracketed' variant. These connections allow us to transfer results and techniques between $\pi$ and OGS. In particular: we import up-to techniques from $\pi$ onto OGS; we derive congruence and compositionality results for OGS from those of $\pi$; we transport the notion of complete traces from OGS onto $\pi$, obtaining a new behavioural equivalence that yields a full abstraction result for the encoding of $\lambda$-terms with respect to contexts written in a $\lambda$-calculus extended with store. The study is illustrated for both call-by-value and call-by-name.
Similar Papers
Complete First-Order Game Logic
Logic in Computer Science
Makes math logic and computer game logic the same.
Encoding call-by-push-value in the pi-calculus
Logic in Computer Science
Makes computer programs talk to each other better.
Sharing and Linear Logic with Restricted Access (Extended Version)
Logic in Computer Science
Helps computers run programs in new ways.