Recursion Theorem. Ziv Scully Ziv Scully Recursion Theorem / 28

Size: px
Start display at page:

Download "Recursion Theorem. Ziv Scully Ziv Scully Recursion Theorem / 28"

Transcription

1 Recursion Theorem Ziv Scully Ziv Scully Recursion Theorem / 28

2 A very λ-calculus appetizer P-p-p-plot twist! λ Ziv Scully Recursion Theorem / 28

3 A very λ-calculus appetizer The master plan 1 A very λ-calculus appetizer 2 Main theorem 3 Applications 4 Fixed points and diagonalization Ziv Scully Recursion Theorem / 28

4 A very λ-calculus appetizer The story so far 1 A very λ-calculus appetizer 2 Main theorem 3 Applications 4 Fixed points and diagonalization Ziv Scully Recursion Theorem / 28

5 A very λ-calculus appetizer What is computation? Depending on who you ask, computation is following clear procedures step by step (Turing machines). Ziv Scully Recursion Theorem / 28

6 A very λ-calculus appetizer What is computation? Depending on who you ask, computation is following clear procedures step by step (Turing machines).... a composition of primitive functions on (µ-recursive functions). Ziv Scully Recursion Theorem / 28

7 A very λ-calculus appetizer What is computation? Depending on who you ask, computation is following clear procedures step by step (Turing machines).... a composition of primitive functions on (µ-recursive functions).... complexity that emerges from simple rules (cellular automata). Ziv Scully Recursion Theorem / 28

8 A very λ-calculus appetizer What is computation? Depending on who you ask, computation is following clear procedures step by step (Turing machines).... a composition of primitive functions on (µ-recursive functions).... complexity that emerges from simple rules (cellular automata).... applying functions to functions to get more functions (λ-calculus). Ziv Scully Recursion Theorem / 28

9 A very λ-calculus appetizer Definition of λ-calculus A λ-calculus term is one of three things. A variable, such as x, y, or z. Ziv Scully Recursion Theorem / 28

10 A very λ-calculus appetizer Definition of λ-calculus A λ-calculus term is one of three things. A variable, such as x, y, or z. A function application, one term applied to another, such as f x, f (g x), or (f x) y = f x y. Ziv Scully Recursion Theorem / 28

11 A very λ-calculus appetizer Definition of λ-calculus A λ-calculus term is one of three things. A variable, such as x, y, or z. A function application, one term applied to another, such as f x, f (g x), or (f x) y = f x y. A function abstraction, making a term a one-argument function, such as λx. x, λx. (λy. x) = λx. λy. x, or λf. λg. λx. f (g x). Ziv Scully Recursion Theorem / 28

12 A very λ-calculus appetizer Definition of λ-calculus A λ-calculus term is one of three things. A variable, such as x, y, or z. A function application, one term applied to another, such as f x, f (g x), or (f x) y = f x y. A function abstraction, making a term a one-argument function, such as λx. x, λx. (λy. x) = λx. λy. x, or λf. λg. λx. f (g x). Additionally, we require that, at the top level, no variable appear outside the scope of a function abstraction that declares it. Ziv Scully Recursion Theorem / 28

13 A very λ-calculus appetizer Evaluating λ-calculus terms There are two rules for evaluating terms. α-renaming: change variable names, such as λx. λy. x λf. λg. f. Ziv Scully Recursion Theorem / 28

14 A very λ-calculus appetizer Evaluating λ-calculus terms There are two rules for evaluating terms. α-renaming: change variable names, such as λx. λy. x λf. λg. f. β-reduction: apply a function to an argument by substitution, such as (λx. λy. x)(λz. z) λy. λz. z. Ziv Scully Recursion Theorem / 28

15 A very λ-calculus appetizer Evaluating λ-calculus terms There are two rules for evaluating terms. α-renaming: change variable names, such as λx. λy. x λf. λg. f. β-reduction: apply a function to an argument by substitution, such as (λx. λy. x)(λz. z) λy. λz. z. These rules are powerful enough to simulate a Turing machine. Ziv Scully Recursion Theorem / 28

16 A very λ-calculus appetizer Hello, factorial! Let s define the factorial function. 1 x = 0 F = λx. x (F(x 1)) otherwise. Ziv Scully Recursion Theorem / 28

17 A very λ-calculus appetizer Hello, factorial! Let s define the factorial function. 1 x = 0 F = λx. x (F(x 1)) otherwise. Problem: we can t have F refer to itself in λ-calculus. Ziv Scully Recursion Theorem / 28

18 A very λ-calculus appetizer Sneakier self-reference What if we can t use self-reference? F = G G, where 1 x = 0 G = λg. λx. x (g g (x 1)) otherwise. Ziv Scully Recursion Theorem / 28

19 A very λ-calculus appetizer Sneakier self-reference What if we can t use self-reference? F = G G, where 1 x = 0 G = λg. λx. x (g g (x 1)) otherwise. We use an open definition: G refers to whatever function we want it to use next. Passing G to itself gives G a reference to itself. Ziv Scully Recursion Theorem / 28

20 A very λ-calculus appetizer Sneakier self-reference What if we can t use self-reference? F = G G, where 1 x = 0 G = λg. λx. x (g g (x 1)) otherwise. We use an open definition: G refers to whatever function we want it to use next. Passing G to itself gives G a reference to itself. 1 x = 0 G G = λg. λx. G x (g g (x 1)) otherwise 1 x = 0 = λx. x (G G (x 1)) otherwise. Ziv Scully Recursion Theorem / 28

