Demos for lecture on Separation Logic by O'Hearn from CACM 2019.
  • Rocq Prover 89.1%
  • Makefile 10.9%
Find a file
2024-09-26 14:31:37 -05:00
.github/workflows Bump to Coq 8.20 2024-09-26 14:31:37 -05:00
src Add Alectryon setup 2023-11-16 07:26:33 -06:00
.gitignore Add Alectryon setup 2023-11-16 07:26:33 -06:00
_CoqProject Bump some dependencies 2024-09-26 14:13:34 -05:00
LICENSE Add a license 2023-11-16 08:28:30 -06:00
Makefile Clean alectryon in make clean 2023-11-16 08:25:00 -06:00
README.md Some cleanup throughout examples 2021-12-01 10:55:04 -05:00
seplogic-demo.opam Bump Coq version 2023-11-15 10:36:14 -06:00

Separation logic demos

CI

Some simple examples of (sequential) separation logic, using Iris to give complete proofs. These examples are taken from "Separation Logic" by Peter O'Hearn, from CACM 2019.

The two main examples are:

  • delete_tree.v, which proves that freeing a tree recursively is safe, and
  • binary_search.v, which proves functional correctness of the insert and search procedures for a binary search tree.

extensions.v might also be interesting: it makes these examples a bit more complete by implementing more functions to construct trees, and implements a parallel version of delete_tree whose proof is more or less the same as the sequential version due to the magic of concurrent separation logic.