FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Logical Predicates for Intuitionistic Linear Type Theories
TLCA '99 Proceedings of the 4th International Conference on Typed Lambda Calculi and Applications
Program equivalence in a linear functional language
Journal of Functional Programming
Free Theorems and Runtime Type Representations
Electronic Notes in Theoretical Computer Science (ENTCS)
A Formalization of Strong Normalization for Simply-Typed Lambda-Calculus and System F
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Lightweight linear types in system f°
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Ott: Effective tool support for the working semanticist
Journal of Functional Programming
Step-Indexed syntactic logical relations for recursive and quantified types
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Behavioral polymorphism and parametricity in session-based communication
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Hi-index | 0.00 |
This paper presents a novel syntactic logical relation for a polymorphic linear λ-calculus that treats all types as linear and introduces the constructor ! to account for intuitionistic terms, and System F°--an extension of System F that uses kinds to distinguish linear from intuitionistic types. We define a logical relation for open values under both open linear and intuitionistic contexts, then extend it for open terms with evaluation and open relation substitutions. Relations that instantiate type quantifiers are for open terms and types. We demonstrate the applicability of this logical relation through its soundness with respect to contextual equivalence, along with free theorems for linearity that are difficult to achieve by closed logical relations. When interpreting types on only closed terms, the model defaults to a closed logical relation that is both sound and complete with respect to contextual equivalence and is sufficient to reason about isomorphisms of type encodings. All of our results have been mechanically verified in Coq.