21 A very λ-calculus appetizer Laziness is a virtue Using a self-application g g for every recursive call is cumbersome. What if we re lazy and want to write f instead of g g? 1 x = 0 F = λf. λx. x (f (x 1)) otherwise. Ziv Scully Recursion Theorem / 28

22 A very λ-calculus appetizer Laziness is a virtue Using a self-application g g for every recursive call is cumbersome. What if we re lazy and want to write f instead of g g? 1 x = 0 F = λf. λx. x (f (x 1)) otherwise. F is a shell that needs to be filled in by the true factorial function, f. We can think of F as having type ( ) ( ). Ziv Scully Recursion Theorem / 28

23 A very λ-calculus appetizer Laziness is a virtue Using a self-application g g for every recursive call is cumbersome. What if we re lazy and want to write f instead of g g? 1 x = 0 F = λf. λx. x (f (x 1)) otherwise. F is a shell that needs to be filled in by the true factorial function, f. We can think of F as having type ( ) ( ). If f computes factorial, then so does F f, in which case f = F f. That is, we necessarily want a fixed point of F. Ziv Scully Recursion Theorem / 28

24 A very λ-calculus appetizer Wishful thinking Let s wish for a function Y that finds a fixed point of its input. Namely, Y should satisfy Y F = F (Y F). Ziv Scully Recursion Theorem / 28

25 A very λ-calculus appetizer Wishful thinking Let s wish for a function Y that finds a fixed point of its input. Namely, Y should satisfy Y F = F (Y F). When F is our factorial shell, we get 1 x = 0 Y F = F (Y F) = λx. x (Y F (x 1)) otherwise. Ziv Scully Recursion Theorem / 28

26 A very λ-calculus appetizer Wishful thinking Let s wish for a function Y that finds a fixed point of its input. Namely, Y should satisfy Y F = F (Y F). When F is our factorial shell, we get 1 x = 0 Y F = F (Y F) = λx. x (Y F (x 1)) otherwise. That is, to do recursion, it suffices to find a fixed point of F. Ziv Scully Recursion Theorem / 28

27 A very λ-calculus appetizer Wish really, really sneakily We know how to do self-reference: make a function accept any reference as an argument, then feed the function to itself. With that inspiration, we wish for some G F such that Y F = F (Y F) = G F G F. Ziv Scully Recursion Theorem / 28

28 A very λ-calculus appetizer Y combinator? Because functions! Y F = F (Y F) = G F G F Ziv Scully Recursion Theorem / 28

29 A very λ-calculus appetizer Y combinator? Because functions! Y F = F (Y F) = G F G F G F G F = F (G F G F ) Ziv Scully Recursion Theorem / 28

30 A very λ-calculus appetizer Y combinator? Because functions! Y F = F (Y F) = G F G F G F G F = F (G F G F ) = (λg. F (g g)) G F Ziv Scully Recursion Theorem / 28

31 A very λ-calculus appetizer Y combinator? Because functions! Y F = F (Y F) = G F G F G F G F = F (G F G F ) = (λg. F (g g)) G F G F = λg. F (g g). Ziv Scully Recursion Theorem / 28

32 A very λ-calculus appetizer Y combinator? Because functions! Y F = F (Y F) = G F G F G F G F = F (G F G F ) = (λg. F (g g)) G F G F = λg. F (g g). Theorem (Existence of the Y combinator) The combinator Y = λf. G f G f = λf. (λg. f (g g)) (λg. f (g g)) satisfies Y F = F (Y F) for all F. Ziv Scully Recursion Theorem / 28

33 Main theorem The story so far 1 A very λ-calculus appetizer 2 Main theorem 3 Applications 4 Fixed points and diagonalization Ziv Scully Recursion Theorem / 28

34 Main theorem Turing machines are computers, too! Notation: [n] is the Turing machine n encodes. Theorem (Recursion theorem) There exists a total (always halting) computable function Y such that for all F, if [F] is total, then [Y(F)] = [[F](Y(F))]. Ziv Scully Recursion Theorem / 28

35 Main theorem Turing machines are computers, too! Notation: [n] is the Turing machine n encodes. Theorem (Recursion theorem) There exists a total (always halting) computable function Y such that for all F, if [F] is total, then [Y(F)] = [[F](Y(F))]. Put another way: if we consider numbers equivalent if they encode equivalent Turing machines, then [F] has a fixed point for all F, and that fixed point is computable from F. Ziv Scully Recursion Theorem / 28

36 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. Y(F) = [F](Y(F)) = [G F ](G F ) Ziv Scully Recursion Theorem / 28

37 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. Y(F) = [F](Y(F)) = [G F ](G F ) [G F ](G F ) = [F]([G F ](G F )) Ziv Scully Recursion Theorem / 28

38 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. Y(F) = [F](Y(F)) = [G F ](G F ) [G F ](G F ) = [F]([G F ](G F )) = (g [F]([g](g)))(G F ) Ziv Scully Recursion Theorem / 28

39 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. Y(F) = [F](Y(F)) = [G F ](G F ) [G F ](G F ) = [F]([G F ](G F )) = (g [F]([g](g)))(G F ) G F = g [F]([g](g)). Ziv Scully Recursion Theorem / 28

40 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. We can compute G F, so we win! Y(F) = [F](Y(F)) = [G F ](G F ) [G F ](G F ) = [F]([G F ](G F )) = (g [F]([g](g)))(G F ) G F = g [F]([g](g)). Ziv Scully Recursion Theorem / 28

