Basic Proof Theory by Anne S. Troelstra & Helmut Schwichtenberg