## Practical tactics for separation logic (2009)

Venue: | In TPHOLs, volume 5674 of LNCS |

Citations: | 7 - 1 self |

### BibTeX

@INPROCEEDINGS{Mccreight09practicaltactics,

author = {Andrew Mccreight},

title = {Practical tactics for separation logic},

booktitle = {In TPHOLs, volume 5674 of LNCS},

year = {2009},

pages = {343--358},

publisher = {Springer}

}

### OpenURL

### Abstract

Abstract. We present a comprehensive set of tactics that make it practical to use separation logic in a proof assistant. These tactics enable the verification of partial correctness properties of complex pointer-intensive programs. Our goal is to make separation logic as easy to use as the standard logic of a proof assistant. We have developed tactics for the simplification, rearranging, splitting, matching and rewriting of separation logic assertions as well as the discharging of a program verification condition using a separation logic description of the machine state. We have implemented our tactics in the Coq proof assistant, applying them to a deep embedding of Cminor, a C-like intermediate language used by Leroy’s verified CompCert compiler. We have used our tactics to verify the safety and completeness of a Cheney copying garbage collector written in Cminor. Our ideas should be applicable to other substructural logics and imperative languages. 1