Introduction to Lambda Calculus

ion is said to bind the free variable x in M . E.g. we say that λx.yx has x as bound and y as free variable. Substitution [x := N ] is only performed in the free occurrences of x: yx(λx.x)[x := N ] ≡ yN(λx.x). In calculus there is a similar variable binding. In ∫ b a f(x, y)dx the variable x is bound and y is free. It does not make sense to substitute 7 for x: ∫ b a f(7, y)d7; but substitution for y makes sense: ∫ b a f(x, 7)dx. For reasons of hygiene it will always be assumed that the bound variables that occur in a certain expression are different from the free ones. This can be fulfilled by renaming bound variables. E.g. λx.x becomes λy.y. Indeed, these expressions act the same way: (λx.x)a = a = (λy.y)a and in fact they denote the same intended algorithm. Therefore expressions that differ only in the names of bound variables are identified. 8 Introduction to Lambda Calculus Functions of more arguments Functions of several arguments can be obtained by iteration of application. The idea is due to Schonfinkel (1924) but is often called currying , after H.B. Curry who introduced it independently. Intuitively, if f(x, y) depends on two arguments, one can define Fx = λy.f(x, y), F = λx.Fx. Then (Fx)y = Fxy = f(x, y). (∗) This last equation shows that it is convenient to use association to the left for iterated application: FM1 · · ·Mn denotes (··((FM1)M2) · · ·Mn). The equation (∗) then becomes

[1]  Alan M. Turing,et al.  Computability and λ-definability , 1937, Journal of Symbolic Logic.

[2]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[3]  Robin Milner,et al.  A proposal for standard ML , 1984, LFP '84.

[4]  Hendrik Pieter Barendregt,et al.  A Global Representation of the Recursive Functions in the lambda -Calculus , 1976, Theor. Comput. Sci..

[5]  J. Roger Hindley,et al.  To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism , 1980 .

[6]  H. B. Curry Modified basic functionality in combinatory logic , 1969 .

[7]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[8]  H. Läuchli An Abstract Notion of Realizability for Which Intuitionistic Predicate Calculus is Complete , 1970 .

[9]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[10]  William A. Howard,et al.  The formulae-as-types notion of construction , 1969 .

[11]  A. Church An Unsolvable Problem of Elementary Number Theory , 1936 .

[12]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

[13]  J. Y. Girard,et al.  Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur , 1972 .

[14]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[15]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[16]  de Ng Dick Bruijn,et al.  The mathematical language AUTOMATH, its usage, and some of its extensions , 1970 .

[17]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[18]  M. Schönfinkel Über die Bausteine der mathematischen Logik , 1924 .

[19]  H B Curry,et al.  Functionality in Combinatory Logic. , 1934, Proceedings of the National Academy of Sciences of the United States of America.

[20]  D. Prawitz Natural Deduction: A Proof-Theoretical Study , 1965 .

[21]  R. Hindley The Principal Type-Scheme of an Object in Combinatory Logic , 1969 .