Skip to content

tchajed/seplogic-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.