A Mechanized Relational Logic for Fine-Grained Concurrency and Logical Atomicity
ReLoC is a mechanised logic for interactively proving contextual refinements of programs in a language with higher-order state, fine-grained concurrency, polymorphism and existential and recursive types.
ReLoC is built on top of Iris—a state of the art concurrent separation logic.
examples/bit.v.lib/counter.v.lib/lock.v.experimental/hocap/counter.v and the ticket lock refinement is in
experimental/hocap/ticket_lock.v.lib/Y.v.examples/coinflip.v and the late/early
choice example is in examples/lateearlychoice.v.examples/or.v.examples/stack/refinement.v.examples/various.v.examples/namegen.v, examples/symbol.v, and examples/cell.v.examples/stack_helping/.examples/folly_queue/.