Explaining abstract counterexamples | Synapse