Algebraic separation logic

https://doi.org/10.1016/j.jlap.2011.04.003Get rights and content
Under an Elsevier user license
open archive

Abstract

We present an algebraic approach to separation logic. In particular, we give an algebraic characterisation for assertions of separation logic, discuss different classes of assertions and prove abstract laws fully algebraically. After that, we use our algebraic framework to give a relational semantics of the commands of a simple programming language associated with separation logic. On this basis we prove the frame rule in an abstract and concise way, parametric in the operator of separating conjunction, of which two particular variants are discussed. In this we also show how to algebraically formulate the requirement that a command preserves certain variables. The algebraic view does not only yield new insights on separation logic but also shortens proofs due to a point free representation. It is largely first-order and hence enables the use of off-the-shelf automated theorem provers for verifying properties at an abstract level.

Keywords

Formal semantics
Separation logic
Frame rule
Algebra
Semirings
Quantales

Cited by (0)