A Graphical Tool for Proving Unity Progress

A graphical tool for proving leadsto progress properties of UNITY programs is described. The tool allows a user to draw Directed Acyclic Graphs (DAGs) that outlines the proof of UNITY leadsto progress properties. From these DAGs the tool generates proof scripts that contain proofs of the leadsto properties. Edges in the DAGs are annotated with information that can direct a theorem prover on how to prove the progress properties that they represent. The proof script generated by the tool can be compiled into another proof script which can be checked by a theorem prover. Using this graphical tool it is possible, modulo the strength of the theorem prover, to automatically prove that a program satisfies a leadsto property specified as a DAG which defines the proof structure.