A program logic for concurrent objects under fair scheduling | Synapse