## Semantics of separation-logic typing and higher-order frame rules (2005)

### Cached

### Download Links

- [ieeexplore.ieee.org]
- [arxiv.org]
- [www.eecs.qmul.ac.uk]
- [www.eecs.qmul.ac.uk]
- [www.itu.dk]
- [www.itu.dk]
- [www.it-c.dk]
- [www.itu.dk]
- [www.it-c.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | In Symposium on Logic in Computer Science, LICS’05 |

Citations: | 59 - 17 self |

### BibTeX

@INPROCEEDINGS{Birkedal05semanticsof,

author = {Lars Birkedal and Noah Torp-smith},

title = {Semantics of separation-logic typing and higher-order frame rules},

booktitle = {In Symposium on Logic in Computer Science, LICS’05},

year = {2005},

pages = {260--269}

}

### Years of Citing Articles

### OpenURL

### Abstract

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.

### Citations

772 | Separation logic: a logic for shared mutable data structures
- Reynolds
(Show Context)
Citation Context ...ded 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. Introduction Separation logic =-=[20, 18, 5, 14, 9, 4]-=- is a Hoare-style program logic, and variants of it have been applied to prove correct interesting pointer algorithms such as copying a dag, disposing a graph, the Schorr-Waite graph algorithm, and Ch... |

766 |
Types and Programming Languages
- Pierce
- 2002
(Show Context)
Citation Context ...our type system. The proof rules for ≼∆ are shown in Figure 2. They define a preorder between types with free variables in ∆, and include all the usual structural subtyping rules in the chapter 15 of =-=[13]-=-. The rules specific to our system are: the covariant structural rule for θ ⊗ P; the encoding of Consequence in Hoare logic; the generalized frame rule that adds an invariant to all types; and the dis... |

623 | From system F to typed assembly language
- Morriset, Walker, et al.
- 1999
(Show Context)
Citation Context ...eparation logic. Hongseok Yang ERC-ACI, Seoul National University hyang@ropas.snu.ac.kr Our type system is related to modern proposals for type systems for low-level imperative languages, such as TAL =-=[7]-=-, in that types may express state changes (since they include forms of Hoare triples as types). The type system for TAL was proved sound using an operational semantics. We provide a soundness proof of... |

281 | Local reasoning about programs that alter data structures
- O’Hearn, Reynolds, et al.
- 2001
(Show Context)
Citation Context ...ded 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. Introduction Separation logic =-=[20, 18, 5, 14, 9, 4]-=- is a Hoare-style program logic, and variants of it have been applied to prove correct interesting pointer algorithms such as copying a dag, disposing a graph, the Schorr-Waite graph algorithm, and Ch... |

171 | Separation and information hiding
- O’Hearn, Yang, et al.
- 2004
(Show Context)
Citation Context ...e so-called frame rule using a connective called separating conjunction. The development of separation logic has mostly focused on low-level languages with heaps and pointers, although in recent work =-=[10]-=- it was shown how to extend separation logic to a language with a simple kind of procedures, and a second-order frame rule was proved sound. Our aim here is to extend the study of separation logic to ... |

168 |
The essence of Algol
- Reynolds
- 1981
(Show Context)
Citation Context ... sound using an operational semantics. We provide a soundness proof of our type system using a denotational semantics which we, moreover, formally relate to the standard semantics for idealized algol =-=[11, 15]-=-. The denotational semantics of a well-typed program is given by induction on its typing derivation and the relation to the standard semantics for idealized algol is then used to prove that the semant... |

165 | BI as an assertion language for mutable data structures
- Isthiaq, O’Hearn
- 2001
(Show Context)
Citation Context ...ded 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. Introduction Separation logic =-=[20, 18, 5, 14, 9, 4]-=- is a Hoare-style program logic, and variants of it have been applied to prove correct interesting pointer algorithms such as copying a dag, disposing a graph, the Schorr-Waite graph algorithm, and Ch... |

139 | Separation logic and abstraction
- Parkinson, Bierman
(Show Context)
Citation Context ..., moreover, defined the coherent semantics of idealized algol typed with this system. One shortcoming of our type system is that the higherorder frame rules in the system allow only static modularity =-=[12]-=-. With the higher-order frame rules alone, we cannot capture all the the information hiding aspect of dynamically allocated data structures as needed for modeling abstract data types. However, it is w... |

126 | A logic for parametric polymorphism
- Plotkin, Abadi
- 1993
(Show Context)
Citation Context ...ry. Overcoming this problem will be the focus of our research in this direction. Finally, we would like to extend the relational separation logic [23] to higher-order, following the style of system R =-=[1]-=-, and we want to explore the Curry-Howard correspondence of our type system with specification logic [16]. Acknowledgements We have benefitted greatly from discussions with Uday Reddy and Peter O’Hear... |

111 | Design of the programming language Forsythe
- Reynolds
- 1996
(Show Context)
Citation Context ...nts are about the same program. Such a requirement about the same program cannot be expressed in our type system. We plan to overcome this problem by extending the type system with intersection types =-=[17]-=-. Yet another future direction is to define a parametric model. Uday Reddy pointed out that separation-logic types should validate stronger reasoning principles for data abstraction than ordinary type... |

106 | Parametricity and local variables
- O’Hearn, Tennent
- 1995
(Show Context)
Citation Context ...m is more refined in that it allows the full power of separation logic in the types and, moreover, we also treat higher-order procedures. The semantics of idealized algol has been studied intensively =-=[11, 15, 8, 14]-=-. Normally, the semantics is parameterized by the shape of the memory. The indexing in the fibration in our semantics follows this tradition, and it models the shape of the stack. However, the other i... |

106 | Lectures on reasoning about shared mutable data structure
- Reynolds
- 2000
(Show Context)
Citation Context |

67 | Local reasoning about a copying garbage collector
- Birkedal, Torp-Smith, et al.
- 2004
(Show Context)
Citation Context |

57 | A semantic basis for local reasoning
- Yang, O’Hearn
- 2002
(Show Context)
Citation Context ...t h ′ 1 = h′ · h0 and h ′ ∈ c(h). The above two properties are from the work on separation logic, and they form a sufficient and necessary condition that commands satisfy the (first-order) frame rule =-=[24]-=-. Note that the safety monotonicity and frame property are equivalent to the following condition: 5 if h#h0 and wrong isn’t in c(h), then c(h · h0) ⊆ {h ′ · h0 | h ′ ∈ c(h) and h ′ #h0}. 4 A per R0 on... |

48 |
Idealized Algol and its specification logic
- Reynolds
- 1982
(Show Context)
Citation Context ...to extend the relational separation logic [23] to higher-order, following the style of system R [1], and we want to explore the Curry-Howard correspondence of our type system with specification logic =-=[16]-=-. Acknowledgements We have benefitted greatly from discussions with Uday Reddy and Peter O’Hearn. Yang was supported by grant No. R08-2003-000-10370-0 from the Basic Research Program of the Korea Scie... |

46 |
A category-theoretic approach to the semantics of programming languages
- Oles
- 1982
(Show Context)
Citation Context ... sound using an operational semantics. We provide a soundness proof of our type system using a denotational semantics which we, moreover, formally relate to the standard semantics for idealized algol =-=[11, 15]-=-. The denotational semantics of a well-typed program is given by induction on its typing derivation and the relation to the standard semantics for idealized algol is then used to prove that the semant... |

45 | Kripke-style models for typed lambda calculus
- Mitchell, Moggi
- 1991
(Show Context)
Citation Context ... semantics, the indexing by invariant predicates over heaps, has not been used in the literature before. The construction of the category D is an instance of the Kripke quotient by Mitchell and Moggi =-=[6]-=-. The families of pers in D form a Kripke logical relation on CPO indexed by the preorder category Pr; our condition on each family ensures that the requirement of Kripke monotonicity holds. This Krip... |

36 |
Local reasoning for stateful programs
- Yang
- 2001
(Show Context)
Citation Context ...rame rule was discovered in the early days of separation logic [5], and it was a main reason for the success of that logic. For example, it was vital in the proofs of garbage collection algorithms in =-=[22]-=- and [4]. Recently, the second-order frame rule, which allows reasoning about simple first-order modules, was discovered [10]. This naturally encouraged the question of whether there are more general ... |

24 | Reasoning about hierarchical storage
- Ahmed, Jia, et al.
- 2003
(Show Context)
Citation Context ..., such bad interaction does not exist, because the system does not have the conjunction rule. Other type systems which track state changes have been proposed in the work on typed assembly languages � =-=[7, 2, 21]-=-. Their main focus is to obtain sound rules for proving the safety of programs. Thus, they mostly use easyto-define conventional operational semantics, and prove the soundness of the proof system synt... |

22 | Correctness of data representations involving heap data structures
- Reddy, Yang
- 2004
(Show Context)
Citation Context |

14 | Construction of a semantic model for a typed assembly language
- Tan, Swadi, et al.
- 2003
(Show Context)
Citation Context ..., such bad interaction does not exist, because the system does not have the conjunction rule. Other type systems which track state changes have been proposed in the work on typed assembly languages � =-=[7, 2, 21]-=-. Their main focus is to obtain sound rules for proving the safety of programs. Thus, they mostly use easyto-define conventional operational semantics, and prove the soundness of the proof system synt... |

10 | The meaning of types — from intrinsic to extrinsic semantics
- Reynolds
- 2000
(Show Context)
Citation Context ...the requirement of Kripke monotonicity holds. This Kripke logical relation produces D by Mitchell and Moggi’s construction. The idea of proving coherence by relating two languages comes from Reynolds =-=[19]-=-. Reynolds proved the coherence of the semantics of typed lambda calculus with subtyping, by connecting it with the semantics of untyped lambda calculus. We use the general direction of Reynolds’s pro... |

8 |
BIhyperdoctrines and higher order separation logic
- Biering, Birkedal, et al.
- 2005
(Show Context)
Citation Context ...an be modeled using existential types and we are currently considering to enrich the assertion language with predicate variables, as in the recently introduced higherorder version of separation logic =-=[3]-=-, and to extend the types with dependent product and sums over predicates. Another shortcoming of the type system is that it cannot have the disjunction rule in separation logic. The disjunction rule ... |

2 |
Relational separation logic. Submitted to Theoretical Comput
- Yang
- 2004
(Show Context)
Citation Context ... such that the memory allocator new live in the category. Overcoming this problem will be the focus of our research in this direction. Finally, we would like to extend the relational separation logic =-=[23]-=- to higher-order, following the style of system R [1], and we want to explore the Curry-Howard correspondence of our type system with specification logic [16]. Acknowledgements We have benefitted grea... |