41 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. We can compute G F, so we win! What happens if [F](x) = x + 1? Y(F) = [F](Y(F)) = [G F ](G F ) [G F ](G F ) = [F]([G F ](G F )) = (g [F]([g](g)))(G F ) G F = g [F]([g](g)). Ziv Scully Recursion Theorem / 28

42 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. Y(F) = [F](Y(F)) = [G F ](G F ) [G F ](G F ) = [F]([G F ](G F )) = (g [F]([g](g)))(G F ) G F = g [F]([g](g)). We can compute G F, so we win! What happens if [F](x) = x + 1? Y(F) = Y(F) + 1, so the universe explodes. Ziv Scully Recursion Theorem / 28

43 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. Y(F) = [F](Y(F)) = [G F ](G F ) [G F ](G F ) = [F]([G F ](G F )) = (g [F]([g](g)))(G F ) G F = g [F]([g](g)). We can compute G F, so we win! What happens if [F](x) = x + 1? Y(F) = Y(F) + 1, so computing Y(F) = [G F ](G F ) must not halt. Ziv Scully Recursion Theorem / 28

44 Main theorem Proof of recursion theorem Notation: [n] is the Turing machine n encodes, x E(x) is the procedure that maps x to expression E(x), and P is the encoding of procedure P. Y(F) = [F](Y(F)) = [G F ](G F ) [G F ](G F ) = [F]([G F ](G F )) = (g [F]([g](g)))(G F ) G F = g [F]([g](g)). We can compute G F, so we win! What happens if [F](x) = x + 1? Y(F) = Y(F) + 1, so computing Y(F) = [G F ](G F ) must not halt. We tried to find a fixed point, but we only need a fixed point modulo equivalence of encoded Turing machines. Ziv Scully Recursion Theorem / 28

45 Main theorem Proof of recursion theorem 2: electric boogaloo We try again with a slightly weaker goal. Y(F) = [G F ](G F ) [Y(F)] = [[F](Y(F))] Ziv Scully Recursion Theorem / 28

46 Main theorem Proof of recursion theorem 2: electric boogaloo We try again with a slightly weaker goal. Y(F) = [G F ](G F ) [Y(F)] = [[F](Y(F))] [G F ](G F ) = x [[F]([G F ](G F ))](x) Ziv Scully Recursion Theorem / 28

47 Main theorem Proof of recursion theorem 2: electric boogaloo We try again with a slightly weaker goal. Y(F) = [G F ](G F ) [Y(F)] = [[F](Y(F))] [G F ](G F ) = x [[F]([G F ](G F ))](x) = (g x [[F]([g](g))](x) )(G F ) Ziv Scully Recursion Theorem / 28

48 Main theorem Proof of recursion theorem 2: electric boogaloo We try again with a slightly weaker goal. Y(F) = [G F ](G F ) [Y(F)] = [[F](Y(F))] [G F ](G F ) = x [[F]([G F ](G F ))](x) = (g x [[F]([g](g))](x) )(G F ) G F = g x [[F]([g](g))](x). Ziv Scully Recursion Theorem / 28

49 Main theorem Proof of recursion theorem 2: electric boogaloo We try again with a slightly weaker goal. Y(F) = [G F ](G F ) [Y(F)] = [[F](Y(F))] [G F ](G F ) = x [[F]([G F ](G F ))](x) = (g x [[F]([g](g))](x) )(G F ) G F = g x [[F]([g](g))](x). This time, not only can we compute G F, but [G F ] is a total function, so computing Y(F) = [G F ](G F ) always halts! Ziv Scully Recursion Theorem / 28

50 Main theorem For the skeptical Just to make sure we have this right, if Y(F) = [G F ](G F ), then [Y(F)](X) = [[G F ](G F )](X) = [[ g x [[F]([g](g))](x) ](G F )](X) = [ x [[F]([G F ](G F ))](x) ](X) = [[F]([G F ](G F ))](X) = [[F](Y(F))](X). As desired, Y(F) and [F](Y(F)) encode equivalent Turing machines. Ziv Scully Recursion Theorem / 28

51 Applications The story so far 1 A very λ-calculus appetizer 2 Main theorem 3 Applications 4 Fixed points and diagonalization Ziv Scully Recursion Theorem / 28

52 Applications Recursion (duh) Letting [F](f) =... [f]... gives so [Y(F)] can make recursive calls. [Y(F)] = [[F](Y(F))] =... [Y(F)]..., Ziv Scully Recursion Theorem / 28

53 Applications Recursion (duh) Letting [F](f) =... [f]... gives so [Y(F)] can make recursive calls. In general, [F](f) =... f... gives [Y(F)] = [[F](Y(F))] =... [Y(F)]..., [Y(F)] = [[F](Y(F))] =... Y(F)..., which gives us something stronger: [Y(F)] can access its own source code. Practical application is that, when defining a procedure P, we can use P in the definition. Ziv Scully Recursion Theorem / 28

54 Applications Quines A Quine is a program that prints its own source code. This sounds easy at first, but after some trial and error it starts to seem impossible. Ziv Scully Recursion Theorem / 28

55 Applications Quines A Quine is a program that prints its own source code. This sounds easy at first, but after some trial and error it starts to seem impossible. But we just said that defining P(x) = P is okay! Ziv Scully Recursion Theorem / 28

56 Applications Quines A Quine is a program that prints its own source code. This sounds easy at first, but after some trial and error it starts to seem impossible. But we just said that defining P(x) = P is okay! Letting [F](f) = x f gives [Y(F)](x) = [[F](Y(F))](x) = Y(F). That is, [Y(F)] always returns its encoding. Ziv Scully Recursion Theorem / 28

