An inverse of the evaluation functional for typed lambda -calculus

A functional p to e (procedure to expression) that inverts the evaluation functional for typed lambda -terms in any model of typed lambda -calculus containing some basic arithmetic is defined. Combined with the evaluation functional, p to e yields an efficient normalization algorithm. The method is extended to lambda -calculi with constants and is used to normalize (the lambda -representations of) natural deduction proofs of (higher order) arithmetic. A consequence of theoretical interest is a strong completeness theorem for beta eta -reduction. If two lambda -terms have the same value in some model containing representations of the primitive recursive functions (of level 1) then they are probably equal in the beta eta -calculus.<<ETX>>