Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proofs and types
Equality in lazy computation systems
Proceedings of the Fourth Annual Symposium on Logic in computer science
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Proving congruence of bisimulation in functional programming languages
Information and Computation
From operational semantics to domain theory
Information and Computation
Relational interpretations of recursive types in an operational setting
Information and Computation
An indexed model of recursive types for foundational proof-carrying code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Representation independence and data abstraction
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Logic for Parametric Polymorphism
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
On the Relation between Direct and Continuation Semantics
Proceedings of the 2nd Colloquium on Automata, Languages and Programming
Existential Types: Logical Relations and Operational Equivalence
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Semantic types: a fresh look at the ideal model for types
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parametric polymorphism and operational equivalence
Mathematical Structures in Computer Science
A bisimulation for type abstraction and recursion
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Step-Indexed syntactic logical relations for recursive and quantified types
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Free Theorems and Runtime Type Representations
Electronic Notes in Theoretical Computer Science (ENTCS)
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
Relational parametricity for references and recursive types
Proceedings of the 4th international workshop on Types in language design and implementation
A family of syntactic logical relations for the semantics of Haskell-like languages
Information and Computation
Realizability Semantics of Parametric Polymorphism, General References, and Recursive Types
FOSSACS '09 Proceedings of the 12th International Conference on Foundations of Software Science and Computational Structures: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantic foundations for typed assembly languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Logical bisimulations and functional languages
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Typing termination in a higher-order concurrent imperative language
Information and Computation
Parametricity, type equality, and higher-order polymorphism
Journal of Functional Programming
Realisability semantics of parametric polymorphism, general references and recursive types
Mathematical Structures in Computer Science
Step-indexed kripke models over recursive worlds
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
State based encapsulation for modular reasoning about behavior-preserving refactorings
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
The method of logical relations assigns a relational interpretation to types that expresses operational invariants satisfied by all terms of a type. The method is widely used in the study of typed languages, for example to establish contextual equivalences of terms. The chief difficulty in using logical relations is to establish the existence of a suitable relational interpretation. We extend work of Pitts and Birkedal and Harper on constructing relational interpretations of types to polymorphism and recursive types, and apply it to establish parametricity and representation independence properties in a purely operational setting. We argue that, once the existence of a relational interpretation has been established, it is straightforward to use it to establish properties of interest.