The ribbonproofs package provides a way to draw "ribbon proofs" in LaTeX. 

A ribbon proof is a diagrammatic representation of a mathematical proof that a computer program meets its specification. These diagrams are more human-readable, more scalable, and more easily modified than the corresponding textual proofs. Ribbon proofs were introduced by John Wickerson, Mike Dodds and Matthew Parkinson in a paper entitled "Ribbon Proofs for Separation Logic" and presented at the European Symposium on Programming (ESOP) 2013.