skip to main content
research-article

Step-indexed kripke models over recursive worlds

Published:26 January 2011Publication History
Skip Abstract Section

Abstract

Over the last decade, there has been extensive research on modelling challenging features in programming languages and program logics, such as higher-order store and storable resource invariants. A recent line of work has identified a common solution to some of these challenges: Kripke models over worlds that are recursively defined in a category of metric spaces. In this paper, we broaden the scope of this technique from the original domain-theoretic setting to an elementary, operational one based on step indexing. The resulting method is widely applicable and leads to simple, succinct models of complicated language features, as we demonstrate in our semantics of Charguéraud and Pottier's type-and-capability system for an ML-like higher-order language. Moreover, the method provides a high-level understanding of the essence of recent approaches based on step indexing.

Skip Supplemental Material Section

Supplemental Material

12-mpeg-4.mp4

References

  1. M. Abadi and G. D. Plotkin. A per model of polymorphism and recursive types. In Proceedings of LICS, pages 355--365, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  2. A. Ahmed. Semantics of Types for Mutable State. PhD thesis, Princeton University, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. In Proceedings of ESOP, pages 69--83, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Ahmed, A. Appel, and R. Virga. A stratified semantics of general references. In Proceedings of LICS, pages 75--84, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Ahmed, M. Fluet, and G. Morrisett. L3: A linear language with locations. Fundam. Inf., 77(4):397--449, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Ahmed, D. Dreyer, and A. Rossberg. State-dependent representation independence. In Proceedings of POPL, pages 340--353, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. M. Amadio. Recursion over realizability structures. Information and Computation, 91(1):55--85, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. M. Amadio and P.-L. Curien. Domains and Lambda-Calculi. Cambridge University Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. America and J. J. M. M. Rutten. Solving reflexive domain equations in a category of complete metric spaces. J. Comput. Syst. Sci., 39(3):343--375, 1989.Google ScholarGoogle ScholarCross RefCross Ref
  10. A. Appel, R. Dockins, and A. Hobor. Mechanized semantic library. http://msl.cs.princeton.edu/, 2009.Google ScholarGoogle Scholar
  11. A. W. Appel and D. A. McAllester. An indexed model of recursive types for foundational proof-carrying code. ACM Trans. Program. Lang. Syst., 23(5): 657--683, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A.W. Appel, P. Melli'es, C. D. Richards, and J. Vouillon. A very modal model of a modern, major, general type system. In Proceedings of POPL, pages 109--122, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. N. Benton and C.-K. Hur. Biorthogonality, step-indexing and compiler correctness. In Proceedings of ICFP, pages 97--108, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. N. Benton and B. Leperchey. Relational reasoning in a nominal semantics for storage. In Proceedings of TLCA, pages 86--101, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Benton, L. Beringer, M. Hofmann, and A. Kennedy. Relational semantics for effect-based program transformations: Higher-order store. In Proceedings of PPDP, pages 301--312, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. N. Benton, A. Kennedy, C. Varming, and L. Birkedal. Formalizing domains, ultrametric spaces and semantics of programming languages. Manuscript. Available at http://www.itu.dk/people /birkedal/papers/formalizing-semantics.pdf, 2010.Google ScholarGoogle Scholar
  17. B. Biering, L. Birkedal, and N. Torp-Smith. Bi-hyperdoctrines, higher-order separation logic, and abstraction. ACM Trans. Program. Lang. Syst., 29(5), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. L. Birkedal and R. W. Harper. Constructing interpretations of recursive types in an operational setting. Information and Computation, 155:3--63, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. L. Birkedal, N. Torp-Smith, and H. Yang. Semantics of separation-logic typing and higher-order frame rules for Algol-like languages. LMCS, 2(5:1), 2006.Google ScholarGoogle Scholar
  20. L. Birkedal, K. Støvring, and J. Thamsborg. The category-theoretic solution of recursive metric-space quations. Technical Report ITU-2009--119, IT University of Copenhagen, 2009.Google ScholarGoogle Scholar
  21. L. Birkedal, K. Støvring, and J. Thamsborg. Realizability semantics of parametric polymorphism, general references, and recursive types. In Proceedings of FOSSACS, pages 456--470, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. N. Bohr and L. Birkedal. Relational reasoning for recursive types and references. In Proceedings of APLAS, pages 79--96, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. F. Cardone. Relational semantics for recursive types and bounded quantification. In Proceedings of ICALP, pages 164--178, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Chargu´eraud and F. Pottier. Functional translation of a calculus of capabilities. In Proceedings of ICFP, pages 213--224, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. K. Crary and R. Harper. Syntactic logical relations for polymorphic and recursive types. Electronic Notes in Theoretical Computer Science, 172:259--299, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. K. Crary, D.Walker, and G. Morrisett. Typed memory management in a calculus of capabilities. In Proceedings of POPL, pages 262--275, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. Dreyer, G. Neis, A. Rossberg, and L. Birkedal. A relational modal logic for higher-order stateful ADTs. In Proceedings of POPL, pages 185--198, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Hobor. Oracle Semantics. PhD thesis, Princeton University, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. Hobor, A. Appel, and F. Nardelli. Oracle semantics for concurrent separation logic. In Proceedings of ESOP, pages 353--367, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Hobor, R. Dockins, and A. Appel. A theory of indirection via approximation. In Proceedings of POPL, pages 171--184, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. P. Johann and J. Voigtl¨ander. A family of syntactic logical relations for the semantics of Haskell-like languages. Information and Computation, 207(2): 341--368, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. P. B. Levy. Possible world semantics for general storage in call-by-value. In Proceedings of CSL, pages 232--246, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. B. MacQueen, G. D. Plotkin, and R. Sethi. An ideal model for recursive polymorphic types. Information and Control, 71(1/2):95--130, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. P.-A. Melli'es and J. Vouillon. Recursive polymorphic types and parametricity in an operational framework. In Proceedings of LICS, pages 82--91, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. A. Nanevski, G. Morrisett, and L. Birkedal. Polymorphism and separation in hoare type theory. In Proceedings of ICFP, pages 62--73, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. B. C. Pierce. Types and Programming Languages. The MIT Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. A. M. Pitts and I. D. B. Stark. Operational reasoning for functions with local state. In A. D. Gordon and A. M. Pitts, editors, Higher-Order Operational Techniques in Semantics, Publications of the Newton Institute, pages 227--273. Cambridge University Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. F. Pottier. Hiding local state in direct style: a higher-order anti-frame rule. In Proceedings of LICS, pages 331--340, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. F. Pottier. Generalizing the higher-order frame and anti-frame rules. Unpublished, July 2009.Google ScholarGoogle Scholar
  40. U. S. Reddy and H. Yang. Correctness of data representations involving heap data structures. Science of Computer Programming, 50(1--3):129--160, March 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. B. Reus and J. Schwinghammer. Separation logic for higher-order store. In Proceedings of CSL, pages 575--590, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. B. Reus and T. Streicher. Semantics and logic of object calculi. In Proceedings of LICS, pages 113--124, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In Proceedings of LICS, pages 55--74, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. J. Schwinghammer, L. Birkedal, B. Reus, and H. Yang. Nested Hoare triples and frame rules for higher-order store. In Proceedings of CSL, pages 440--454, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. J. Schwinghammer, L. Birkedal, and K. Støvring. A step-indexed Kripke model of hidden state via recursive properties on recursively defined metric spaces. Manuscript. Available at http://www.itu.dk/people /birkedal/papers/relpoms-antiframe-conf.pdf, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. J. Schwinghammer, H. Yang, L. Birkedal, F. Pottier, and B. Reus. A semantic foundation for hidden state. In Proceedings of FOSSACS, pages 2--17, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. M. B. Smyth. Topology. In S. Abramsky, D. Gabbay, and T. S. E. Maibaum, editors, Handbook of Logic in Computer Science. Oxford University Press, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. I. Stark. Categorical models for local names. LISP and Symbolic Computation, 9(1):77--107, Feb. 1996.Google ScholarGoogle ScholarCross RefCross Ref
  49. E. Sumii. A complete characterization of observational equivalence in polymorphic lambda-calculus with general references. In Proceedings of CSL, pages 455--469, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. J. Vouillon and P.-A. Melli'es. Semantic types: a fresh look at the ideal model for types. In Proceedings of POPL, pages 52--63, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Step-indexed kripke models over recursive worlds

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!