Proofs and types
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Research topics in functional programming
The lazy Lambda calculus in a concurrency scenario
Information and Computation
Operational reasoning for functions with local state
Higher order operational techniques in semantics
Behavioral equivalence in the polymorphic pi-calculus
Journal of the ACM (JACM)
An indexed model of recursive types for foundational proof-carrying code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Mendler-style inductive types, categorically
Nordic Journal of Computing
Semantics of types for mutable state
Semantics of types for mutable state
Eager Normal Form Bisimulation
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
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
Environmental Bisimulations for Higher-Order Languages
LICS '07 Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science
A bisimulation for type abstraction and recursion
Journal of the ACM (JACM)
Typed Normal Form Bisimulation for Parametric Polymorphism
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
State-dependent representation independence
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Biorthogonality, step-indexing and compiler correctness
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
A relational modal logic for higher-order stateful ADTs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Local reasoning for storable locks and threads
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Oracle semantics for concurrent separation logic
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
The impact of higher-order state and control effects on local relational reasoning
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A kripke logical relation between ML and assembly
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An equivalence-preserving CPS translation via multi-language semantics
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A kripke logical relation for effect-based program transformations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
First Steps in Synthetic Guarded Domain Theory: Step-Indexing in the Topos of Trees
LICS '11 Proceedings of the 2011 IEEE 26th Annual Symposium on Logic in Computer Science
Game Semantics for Good General References
LICS '11 Proceedings of the 2011 IEEE 26th Annual Symposium on Logic in Computer Science
Journal of Functional Programming - Dedicated to ICFP 2009
Step-Indexed syntactic logical relations for recursive and quantified types
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Typed normal form bisimulation
CSL'07/EACSL'07 Proceedings of the 21st international conference, and Proceedings of the 16th annuall conference on Computer Science Logic
A fully abstract trace semantics for general
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
A supposedly fun thing i may have to do again: a HOAS encoding of Howe's method
Proceedings of the seventh international workshop on Logical frameworks and meta-languages, theory and practice
Electronic Notes in Theoretical Computer Science (ENTCS)
The power of parameterization in coinductive proof
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Abstract effects and proof-relevant logical relations
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
There has been great progress in recent years on developing effective techniques for reasoning about program equivalence in ML-like languages---that is, languages that combine features like higher-order functions, recursive types, abstract types, and general mutable references. Two of the most prominent types of techniques to have emerged are *bisimulations* and *Kripke logical relations (KLRs)*. While both approaches are powerful, their complementary advantages have led us and other researchers to wonder whether there is an essential tradeoff between them. Furthermore, both approaches seem to suffer from fundamental limitations if one is interested in scaling them to inter-language reasoning. In this paper, we propose *relation transition systems (RTSs)*, which marry together some of the most appealing aspects of KLRs and bisimulations. In particular, RTSs show how bisimulations' support for reasoning about recursive features via *coinduction* can be synthesized with KLRs' support for reasoning about local state via *state transition systems*. Moreover, we have designed RTSs to avoid the limitations of KLRs and bisimulations that preclude their generalization to inter-language reasoning. Notably, unlike KLRs, RTSs are transitively composable.