Separation Logic for Sequential Programs

Abstract

This paper presents a simple mechanized formalization of Separation Logic for sequential programs. This formalization is aimed for teaching the ideas of Separation Logic, including its soundness proof and its recent enhancements. The formalization serves as support for a course that follows the style of the successful Software Foundations series, with all the statement and proofs formalized in Coq. This course only assumes basic knowledge of lambda-calculus, semantics and logics, and therefore should be accessible to a broad audience.

Paper

Arthur Charguéraud
ICFP: International Conference on Functional Programming, August 2020
Published in the journal Proceedings of the ACM on Programming Languages (PACMPL)