Proving Programs to be Correct | Synapse