Synthesizing constraint expressions | Synapse