Lecture 2: Self-interpretation in the Lambda-calculus
|
|
- Arnold Jenkins
- 5 years ago
- Views:
Transcription
1 Lecture 2: Self-interpretation in the Lambda-calculus H. Geuvers Nijmegen, NL 21st Estonian Winter School in Computer Science Winter 2016 H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 1 / 31
2 Outline Self-interpretation in the Lambda Calculus Self-interpretation in the Lambda Calculus H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 2 / 31
3 More on data types A data type D is a set with some operations (functions) on it. An k-ary operation is a function f : D k D. Thereby a 0-ary operation c : D 0 D is identified with a c D. A datatype is determined by its operations on D: c 1,..., c k0 : D 0 D = D f1 1,..., fk 1 1 : D 1 D f1 2,..., fk 2 2 : D 2 D... Nat has z : Nat, s : Nat Nat. Tree has l : Tree, j : Tree 2 Tree H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 4 / 31
4 Self-interpretation in the Lambda Calculus Defining functions on data types in the lambda-calculus F λ-defines the function f : N N if f (n) = F n for all n: f N N F Λ Λ Can we enode the λ-calculus in itself? F λ-defines the function f : Λ Λ if f (M) = F M M Λ. f Λ Λ for all Λ F Λ Is just the identity? Why is this useful? H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 5 / 31
5 Self-interpretation in the Lambda Calculus Defining functions on codes of lambda-terms Some functions f : Λ Λ can only be defined on codes of terms, not on terms. So we will need to talk about codes. f Λ Λ F Λ Λ Example. There is no λ-term F such that F (M N) = M for all M, N There is a λ-term F such that F M N = M for all M, N. (With a suitable encoding.) We also have an evaluator E: E M = M H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 6 / 31
6 Packing and unpacking λ-terms Given M 1,..., M k, define Define U k i, with 1 i k by M 1,..., M k := λz.z M 1... M k U k i := λx 1... x k.x i Then U k i M 1... M k = M i M 1,..., M k U k i = U k i M 1... M k = M i Note that K = U 2 1 H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 7 / 31
7 Second encoding of data types (Böhm-Piperno-Guerini) Consider the data type D with c : D, f : D D, g : D 2 D The Böhm-Piperno-Guerini coding (also denoted by t ) is c = λe.e U 3 1 e f (t) = λe.e U 3 2 t e g(t 1, t 2 ) = λe.e U 3 3 t 1 t 2 e Proposition. The constructors (c, f, g) can be λ-defined: There are lambda terms F, G such that Proof. Take F t = f (t) G t 1 t 2 = g(t 1, t 2 ) F := λx e.e U 3 2 x e G := λx y e.e U 3 3 x y e. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 8 / 31
8 Recursion Self-interpretation in the Lambda Calculus Theorem. Given A 1, A 2, A 3 Λ there is an H Λ such that Proof. Try H = B 1, B 2, B 3. H c = A 1 H H( f (t) ) = A 2 t H H( g(t 1, t 2 ) ) = A 3 t 1 t 2 H H c = B 1, B 2, B 3 c = c B 1, B 2, B 3 = B 1, B 2, B 3 U 3 1 B 1, B 2, B 3 = B 1 B 1, B 2, B 3 = A 1 B 1, B 2, B 3 if B 1 := λz.a 1 z = A 1 H H f (t) = B 1, B 2, B 3 U 3 2 t B 1, B 2, B 3 = B 2 t B 1, B 2, B 3 = A 2 t H if B 2 := λx z.a 2 x z H g(t 1, t 2 ) = A 3 t 1 t 2 H if B 3 := λx y z.a 3 xy z. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 9 / 31
9 Data type for coding lambda terms To encode λ-terms we consider the data type D with var : app : abs : D D D D D D D This data types is a bit strange: there is no base case. It is a priori unclear how to encode the λ-terms in this data type. How to encode the variable binding? (Later slide.) Like before, we can define the constructors Var, App, Abs: Var := λx e.e U 3 1 x e App := λx y e.e U 3 2 x y e Abs := λx e.e U 3 3 x e H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 10 / 31
10 Recursion for the lambda terms data type Like before, we have a recursion theorem: Theorem I. Given A 1, A 2, A 3 Λ there is an H Λ such that H(Var x) = A 1 x H H(App x y) = A 2 x y H H(Abs x) = A 3 x H Proof. Take H = B 1, B 2, B 3 with B 1 := λx z.a 1 x z B 2 := λx y z.a 2 xy z B 3 := λx z.a 3 x z. Then the equations hold indeed. (Exercise: Check this.). H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 11 / 31
11 Coding of lambda terms Coding lambda terms M M Definition (Mogensen) The coding of λ-terms inside the λ-calculus is defined as follows. x := Var x MN := App M N λx.m := Abs (λx. M ) A variable x is encoded using x itself and abstraction λx. is encoded using the same abstraction λx.. Note: coding is not λ-definable: there is no term C such that C M = M for all M. The reverse operation, evaluation, is λ-definable. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 12 / 31
12 Self-interpretation Theorem. There exists a λ-term E (evaluator) such that for all M Λ E M = M Proof. By recursion we can find an E such that Then E(Var x) = x E(App x y) = E x (E y) E(Abs x) = λz.e (x z) E( x ) = E(Var x) = x E( MN ) = E(App M N ) = E M (E N ) = MN E( λx.m ) = E(Abs(λx. M )) = λx.e M = λx.m. Filling in the details of E one has (writing C := λx y z.x z y) E = K, S, C. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 13 / 31
13 Why is this encoding so cool? There are many encoding of Λ in itself. Why is this one so nice? Older ones all go through a coding of λ-terms as numbers: : Λ N Λ. This one is direct, uses λ for λ-abstraction. E M M, also for terms with free variables. E = K, S, C, the initials of S.C. Kleene, one of the founders of the subject! M 1 α M 2 M 1 α M 2. M 1 α M 2 M 1 β M 2. One can define a term R with R M N, if M has N as normal form. There is a Second Fixed Point Theorem (later) H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 14 / 31
14 Recursion for lambda terms using the encoding We can state the recursion theorem for the encoded lambda terms slightly differently, as follows. Theorem II. Given A 1, A 2, A 3 Λ there is an H Λ such that H x = A 1 x H H M N = A 2 M N H H λx.m = A 3 (λx. M ) H Proof. According to Theorem I, there is an H satisfying H(Var x) = A 1 x H H(App x y) = A 2 x y H H(Abs x) = A 3 x H These equations immediately imply the ones of the statement of Theorem II (check this!), so the same H suffices.. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 15 / 31
15 Application 1 Self-interpretation in the Lambda Calculus If you see someone coming out of arrivals in an airport, you cannot determine where he/she comes from. Similarly, there is no F such that for all X, Y Λ F (X Y ) = X (Given the outcome of applying a function on an argument, there is no way we can determine the function that produced this outcome.) Proposition. There exists an F i Λ, i {1, 2} such that F i X 1 X 2 = X i. Proof. We do this for i = 1. By the Recursion Theorem II, there exists F 1 s.t. F 1 ( X 1 X 2 ) = A 2 X 1 X 2 F 1 = X 1, taking A 2 = U 3 1. This suffices. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 16 / 31
16 Second fixed point theorem Lemma. There exists a term Num Λ such that for all M Λ Num M = β Proof. Use recursion (Theorem I) for the lambda calculus data type with M A 1 x N = App Var (Var x) A 2 m n N = App (App App (N m))(n n) A 3 m N = App Abs (Abs (λx.n(m x))) Second fixed point theorem. For all F there is an X with F X = β X Proof. Let W := λz.f (App z(num z)) and X := W W. Then X = W W = F (App W (Num W ) = F (App W W ) = F W W = F X. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 17 / 31
17 Application 2 Self-interpretation in the Lambda Calculus Self-modifying programs For a given T (the program transformer) there exists a program P such that P c k = c k+1 if k is even, = T P c k otherwise. On even inputs, P performs a standard operation (adding 1) On odd inputs, the program P first modifies its own code using T. To find P, apply the second fixed-point theorem to F := λp x.if (Even x) then (x + 1) else(t p x) H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 18 / 31
18 Lambda-terms themselves are black boxes There is no λ-term F such that F (M N) = M for all M, N There is no λ-term F such that F (M N) = N for all M, N On the other hand, we can compute with the codes of λ-terms There is a λ-term F such that F M N = M for all M, N. There is a λ-term F such that F M N = N for all M, N. We also have an evaluator E: E M = M H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 20 / 31
19 Analogy with programming program text p Text inspect, edit,... compiler executable ˆp Black box input/output ( call ) pass around p : In ˆp Out H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 21 / 31
20 Universal programmable machine Specification of a universal (programmable) machine U: p : U ˆp(x) x Reflection over the programs / programming language: What functions (programs) can we write on program text? H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 22 / 31
21 Programs about programs Examples of programs one can write p : M 1 true if p contains a while false if p contains no while p : M 2 true if p 1000 false if p > 1000 What about this?? p : M 3 true if ˆp halts on all inputs false if ˆp diverges on some input H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 23 / 31
22 The Halting problem is undecidable Theorem It is impossible to write a program H with the following specification p : H true if ˆp halts on x false if ˆp diverges on x x The undecidability of the Halting Problem was first proven by Turing, for his Turing machines. We will prove it for the λ-calculus. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 24 / 31
23 Remember recursion for lambda terms using encoding Theorem II. Given A 1, A 2, A 3 Λ there is an H Λ such that Example There is a λ-term C satisfying H x = A 1 x H H M N = A 2 M N H H λx.m = A 3 (λx. M ) H C x = c 0 C M N = c 1 C λx.m = c 2 Proof Just take A 1 := λxy.c 0, A 2 := λxyz.c 1 and A 3 := λxy.c 2. Exercise: Write a function R that checks whether a code of a term is a redex. (So: R M = T if M is a redex and R M = F if M is not a redex.) H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 25 / 31
24 We need to compute with codes Recall that T = λx y.x and F = λx y.y. The following are impossible to define with λ-terms themselves. There is no term G satisfying G M = T if M has a normal form G M = F if M has no normal form There is no term H (compare the Halting problem) satisfying H M N = T if M N has a normal form H M N = F if M N has no normal form That these are impossible is not surprising: we can t look inside a black box. What if we recast these question with coded λ-terms? H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 26 / 31
25 The Halting problem for λ-calculus The Halting problem is undecidable (λ-calculus version): Theorem There is no term H satisfying H M N = T if M N has a normal form H M N = F if M N has no normal form Proof Suppose H exists, Consider Then Q := λx.h x x Ω T Q Q = H Q Q Ω T { TΩ T = Ω if Q Q has a normal form = FΩ T = T if Q Q has no normal form Contradiction. So H doesn t exist. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 27 / 31.
26 The Blank tape problem for λ-calculus Theorem There is no term B satisfying B M = T if M has a normal form B M = F if M has no normal form Proof Suppose B exists, Consider Q := λx.b x Ω T By the second fixed point theorem, there is a R such that Q R = R, that is B R Ω T = R. Now we have R = B R Ω T = T Ω T = Ω if R has a normal form = F Ω T = T if R has no normal form Contradiction. So B doesn t exist. (NB. There may be a proof by reducing H to B; I didn t see it.) H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 28 / 31
27 Some other terms one can(not) write Example There is a term L satisfying L M = c n if n is the number of λ s inside M Example There is a term V satisfying V M = T if M is of the shape x P 1... P n for some n, P, V M = F if M is not of the shape x P 1... P n. Example There is no term H satisfying H M N = T if M N has a normal form H M N = F if M N has no normal form Proof Reduce B to H. (Show that, if H exists, then we can also define B.) H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 29 / 31
28 Scott s theorem The impossibility (undecidability) results we have seen are all instances of a general theorem due to Scott. We phrase it here purely in terms of λ calculus. We assume a coding function : Λ Λ for which we have λ-terms App and Num satisfying App M N = M N Num M = M Definition Two disjoint subsets of Λ, A, B Λ are separable if there is a λ-term F such that F M = T/F for every M and M A F M = T M B F M = F Theorem (Scott) If A, B are non-empty and closed under = β, then they are not separable. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 30 / 31
29 Proof of Scott s theorem Let A, B Λ closed under = β and say a A and b B. Suppose: F separates A and B, so F M = T/F for every M and We define M A F M = T M B F M = F H := λy.if F (App y (Num y)) then b else a and we consider J := H H : J = H H = if F (App H (Num H )) then b else a = if F ( H H ) then b else a { b iff H H A = a iff H H B This is a contradiction. So F doesn t exist. H. Geuvers - Radboud Univ. EWSCS 2016 Self-interpretation in λ-calculus 31 / 31
Advanced Lambda Calculus. Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands
Advanced Lambda Calculus Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands Form of the course Ordinary lecture Seminar form Exam: working out an exercise
More informationComputability and Complexity
Computability and Complexity Lecture 5 Reductions Undecidable problems from language theory Linear bounded automata given by Jiri Srba Lecture 5 Computability and Complexity 1/14 Reduction Informal Definition
More informationIntroduction to Turing Machines. Reading: Chapters 8 & 9
Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages
More informationPROOFS IN PREDICATE LOGIC AND COMPLETENESS; WHAT DECIDABILITY MEANS HUTH AND RYAN 2.3, SUPPLEMENTARY NOTES 2
PROOFS IN PREDICATE LOGIC AND COMPLETENESS; WHAT DECIDABILITY MEANS HUTH AND RYAN 2.3, SUPPLEMENTARY NOTES 2 Neil D. Jones DIKU 2005 12 September, 2005 Some slides today new, some based on logic 2004 (Nils
More informationIntroduction to Turing Machines
Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability
More informationMapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:
Mapping Reducibility 2017/11/16 Chapter 5.3 in Sipser Ø Announcement: q Slides for this lecture are here: http://www.public.asu.edu/~yzhan442/teaching/cse355/lectures/mapping.pdf 1 Last time Reducibility
More informationComputability Crib Sheet
Computer Science and Engineering, UCSD Winter 10 CSE 200: Computability and Complexity Instructor: Mihir Bellare Computability Crib Sheet January 3, 2010 Computability Crib Sheet This is a quick reference
More informationProgramming Languages
CSE 230: Winter 2010 Principles of Programming Languages Lecture 10: Programming in λ-calculusc l l Ranjit Jhala UC San Diego Review The lambda calculus is a calculus of functions: e := x λx. e e 1 e 2
More informationThere are two main techniques for showing that problems are undecidable: diagonalization and reduction
Reducibility 1 There are two main techniques for showing that problems are undecidable: diagonalization and reduction 2 We say that a problem A is reduced to a problem B if the decidability of A follows
More informationDecidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff
Decidability Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff 1 A property P of strings is said to be decidable if the set of all strings having property P is a recursive set; that
More informationuring Reducibility Dept. of Computer Sc. & Engg., IIT Kharagpur 1 Turing Reducibility
uring Reducibility Dept. of Computer Sc. & Engg., IIT Kharagpur 1 Turing Reducibility uring Reducibility Dept. of Computer Sc. & Engg., IIT Kharagpur 2 FINITE We have already seen that the language FINITE
More information16.1 Countability. CS125 Lecture 16 Fall 2014
CS125 Lecture 16 Fall 2014 16.1 Countability Proving the non-existence of algorithms for computational problems can be very difficult. Indeed, we do not know how to prove P NP. So a natural question is
More information(a) Definition of TMs. First Problem of URMs
Sec. 4: Turing Machines First Problem of URMs (a) Definition of the Turing Machine. (b) URM computable functions are Turing computable. (c) Undecidability of the Turing Halting Problem That incrementing
More informationλ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification
Content COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Toby Murray, June Andronick, Gerwin Klein λ Slide 1 Intro & motivation, getting started [1] Foundations & Principles Lambda
More information7. The Recursion Theorem
7. The Recursion Theorem Main result in this section: Kleene s Recursion Theorem. Recursive functions are closed under a very general form of recursion. For the proof we will use the S-m-n-theorem. Used
More informationLecture Notes: The Halting Problem; Reductions
Lecture Notes: The Halting Problem; Reductions COMS W3261 Columbia University 20 Mar 2012 1 Review Key point. Turing machines can be encoded as strings, and other Turing machines can read those strings
More informationType Systems. Today. 1. What is the Lambda Calculus. 1. What is the Lambda Calculus. Lecture 2 Oct. 27th, 2004 Sebastian Maneth
Today 1. What is the Lambda Calculus? Type Systems 2. Its Syntax and Semantics 3. Church Booleans and Church Numerals 4. Lazy vs. Eager Evaluation (call-by-name vs. call-by-value) Lecture 2 Oct. 27th,
More informationCS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus
CS 4110 Programming Languages & Logics Lecture 16 Programming in the λ-calculus 30 September 2016 Review: Church Booleans 2 We can encode TRUE, FALSE, and IF, as: TRUE λx. λy. x FALSE λx. λy. y IF λb.
More informationDecidability: Church-Turing Thesis
Decidability: Church-Turing Thesis While there are a countably infinite number of languages that are described by TMs over some alphabet Σ, there are an uncountably infinite number that are not Are there
More informationElement x is R-minimal in X if y X. R(y, x).
CMSC 22100/32100: Programming Languages Final Exam M. Blume December 11, 2008 1. (Well-founded sets and induction principles) (a) State the mathematical induction principle and justify it informally. 1
More informationInformal Statement Calculus
FOUNDATIONS OF MATHEMATICS Branches of Logic 1. Theory of Computations (i.e. Recursion Theory). 2. Proof Theory. 3. Model Theory. 4. Set Theory. Informal Statement Calculus STATEMENTS AND CONNECTIVES Example
More informationDecidability and Undecidability
Decidability and Undecidability Major Ideas from Last Time Every TM can be converted into a string representation of itself. The encoding of M is denoted M. The universal Turing machine U TM accepts an
More informationReview. Principles of Programming Languages. Equality. The Diamond Property. The Church-Rosser Theorem. Corollaries. CSE 230: Winter 2007
CSE 230: Winter 2007 Principles of Programming Languages Lecture 12: The λ-calculus Ranjit Jhala UC San Diego Review The lambda calculus is a calculus of functions: e := x λx. e e 1 e 2 Several evaluation
More informationProgramming Language Concepts: Lecture 18
Programming Language Concepts: Lecture 18 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2009 PLC 2009, Lecture 18, 30 March 2009 One step reduction
More informationCS20a: Turing Machines (Oct 29, 2002)
CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Church s thesis The computable functions are the same as the partial recursive
More informationLecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009
CS 373: Theory of Computation Sariel Har-Peled and Madhusudan Parthasarathy Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009 This lecture covers Rice s theorem, as well as
More informationTuring Machine Recap
Turing Machine Recap DFA with (infinite) tape. One move: read, write, move, change state. High-level Points Church-Turing thesis: TMs are the most general computing devices. So far no counter example Every
More informationType Systems. Lecture 2 Oct. 27th, 2004 Sebastian Maneth.
Type Systems Lecture 2 Oct. 27th, 2004 Sebastian Maneth http://lampwww.epfl.ch/teaching/typesystems/2004 Today 1. What is the Lambda Calculus? 2. Its Syntax and Semantics 3. Church Booleans and Church
More informationCITS2211 Discrete Structures (2017) Cardinality and Countability
CITS2211 Discrete Structures (2017) Cardinality and Countability Highlights What is cardinality? Is it the same as size? Types of cardinality and infinite sets Reading Sections 45 and 81 84 of Mathematics
More informationTURING MAHINES
15-453 TURING MAHINES TURING MACHINE FINITE STATE q 10 CONTROL AI N P U T INFINITE TAPE read write move 0 0, R, R q accept, R q reject 0 0, R 0 0, R, L read write move 0 0, R, R q accept, R 0 0, R 0 0,
More informationCMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems
CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems Valentine Kabanets September 13, 2007 1 Complexity Classes Unless explicitly stated,
More informationCA320 - Computability & Complexity
CA320 - Computability & Complexity David Sinclair Overview In this module we are going to answer 2 important questions: Can all problems be solved by a computer? What problems be efficiently solved by
More informationLecture 14 Rosser s Theorem, the length of proofs, Robinson s Arithmetic, and Church s theorem. Michael Beeson
Lecture 14 Rosser s Theorem, the length of proofs, Robinson s Arithmetic, and Church s theorem Michael Beeson The hypotheses needed to prove incompleteness The question immediate arises whether the incompleteness
More informationADVANCED CALCULUS - MTH433 LECTURE 4 - FINITE AND INFINITE SETS
ADVANCED CALCULUS - MTH433 LECTURE 4 - FINITE AND INFINITE SETS 1. Cardinal number of a set The cardinal number (or simply cardinal) of a set is a generalization of the concept of the number of elements
More informationCS481F01 Solutions 8
CS481F01 Solutions 8 A. Demers 7 Dec 2001 1. Prob. 111 from p. 344 of the text. One of the following sets is r.e. and the other is not. Which is which? (a) { i L(M i ) contains at least 481 elements }
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationThe Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability
The Turing Machine Computability Motivating idea Build a theoretical a human computer Likened to a human with a paper and pencil that can solve problems in an algorithmic way The theoretical provides a
More informationCSE 105 Theory of Computation
CSE 105 Theory of Computation http://www.jflap.org/jflaptmp/ Professor Jeanne Ferrante 1 Undecidability Today s Agenda Review: The TM Acceptance problem, A TM The Halting Problem for TM s Other problems
More informationNICTA Advanced Course. Theorem Proving Principles, Techniques, Applications
NICTA Advanced Course Theorem Proving Principles, Techniques, Applications λ 1 CONTENT Intro & motivation, getting started with Isabelle Foundations & Principles Lambda Calculus Higher Order Logic, natural
More informationCSCE 551 Final Exam, Spring 2004 Answer Key
CSCE 551 Final Exam, Spring 2004 Answer Key 1. (10 points) Using any method you like (including intuition), give the unique minimal DFA equivalent to the following NFA: 0 1 2 0 5 1 3 4 If your answer is
More informationTheory of Computation
Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 14: Applications of PCP Goal of this Lecture Our goal is to present some typical undecidability
More informationPeano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now
CSC 438F/2404F Notes (S. Cook) Fall, 2008 Peano Arithmetic Goals Now 1) We will introduce a standard set of axioms for the language L A. The theory generated by these axioms is denoted PA and called Peano
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. May 11/13, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationPredicate Logic - Undecidability
CS402, Spring 2016 Undecidable Problems Does the following program halts? (1) N : n, total, x, y, z (2) n GetUserInput() (3) total 3 (4) while true (5) for x 1 to total 2 (6) for y 1 to total x 1 (7) z
More informationType Systems Winter Semester 2006
Type Systems Winter Semester 2006 Week 7 November 29 November 29, 2006 - version 1.0 Plan PREVIOUSLY: 1. type safety as progress and preservation 2. typed arithmetic expressions 3. simply typed lambda
More information3.2 Equivalence, Evaluation and Reduction Strategies
3.2 Equivalence, Evaluation and Reduction Strategies The λ-calculus can be seen as an equational theory. More precisely, we have rules i.e., α and reductions, for proving that two terms are intensionally
More informationIntroduction to Type Theory February 2008 Alpha Lernet Summer School Piriapolis, Uruguay. Herman Geuvers Nijmegen & Eindhoven, NL
Introduction to Type Theory February 2008 Alpha Lernet Summer School Piriapolis, Uruguay Herman Geuvers Nijmegen & Eindhoven, NL Lecture 5: Higher Order Logic and the Calculus of Constructions 1 Church
More information7. The Recursion Theorem
7. The Recursion Theorem Main result in this section: Kleene s Recursion Theorem. Recursive functions are closed under a very general form of recursion. For proof we will use the S-m-n-theorem. Used in
More informationUndecidable Problems and Reducibility
University of Georgia Fall 2014 Reducibility We show a problem decidable/undecidable by reducing it to another problem. One type of reduction: mapping reduction. Definition Let A, B be languages over Σ.
More informationTuring Machines, diagonalization, the halting problem, reducibility
Notes on Computer Theory Last updated: September, 015 Turing Machines, diagonalization, the halting problem, reducibility 1 Turing Machines A Turing machine is a state machine, similar to the ones we have
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION "Winter" 2018 http://cseweb.ucsd.edu/classes/wi18/cse105-ab/ Today's learning goals Sipser Ch 4.2 Trace high-level descriptions of algorithms for computational problems. Use
More informationThe Lambda Calculus. Stephen A. Edwards. Fall Columbia University
The Lambda Calculus Stephen A. Edwards Columbia University Fall 2014 Lambda Expressions Function application written in prefix form. Add four and five is (+ 4 5) Evaluation: select a redex and evaluate
More informationΓ is usually left implicit: ϕ
Types Summer School Gothenburg Sweden August 2005 Type Systems Herman Geuvers Radboud University Nijmegen, NL Lecture 2: Higher Order Logic and Type Theory The original motivation of Church to introduce
More information7. The Recursion Theorem
7. The Recursion Theorem Main result in this section: Kleene s Recursion Theorem. Recursive functions are closed under a very general form of recursion. For proof we will use the S-m-n-theorem. Used in
More informationComputability Theory. CS215, Lecture 6,
Computability Theory CS215, Lecture 6, 2000 1 The Birth of Turing Machines At the end of the 19th century, Gottlob Frege conjectured that mathematics could be built from fundamental logic In 1900 David
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. April 18/ May 2, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationReductions in Computability Theory
Reductions in Computability Theory Prakash Panangaden 9 th November 2015 The concept of reduction is central to computability and complexity theory. The phrase P reduces to Q is often used in a confusing
More informationComplexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler
Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard
More informationOutline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität
More informationhighlights proof by contradiction what about the real numbers?
CSE 311: Foundations of Computing Fall 2013 Lecture 27: Turing machines and decidability highlights Cardinality A set S is countableiffwe can writeit as S={s 1, s 2, s 3,...} indexed by N Set of rationals
More informationType Systems. Lecture 9: Classical Logic. Neel Krishnaswami University of Cambridge
Type Systems Lecture 9: Classical Logic Neel Krishnaswami University of Cambridge Where We Are We have seen the Curry Howard correspondence: Intuitionistic propositional logic Simply-typed lambda calculus
More informationCSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY
CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY RYAN DOUGHERTY If we want to talk about a program running on a real computer, consider the following: when a program reads an instruction,
More informationDecidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:
Decidability 2017/10/31 Chapter 4.1 in Sipser Ø Announcement: q q q Slides for this lecture are here: http://www.public.asu.edu/~yzhan442/teaching/cse355/lectures/decidability.pdf Happy Hollaween! Delayed
More informationComputational Models Lecture 8 1
Computational Models Lecture 8 1 Handout Mode Nachum Dershowitz & Yishay Mansour. Tel Aviv University. May 17 22, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice
More informationComputable Functions
Computable Functions Part I: Non Computable Functions Computable and Partially Computable Functions Computable Function Exists a Turing Machine M -- M Halts on All Input -- M(x) = f (x) Partially Computable
More informationLecture 9: The Recursion Theorem. Michael Beeson
Lecture 9: The Recursion Theorem Michael Beeson The problem of computing by recursion We still have not provided completely convincing evidence that every intuitively computable function is Turing computable,
More informationDomain theory and denotational semantics of functional programming
Domain theory and denotational semantics of functional programming Martín Escardó School of Computer Science, Birmingham University MGS 2007, Nottingham, version of April 20, 2007 17:26 What is denotational
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 15 Ana Bove May 17th 2018 Recap: Context-free Languages Chomsky hierarchy: Regular languages are also context-free; Pumping lemma
More informationChurch s undecidability result
Church s undecidability result Alan Turing Birth Centennial Talk at IIT Bombay, Mumbai Joachim Breitner April 21, 2011 Welcome, and thank you for the invitation to speak about Church s lambda calculus
More informationTyped Arithmetic Expressions
Typed Arithmetic Expressions CS 550 Programming Languages Jeremy Johnson TAPL Chapters 3 and 5 1 Types and Safety Evaluation rules provide operational semantics for programming languages. The rules provide
More informationELEMENTS IN MATHEMATICS FOR INFORMATION SCIENCE NO.6 TURING MACHINE AND COMPUTABILITY. Tatsuya Hagino
1 ELEMENTS IN MATHEMATICS FOR INFORMATION SCIENCE NO.6 TURING MACHINE AND COMPUTABILITY Tatsuya Hagino hagino@sfc.keio.ac.jp 2 So far Computation flow chart program while program recursive function primitive
More informationTheory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem
Theory of Computer Science May 2, 2018 D7. Halting Problem and Reductions Theory of Computer Science D7. Halting Problem and Reductions Gabriele Röger University of Basel May 2, 2018 D7.1 Introduction
More informationMathematical Foundations of Programming. Nicolai Kraus. Draft of February 15, 2018
Very short lecture notes: Mathematical Foundations of Programming University of Nottingham, Computer Science, module code G54FOP, Spring 2018 Nicolai Kraus Draft of February 15, 2018 What is this? This
More informationV Honors Theory of Computation
V22.0453-001 Honors Theory of Computation Problem Set 3 Solutions Problem 1 Solution: The class of languages recognized by these machines is the exactly the class of regular languages, thus this TM variant
More informationComplete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in
Oracle Turing Machines Nondeterministic OTM defined in the same way (transition relation, rather than function) oracle is like a subroutine, or function in your favorite PL but each call counts as single
More informationVerifying whether One-Tape Turing Machines Run in Linear Time
Electronic Colloquium on Computational Complexity, Report No. 36 (2015) Verifying whether One-Tape Turing Machines Run in Linear Time David Gajser IMFM, Jadranska 19, 1000 Ljubljana, Slovenija david.gajser@fmf.uni-lj.si
More informationLecture 3. Lambda calculus. Iztok Savnik, FAMNIT. October, 2015.
Lecture 3 Lambda calculus Iztok Savnik, FAMNIT October, 2015. 1 Literature Henk Barendregt, Erik Barendsen, Introduction to Lambda Calculus, March 2000. Lambda calculus Leibniz had as ideal the following
More information(i) By Corollary 1.3 (a) on P. 88, we know that the predicate. Q(x, y, z) S 1 (x, (z) 1, y, (z) 2 )
COMPUTABILITY: ANSWERS TO SOME EXERCISES IN CHAPTER 5 AND 6 5.1.5, P. 90. 1. This exercise is important for several reasons. For example, it tells us that taking inverses is an effect operation; see Example
More informationLecture 13: Turing Machine
Lecture 13: Turing Machine Instructor: Ketan Mulmuley Scriber: Yuan Li February 19, 2015 Turing machine is an abstract machine which in principle can simulate any computation in nature. Church-Turing Thesis:
More informationFORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY THURSDAY APRIL 3 REVIEW for Midterm TUESDAY April 8 Definition: A Turing Machine is a 7-tuple T = (Q, Σ, Γ, δ, q, q accept, q reject ), where: Q is a
More informationDR.RUPNATHJI( DR.RUPAK NATH )
Contents 1 Sets 1 2 The Real Numbers 9 3 Sequences 29 4 Series 59 5 Functions 81 6 Power Series 105 7 The elementary functions 111 Chapter 1 Sets It is very convenient to introduce some notation and terminology
More informationSection 14.1 Computability then else
Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible algorithms. Example (Turing machines). Associate
More informationLimits of Computability
Limits of Computability Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner
More information1 The decision problem for First order logic
Math 260A Mathematical Logic Scribe Notes UCSD Winter Quarter 2012 Instructor: Sam Buss Notes by: James Aisenberg April 27th 1 The decision problem for First order logic Fix a finite language L. Define
More informationOrigin in Mathematical Logic
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
More informationElementary Recursive Function Theory
Chapter 9 Elementary Recursive Function Theory 9.1 Acceptable Indexings In a previous Section, we have exhibited a specific indexing of the partial computable functions by encoding the RAM programs. Using
More informationA Universal Turing Machine
A Universal Turing Machine A limitation of Turing Machines: Turing Machines are hardwired they execute only one program Real Computers are re-programmable Solution: Universal Turing Machine Attributes:
More information6.045J/18.400J: Automata, Computability and Complexity. Quiz 2. March 30, Please write your name in the upper corner of each page.
6.045J/18.400J: Automata, Computability and Complexity March 30, 2005 Quiz 2 Prof. Nancy Lynch Please write your name in the upper corner of each page. Problem Score 1 2 3 4 5 6 Total Q2-1 Problem 1: True
More informationTHE AUSTRALIAN NATIONAL UNIVERSITY Second Semester COMP2600 (Formal Methods in Software Engineering)
THE AUSTRALIAN NATIONAL UNIVERSITY Second Semester 2007 COMP2600 (Formal Methods in Software Engineering) Writing Period: 3 hours duration Study Period: 15 minutes duration Permitted Materials: None Answer
More information1 Showing Recognizability
CSCC63 Worksheet Recognizability and Decidability 1 1 Showing Recognizability 1.1 An Example - take 1 Let Σ be an alphabet. L = { M M is a T M and L(M) }, i.e., that M accepts some string from Σ. Prove
More informationT (s, xa) = T (T (s, x), a). The language recognized by M, denoted L(M), is the set of strings accepted by M. That is,
Recall A deterministic finite automaton is a five-tuple where S is a finite set of states, M = (S, Σ, T, s 0, F ) Σ is an alphabet the input alphabet, T : S Σ S is the transition function, s 0 S is the
More informationCSCI 490 problem set 6
CSCI 490 problem set 6 Due Tuesday, March 1 Revision 1: compiled Tuesday 23 rd February, 2016 at 21:21 Rubric For full credit, your solutions should demonstrate a proficient understanding of the following
More informationDecision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012
Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM
More informationNormalization by Evaluation
Normalization by Evaluation Andreas Abel Department of Computer Science and Engineering Chalmers and Gothenburg University PhD Seminar in Mathematical Engineering EAFIT University, Medellin, Colombia 9
More informationWarm-Up Problem. Please fill out your Teaching Evaluation Survey! Please comment on the warm-up problems if you haven t filled in your survey yet.
Warm-Up Problem Please fill out your Teaching Evaluation Survey! Please comment on the warm-up problems if you haven t filled in your survey yet Warm up: Given a program that accepts input, is there an
More informationTuring Machines Part III
Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's
More informationStatic Program Analysis
Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem
More informationUndecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65
Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving
More informationLecture 11: Gödel s Second Incompleteness Theorem, and Tarski s Theorem
Lecture 11: Gödel s Second Incompleteness Theorem, and Tarski s Theorem Valentine Kabanets October 27, 2016 1 Gödel s Second Incompleteness Theorem 1.1 Consistency We say that a proof system P is consistent
More informationCSE 4111/5111/6111 Computability Jeff Edmonds Assignment 3: Diagonalization & Halting Problem Due: One week after shown in slides
CSE 4111/5111/6111 Computability Jeff Edmonds Assignment 3: Diagonalization & Halting Problem Due: One week after shown in slides First Person: Second Person: Family Name: Family Name: Given Name: Given
More information