Research topics in functional programming
The lazy Lambda calculus in a concurrency scenario
Information and Computation
On reduction-based process semantics
Selected papers of the thirteenth conference on Foundations of software technology and theoretical computer science
Proving congruence of bisimulation in functional programming languages
Information and Computation
Foundations of programming languages
Foundations of programming languages
Bisimulation for higher-order process calculi
Information and Computation
Improvement theory and its applications
Higher order operational techniques in semantics
Relational interpretations of recursive types in an operational setting
Information and Computation
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Behavioral equivalence in the polymorphic pi-calculus
Journal of the ACM (JACM)
Asynchronous process calculi: the first-and higher-order paradigms
Theoretical Computer Science - Special issues on models and paradigms for concurrency
Bisimulation congruences in safe ambients
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An indexed model of recursive types for foundational proof-carrying code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communication and Concurrency
PI-Calculus: A Theory of Mobile Processes
PI-Calculus: A Theory of Mobile Processes
A Bisimulation Method for Cryptographic Protocols
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Bisimulation in Name-Passing Calculi without Matching
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
Proof Techniques for Cryptographic Processes
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Towards a Theory of Bisimulation for Local Names
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Logical relation for encryption
Journal of Computer Security - Special issue on CSFW14
A theory of weak bisimulation for Core CML
Journal of Functional Programming
A theory of bisimulation for a fragment of concurrent ML with local names
Theoretical Computer Science
Behavioral theory for mobile ambients
Journal of the ACM (JACM)
Small bisimulations for reasoning about higher-order imperative programs
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A complete, co-inductive syntactic theory of sequential control and state
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A bisimulation for dynamic sealing
Theoretical Computer Science
A bisimulation for type abstraction and recursion
Journal of the ACM (JACM)
State-dependent representation independence
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Howe's Method for Calculi with Passivation
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
Pure bigraphs: Structure and dynamics
Information and Computation
Logical bisimulations and functional languages
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
More on bisimulations for higher order π-calculus
FOSSACS'06 Proceedings of the 9th European joint conference on Foundations of Software Science and Computation Structures
Extending howe's method to early bisimulations for typed mobile embedded resources with local names
FSTTCS '05 Proceedings of the 25th international conference on Foundations of Software Technology and Theoretical Computer Science
The kell calculus: a family of higher-order distributed process calculi
GC'04 Proceedings of the 2004 IST/FET international conference on Global Computing
Step-Indexed syntactic logical relations for recursive and quantified types
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Bisimulations for untyped imperative objects
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Distillation with labelled transition systems
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Program equivalence in a simple language with state
Computer Languages, Systems and Structures
A Higher-Order Distributed Calculus with Name Creation
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
Algorithmic games for full ground references
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part II
On coinductive equivalences for higher-order probabilistic functional programs
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Algorithmic probabilistic game semantics
Formal Methods in System Design
Hi-index | 0.00 |
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 environment{} bisimulations, a form of bisimulation for higher-order languages, and its basic theory. We consider four representative calculi: pure λ-calculi (call-by-name and call-by-value), call-by-value λ-calculus with higher-order store, and then Higher-Order π-calculus. In each case: we present the basic properties of environment 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 λ-calculi to the richer calculi with simple congruence proofs.