Semantics of Separation-Logic Typing and Higher-Order Frame Rules

We show how to give a coherent semantics to programs that are well-specified in a version of separation logic for a language with higher types: idealized algol extended with heaps (but with immutable stack variables). In particular, we provide simple sound rules for deriving higher-order frame rules, allowing for local reasoning.

[1]  John C. Reynolds,et al.  Idealized ALGOL and its specification logic , 1997 .

[2]  Hongseok Yang,et al.  Correctness of data representations involving heap data structures , 2004, Sci. Comput. Program..

[3]  Frank J. Oles,et al.  A category-theoretic approach to the semantics of programming languages , 1982 .

[4]  John C. Reynolds,et al.  The Meaning of Types From Intrinsic to Extrinsic Semantics , 2000 .

[5]  Peter W. O'Hearn,et al.  Local Reasoning about Programs that Alter Data Structures , 2001, CSL.

[6]  Peter W. O'Hearn,et al.  Parametricity and local variables , 1995, JACM.

[7]  John C. Reynolds,et al.  The essence of ALGOL , 1997 .

[8]  John C. Mitchell,et al.  Kripke-Style Models for Typed lambda Calculus , 1991, Ann. Pure Appl. Log..

[9]  David Walker,et al.  Reasoning about hierarchical storage , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[10]  Martín Abadi,et al.  Formal parametric polymorphism , 1993, POPL '93.

[11]  John C. Reynolds,et al.  Design of the programming language FORSYTHE , 1997 .

[12]  Lars Birkedal,et al.  Local reasoning about a copying garbage collector , 2004, POPL '04.

[13]  Hongseok Yang,et al.  Local reasoning for stateful programs , 2001 .

[14]  Lars Birkedal,et al.  BI Hyperdoctrines and Higher-Order Separation Logic , 2005, ESOP.

[15]  Hongseok Yang,et al.  Relational separation logic , 2007, Theor. Comput. Sci..

[16]  Andrew W. Appel,et al.  Construction of a Semantic Model for a Typed Assembly Language , 2004, VMCAI.

[17]  Karl Crary,et al.  From system F to typed assembly language , 1999 .

[18]  Peter W. O'Hearn,et al.  Separation and information hiding , 2004, POPL.

[19]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[20]  Gavin M. Bierman,et al.  Separation logic and abstraction , 2005, POPL '05.

[21]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..