The Lambda Calculus, Its Syntax and Semantics by H P Barendregt