Author :
Sangiorgi, Davide ; Kobayashi, Naoki ; Sumii, Eijiro
Abstract :
Developing a theory of bisimulation in higher-order languages can be hard. Particularly challenging can be: (1) the proof of congruence, as well as enhancements of the bisimulation proof method with "up-to context" techniques, and (2) obtaining definitions and results that scale to languages with different features. To meet these challenges, we present environmental bisimulations, a form of bisimulation for higher-order languages, and its basic theory. We consider four representative calculi: pure lambda-calculi (call-by-name and call-by-value), call-by-value lambda-calculus with higher-order store, and then higher-order pi-calculus. In each case: we present the basic properties of environmental bisimilarity, including congruence; we show that it coincides with contextual equivalence; we develop some up-to techniques, including up-to context, as examples of possible enhancements of the associated bisimulation method. Unlike previous approaches (such as applicative bisimulations, logical relations, Sumii-Pierce-Koutavas-Wand), our method does not require induction/indices on evaluation derivation/steps (which may complicate the proofs of congruence, transitivity, and the combination with up-to techniques), or sophisticated methods such as Howe\´s for proving congruence. It also scales from the pure lambda-calculi to the richer calculi with simple congruence proofs.
Keywords :
high level languages; pi calculus; bisimulation proof method; call-by-value lambda-calculus; contextual equivalence; environmental bisimulations; higher-order languages; higher-order pi-calculus; pure lambda-calculi; up-to context techniques; Code standards; Computer science; Concrete; Impedance matching; Logic; Proposals; Robustness;