Relational parametricity for references and recursive types
Proceedings of the 4th international workshop on Types in language design and implementation
A relational modal logic for higher-order stateful ADTs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
A complete, co-inductive syntactic theory of sequential control and state
Semantics and algebraic specification
The impact of higher-order state and control effects on local relational reasoning
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Game semantics for call-by-value polymorphism
ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming: Part II
From Applicative to Environmental Bisimulation
Electronic Notes in Theoretical Computer Science (ENTCS)
The marriage of bisimulations and Kripke logical relations
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Applicative bisimulations for delimited-control operators
FOSSACS'12 Proceedings of the 15th international conference on Foundations of Software Science and Computational Structures
Game semantics for interface middleweight Java
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
This paper presents a new bisimulation theory for parametric polymorphism which enables straight forward co-inductive proofs of program equivalences involving existential types. The theory is an instance of typed normal form bisimulation and demonstrates the power of this recent framework for modeling typed lambda calculi as labelled transition systems.We develop our theory for a continuation-passing style calculus, Jump-With-Argument, where normal form bisimulation takes a simple form. We equip the calculus with both existential and recursive types. An "ultimate pattern matching theorem" enables us to define bisimilarity and we show it to be a congruence. We apply our theory to proving program equivalences, type isomorphisms and genericity.