Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/11693024_6guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Step-Indexed syntactic logical relations for recursive and quantified types

Published: 27 March 2006 Publication History

Abstract

We present a sound and complete proof technique, based on syntactic logical relations, for showing contextual equivalence of expressions in a λ-calculus with recursive types and impredicative universal and existential types. Our development builds on the step-indexed PER model of recursive types presented by Appel and McAllester. We have discovered that a direct proof of transitivity of that model does not go through, leaving the “PER” status of the model in question. We show how to extend the Appel-McAllester model to obtain a logical relation that we can prove is transitive, as well as sound and complete with respect to contextual equivalence. We then augment this model to support relational reasoning in the presence of quantified types.
Step-indexed relations are indexed not just by types, but also by the number of steps available for future evaluation. This stratification is essential for handling various circularities, from recursive functions, to recursive types, to impredicative polymorphism. The resulting construction is more elementary than existing logical relations which require complex machinery such as domain theory, admissibility, syntactic minimal invariance, and ⊤⊤-closure.

References

[1]
Plotkin, G.D.: Lambda-definability and logical relations. Memorandum SAI-RM- 4, University of Edinburgh, Edinburgh, Scotland (1973)
[2]
Statman, R.: Logical relations and the typed λ-calculus. Information and Control 65(2-3) (1985) 85-97
[3]
Pitts, A.M.: Relational properties of domains. Information and Computation 127(2) (1996) 66-90
[4]
Tait, W.W.: Intensional interpretations of functionals of finite type i. Journal of Symbolic Logic 32(2) (1967) 198-212
[5]
Girard, J.Y.: Interprétation Fonctionnelle et Élimination des Coupures de l'Arithm étique d'Ordre Supérieur. Thèse de doctorat d'état, Université Paris VII, Paris, France (1972)
[6]
Pitts, A.M.: Parametric polymorphism and operational equivalence. Mathematical Structures in Computer Science 10 (2000) 321-359
[7]
Pitts, A.M.: Existential types: Logical relations and operational equivalence. Lecture Notes in Computer Science 1443 (1998) 309-326
[8]
Crary, K., Harper, R.: Syntactic logical relations over polymorphic and recursive types. Draft (2000)
[9]
Pitts, A.M.: Typed operational reasoning. In Pierce, B.C., ed.: Advanced Topics in Types and Programming Languages. MIT Press (2005)
[10]
Birkedal, L., Harper, R.: Relational interpretations of recursive types in an operational setting. In: Theoretical Aspects of Computer Software (TACS). (1997)
[11]
Melliès, P.A., Vouillon, J.: Semantic types: A fresh look at the ideal model for types. In: POPL, Venice, Italy. (2004)
[12]
Melliès, P.A., Vouillon, J.: Recursive polymorphic types and parametricity in an operational framework. In: LICS, Chicago, Illinois. (2005)
[13]
Appel, A.W., McAllester, D.: An indexed model of recursive types for foundational proof-carrying code. ACM TOPLAS 23(5) (2001) 657-683
[14]
Ahmed, A., Appel, A.W., Virga, R.: An indexed model of impredicative polymorphism and mutable references. Available at http://www.cs.princeton.edu/ ~appel/papers/impred.pdf (2003)
[15]
Ahmed, A.J.: Semantics of Types for Mutable State. PhD thesis, Princeton University (2004)
[16]
Ahmed, A.: Step-indexed syntactic logical relations for recursive and quantified types. Technical Report TR-01-06, Harvard University (2006)
[17]
Pierce, B.C.: Types and Programming Languages. MIT Press (2002)
[18]
Mason, I.A., Talcott, C.L.: Equivalence in functional languages with effects. Journal of Functional Programming 1(3) (1991) 287-327
[19]
Sumii, E., Pierce, B.C.: A bisimulation for type abstraction and recursion. In: POPL, Long Beach, California. (2005) 63-74
[20]
MacQueen, D., Plotkin, G., Sethi, R.: An ideal model for recursive polymophic types. Information and Computation 71(1/2) (1986) 95-130
[21]
Wadler, P.: Theorems for free! In: ACM Symposium on Functional Programming Languages and Computer Architecture (FPCA), London (1989)

Cited By

View all
  • (2024)Bialgebraic Reasoning on Higher-order Program EquivalenceProceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer Science10.1145/3661814.3662099(1-15)Online publication date: 8-Jul-2024
  • (2024)Probabilistic Programming with Programmable Variational InferenceProceedings of the ACM on Programming Languages10.1145/36564638:PLDI(2123-2147)Online publication date: 20-Jun-2024
  • (2024)Taypsi: Static Enforcement of Privacy Policies for Policy-Agnostic Oblivious ComputationProceedings of the ACM on Programming Languages10.1145/36498618:OOPSLA1(1407-1436)Online publication date: 29-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ESOP'06: Proceedings of the 15th European conference on Programming Languages and Systems
March 2006
342 pages
ISBN:354033095X

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 27 March 2006

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Bialgebraic Reasoning on Higher-order Program EquivalenceProceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer Science10.1145/3661814.3662099(1-15)Online publication date: 8-Jul-2024
  • (2024)Probabilistic Programming with Programmable Variational InferenceProceedings of the ACM on Programming Languages10.1145/36564638:PLDI(2123-2147)Online publication date: 20-Jun-2024
  • (2024)Taypsi: Static Enforcement of Privacy Policies for Policy-Agnostic Oblivious ComputationProceedings of the ACM on Programming Languages10.1145/36498618:OOPSLA1(1407-1436)Online publication date: 29-Apr-2024
  • (2024)Gradually Typed Languages Should Be Vigilant!Proceedings of the ACM on Programming Languages10.1145/36498428:OOPSLA1(864-892)Online publication date: 29-Apr-2024
  • (2024)Parametric Subtyping for Structural Parametric PolymorphismProceedings of the ACM on Programming Languages10.1145/36329328:POPL(2700-2730)Online publication date: 5-Jan-2024
  • (2024)Fully Composable and Adequate Verified Compilation with Direct Refinements between Open ModulesProceedings of the ACM on Programming Languages10.1145/36329148:POPL(2160-2190)Online publication date: 5-Jan-2024
  • (2024)Logical Predicates in Higher-Order Mathematical Operational SemanticsFoundations of Software Science and Computation Structures10.1007/978-3-031-57231-9_3(47-69)Online publication date: 6-Apr-2024
  • (2023)A frame stack semantics for sequential Core ErlangProceedings of the 35th Symposium on Implementation and Application of Functional Languages10.1145/3652561.3652566(1-13)Online publication date: 29-Aug-2023
  • (2023)ADEV: Sound Automatic Differentiation of Expected Values of Probabilistic ProgramsProceedings of the ACM on Programming Languages10.1145/35711987:POPL(121-153)Online publication date: 11-Jan-2023
  • (2023)Step-Indexed Logical Relations for Countable Nondeterminism and Probabilistic ChoiceProceedings of the ACM on Programming Languages10.1145/35711957:POPL(33-60)Online publication date: 11-Jan-2023
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media