Origin in Mathematical Logic

Similar documents
Origin in Mathematical Logic

Lambda Calculus. Yuxi Fu. 31 May, 2013

Lambda Calculus. Andrés Sicard-Ramírez. Semester Universidad EAFIT

Lambda-Calculus (I) 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010

Combinators & Lambda Calculus

The Lambda-Calculus Reduction System

summer school Logic and Computation Goettingen, July 24-30, 2016

Models of computation

Mathematical Logic IV

Programming Language Concepts: Lecture 18

Introduction to λ-calculus

FORMAL SYSTEMS: COMBINATORY LOGIC

Functional Programming with Coq. Yuxin Deng East China Normal University

Advanced Lambda Calculus. Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands

Church s undecidability result

Lecture 2. Lambda calculus. Iztok Savnik, FAMNIT. March, 2018.

3.2 Equivalence, Evaluation and Reduction Strategies

Logic and Probability Lecture 3: Beyond Boolean Logic

Computability via the Lambda Calculus with Patterns

λ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification

Lecture 3. Lambda calculus. Iztok Savnik, FAMNIT. October, 2015.

An Introduction to the Lambda Calculus

Handbook of Logic and Proof Techniques for Computer Science

Completeness Theorems and λ-calculus

Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. Radboud University Nijmegen. March 5, 2012

Lambda Calculus with Types. Henk Barendregt ICIS Radboud University Nijmegen The Netherlands

Rewriting, Explicit Substitutions and Normalisation

Programming Language Concepts: Lecture 16

l-calculus and Decidability

Paradox Machines. Christian Skalka The University of Vermont

Lecture 14 Rosser s Theorem, the length of proofs, Robinson s Arithmetic, and Church s theorem. Michael Beeson

Lazy Strong Normalization

Informal Statement Calculus

On the Standardization Theorem for λβη-calculus

Advanced Lambda Calculus Lecture 5

5. Peano arithmetic and Gödel s incompleteness theorem

Graph lambda theories

TYPED LAMBDA CALCULI. Andrzej S. Murawski University of λeicester.

Classical Combinatory Logic

Peano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

Proofs in classical logic as programs: a generalization of lambda calculus. A. Salibra. Università Ca Foscari Venezia

Notes on the λ-calculus

Intersection and Singleton Type Assignment Characterizing Finite Böhm-Trees

Realisability methods of proof and semantics with application to expansion

The Lambda Calculus. Stephen A. Edwards. Fall Columbia University

Decidability: Church-Turing Thesis

On Upper Bounds on the Church-Rosser Theorem

The Representability of Partial Recursive Functions in Arithmetical Theories and Categories

Part II Logic and Set Theory

Charles Wells 1. February 25, 1999

FIXED POINTS AND EXTENSIONALITY IN TYPED FUNCTIONAL PROGRAMMING LANGUAGES

The Lambda Calculus is Algebraic

Victoria Gitman and Thomas Johnstone. New York City College of Technology, CUNY

Reducibility proofs in λ-calculi with intersection types

On Undefined and Meaningless in Lambda Definability

Introduction to dependent type theory. CIRM, May 30

n-dimensional Boolean algebras

Semantics with Intersection Types

Turing Centenary Lecture

Computability Theory. CS215, Lecture 6,

Simply Typed λ-calculus

Models of Computation,

Kvantifikator för en Dag

Traditional and Non Traditional lambda calculi

Computational Soundness of a Call by Name Calculus of Recursively-scoped Records. UMM Working Papers Series, Volume 2, Num. 3.

Propositional and Predicate Logic - XIII

Small families. (at INRIA with Gérard and in the historical λ-calculus) Jean-Jacques Lévy

Probabilistic Applicative Bisimulation and Call-by-Value Lam

Type Theory and Constructive Mathematics. Type Theory and Constructive Mathematics Thierry Coquand. University of Gothenburg

Propositions as Types

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Model Theory MARIA MANZANO. University of Salamanca, Spain. Translated by RUY J. G. B. DE QUEIROZ

Categories, Proofs and Programs

23.1 Gödel Numberings and Diagonalization

Typed Lambda Calculi. Nikos Tzeveλekos Queen Mary, University of London 1 / 23

Simply Typed Lambda-Calculi (II)

Lecture 11: Gödel s Second Incompleteness Theorem, and Tarski s Theorem

185.A09 Advanced Mathematical Logic