57 Applications Quines A Quine is a program that prints its own source code. This sounds easy at first, but after some trial and error it starts to seem impossible. But we just said that defining P(x) = P is okay! Letting [F](f) = x f gives [Y(F)](x) = [[F](Y(F))](x) = Y(F). That is, [Y(F)] always returns its encoding. This example is simple enough that we can examine G F directly. G F = g x [[F]([g](g))](x) = g x [g](g). Ziv Scully Recursion Theorem / 28

58 Applications Quines A Quine is a program that prints its own source code. This sounds easy at first, but after some trial and error it starts to seem impossible. But we just said that defining P(x) = P is okay! Letting [F](f) = x f gives [Y(F)](x) = [[F](Y(F))](x) = Y(F). That is, [Y(F)] always returns its encoding. This example is simple enough that we can examine G F directly. G F = g x [[F]([g](g))](x) = g x [g](g). G F says apply my first argument, decoded, to itself, still encoded. Y(F) = [G F ](G F ) decodes G F and applies it to a still encoded G F. Ziv Scully Recursion Theorem / 28

59 Applications Quines A Quine is a program that prints its own source code. This sounds easy at first, but after some trial and error it starts to seem impossible. But we just said that defining P(x) = P is okay! Letting [F](f) = x f gives [Y(F)](x) = [[F](Y(F))](x) = Y(F). That is, [Y(F)] always returns its encoding. This example is simple enough that we can examine G F directly. G F = g x [[F]([g](g))](x) = g x [g](g). G F says apply my first argument, decoded, to itself, still encoded. Y(F) = [G F ](G F ) decodes G F and applies it to a still encoded G F. This echoes the famous natural-language Quine: quoted and followed by itself is a Quine quoted and followed by itself is a Quine. Ziv Scully Recursion Theorem / 28

60 Applications Impossibility results Theorem (Rice s theorem) No nontrivial predicate of Turing machines is decidable. Ziv Scully Recursion Theorem / 28

61 Applications Impossibility results Theorem (Rice s theorem) No nontrivial predicate of Turing machines is decidable. Proof. Fix some nontrivial predicate decidable by P, and let [A] and [B] satisfy and not satisfy the predicate, respectively. Ziv Scully Recursion Theorem / 28

62 Applications Impossibility results Theorem (Rice s theorem) No nontrivial predicate of Turing machines is decidable. Proof. Fix some nontrivial predicate decidable by P, and let [A] and [B] satisfy and not satisfy the predicate, respectively. The procedure B P( Q ) Q(x) = A otherwise gives a contradiction. Ziv Scully Recursion Theorem / 28

63 Fixed points and diagonalization The story so far 1 A very λ-calculus appetizer 2 Main theorem 3 Applications 4 Fixed points and diagonalization Ziv Scully Recursion Theorem / 28

64 Fixed points and diagonalization Yet another proof of Cantor s theorem A surjection â : 2 gives a function a : 2 such that for any b : 2, there is some n such that b = a(n, ), in which case we say that b is representable by a. Ziv Scully Recursion Theorem / 28

65 Fixed points and diagonalization Yet another proof of Cantor s theorem A surjection â : 2 gives a function a : 2 such that for any b : 2, there is some n such that b = a(n, ), in which case we say that b is representable by a. Let (n) = (n, n) and σ(p) = 1 p. Ziv Scully Recursion Theorem / 28

66 Fixed points and diagonalization Yet another proof of Cantor s theorem A surjection â : 2 gives a function a : 2 such that for any b : 2, there is some n such that b = a(n, ), in which case we say that b is representable by a. Let (n) = (n, n) and σ(p) = 1 p. a 2 b 2 σ Ziv Scully Recursion Theorem / 28

67 Fixed points and diagonalization Yet another proof of Cantor s theorem A surjection â : 2 gives a function a : 2 such that for any b : 2, there is some n such that b = a(n, ), in which case we say that b is representable by a. Let (n) = (n, n) and σ(p) = 1 p. a 2 b 2 σ By construction, because σ has no fixed points, b(n) a(n, n) for all n, which means b a(n, ) for all n. Therefore, â is not a surjection. Ziv Scully Recursion Theorem / 28

68 Fixed points and diagonalization Yet another proof the halting problem is undecidable Suppose a : 2 decides the halting problem. That is, a(f, X) is 1 if and only if [F](X) halts. Ziv Scully Recursion Theorem / 28

69 Fixed points and diagonalization Yet another proof the halting problem is undecidable Suppose a : 2 decides the halting problem. That is, a(f, X) is 1 if and only if [F](X) halts. Let σ(0) = 1 and σ(1) never terminate. Ziv Scully Recursion Theorem / 28

70 Fixed points and diagonalization Yet another proof the halting problem is undecidable Suppose a : 2 decides the halting problem. That is, a(f, X) is 1 if and only if [F](X) halts. Let σ(0) = 1 and σ(1) never terminate. a 2 b 2 σ Ziv Scully Recursion Theorem / 28

71 Fixed points and diagonalization Yet another proof the halting problem is undecidable Suppose a : 2 decides the halting problem. That is, a(f, X) is 1 if and only if [F](X) halts. Let σ(0) = 1 and σ(1) never terminate. a 2 b 2 σ By construction, because σ has no fixed points, b( b ) a( b, b ). This manifests itself as the usual contradiction: a( b, b ) = 0 b( b ) doesn t halt a( b, b ) = 1 Ziv Scully Recursion Theorem / 28

