Text this: Fold–unfold lemmas for reasoning about recursive programs using the Coq proof assistant.