From program verification to program synthesis | Synapse