Origin in Mathematical Logic

Similar documents
Origin in Mathematical Logic

Lambda Calculus. Yuxi Fu. 31 May, 2013

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

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

Combinators & Lambda Calculus

The Lambda-Calculus Reduction System

Models of computation

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

Introduction to λ-calculus

Mathematical Logic IV

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

Programming Language Concepts: Lecture 18

FORMAL SYSTEMS: COMBINATORY LOGIC

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

Functional Programming with Coq. Yuxin Deng East China Normal University

Church s undecidability result

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

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

Computability via the Lambda Calculus with Patterns

Rewriting, Explicit Substitutions and Normalisation

3.2 Equivalence, Evaluation and Reduction Strategies

On the Standardization Theorem for λβη-calculus

Handbook of Logic and Proof Techniques for Computer Science

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

Logic and Probability Lecture 3: Beyond Boolean Logic

Reducibility proofs in λ-calculi with intersection types

Classical Combinatory Logic

An Introduction to the Lambda Calculus

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

Lazy Strong Normalization

Advanced Lambda Calculus Lecture 5

Completeness Theorems and λ-calculus

5. Peano arithmetic and Gödel s incompleteness theorem

l-calculus and Decidability

On Upper Bounds on the Church-Rosser Theorem

Informal Statement Calculus

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

Categories, Proofs and Programs

Programming Language Concepts: Lecture 16

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

Realisability methods of proof and semantics with application to expansion

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

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

Paradox Machines. Christian Skalka The University of Vermont

Charles Wells 1. February 25, 1999

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

Traditional and Non Traditional lambda calculi

arxiv: v1 [cs.lo] 29 May 2014

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

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

Semantics with Intersection Types

Introduction to dependent type theory. CIRM, May 30

Graph lambda theories

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

n-dimensional Boolean algebras

Notes on the λ-calculus

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

Models of Computation,

Propositional and Predicate Logic - XIII

The Call-by-Need Lambda Calculus

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

Constructive approach to relevant and affine term calculi

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

Part II Logic and Set Theory

Characterizing Polynomial and Exponential Complexity Classes in Elementary Lambda-Calculus

SHARING IN THE WEAK LAMBDA-CALCULUS REVISITED

Infinite λ-calculus and non-sensible models

The Representability of Partial Recursive Functions in Arithmetical Theories and Categories

Turing Centenary Lecture

FIXED POINTS AND EXTENSIONALITY IN TYPED FUNCTIONAL PROGRAMMING LANGUAGES

185.A09 Advanced Mathematical Logic

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

Call-by-value non-determinism in a linear logic type discipline

What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos

Kvantifikator för en Dag

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

The Lambda Calculus is Algebraic

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

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

Non-Idempotent Typing Operators, beyond the λ-calculus

Simply Typed λ-calculus

Beyond First-Order Logic

Propositions as Types

On Undefined and Meaningless in Lambda Definability

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

Decidability: Church-Turing Thesis

Using models to model-check recursive schemes

258 Handbook of Discrete and Combinatorial Mathematics

A Stochastic Lambda-Calculus for Probabilistic Programming

An Implicit Characterization of PSPACE

A Common Notation System for the Lambda-Calculus and Combinatory Logic

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus

An Overview of Residuated Kleene Algebras and Lattices Peter Jipsen Chapman University, California. 2. Background: Semirings and Kleene algebras

Equivalent Computers. Lecture 39: Lambda Calculus. Lambda Calculus. What is Calculus? Real Definition. Why?

Sequent Combinators: A Hilbert System for the Lambda Calculus

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig

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

Computability Theory. CS215, Lecture 6,

The λ-calculus and Curry s Paradox Drew McDermott , revised

Simply Typed Lambda-Calculi (II)

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 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. λ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. 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. Λ: 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). 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, and M{N/x} a reduct of the reduction that contracts the redex.

λ-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). Corollary. M Λ 0. L {X} +.L = M.

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. 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. 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 ). 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 ). 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}. 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. 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 =. 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) λ. 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). 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). 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. 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. 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. 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. 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 µ P be defined as follows: µ P def = Θ(λhz.if Pz then z else h[false, z]). If P n h false for all n, then µ P 0 h if P 0 then 0 else µ P 1 h h h µ P 1 if P 1 then 1 else µ P 2 µ P 2 h..., and consequently µ P 0 is unsolvable.

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. 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.

VI. Finite Development

Relationship between two Redexes Suppose 0 = (λx 0.P 0 )Q 0 and 1 = (λx 1.P 1 )Q 1 are two redexes in a λ-term. Their relationship can be summarized as follows: 0, 1 are disjoint; 0, 1 coincide; 0 is inside P 1 ; 0 is inside Q 1 ; 1 is inside P 0 ; 1 is inside Q 0. Let M 0 M 0 be the reduction by contracting the redex 0. In the reduction the redex 1 may be unaffected, modified, eliminated, duplicated or even contracted. Lemma. is weakly Church-Rosser.

Residual Let be a redex in M. The residuals of after a sequence of reductions M M are what has turned into in M. Let (λa.a(ix))(xb). Consider the following reduction: (λx.xx)a aa, (λx.xx), (λx.y) y, (λx.x) (λx.x)(xb(ix)), (λx. )P (λa.a(ip))(pb), (λa.ax)(xb). It is important to make explicit the contracting redex. See Lévy s example: I(Ix) Ix.

Indexing Reduction An indexed λ-term has some of its λ indexed by natural numbers. Example: (λ 0 x.λy.x((λz 1.zz)K)y)I. Write M idx N if M N for some indexed redex.