DEGREES OF EXTENSIONALITY IN THE THEORY OF BÖHM TREES AND SALLÉ S CONJECTURE.

Characterizing Polynomial and Exponential Complexity Classes in Elementary Lambda-Calculus

Graph models for the untyped λ-calculus

An Implicit Characterization of PSPACE

arxiv: v1 [cs.lo] 29 May 2014

Using models to model-check recursive schemes

Gödel s Incompleteness Theorem. Overview. Computability and Logic

The Calculus of Inductive Constructions

Lambda Calculus and Types

Review. Principles of Programming Languages. Equality. The Diamond Property. The Church-Rosser Theorem. Corollaries. CSE 230: Winter 2007

Set Theory History. Martin Bunder. September 2015

Introduction to Turing Machines

COMP6463: λ-calculus

Alonzo Church ( ) Lambda Calculus. λ-calculus : syntax. Grammar for terms : Inductive denition for λ-terms

by Yurii Khomskii There is a weaker notion called semi-representability:

Parallel Reduction in Type Free Lambda-mu- Calculus

Lambda Calculus. Week 12 The canonical term models for λ. Henk Barendregt, Freek Wiedijk assisted by Andrew Polonsky

A simplified proof of arithmetical completeness theorem for provability logic GLP

First-Order Logic. 1 Syntax. Domain of Discourse. FO Vocabulary. Terms

258 Handbook of Discrete and Combinatorial Mathematics

Semantics and Verification of Software

Transcription:

Lambda Calculus

Origin in Mathematical Logic Foundation of mathematics was very much an issue in the early decades of 20th century. Cantor, Frege, Russel s Paradox, Principia Mathematica, NBG/ZF

Origin in Mathematical Logic Foundation of mathematics was very much an issue in the early decades of 20th century. Cantor, Frege, Russel s Paradox, Principia Mathematica, NBG/ZF The Combinatory Logic and the λ-calculus were originally proposed as part of foundational systems, which is based on a concept of function rather than a concept of set.

Combinatory Logic Schönfinkel [4Sep.1889-1942, Russian] proposed Combinatory Logic as a variable free presentation of functions [1924]. von Neumann [28Dec.1903-8Feb.1957] used a combinatory notation in his formulation of set theory. Curry [12Sep.1900-1Sep.1982] reinvented Combinatory Logic in an effort to formalize the notion of substitution.

Lambda Calculus Alonzo Church [14Jun.1903-11Aug.1995] invented the λ-calculus with a foundational motivation [1932]. The ambition to provide a foundation for mathematics failed after the discovery of Kleene-Rosser Paradox in the logic part of Church s theory. As a foundation for computation and programming, the functional part of Church s theory has been extremely rich and very successful.

CL/λ was proposed to describe the basic properties of function abstraction, application, substitution. In λ abstraction and substitution are taken as primitive concept. In CL they are defined in terms of more primitive operators.

I. Syntax and Semantics

Lambda Calculus is a functional model of computation.

Syntax Grammar for λ-term: M := x λx.m M M, where x is a variable, λx.m is an abstraction term, and M M is an application term.

Syntax Grammar for λ-term: M := x λx.m M M, where x is a variable, λx.m is an abstraction term, and M M is an application term. λx 1.λx 2... λx k.m is often abbreviated to λx 1 x 2... x k.m or λ x.m, M M to MM, and (... ((MM 1 )M 2 )... M k 1 )M k to MM 1 M 2... M K. Let be the syntactic (grammar) equality.

Operational Semantics Structural Semantics: (λx.m)n M{N/x}, β reduction MN M N, if M M, structural rule MN MN, if N N, eager evaluation λx.m λx.m, if M M, partial evaluation. Let be the reflexive and transitive closure of.

Operational Semantics Structural Semantics: (λx.m)n M{N/x}, β reduction MN M N, if M M, structural rule MN MN, if N N, eager evaluation λx.m λx.m, if M M, partial evaluation. Let be the reflexive and transitive closure of. The conversion relation = is the equivalence closure of.

Bound Variable, Closed Term The variable x in λx.m is bound. (α-conversion) A variable in a term is free if it is not bound. (notation fv(m)) A λ-term is closed if it contains no free variables.

Bound Variable, Closed Term The variable x in λx.m is bound. (α-conversion) A variable in a term is free if it is not bound. (notation fv(m)) A λ-term is closed if it contains no free variables. Λ: the set of λ-terms; Λ 0 : the set of closed λ-terms.

