Proving Soundness of Extensional Normal-Form Bisimilarities

10/31/2017
by   Dariusz Biernacki, et al.
0

Normal-form bisimilarity is a simple, easy-to-use behavioral equivalence that relates terms in lambda-calculi by decomposing their normal forms into bisimilar subterms. Besides, they allow for powerful up-to techniques, such as bisimulation up to context, which simplify bisimulation proofs even further. However, proving soundness of these relations becomes complicated in the presence of eta-expansion and usually relies on ad hoc proof methods which depend on the language. In this paper we propose a more systematic proof method to show that an extensional normal-form bisimilarity along with its corresponding bisimulation up to context are sound. We illustrate our technique with three calculi: the call-by-value lambda-calculus, the call-by-value lambda-calculus with the delimited-control operators shift and reset, and the call-by-value lambda-calculus with the abortive control operators call/cc and abort. In the first two cases, there was previously no sound bisimulation up to context validating the eta-law, whereas no theory of normal-form bisimulations for the calculus of abortive control has been presented before. Our results have been fully formalized in the Coq proof assistant.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/23/2018

Bisimulations for Delimited-Control Operators

We propose a survey of the behavioral theory of an untyped lambda-calcul...
research
01/24/2020

Up-to Techniques for Branching Bisimilarity

Ever since the introduction of behavioral equivalences on processes one ...
research
08/06/2020

On the Taylor expansion of λ-terms and the groupoid structure of their rigid approximants

We show that the normal form of the Taylor expansion of a λ-term is isom...
research
04/11/2023

Canonicity in Modal Lambda Calculus

In this paper we investigate the Curry-Howard-Lambek correspondence for ...
research
03/14/2023

Normal Form Bisimulations By Value

Sangiorgi's normal form bisimilarity is call-by-name, identifies all the...
research
07/09/2023

Type-Preserving Compilation of Class-Based Languages

The Dependent Object Type (DOT) calculus was designed to put Scala on a ...
research
05/04/2020

Factorize Factorization

We present a new technique for proving factorization theorems for compou...

Please sign up or login with your details

Forgot password? Click here to reset