Scenario-Based Proofs for Concurrent Objects | Synapse