Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Step-indexed kripke models over recursive worlds

Published: 26 January 2011 Publication History

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.

Supplementary Material

MP4 File (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.
[2]
A. Ahmed. Semantics of Types for Mutable State. PhD thesis, Princeton University, 2004.
[3]
A. Ahmed. Step-indexed syntactic logical relations for recursive and quantified types. In Proceedings of ESOP, pages 69--83, 2006.
[4]
A. Ahmed, A. Appel, and R. Virga. A stratified semantics of general references. In Proceedings of LICS, pages 75--84, 2002.
[5]
A. Ahmed, M. Fluet, and G. Morrisett. L3: A linear language with locations. Fundam. Inf., 77(4):397--449, 2007.
[6]
A. Ahmed, D. Dreyer, and A. Rossberg. State-dependent representation independence. In Proceedings of POPL, pages 340--353, 2009.
[7]
R. M. Amadio. Recursion over realizability structures. Information and Computation, 91(1):55--85, 1991.
[8]
R. M. Amadio and P.-L. Curien. Domains and Lambda-Calculi. Cambridge University Press, 1998.
[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.
[10]
A. Appel, R. Dockins, and A. Hobor. Mechanized semantic library. http://msl.cs.princeton.edu/, 2009.
[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.
[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.
[13]
N. Benton and C.-K. Hur. Biorthogonality, step-indexing and compiler correctness. In Proceedings of ICFP, pages 97--108, 2009.
[14]
N. Benton and B. Leperchey. Relational reasoning in a nominal semantics for storage. In Proceedings of TLCA, pages 86--101, 2005.
[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.
[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.
[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.
[18]
L. Birkedal and R. W. Harper. Constructing interpretations of recursive types in an operational setting. Information and Computation, 155:3--63, 1999.
[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.
[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.
[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.
[22]
N. Bohr and L. Birkedal. Relational reasoning for recursive types and references. In Proceedings of APLAS, pages 79--96, 2006.
[23]
F. Cardone. Relational semantics for recursive types and bounded quantification. In Proceedings of ICALP, pages 164--178, 1989.
[24]
A. Chargu´eraud and F. Pottier. Functional translation of a calculus of capabilities. In Proceedings of ICFP, pages 213--224, 2008.
[25]
K. Crary and R. Harper. Syntactic logical relations for polymorphic and recursive types. Electronic Notes in Theoretical Computer Science, 172:259--299, 2007.
[26]
K. Crary, D.Walker, and G. Morrisett. Typed memory management in a calculus of capabilities. In Proceedings of POPL, pages 262--275, 1999.
[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.
[28]
A. Hobor. Oracle Semantics. PhD thesis, Princeton University, 2008.
[29]
A. Hobor, A. Appel, and F. Nardelli. Oracle semantics for concurrent separation logic. In Proceedings of ESOP, pages 353--367, 2008.
[30]
A. Hobor, R. Dockins, and A. Appel. A theory of indirection via approximation. In Proceedings of POPL, pages 171--184, 2010.
[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.
[32]
P. B. Levy. Possible world semantics for general storage in call-by-value. In Proceedings of CSL, pages 232--246, 2002.
[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.
[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.
[35]
A. Nanevski, G. Morrisett, and L. Birkedal. Polymorphism and separation in hoare type theory. In Proceedings of ICFP, pages 62--73, 2006.
[36]
B. C. Pierce. Types and Programming Languages. The MIT Press, 2002.
[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.
[38]
F. Pottier. Hiding local state in direct style: a higher-order anti-frame rule. In Proceedings of LICS, pages 331--340, 2008.
[39]
F. Pottier. Generalizing the higher-order frame and anti-frame rules. Unpublished, July 2009.
[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.
[41]
B. Reus and J. Schwinghammer. Separation logic for higher-order store. In Proceedings of CSL, pages 575--590, 2006.
[42]
B. Reus and T. Streicher. Semantics and logic of object calculi. In Proceedings of LICS, pages 113--124, 2002.
[43]
J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In Proceedings of LICS, pages 55--74, 2002.
[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.
[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.
[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.
[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.
[48]
I. Stark. Categorical models for local names. LISP and Symbolic Computation, 9(1):77--107, Feb. 1996.
[49]
E. Sumii. A complete characterization of observational equivalence in polymorphic lambda-calculus with general references. In Proceedings of CSL, pages 455--469, 2009.
[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.

Cited By

View all
  • (2019)Reasoning about a Machine with Local CapabilitiesACM Transactions on Programming Languages and Systems10.1145/336351942:1(1-53)Online publication date: 10-Dec-2019
  • (2019)Guarded Cubical Type TheoryJournal of Automated Reasoning10.1007/s10817-018-9471-763:2(211-253)Online publication date: 2-Aug-2019
  • (2018)Reasoning About a Machine with Local CapabilitiesProgramming Languages and Systems10.1007/978-3-319-89884-1_17(475-501)Online publication date: 14-Apr-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 46, Issue 1
POPL '11
January 2011
624 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1925844
Issue’s Table of Contents
  • cover image ACM Conferences
    POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2011
    652 pages
    ISBN:9781450304900
    DOI:10.1145/1926385
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 January 2011
Published in SIGPLAN Volume 46, Issue 1

Check for updates

Author Tags

  1. capability calculus
  2. frame rules
  3. indirection theory
  4. kripke models
  5. step-indexed models
  6. ultrametric spaces

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Reasoning about a Machine with Local CapabilitiesACM Transactions on Programming Languages and Systems10.1145/336351942:1(1-53)Online publication date: 10-Dec-2019
  • (2019)Guarded Cubical Type TheoryJournal of Automated Reasoning10.1007/s10817-018-9471-763:2(211-253)Online publication date: 2-Aug-2019
  • (2018)Reasoning About a Machine with Local CapabilitiesProgramming Languages and Systems10.1007/978-3-319-89884-1_17(475-501)Online publication date: 14-Apr-2018
  • (2016)The Design and Formalization of Mezzo, a Permission-Based Programming LanguageACM Transactions on Programming Languages and Systems10.1145/283702238:4(1-94)Online publication date: 2-Aug-2016
  • (2013)Completeness of Conversion between Reactive Programs for Ultrametric ModelsTyped Lambda Calculi and Applications10.1007/978-3-642-38946-7_17(221-235)Online publication date: 2013
  • (2011)Nested Hoare Triples and Frame Rules for Higher-order StoreLogical Methods in Computer Science10.2168/LMCS-7(3:21)20117:3Online publication date: 28-Sep-2011
  • (2011)Hoare Logic for Higher Order Store Using Simple SemanticsLogic, Language, Information and Computation10.1007/978-3-642-20920-8_10(52-66)Online publication date: 2011
  • (2024)Semantic-Type-Guided Bug FindingProceedings of the ACM on Programming Languages10.1145/36897888:OOPSLA2(2183-2210)Online publication date: 8-Oct-2024
  • (2024)Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message PassingProceedings of the ACM on Programming Languages10.1145/36328898:POPL(1385-1417)Online publication date: 5-Jan-2024
  • (2022)Later credits: resourceful reasoning for the later modalityProceedings of the ACM on Programming Languages10.1145/35476316:ICFP(283-311)Online publication date: 31-Aug-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media