210 likes | 309 Views
Church's Thesis All Computers Are Created Equal. By: Patrick Goergen COT 4810 Date: 2/12/08. Outline. Snapshot of Time Period Introduction to Church's Thesis Lambda (λ) Calculus & Examples General Recursive Functions and Turing Machines 3 in 1 w/ Recursion Proof & Example
E N D
Church's Thesis All Computers Are Created Equal By: Patrick Goergen COT 4810 Date: 2/12/08
Outline • Snapshot of Time Period • Introduction to Church's Thesis • Lambda (λ) Calculus & Examples • General Recursive Functions and Turing Machines • 3 in 1 w/ Recursion Proof & Example • Halting Problem • Turing Example from Text
Snapshot of Time Period • Major Names of the Era • Herbrand and Gödel - Recursion • Alonzo Church – λ Calculus • Alan Turing – Turing Machine • Stephen Cole Kleene – Equivalence
Church's Thesis Introduction • What does it mean to 'compute'? • “any process or procedure carried out stepwise by well defined rules” (Dewdney, 434) • Church's Answer: ''effective calculability'' • Lambda (λ) Calculus was his way of explaining • Church's thought was: • ''Anything that might fairly be called effectively calculable could be embodied in λ calculus.''(Dewdney, 434)
λ Calculus • ”λ calculus is a procedure for defining functions in terms of λ expressions”(Dewdney, 435) • “The smallest universal programming lang. of the world.”(Rojas, 1)
Rules of λ Calculus • Productions of λ calculus: • <expression> := <name> | <function> | <application> • <function> := λ <name>.<expression> • <application> := <expression><expression> (Rojas, 1) • Two types of variables/names.
λ Calculus Expression • Example of λ Expression • λx.x -> where x is a <name> • Importance? • Applied Example • (λx.x)y = [y/x]x = y • λs.s = λsz.s(z)
λ Calculus Expression • Successor Function • S = λwyx.y(wyx) • Counting • 1 = λsz.s(z) • 2 = λsz.s(s(z)) • 3 = λsz.s(s(s(z))) (Rojas, 1)
λ Calculus Example • Question: • Given: S = λwyx.y(wyx) & 1 = λsz.s(z)Solve for: S1
λ Calculus Example of Counting • S1 = (λwyx.y(wyx))(λsz.s(z)) = λyx.y((λsz.s(z))yx) = λyx.y(y(x)) = 2 (Rojas, 1)
General Recursive Functions And Turing Machines • Turing Machines • Alan Turing • Recursive Functions • Herbrand & Gödel • (Dewdney, 208)
3 in 1 • (Dewdney, 435)
3 in 1 cont... Lambda
Church's Thoughts • Church showed that his own ''λ definable functions yielded the same functions as the recursive functions of Herbrand and Godel'' (Turner, 518-519) • This was almost immediately proven by Kleene. • Generality of the expression.
A Proof that λ Calculus ≡ Recursion Recursive Function defined in λ Calculus: Y = (λy.(λx.y(xx))(λx.y(xx))) YR = (λx.R(xx))(λx.R(xx)) YR = R((λx.R(xx))(λx.R(xx)))) meaning that YR = R(YR) (Rojas, 5)
Halting Problem “The Halting Theorem tells us that unboundedness of the kind needed for computational completeness is effectively inseparable from the possibility of non-termination.” (Turner, 520)
Example • Since we know that Church's λ Calculus is equivalent to Turing's Turing Machine let us take a look at how ''All Computers are Created Equal.'' • Lets represent a RAM Machine with a Turing Machine
Example cont... • (Dewdney, 437)
Program 1 of 12 • (Dewdney, 440)
References Dewdney, A.K.. The New Turing Omnibus. W.H. Freeman and Compant,1993. Rojas, Ra ́l. A Tutorsial Introduction to the Lambda Calculus. FU Berlin. 1998. Turner, David. Church's Thesis and Functional Programming. Church's Thesis after 70 Years. Transaction Book. Piscataway, NJ. 2006.
Homework 1) What two other concepts are equivalent to Church's λ Calculus? 2) Who actually proved that λ Calculus was equivalent to a Turing Machine?