Redex The following reductions make use of α-conversion: (λxy.yxx)((λuv.v)y) λz.z((λuv.v)y)((λuv.v)y) λz.z(λv.v)((λuv.v)y) λz.z(λv.v)(λv.v).

Redex The following reductions make use of α-conversion: (λxy.yxx)((λuv.v)y) λz.z((λuv.v)y)((λuv.v)y) λz.z(λv.v)((λuv.v)y) λz.z(λv.v)(λv.v). An alternative evaluation strategy: (λxy.yxx)((λuv.v)y) (λxy.yxx)(λv.v) λy.y(λv.v)(λv.v).

Redex The following reductions make use of α-conversion: (λxy.yxx)((λuv.v)y) λz.z((λuv.v)y)((λuv.v)y) λz.z(λv.v)((λuv.v)y) λz.z(λv.v)(λv.v). An alternative evaluation strategy: (λxy.yxx)((λuv.v)y) (λxy.yxx)(λv.v) λy.y(λv.v)(λv.v). A subterm of the form (λx.m)n is called a redex.

λ-term as Proof A combinator is a closed λ-term.

λ-term as Proof A combinator is a closed λ-term. Some famous combinators are: I K S def = λx.x, def = λxy.x, def = λxyz.xz(yz). It is easy to see that I = SKK.

λ-term as Proof A combinator is a closed λ-term. Some famous combinators are: I K S def = λx.x, def = λxy.x, def = λxyz.xz(yz). It is easy to see that I = SKK. Logical interpretation of I, K, S.

λ-term as Proof A combinator is a closed λ-term. Some famous combinators are: I K S def = λx.x, def = λxy.x, def = λxyz.xz(yz). It is easy to see that I = SKK. Logical interpretation of I, K, S. Theorem. M Λ 0. L {K, S} +.L M. Proof. This will be an easy consequence of the translations between λ-calculus and Combinatory Logic.

A Term that Generates All Let X be λz.zksk. Then K = XXX and S = X(XX).

A Term that Generates All Let X be λz.zksk. Then K = XXX and S = X(XX). Corollary. M Λ 0. L {X} +.L = M.

Normal Form Let Ω be (λx.xx)(λx.xx). Then Ω Ω Ω... This is the simplest divergent λ-term.

Normal Form Let Ω be (λx.xx)(λx.xx). Then Ω Ω Ω... This is the simplest divergent λ-term. A λ-term M is in normal form if M M for no M. We will show that the normal form of a term is unique.

Fixpoint Lemma. F. X.FX = X.

Fixpoint Lemma. F. X.FX = X. Proof. Define the fixpoint combinator Y by Y def = λf.(λx.f (xx))(λx.f (xx)). It is easily seen that F (YF ) = YF.

Fixpoint Lemma. F. X.FX = X. Proof. Define the fixpoint combinator Y by Y def = λf.(λx.f (xx))(λx.f (xx)). It is easily seen that F (YF ) = YF. However it is not the case that YF F (YF ).

Fixpoint The Turing fixpoint Θ is defined by AA, where A def = λxy.y(xxy). Clearly ΘF F (ΘF ).

Fixpoint Suppose we need to find some F such that Fxy = FyxF. The equality follows from F = λxy.fyxf. So we may let F be a fixpoint of λf.fyxf.

Gödel s Fixpoint Construction Let PA be the first order Peano Arithmetic. We write PA ϕ if ϕ is provable in PA.

Gödel s Fixpoint Construction Let PA be the first order Peano Arithmetic. We write PA ϕ if ϕ is provable in PA. Every syntactic object s of PA can be coded up by a numeral s s in PA, where s is the Gödel number of s.

Gödel s Fixpoint Construction Let PA be the first order Peano Arithmetic. We write PA ϕ if ϕ is provable in PA. Every syntactic object s of PA can be coded up by a numeral s s in PA, where s is the Gödel number of s. Theorem. Let ψ(x) be a formula of PA with free variable x. Then there is a sentence ϕ of PA such that PA ϕ ψ( ϕ ).

Gödel s Fixpoint Construction Write n 1 n 2 if there are sentences φ 1, φ 2 of PA such that n 1 = φ 1, n 2 = φ 2 and PA φ 1 = φ 2. We only have to show that n.n ψ( n ).

