Similar Items: Simulating reachability using first-order logic with applications to verification of linked data structures