Separation Logic Tutorial [chapter]

Peter O'Hearn
2008 Lecture Notes in Computer Science  
Separation logic is an extension of Hoare's logic for reasoning about programs that manipulate pointers. It is based on the separating conjunction P * Q, which asserts that P and Q hold for separate portions of computer memory. This tutorial on separation logic has three parts. 1. Basics. Concentrating on highlights from the early work [1-4]. 2. Model Theory. The model theory of separation logic evolved from the general resource models of bunched logic [5] [6] [7] , and includes an account of
more » ... ogram dynamics in terms of their interaction with resource [8, 9] . 3. Proof Theory. I will describe those aspects of the proof theory, particularly new entailment questions (frame and anti-frame inference [10, 11] ), which are important for applications in mechanized program verification.
doi:10.1007/978-3-540-89982-2_6 fatcat:thepwytkmje6pmvwffyphwhcfe