Gödel s Fixpoint Construction Write n 1 n 2 if there are sentences φ 1, φ 2 of PA such that n 1 = φ 1, n 2 = φ 2 and PA φ 1 = φ 2. We only have to show that n.n ψ( n ). Let, be a pairing function with de-pairing functions ( ) 0, ( ) 1. Let ( ).( ) be the primitive recursive function such that Let λx.n denote x, n. Then n.m (n) 1 { m / (n) 0 }. (λx. ψ(x)).m = ψ( m ).

Gödel s Fixpoint Construction Write n 1 n 2 if there are sentences φ 1, φ 2 of PA such that n 1 = φ 1, n 2 = φ 2 and PA φ 1 = φ 2. We only have to show that n.n ψ( n ). Let, be a pairing function with de-pairing functions ( ) 0, ( ) 1. Let ( ).( ) be the primitive recursive function such that Let λx.n denote x, n. Then n.m (n) 1 { m / (n) 0 }. (λx. ψ(x)).m = ψ( m ). Let ( ) ( ) be a representation of ( ).( ) in the sense that PA n m = n.m.

Gödel s Fixpoint Construction Now let v = λx. ψ(x x) and n = v.v. We have n = (λx. ψ(x x)).v = ψ( v v ) ψ( v.v ) = ψ( n ).

Gödel s Fixpoint Construction Now let v = λx. ψ(x x) and n = v.v. We have n = (λx. ψ(x x)).v = ψ( v v ) ψ( v.v ) = ψ( n ). We are done by letting n be ϕ.

II. Church-Rosser Property

Church-Rosser Theorem Although the reduction is nondeterministic, it has the following confluence (diamond, Church-Rosser) property: If M M and M M, then some M exists such that M M and M M. In other words the result of evaluating a λ-term is unique.

Proof of Church-Rosser Theorem Define the reduction inductively as follows: (i) M M; (ii) if M M then λx.m λx.m ; (iii) if M M and N N then MN M N ; (iv) if M M and N N then (λx.m)n M {N /x}.

Proof of Church-Rosser Theorem Define the reduction inductively as follows: (i) M M; (ii) if M M then λx.m λx.m ; (iii) if M M and N N then MN M N ; (iv) if M M and N N then (λx.m)n M {N /x}. Fact. If M M and N N then M{N/x} M {N /x}. Fact. satisfies the confluence property. Fact. is the transitive closure of.

Implication of Church-Rosser Theorem Fact. If M = N then M Z and N Z for some Z. Fact. If N is a nf of M then M N. Fact. Every λ-term has at most one nf. Fact. If M, N are distinct nf s, then M N.

Implication of Church-Rosser Theorem Fact. If M = N then M Z and N Z for some Z. Fact. If N is a nf of M then M N. Fact. Every λ-term has at most one nf. Fact. If M, N are distinct nf s, then M N. Theorem. The theory λ is consistent.

III. Combinatory Logic

In Curry s Combinatory Logic (CL) abstraction and substitution are replaced by even more primitive operations.

Syntax Grammar for combinatory term: P := x K S PP, where x is a variable, K, S are constant terms, and PP is an application term. C: the set of combinatory terms. C 0 : the set of closed combinatory terms.

Operational Semantics Structural Semantics: KPQ w P, SPQR w (PR)(QR). The relation w is called weak reduction. w : the reflexive and transitive closure of w. = w : the equivalence closure of w.

Diamond Property Theorem. The relation w satisfies the Church-Rosser property. Proof. Let = be the disjoint parallel weak reduction. It is easy to show that = satisfies the Church-Rosser property. We are done by observing that w is the transitive closure of =.

Diamond Property Theorem. The relation w satisfies the Church-Rosser property. Proof. Let = be the disjoint parallel weak reduction. It is easy to show that = satisfies the Church-Rosser property. We are done by observing that w is the transitive closure of =. Corollary. CL is consistent.

Translation from CL to λ Translation from CL to λ: (x) λ x, (K) λ λxy.x, (S) λ λxyz.xz(yz), (PQ) λ (P) λ (Q) λ. Fact. If P = w Q then (P) λ = (Q) λ.

Translation from CL to λ Translation from CL to λ: (x) λ x, (K) λ λxy.x, (S) λ λxyz.xz(yz), (PQ) λ (P) λ (Q) λ. Fact. If P = w Q then (P) λ = (Q) λ. The converse is not true. For example λ SK = KI, but CL SK = KI. This is why w is called weak reduction.

Translation from λ to CL The operator λ x. is defined inductively as follows: λ x.x SKK, λ x.r KR, if R {K, S} or R is a variable x, λ x.pq S(λ x.p)(λ x.q).

