Goal-Directed Reasoning for Specification-Based Data Structure Repair | Synapse