story: [Otto] is a man with a son named [Adam]. [John] bought a book for his father [Otto]. [Adam] was happy that his son [James] was doing well in college.
query: ('Adam', 'John')
clean_story: [Otto] is a man with a son named [Adam]. [John] bought a book for his father [Otto].
proof_state: [{('Adam', 'grandson', 'John'): [('Adam', 'son', 'Otto'), ('Otto', 'son', 'John')]}]