72 Fixed points and diagonalization Yet another cookie-cutter diagonalization proof The general picture, due originally to Lawvere and nicely explained by Yanofsky ( X X a Y X b Y σ X = domain = diagonal a = application Y = truth values σ = shuffle b = bad, where bad means not representable as a(x, ) for some x. Ziv Scully Recursion Theorem / 28

73 Fixed points and diagonalization Cookies contrapositively cut X X a Y X b Y σ Contrapositively, if b is representable as a(x, ) for some x, then σ must have a fixed point. Ziv Scully Recursion Theorem / 28

74 Fixed points and diagonalization A sketchier, boxier recursion theorem Fix total computable P. Let a(f, x) = [f](x) and σ([f]) = σ([p(f)]). (We strategically choose not to worry about how σ is well-defined as part of the composition but isn t on its own.) a TM b σ TM Ziv Scully Recursion Theorem / 28

75 Fixed points and diagonalization A sketchier, boxier recursion theorem Fix total computable P. Let a(f, x) = [f](x) and σ([f]) = σ([p(f)]). (We strategically choose not to worry about how σ is well-defined as part of the composition but isn t on its own.) a TM b σ TM All of, a, and σ do straightforward computations, so b is computable and therefore representable as a( b, ). Ziv Scully Recursion Theorem / 28

76 Fixed points and diagonalization A sketchier, boxier recursion theorem Fix total computable P. Let a(f, x) = [f](x) and σ([f]) = σ([p(f)]). (We strategically choose not to worry about how σ is well-defined as part of the composition but isn t on its own.) a TM b σ TM All of, a, and σ do straightforward computations, so b is computable and therefore representable as a( b, ). This means σ has a fixed point, or, equivalently, P has a fixed point modulo equivalence of encoded Turing machines. Ziv Scully Recursion Theorem / 28

ELEMENTS IN MATHEMATICS FOR INFORMATION SCIENCE NO.6 TURING MACHINE AND COMPUTABILITY. Tatsuya Hagino

ELEMENTS 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 information

CS 125 Section #10 (Un)decidability and Probability November 1, 2016

CS 125 Section #10 (Un)decidability and Probability November 1, 2016 CS 125 Section #10 (Un)decidability and Probability November 1, 2016 1 Countability Recall that a set S is countable (either finite or countably infinite) if and only if there exists a surjective mapping

More information

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch] Undecidability Andreas Klappenecker [based on slides by Prof. Welch] 1 Sources Theory of Computing, A Gentle Introduction, by E. Kinber and C. Smith, Prentice-Hall, 2001 Automata Theory, Languages and

More information

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 10 Nancy Lynch

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 10 Nancy Lynch 6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 10 Nancy Lynch Today Final topic in computability theory: Self-Reference and the Recursion

More information

Reductions in Computability Theory

Reductions 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 information

CSCI3390-Lecture 6: An Undecidable Problem

CSCI3390-Lecture 6: An Undecidable Problem CSCI3390-Lecture 6: An Undecidable Problem September 21, 2018 1 Summary The language L T M recognized by the universal Turing machine is not decidable. Thus there is no algorithm that determines, yes or

More information

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

CS 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 information

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSE355 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 information

ECS 120 Lesson 18 Decidable Problems, the Halting Problem

ECS 120 Lesson 18 Decidable Problems, the Halting Problem ECS 120 Lesson 18 Decidable Problems, the Halting Problem Oliver Kreylos Friday, May 11th, 2001 In the last lecture, we had a look at a problem that we claimed was not solvable by an algorithm the problem

More information

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

Lecture 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 information

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

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

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

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

Turing Machines Part III

Turing 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 information

Computability Crib Sheet

Computability 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 information

CS481F01 Solutions 8

CS481F01 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 information

Programming Languages

Programming 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 information

CSCE 551: Chin-Tser Huang. University of South Carolina

CSCE 551: Chin-Tser Huang. University of South Carolina CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan

More information

CS 361 Meeting 26 11/10/17

