 
Summary: Tactics for Separation Logic
early draft
Andrew W. Appel
INRIA Rocquencourt & Princeton University
January 13, 2006
Abstract
Separation logic is a Hoare logic for programs that
alter pointer data structures. One can do machine
checked separationlogic proofs of interesting pro
grams by a semantic embedding of separation logic
in a higherorder logic such as Coq or Isabelle/HOL.
However, since separation is a linear logicactually,
a mixture of linear and nonlinear logicthe usual
methods that Coq or Isabelle use to manipulate hy
potheses don't work well. On the other hand, one
does not want to duplicate in linear logic the entire
libraries of lemmas and tactics that are an impor
tant strength of the Coq and Isabelle systems. Here
I demonstrate a set of tactics for moving cleanly be
tween classical natural deduction and linear implica