Contracting Indexed Redexes Let M be an indexed λ-term. The λ-term M is obtained from M by removing all indexes in M. The operation r( ), defined on the indexed λ-terms, is structurally defined as follows: r(x) x; r(pq) r(p)r(q) if P is not an indexed abstraction; r(λx.p) λx.r(p); r(λ i x.pq) r(p){r(q)/x}. Lemma. Suppose M is an indexed λ-term. Then M r(m).

Strip Lemma Lemma. If M M 1 and M N, then M 1 N 1 and N N 1 for some N 1.

The Second Proof of Church-Rosser Theorem Corollary. The relation satisfies the diamond property.

We now generalize the idea used in the proof of Strip Lemma. The central idea is that idx is strongly normalizing. Divergence is caused by continuous creation of new redexes.

Notation for Residual Let F be a finite set of redex occurrences in M, denoted by F M. The notation (M, F) stands for the indexed λ-term obtained by indexing the redex occurrences prescribed in F by 0. Write (M, F) (N, F ) for the obvious lifting of σ : M N. We call F the residual of F relative to σ, denoted by F/σ = F.

Development Suppose F M. A development of (M, F) is a reduction path σ : M M 0 0 1 M0... such that each redex i M i is the residual of a redex of F relative to 0 +... + i 1. σ : M N is a complete development of (M, F), notation σ : (M, F) cpl N, if σ is a development of (M, F) and F/σ =. A development of M is a development of (M, F M ), where F M is the set of all redex occurrences in M. M dev N iff N occurs in some development of M.

Weighted λ-term A weighted λ-term M is a pair (M, I ) where M is an indexed λ-term and I is a weighting function that assigns a positive integer to each variable occurrence in M. Let M be a weighted λ-term and N M. Define N to be the sum of weights occurring in N. A weighting is decreasing if for every indexed redex (λ i x.p)q in M one has x > Q for every occurrence of x in P. Example: (λ i x.x 6 x 7 )(λx.x 2 x 3 ) and (λ i x.x 4 x 7 )(λx.x 2 x 3 ). Fact. Every indexed λ-term has a decreasing weighting.

Weighted λ-term Lemma. Let M (M, I ) be a weighted λ-term with decreasing weighting I. Suppose M idx N (N, I ). Then and I is a decreasing weighting. M > N

Indexed Reduction is Strongly Normalizing Proposition. idx is strongly normalizing. Proof. Suppose M 0 idx M 1 idx M 2 idx... idx M n. Let I 0 be a decreasing weighting for M 0. Then (M 0, I 0 ) idx (M 1, I 1 ) idx (M 2, I 2 ) idx... idx (M n, I n ) such that (M 0, I 0 ) > (M 1, I 1 ) > (M 2, I 2 ) >... > (M n, I n ).

Finiteness of Development Theorem. Suppose F M. All developments of (M, F) are finite. Corollary. Every development of (M, F) can be extended to a complete one. Corollary. idx is weakly Church-Rosser. Corollary. idx is Church-Rosser. Proof. Use Newman Lemma [WCR SN CR].

Finite Development Theorem Theorem. Suppose F M. All developments of (M, F) are finite. Every development of (M, F) can be extended to a complete development of (M, F). All developments of (M, F) end with the same λ-term.

The Third Proof of Church-Rosser Property Suppose M is an indexed λ-term. Cpl(M) denotes the unique normal form with respect to the indexed reduction. A reduction M N is a complete reduction, notation M l N, if N Cpl(M, F) for some F M. Suppose R R. Then (λx.xx)r l RR, (λx.xx)r l R R, (λx.xx)r l (λx.xx)r, but not (λx.xx)r l RR. Lemma. l satisfies the diamond property. So is Church-Rosser since it is the transitive closure of l.

We have seen that it is often beneficial to adopt some reduction strategy (head reduction, indexed reduction, complete reduction). We take a look at another reduction strategy that can be economically implemented.

Standard Reduction A reduction M 0 0 1 M1 2 M2... is standard if i is not a residual of some redex to the left of j for any j < i. Write M s N if there is some standard reduction from M to N. Example: λa.(λb.(λc.c)bb)d.

Internal Reduction An internal redex is a redex that is not a head redex. A one-step internal reduction M i N is a reduction M N in which the contracted redex is an internal redex. Write M l,i N if M i N that is at the same time a complete reduction. I(Ix) and Ix are internal redexes of M λx.(λz.zz)(i(ix))). Now M i (λz.zz)(ix), M l,i (λz.zz)x, M h λx.(i(ix)))(i(ix))), M h λx.(i(ix))), M l λx.xx.

Decomposition of Complete Reduction Lemma. If M l N then M h l,i N. Proof. By Finite Development Theorem, we can contract all the head redexes first and then all the internal redexes. This is possible because head reduction and internal reduction do not interfere with each other. The latter reduction is also a complete reduction.

Internal Reduction Commutes with Head Reduction Lemma. If M i h N then M h i N. Proof. Suppose M l,i h N. Then by Finite Development Theorem M h i N. By the above decomposition lemma, one has that M h i N. We are done by a simple diagram chase.

Decomposition of Reduction Lemma. If M N then M h i N. Proof. An interleaving of head and internal reductions can be reordered using the previous lemma.

Standardization Theorem Theorem (Curry and Feys, 1958). If M N then M s N. Proof. The proof is carried out by induction on the size of N. By the previous lemma, M h Z i N for some Z. 1. If N is a variable, then Z must be the same variable. 2. If N λ x.n 1... N k then Z λ x.z 1... Z k such that Z j s N j by induction.

An Application of Standardization Theorem Corollary M has hnf iff its head reduction terminates. Proof. Suppose M = λ x.y M. By Church-Rosser Theorem and Standardization Theorem, M s λ x.yñ for some Ñ. The point is that before an internal redex is contracted, the head reduction has already reached a hnf.

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.