Proving the Correctness of Multiprocess Programs | Synapse