Translation from λ to CL The operator λ x. is defined inductively as follows: λ x.x SKK, λ x.r KR, if R {K, S} or R is a variable x, λ x.pq S(λ x.p)(λ x.q). Fact. (λ x.p)q = w P{Q/x}.

Translation from λ to CL The operator λ x. is defined inductively as follows: λ x.x SKK, λ x.r KR, if R {K, S} or R is a variable x, λ x.pq S(λ x.p)(λ x.q). Fact. (λ x.p)q = w P{Q/x}. Translation from λ to CL: (x) CL x, (MN) CL (M) CL (N) CL, (λx.m) CL λ x.(m) CL.

Translation from λ to CL The operator λ x. is defined inductively as follows: λ x.x SKK, λ x.r KR, if R {K, S} or R is a variable x, λ x.pq S(λ x.p)(λ x.q). Fact. (λ x.p)q = w P{Q/x}. Translation from λ to CL: (x) CL x, (MN) CL (M) CL (N) CL, (λx.m) CL λ x.(m) CL. Fact. ((M) CL ) λ M.

Making CL the Same as λ Curry has showed that the β-conversion of the λ coincides with the weak conversion of CL if the latter is extended with five conversion axioms, one of which being S(K(S(KS)))(S(KS)(S(KS))) = S(S(KS)(S(KK)(S(KS)(S(K(S(KS)))S))))(KS).

Making CL the Same as λ Curry has showed that the β-conversion of the λ coincides with the weak conversion of CL if the latter is extended with five conversion axioms, one of which being S(K(S(KS)))(S(KS)(S(KS))) = S(S(KS)(S(KK)(S(KS)(S(K(S(KS)))S))))(KS). We will not go into that for the obvious reason.

IV. Solvability

1. Given λ-term M, are there λ-terms N 1,..., N n such that MN 1... N n = I? 2. Given λ-terms M and P, are there λ-terms N 1,..., N n such that MN 1... N n = P? 3. Given λ-term M, are there λ-terms N 1,..., N n such that MN 1... N n = N for some nf N?

Definition Suppose M Λ 0. We say that M is solvable if n. N 1,..., N n.mn 1... N n = I. M is unsolvable otherwise. M is (un)solvable if its closure λ x.m is (un)solvable.

Definition Y is solvable since Y(KI) = I. Ω is unsolvable. λ x.ym 1... M k is solvable.

Simple Property of Solvability Fact. λx.m is solvable iff M is solvable. Fact. If MN is solvable then M is solvable. Fact. If M{N/x} is solvable then M is solvable.

Head Normal Form A λ-term is either of the head normal form, hnf for short, λx 1... λx m.xm 1... M n, where x is called head variable, or of the form λx 1... λx m.(λx.m 0 )M 1... M n, where (λx.m 0 )M 1 is called head redex. M has head normal form if M = N for some head normal form N.

Head Reduction A reduction M N is a head reduction, notation M h N, if it is obtained by contracting the head redex. The reflexive and transitive closure of h is denoted by h.

Head Reduction A reduction M N is a head reduction, notation M h N, if it is obtained by contracting the head redex. The reflexive and transitive closure of h is denoted by h. Notice that a λ-term has a unique head reduction path. We say that a head reduction path terminates if it reaches a hnf.

Head Reduction A reduction M N is a head reduction, notation M h N, if it is obtained by contracting the head redex. The reflexive and transitive closure of h is denoted by h. Notice that a λ-term has a unique head reduction path. We say that a head reduction path terminates if it reaches a hnf. Theorem. (Wadsworth, 1971) M has a hnf iff the head reduction path of M terminates. Proof. An immediate corollary of Curry s Standardization Theorem.

Wadsworth Theorem Theorem. (Wadsworth, 1971) M is solvable iff M has a hnf.

Wadsworth Theorem Theorem. (Wadsworth, 1971) M is solvable iff M has a hnf. Proof. If MÑ = I, then MÑ has a hnf. So M has a hnf. The converse implication holds by noticing that λ x.z M is solvable.

Remark Computationally hnf s make more sense than nf s. Denotationally it is difficult to distinguish nf s from those hnf s that are not nf s.

V. Completeness

Church Numeral Church introduced the following encoding of numbers: c n def = λfx.f n (x). Rosser defined the following arithmetic operations: A + A A exp def = λxypq.xp(ypq), def = λxyz.x(yz), def = λxy.yx.

