Decidability

Decidability

Decidability Introduction Recall that a predicate function is a function M(x) whose range is f0; 1g. Moreover, predicate M(x) is decidable iff it is total computable. When a predicate function is not computable, then it is called undecidable. Predicate functions are often associated with properties of natural numbers. For example, consider the property of a natural number being prime. Then we may define that property using the predicate function 1 if x is prime M(x) = 0 otherwise In this case we say that the property of being prime is decidable, since its associated predicate function is decidable. Moreover, since every natural number x is associated with a computable function φx, and a program Px, then we may also discuss whether or not a property of computable functions (respectively, a property of programs) is decidable. For example, one consequence of the existence of universal programs is that the predicate function 1 if φ is total M(x) = x 0 otherwise is undecidable, and hence the property of a computable function being total is undecidable. In general, a decision problem is any problem that involves deciding if some entity has a given property. In this lecture we show that many properties of computable functions are undecidable. We also state some problems in other areas of mathematics that have been shown to be undecidable, as well as a few decidable problems that might not seem so obviously decidable. Finally, we define what it means for a predicate function to be partially decidable, and introduce the notions of recursive and recursively enumerable sets. 1 The Self-Defined Property is Undecidable Program P is said to have the self-defined property iff P (x) is defined, where x is the Godel number of P . A more succinct way of describing this property is that Px has the self-defined property iff x 2 Wx. Theorem 1. The self-defined property is undecidable. Proof Theorem 1. Suppose by way of contradiction that the self-defined property is decidable. Then the function 1 if x 2 W M(x) = x 0 otherwise is total computable. Now define the function g(x) as 1 if M(x) = 0 g(x) = undefined otherwise To see that g(x) is computable, consider a description of the a program P for computing g. On input x the program first executes the program PM that computes M(x). If PM (x) = 0, then P returns 1. Otherwise, P enters an infinite loop, so that g(x) is undefined. We leave it as an exercise to provide an abstract URM program that represents P . Now, since g(x) is computable, there is an index e, such that g(x) = φe(x) for all x 2 N . In particular g(e) = φe(e). Now suppose g(e) is defined. Then φe(e) is defined, meaning that e 2 We, which implies that M(e) = 1, which in turn (by definition of g) implies that g(e) is undefined, a contradiction. On the other hand, if g(e) is undefined, then φe(e) is undefined, meaning that e 62 We, which implies that M(e) = 0, which in turn (by definition of g) implies that g(e) = 1 is defined, a contradiction. Therefore, the self-defined property is undecidable. Corollary 1. The Halting Problem is the problem of deciding if φx(y) is defined, for given x; y 2 N . Moreover, the Halting Problem is undecidable. Proof of Corollary 1. If the Haltng Problem were decidable, say by a total computable predi- cate function M(x; y). Then x 2 Wx iff φx(x) is defined, iff M(x; x) = 1, which contradicts the undecidability of the self-defined property. 2 The following table suggests that the above proof can be understood as another diagonalization argument. The red values in the table are the outputs being assigned to g based on the values of M(x). indexninput n 0 1 2 ··· e ··· self defined? φ0(n) 2 !" 7 4 ··· 18 ··· yes φ1(n) " "! 17 ···"··· no φ2(n) 7 5 9 !"··· 36 ··· yes . .. g(n)= φe(n) " 1 "··· 1 !"··· yes/no . .. g(0) =", g(1) = 1, g(2) =", :::, g(e) =? (1 or "?). The original table states that g(e) = 1, but the changing of values along the diagonal in order to define g implies that g is undefined, a contradiction. 3 Using Reducibility to Prove Undecidability Given a total (not necessarily computable) predicate function M(x) and an integer x, we call x a positive instance of M, iff M(x) = 1. Similarly, x a negative instance iff M(x) = 0. For example, if M(x) is the predicate function for deciding if x is even, then 2 is a positive instance of M, while 3 is a negative instance. Let M(x) and N(x) be two total but not necessarily computable predicate functions. We say that M is many-to-one reducible (also referred to as functional reducible) to N, written as M ≤m N, iff there exists a total computable function f(x) for which M(x) = N(f(x)). Example 1. If M(x) is the predicate function for deciding if x is even, and N(x) is the predicate function for deciding if x is odd, then M ≤m N via the function f(x) = x + 1. In other words, M(x) = N(f(x)) = N(x + 1). The following theorem shows how to use functional reducibility to establish both decidability and undecidability. Theorem 2. Given predicate functions M(x) and N(x) with M ≤m N, if N is decidable then so is M. Contrapositively, if M is undecidable, then so is N. Proof Theorem 2. Suppose N is decidable and M ≤m N via total computable reducing function f(x). Then N(f(x)) is total computable, since both N and f are total computable. Therefore, since M(x) = N(f(x)), it follows that M is also total computable, and hence decidable. Theorem 1 may be used to show the undecidability of a predicate function by functionally reducing a known undecidable predicate function to the predicate function in question. Moreover, the s-m-n theorem can prove very useful for finding the necessary reducing function. 4 Example 2. We use Theorem 1 and the s-m-n theorem to prove that the \zero property", namely \φx(y) equals the zero function" is undecidable. To do this we define the function 0 if x 2 W g(x; y) = x undefined otherwise Then by the s-m-n theorem there is a total computable function f(x) for which φf(x) = g(x; y) for all x 2 N . Moreover, x 2 Wx iff φf(x)(y) = 0 forall y; meaning that x has the self-defined property iff f(x) has the zero property. Therefore, since the self-defined property is undecidable, then so is the zero property. 5 Example 3. Consider the predicate function E(z) which evaluates to 1 iff φπ1(z) = φπ2(z). Prove that E is undecidable by reducing SD to E. 6 Rice's Theorem. Let C1 denote the set of unary computable functions, and B be a nonempty proper subset of C1. Then the predicate function 1 if φ 2 B B(x) = x 0 otherwise is undecidable. Proof of Rice's Theorem. Let f; denote the computable function that is nowhere defined. Without loss of generality, assume f; 62 B. Let g(y) 2 B be fixed, and consider the function g(y) if x 2 W h(x; y) = x undefined otherwise Then h is certainly computable, since one first computes U (x; x) and, assuming it is defined, then computes g(y). Therefore, by the s-m-n theorem, there exists a total computable function k(x) for which φk(x)(y) = g(y) if x 2 Wx, and φk(x)(y) = f; otherwise. Therefore, we have x 2 Wx iff B(k(x)), showing that the self-defined property is many-to-one reducible to B. Therefore, since the self-defined property is undecidable, then so is B. 7 Partially Decidable Predicates A predicate function P (x) is partially decidable iff there is a computable function f, such that 1 if P (x) = 1 f(x) = undefined otherwise Theorem 3. P is a partially-decidable predicate function iff there exists a decidable predicate function R(x; y) for which P (x) = 1 iff 9yR(x; y) is true. Theorem 3. First suppose P is partially decidable. Then by definition there is an index e for which φe(x) = 1 if P (x) = 1, and is undefined otherwise. Moreover, recall that there is a primitve-recursive decidable predicate s(e; x; 1; t) that evaluates to 1 iff φe(x) # 1 in t or fewer steps. Therefore, P (x) = 1 iff 9ys(e; x; 1; y). Therefore, we may define R(x; y) = s(e; x; 1; y), which is decidable. Conversely, suppose there exists a decidable predicate R(x; y) for which P (x) = 1 iff 9yR(x; y) is true. Then letting f(x) = sgn(µy(R(x; y) = 0) + 1), it follows that P (x) = 1 iff f(x) = 1, and that P (x) is undefined iff f(x) is undefined. Therefore, P is partially decidable. A subset W ⊆ N is said to be recursive iff there is a decidable predicate M(x) for which x 2 W iff M(x) = 1. Similary, W is recursively enumerable (r.e.) iff there is a partially decidable predicate M(x) for which x 2 W iff M(x) = 1.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us