CS 361 Meeting 26 11/10/17 CS 361 Meeting 26 11/10/17 1. Homework 8 due Announcements A Recognizable, but Undecidable Language 1. Last class, I presented a brief, somewhat inscrutable proof that the language A BT M = { M w M is

More information

There are two main techniques for showing that problems are undecidable: diagonalization and reduction

There 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 information

TURING MAHINES

TURING 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 information

Church s undecidability result

Church 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 information

Turing Machines, diagonalization, the halting problem, reducibility

Turing 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 information

Lecture 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 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 information

A non-turing-recognizable language

A non-turing-recognizable language CS 360: Introduction to the Theory of Computing John Watrous, University of Waterloo A non-turing-recognizable language 1 OVERVIEW Thus far in the course we have seen many examples of decidable languages

More information

Theory of Computation

Theory of Computation Theory of Computation Unit 4-6: Turing Machines and Computability Decidability and Encoding Turing Machines Complexity and NP Completeness Syedur Rahman syedurrahman@gmail.com Turing Machines Q The set

More information

Theory of Computation

Theory of Computation Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 13: Algorithmic Unsolvability The Halting Problem I In the last lecture we have shown

More information

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018 CS 301 Lecture 18 Decidable languages Stephen Checkoway April 2, 2018 1 / 26 Decidable language Recall, a language A is decidable if there is some TM M that 1 recognizes A (i.e., L(M) = A), and 2 halts

More information

CS154, Lecture 10: Rice s Theorem, Oracle Machines

CS154, Lecture 10: Rice s Theorem, Oracle Machines CS154, Lecture 10: Rice s Theorem, Oracle Machines Moral: Analyzing Programs is Really, Really Hard But can we more easily tell when some program analysis problem is undecidable? Problem 1 Undecidable

More information

Undecidability and Rice s Theorem. Lecture 26, December 3 CS 374, Fall 2015

Undecidability and Rice s Theorem. Lecture 26, December 3 CS 374, Fall 2015 Undecidability and Rice s Theorem Lecture 26, December 3 CS 374, Fall 2015 UNDECIDABLE EXP NP P R E RECURSIVE Recap: Universal TM U We saw a TM U such that L(U) = { (z,w) M z accepts w} Thus, U is a stored-program

More information

Decidable Languages - relationship with other classes.

Decidable Languages - relationship with other classes. CSE2001, Fall 2006 1 Last time we saw some examples of decidable languages (or, solvable problems). Today we will start by looking at the relationship between the decidable languages, and the regular and

More information

Lecture Notes: The Halting Problem; Reductions

Lecture 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 information

Decidability and Undecidability

Decidability 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 information

2 Computable and Computably Enumerable Sets

2 Computable and Computably Enumerable Sets Notes For CMSC 650- COMPUTABILITY by A.Amir and W.I. Gasarch 1 Introduction We take our model of computation to be Java Programs. Traditionally one defines Turing Machines and we will use that terminology,

More information

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

Day 15. Tuesday June 12, 2012

Day 15. Tuesday June 12, 2012 Day 15 Tuesday June 12, 2012 1 Properties of Function So far we have talked about different things we can talk about with respect to a function. So far if f : A B we have the following features: A domain:

More information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction 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 information

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

λ 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 information

Decidable and undecidable languages

Decidable and undecidable languages The Chinese University of Hong Kong Fall 2011 CSCI 3130: Formal languages and automata theory Decidable and undecidable languages Andrej Bogdanov http://www.cse.cuhk.edu.hk/~andrejb/csc3130 Problems about

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Today's learning goals Sipser Ch 5.1 Define and explain core examples of decision problems: A DFA, E DFA, EQ DFA,

More information

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

The 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

Undecidability. Almost all Languages are undecidable. Question: Is it just weird languages that no one would care about which are undecidable?

Undecidability. Almost all Languages are undecidable. Question: Is it just weird languages that no one would care about which are undecidable? 15-251: Great Theoretical Ideas in Computer Science Lecture 7 Undecidability Almost all Languages are undecidable Set of all languages: Set of all dec. lang.: Most languages do not have a TM deciding them

More information

ON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM. Turing 1936

ON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM. Turing 1936 ON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM Turing 1936 Where are We? Ignoramus et ignorabimus Wir mussen wissen Wir werden wissen We do not know We shall not know We must know

More information

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

PHIL12A Section answers, 14 February 2011

PHIL12A Section answers, 14 February 2011 PHIL12A Section answers, 14 February 2011 Julian Jonker 1 How much do you know? 1. You should understand why a truth table is constructed the way it is: why are the truth values listed in the order they

More information

Undecidable Problems and Reducibility

Undecidable 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 information

COMP6463: λ-calculus

COMP6463: λ-calculus COMP6463: λ-calculus 1. Basics Michael Norrish Michael.Norrish@nicta.com.au Canberra Research Lab., NICTA Semester 2, 2015 Outline Introduction Lambda Calculus Terms Alpha Equivalence Substitution Dynamics

More information

Gödel s Theorem: Limits of logic and computation

Gödel s Theorem: Limits of logic and computation Gödel s Theorem: Limits of logic and computation David Keil (dkeil@frc.mass.edu) Framingham State College Math/CS Faculty Seminar March 27, 2003 1 Overview Kurt Gödel, 1931, at age 25, in Vienna, shook

More information

Time-bounded computations

Time-bounded computations Lecture 18 Time-bounded computations We now begin the final part of the course, which is on complexity theory. We ll have time to only scratch the surface complexity theory is a rich subject, and many

More information

CSE 311: Foundations of Computing. Lecture 27: Undecidability

CSE 311: Foundations of Computing. Lecture 27: Undecidability CSE 311: Foundations of Computing Lecture 27: Undecidability Last time: Countable sets A set is countable iff we can order the elements of as = {,,, Countable sets: N-the natural numbers Z - the integers

More information

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula: Logic: The Big Picture Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and

More information

acs-07: Decidability Decidability Andreas Karwath und Malte Helmert Informatik Theorie II (A) WS2009/10

acs-07: Decidability Decidability Andreas Karwath und Malte Helmert Informatik Theorie II (A) WS2009/10 Decidability Andreas Karwath und Malte Helmert 1 Overview An investigation into the solvable/decidable Decidable languages The halting problem (undecidable) 2 Decidable problems? Acceptance problem : decide

More information

Discrete Mathematics for CS Fall 2003 Wagner Lecture 3. Strong induction

Discrete Mathematics for CS Fall 2003 Wagner Lecture 3. Strong induction CS 70 Discrete Mathematics for CS Fall 2003 Wagner Lecture 3 This lecture covers further variants of induction, including strong induction and the closely related wellordering axiom. We then apply these

More information

There are problems that cannot be solved by computer programs (i.e. algorithms) even assuming unlimited time and space.

There are problems that cannot be solved by computer programs (i.e. algorithms) even assuming unlimited time and space. Undecidability There are problems that cannot be solved by computer programs (i.e. algorithms) even assuming unlimited time and space. Proved by Alan Turing in 1936 What is a computer program/algorithm?

More information

Propositions and Proofs

Propositions and Proofs Propositions and Proofs Gert Smolka, Saarland University April 25, 2018 Proposition are logical statements whose truth or falsity can be established with proofs. Coq s type theory provides us with a language

More information

Math 300: Final Exam Practice Solutions

Math 300: Final Exam Practice Solutions Math 300: Final Exam Practice Solutions 1 Let A be the set of all real numbers which are zeros of polynomials with integer coefficients: A := {α R there exists p(x) = a n x n + + a 1 x + a 0 with all a

More information

Sequence convergence, the weak T-axioms, and first countability

Sequence convergence, the weak T-axioms, and first countability Sequence convergence, the weak T-axioms, and first countability 1 Motivation Up to now we have been mentioning the notion of sequence convergence without actually defining it. So in this section we will

More information

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

Lecture 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 information

CS 124 Math Review Section January 29, 2018

CS 124 Math Review Section January 29, 2018 CS 124 Math Review Section CS 124 is more math intensive than most of the introductory courses in the department. You re going to need to be able to do two things: 1. Perform some clever calculations to

More information

Undecibability. Hilbert's 10th Problem: Give an algorithm that given a polynomial decides if the polynomial has integer roots or not.

Undecibability. Hilbert's 10th Problem: Give an algorithm that given a polynomial decides if the polynomial has integer roots or not. Undecibability Hilbert's 10th Problem: Give an algorithm that given a polynomial decides if the polynomial has integer roots or not. The problem was posed in 1900. In 1970 it was proved that there can

More information

1 Showing Recognizability

1 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 information

23.1 Gödel Numberings and Diagonalization

23.1 Gödel Numberings and Diagonalization Applied Logic Lecture 23: Unsolvable Problems in Logic CS 4860 Spring 2009 Tuesday, April 14, 2009 The fact that Peano Arithmetic is expressive enough to represent all computable functions means that some

More information

E.g. The set RE of regular expressions is given by the following rules:

E.g. The set RE of regular expressions is given by the following rules: 1 Lecture Summary We gave a brief overview of inductively defined sets, inductively defined functions, and proofs by structural induction We showed how to prove that a machine is correct using induction

More information

Discrete Mathematics for CS Spring 2007 Luca Trevisan Lecture 27

Discrete Mathematics for CS Spring 2007 Luca Trevisan Lecture 27 CS 70 Discrete Mathematics for CS Spring 007 Luca Trevisan Lecture 7 Infinity and Countability Consider a function f that maps elements of a set A (called the domain of f ) to elements of set B (called

More information

Computational Models Lecture 9, Spring 2009

Computational Models Lecture 9, Spring 2009 Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 1 Computational Models Lecture 9, Spring 2009 Reducibility among languages Mapping reductions More undecidable

More information

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

Peano 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 information

CS20a: Turing Machines (Oct 29, 2002)

CS20a: 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 information

ACS2: Decidability Decidability

ACS2: Decidability Decidability Decidability Bernhard Nebel and Christian Becker-Asano 1 Overview An investigation into the solvable/decidable Decidable languages The halting problem (undecidable) 2 Decidable problems? Acceptance problem

More information

PROOFS 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 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 information

Type Systems. Lecture 2 Oct. 27th, 2004 Sebastian Maneth.

Type 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 information

On Rice s theorem. Hans Hüttel. October 2001

On Rice s theorem. Hans Hüttel. October 2001 On Rice s theorem Hans Hüttel October 2001 We have seen that there exist languages that are Turing-acceptable but not Turing-decidable. An important example of such a language was the language of the Halting

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2018 http://cseweb.ucsd.edu/classes/sp18/cse105-ab/ Today's learning goals Sipser Ch 5.1, 5.3 Define and explain core examples of computational problems, including

More information

On some Metatheorems about FOL

On some Metatheorems about FOL On some Metatheorems about FOL February 25, 2014 Here I sketch a number of results and their proofs as a kind of abstract of the same items that are scattered in chapters 5 and 6 in the textbook. You notice

More information

Computability and Complexity

Computability 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 information

Solutions to Old Final Exams (For Fall 2007)

Solutions to Old Final Exams (For Fall 2007) Solutions to Old Final Exams (For Fall 2007) CS 381 (Fall 2002, Fall 2004, Fall 2005, Fall 2006) Yogi Sharma Disclaimer: I, Yogi Sharma, do not claim these solution to be complete, or even to be absolutely

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY KOLMOGOROV-CHAITIN (descriptive) COMPLEXITY TUESDAY, MAR 18 CAN WE QUANTIFY HOW MUCH INFORMATION IS IN A STRING? A = 01010101010101010101010101010101

More information

What happens to the value of the expression x + y every time we execute this loop? while x>0 do ( y := y+z ; x := x:= x z )

What happens to the value of the expression x + y every time we execute this loop? while x>0 do ( y := y+z ; x := x:= x z ) Starter Questions Feel free to discuss these with your neighbour: Consider two states s 1 and s 2 such that s 1, x := x + 1 s 2 If predicate P (x = y + 1) is true for s 2 then what does that tell us about

More information

MI 4 Mathematical Induction Name. Mathematical Induction

MI 4 Mathematical Induction Name. Mathematical Induction Mathematical Induction It turns out that the most efficient solution to the Towers of Hanoi problem with n disks takes n 1 moves. If this isn t the formula you determined, make sure to check your data

More information

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

Gödel s Incompleteness Theorem. Overview. Computability and Logic Gödel s Incompleteness Theorem Overview Computability and Logic Recap Remember what we set out to do in this course: Trying to find a systematic method (algorithm, procedure) which we can use to decide,

More information

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

The 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 information

NP-Completeness and Boolean Satisfiability

NP-Completeness and Boolean Satisfiability NP-Completeness and Boolean Satisfiability Mridul Aanjaneya Stanford University August 14, 2012 Mridul Aanjaneya Automata Theory 1/ 49 Time-Bounded Turing Machines A Turing Machine that, given an input

More information

CMPT 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 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 information

Most General computer?

Most General computer? Turing Machines Most General computer? DFAs are simple model of computation. Accept only the regular languages. Is there a kind of computer that can accept any language, or compute any function? Recall

More information

Theory of Computer Science. Theory of Computer Science. D8.1 Other Halting Problem Variants. D8.2 Rice s Theorem

Theory of Computer Science. Theory of Computer Science. D8.1 Other Halting Problem Variants. D8.2 Rice s Theorem Theory of Computer Science May 15, 2017 D8. Rice s Theorem and Other Undecidable Problems Theory of Computer Science D8. Rice s Theorem and Other Undecidable Problems Malte Helmert University of Basel

More information

Limits of Computability

Limits 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 information

Turing machine recap. Universal Turing Machines and Undecidability. Alphabet size doesn t matter. Robustness of TM

Turing machine recap. Universal Turing Machines and Undecidability. Alphabet size doesn t matter. Robustness of TM Turing machine recap A Turing machine TM is a tuple M = (Γ, Q, δ) where Γ: set of symbols that TM s tapes can contain. Q: possible states TM can be in. qstart: the TM starts in this state qhalt: the TM

More information

Math 300 Introduction to Mathematical Reasoning Autumn 2017 Inverse Functions

Math 300 Introduction to Mathematical Reasoning Autumn 2017 Inverse Functions Math 300 Introduction to Mathematical Reasoning Autumn 2017 Inverse Functions Please read this pdf in place of Section 6.5 in the text. The text uses the term inverse of a function and the notation f 1

More information

Cogito ergo sum non machina!

Cogito ergo sum non machina! Cogito ergo sum non machina! About Gödel s First Incompleteness Theorem and Turing machines. Ricardo Pereira Tassinari 1 Philosophy Department of State University of São Paulo - UNESP - Campus Marília

More information

Semantics and Generative Grammar. The Semantics of Adjectival Modification 1. (1) Our Current Assumptions Regarding Adjectives and Common Ns

Semantics and Generative Grammar. The Semantics of Adjectival Modification 1. (1) Our Current Assumptions Regarding Adjectives and Common Ns The Semantics of Adjectival Modification 1 (1) Our Current Assumptions Regarding Adjectives and Common Ns a. Both adjectives and common nouns denote functions of type (i) [[ male ]] = [ λx : x D

More information

highlights proof by contradiction what about the real numbers?

highlights 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 information

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

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

Formal Methods Lecture 6. (B. Pierce's slides for the book Types and Programming Languages )

Formal Methods Lecture 6. (B. Pierce's slides for the book Types and Programming Languages ) Formal Methods Lecture 6 (B. Pierce's slides for the book Types and Programming Languages ) This Saturday, 10 November 2018, room 335 (FSEGA), we will recover the following activities: 1 Formal Methods

More information

CS154, Lecture 12: Kolmogorov Complexity: A Universal Theory of Data Compression

CS154, Lecture 12: Kolmogorov Complexity: A Universal Theory of Data Compression CS154, Lecture 12: Kolmogorov Complexity: A Universal Theory of Data Compression Rosencrantz & Guildenstern Are Dead (Tom Stoppard) Rigged Lottery? And the winning numbers are: 1, 2, 3, 4, 5, 6 But is

More information

CHAPTER 0: BACKGROUND (SPRING 2009 DRAFT)

CHAPTER 0: BACKGROUND (SPRING 2009 DRAFT) CHAPTER 0: BACKGROUND (SPRING 2009 DRAFT) MATH 378, CSUSM. SPRING 2009. AITKEN This chapter reviews some of the background concepts needed for Math 378. This chapter is new to the course (added Spring

More information

Logic. Quantifiers. (real numbers understood). x [x is rotten in Denmark]. x<x+x 2 +1

Logic. Quantifiers. (real numbers understood). x [x is rotten in Denmark]. x<x+x 2 +1 Logic One reason for studying logic is that we need a better notation than ordinary English for expressing relationships among various assertions or hypothetical states of affairs. A solid grounding in

More information

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb) We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb) CS /55 Theory of Computation The is A TM = { M,w M is a TM and w L(M)} A TM is Turing-recognizable. Proof Sketch:

More information

Proof Techniques (Review of Math 271)

Proof Techniques (Review of Math 271) Chapter 2 Proof Techniques (Review of Math 271) 2.1 Overview This chapter reviews proof techniques that were probably introduced in Math 271 and that may also have been used in a different way in Phil

More information

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

Gödel s Incompleteness Theorem. Overview. Computability and Logic Gödel s Incompleteness Theorem Overview Computability and Logic Recap Remember what we set out to do in this course: Trying to find a systematic method (algorithm, procedure) which we can use to decide,

More information

Turing Machine Recap

Turing 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 information

Computational Models Lecture 8 1

Computational 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 information