Polymorphism and separation in Hoare type theory (2006)
Cached
Download Links
- [www.it-c.dk]
- [www.eecs.harvard.edu]
- [research.microsoft.com]
- [ynot.cs.harvard.edu]
- [software.imdea.org]
- DBLP
Other Repositories/Bibliography
| Venue: | In icfp |
| Citations: | 61 - 14 self |
BibTeX
@INPROCEEDINGS{Nanevski06polymorphismand,
author = {Aleksandar Nanevski and Greg Morrisett and Lars Birkedal},
title = {Polymorphism and separation in Hoare type theory},
booktitle = {In icfp},
year = {2006},
pages = {62--73},
publisher = {ACM Press}
}
Years of Citing Articles
OpenURL
Abstract
In previous work we have proposed a Dependent Hoare Type Theory (HTT) as a framework for development and reasoning about higher-order functional programs with effects of state, aliasing and nontermination. The main feature of HTT is the type of Hoare triples {P}x:A{Q} specifying computations with precondition P and postcondition Q, that return a result of type A. Here we extend HTT with predicative type polymorphism. Type quantification is possible in both types and assertions, and we can also quantify over Hoare triples. We show that as a consequence it becomes possible to reason about disjointness of heaps in the assertion logic of HTT. We use this expressiveness to interpret the Hoare triples in the “small footprint ” manner advocated by Separation Logic, whereby a precondition tightly describes the heap fragment required by the computation. We support stateful commands of allocation, lookup, strong update, deallocation, and pointer arithmetic. 1