Boolean Term The Boolean values are encoded by: true false def = λxy.x, def = λxy.y. The term if B then M else N is represented by BMN.

Pairing The pairing and projections can be defined as follows: [M, N] π 0 π 1 def = λz.if z then M else N, def = λz.z true, def = λz.z false.

Barendregt Numeral Barendregt introduced the following encoding of natural numbers: 0 n + 1 def = I, def = [false, n ]. We call the normal forms 0, 1, 2,... numerals.

Barendregt Numeral Barendregt introduced the following encoding of natural numbers: 0 n + 1 def = I, def = [false, n ]. We call the normal forms 0, 1, 2,... numerals. The successor, predecessor and test-for-zero can be defined by S + P Zero def = λz.[false, z], def = λz.z false, def = λz.z true.

Lambda Definability A k-ary function f is λ-definable if there is a combinator F such that for all numbers n 1,..., n k one has the following terminating head reduction path F n 1... n k h f (n 1,..., n k ) if f (n 1,..., n k ) is defined, and the following divergent head reduction path if f (n 1,..., n k ) is undefined. F n 1... n k h h h h...

Numerals are Solvable Fact. n. n KII h I.

Definability of Initial Function The zero function, successor function and projection functions are λ-defined respectively by Z S + U k i def = λx 1... x k. 0, def = λx.[false, x], def = λx 1... x k.x i. These terms admit only head reduction.

Definability of Composition Suppose f, g 1 ( x),..., g k ( x) are λ-defined by F, G 1,..., G k. Then f (g 1 ( x),..., g k ( x)) is λ-defined by λ x.(g 1 xkii)... (G k xkii)f (G 1 x)... (G k x).

Definability of Recursion Consider the function f defined by the recursion: f ( x, 0) = h( x), f ( x, y + 1) = g( x, y, f ( x, y)). Suppose h, g are λ-defined by H, G respectively.

Definability of Recursion Consider the function f defined by the recursion: f ( x, 0) = h( x), f ( x, y + 1) = g( x, y, f ( x, y)). Suppose h, g are λ-defined by H, G respectively. Intuitively f is λ-defined by F such that F h λ xy.if Zero(y) then H x else G x(p y)(f x(p y)).

Definability of Recursion Consider the function f defined by the recursion: f ( x, 0) = h( x), f ( x, y + 1) = g( x, y, f ( x, y)). Suppose h, g are λ-defined by H, G respectively. Intuitively f is λ-defined by F such that F h λ xy.if Zero(y) then H x else G x(p y)(f x(p y)). By the Fixpoint Theorem we may define F by Θ ( λf.λ xy.if Zero(y) then H x else G x(p y)(f x(p y)) ).

Definability of Minimization Let H P be defined as follows: H P def = Θ(λhz.if Pz then z else h[false, z]).

Definability of Minimization Let H P be defined as follows: H P def = Θ(λhz.if Pz then z else h[false, z]). If P n h false for all n, then H P 0 h if P 0 then 0 else H P 1 h h h h..., and consequently H P 0 is unsolvable. H P 1 if P 1 then 1 else H P 2 H P 2

Definability of Minimization Suppose g( x, z) is a total recursive function and f ( x) is define by µz.(g( x, z) = 0). Assume that g is λ-defined by G.

Definability of Minimization Suppose g( x, z) is a total recursive function and f ( x) is define by µz.(g( x, z) = 0). Assume that g is λ-defined by G. Then f is λ-defined by F def = λ x.µ λz.zero(g xz) 0.

Kleene Theorem Theorem [Kleene, 1936]. A partial function is computable iff it is λ-definable.

Kleene Theorem Theorem [Kleene, 1936]. A partial function is computable iff it is λ-definable. Proof. Suppose a k-ary function is λ-defined by F. Then the graph set {(n 1,..., n k, m) F n 1... n k = m } is recursive enumerable.

Reference H. Barendregt, 1984. The Lambda Calculus: Its Syntax and Semantics. Volume 103 of Studies in Logic and Foundations of Mathematics, North-Holland.

Reference H. Barendregt, 1984. The Lambda Calculus: Its Syntax and Semantics. Volume 103 of Studies in Logic and Foundations of Mathematics, North-Holland. F. Cardone and J. Hindley, 2009. Lambda Calculus and Combinators in 20th Century. Handbook of the History of Logic (D. Gabbay and J. Woods eds.), Volume 5: Logic from Russel to Church, 723-817, Elsevier.