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.
Supplemental Material
- M. Abadi and G. D. Plotkin. A per model of polymorphism and recursive types. In Proceedings of LICS, pages 355--365, 1990.Google Scholar
Cross Ref
- A. Ahmed. Semantics of Types for Mutable State. PhD thesis, Princeton University, 2004. Google Scholar
Digital Library
- A. Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. In Proceedings of ESOP, pages 69--83, 2006. Google Scholar
Digital Library
- A. Ahmed, A. Appel, and R. Virga. A stratified semantics of general references. In Proceedings of LICS, pages 75--84, 2002. Google Scholar
Digital Library
- A. Ahmed, M. Fluet, and G. Morrisett. L3: A linear language with locations. Fundam. Inf., 77(4):397--449, 2007. Google Scholar
Digital Library
- A. Ahmed, D. Dreyer, and A. Rossberg. State-dependent representation independence. In Proceedings of POPL, pages 340--353, 2009. Google Scholar
Digital Library
- R. M. Amadio. Recursion over realizability structures. Information and Computation, 91(1):55--85, 1991. Google Scholar
Digital Library
- R. M. Amadio and P.-L. Curien. Domains and Lambda-Calculi. Cambridge University Press, 1998. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- A. Appel, R. Dockins, and A. Hobor. Mechanized semantic library. http://msl.cs.princeton.edu/, 2009.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- N. Benton and C.-K. Hur. Biorthogonality, step-indexing and compiler correctness. In Proceedings of ICFP, pages 97--108, 2009. Google Scholar
Digital Library
- N. Benton and B. Leperchey. Relational reasoning in a nominal semantics for storage. In Proceedings of TLCA, pages 86--101, 2005. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- L. Birkedal and R. W. Harper. Constructing interpretations of recursive types in an operational setting. Information and Computation, 155:3--63, 1999. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- N. Bohr and L. Birkedal. Relational reasoning for recursive types and references. In Proceedings of APLAS, pages 79--96, 2006. Google Scholar
Digital Library
- F. Cardone. Relational semantics for recursive types and bounded quantification. In Proceedings of ICALP, pages 164--178, 1989. Google Scholar
Digital Library
- A. Chargu´eraud and F. Pottier. Functional translation of a calculus of capabilities. In Proceedings of ICFP, pages 213--224, 2008. Google Scholar
Digital Library
- K. Crary and R. Harper. Syntactic logical relations for polymorphic and recursive types. Electronic Notes in Theoretical Computer Science, 172:259--299, 2007. Google Scholar
Digital Library
- K. Crary, D.Walker, and G. Morrisett. Typed memory management in a calculus of capabilities. In Proceedings of POPL, pages 262--275, 1999. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- A. Hobor. Oracle Semantics. PhD thesis, Princeton University, 2008. Google Scholar
Digital Library
- A. Hobor, A. Appel, and F. Nardelli. Oracle semantics for concurrent separation logic. In Proceedings of ESOP, pages 353--367, 2008. Google Scholar
Digital Library
- A. Hobor, R. Dockins, and A. Appel. A theory of indirection via approximation. In Proceedings of POPL, pages 171--184, 2010. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- P. B. Levy. Possible world semantics for general storage in call-by-value. In Proceedings of CSL, pages 232--246, 2002. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- A. Nanevski, G. Morrisett, and L. Birkedal. Polymorphism and separation in hoare type theory. In Proceedings of ICFP, pages 62--73, 2006. Google Scholar
Digital Library
- B. C. Pierce. Types and Programming Languages. The MIT Press, 2002. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- F. Pottier. Hiding local state in direct style: a higher-order anti-frame rule. In Proceedings of LICS, pages 331--340, 2008. Google Scholar
Digital Library
- F. Pottier. Generalizing the higher-order frame and anti-frame rules. Unpublished, July 2009.Google Scholar
- 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 Scholar
Digital Library
- B. Reus and J. Schwinghammer. Separation logic for higher-order store. In Proceedings of CSL, pages 575--590, 2006. Google Scholar
Digital Library
- B. Reus and T. Streicher. Semantics and logic of object calculi. In Proceedings of LICS, pages 113--124, 2002. Google Scholar
Digital Library
- J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In Proceedings of LICS, pages 55--74, 2002. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- I. Stark. Categorical models for local names. LISP and Symbolic Computation, 9(1):77--107, Feb. 1996.Google Scholar
Cross Ref
- E. Sumii. A complete characterization of observational equivalence in polymorphic lambda-calculus with general references. In Proceedings of CSL, pages 455--469, 2009. Google Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Step-indexed kripke models over recursive worlds
Recommendations
Step-indexed kripke models over recursive worlds
POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesOver 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 ...
A Note on Linear Kripke Models
Gödel logics correspond to linear models with constant domains. In this paper other truth value logics, Scott logics, are defined, that correspond to linear models with possibly non-constant domains. An extension of intuitionistic logic with an ...







Comments