This repository contains Coq sources for the course "Program logics" given by Xavier Leroy at Collège de France in 2021.
This is work in progress.
An HTML pretty-printing of the commented sources is also available:
-
Variables and loops: Hoare logics
-
Pointers and data structures: separation logic
- Module Seplog: separation logic for the functional/imperative language PTR.
- Library Separation: definitions and properties of heaps and separation logic assertions.
-
Shared-memory concurrency: concurrent separation logic
- Module CSL: concurrent separation logic for the PTR language + parallel and atomic constructs.
-
Hoare monads and Dijkstra monads