Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tchajed/seplogic-demo
Demos for lecture on Separation Logic by O'Hearn from CACM 2019.
https://github.com/tchajed/seplogic-demo
coq separation-logic
Last synced: 2 months ago
JSON representation
Demos for lecture on Separation Logic by O'Hearn from CACM 2019.
- Host: GitHub
- URL: https://github.com/tchajed/seplogic-demo
- Owner: tchajed
- License: mit
- Created: 2020-09-28T16:16:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-16T14:40:25.000Z (about 1 year ago)
- Last Synced: 2023-11-16T17:49:00.008Z (about 1 year ago)
- Topics: coq, separation-logic
- Language: Coq
- Homepage: https://tchajed.github.io/seplogic-demo/delete_tree.html
- Size: 69.3 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Separation logic demos
[![CI](https://github.com/tchajed/seplogic-demo/actions/workflows/build.yml/badge.svg)](https://github.com/tchajed/seplogic-demo/actions/workflows/build.yml)
Some simple examples of (sequential) separation logic, using Iris to give
complete proofs. These examples are taken from "[Separation
Logic](https://cacm.acm.org/magazines/2019/2/234356-separation-logic/fulltext)"
by Peter O'Hearn, from CACM 2019.The two main examples are:
- [delete_tree.v](src/delete_tree.v), which proves that freeing a tree
recursively is safe, and
- [binary_search.v](src/binary_search.v), which proves functional correctness of
the insert and search procedures for a binary search tree.[extensions.v](src/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.