Programming Languages and Systems

Volume 7792 of the series Lecture Notes in Computer Science pp 189-208

Ribbon Proofs for Separation Logic

  • John WickersonAffiliated withTechnische Universität Berlin
  • , Mike DoddsAffiliated withUniversity of York
  • , Matthew ParkinsonAffiliated withMicrosoft Research Cambridge

* Final gross prices may vary according to local VAT.

Get Access


We present ribbon proofs, a diagrammatic system for proving program correctness based on separation logic. Ribbon proofs emphasise the structure of a proof, so are intelligible and pedagogical. Because they contain less redundancy than proof outlines, and allow each proof step to be checked locally, they may be more scalable. Where proof outlines are cumbersome to modify, ribbon proofs can be visually manoeuvred to yield proofs of variant programs. This paper introduces the ribbon proof system, proves its soundness and completeness, and outlines a prototype tool for validating the diagrams in Isabelle.