An axiomatic basis for computer programming | Synapse