Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
aa:intro:computability_theory [2016/07/28 19:54]
pdmatei
aa:intro:computability_theory [2016/08/01 16:36] (current)
malex [1.4.6. Proposition]
Line 326: Line 326:
  
 ==== 1.4.1 Remark ==== ==== 1.4.1 Remark ====
-//We note that $math[R] and $math[RE] are not the only sets of functions which are used in Computability Theory. It has been shown that there are //"​degrees"//​ of unsolvability,​ of //"​higher level"//​ than $math[R] and $math[RE]. These degrees are intuitively obtained as follows: We assume we live in a world where $math[f_h] is decidable (recursive). Now, as before, we ask which problems are recursive and which are recursively-enumerable. It turns out that, also in this ideal case, there still exist recursive and recursively-enumerable problems, as well as some which are neither. This could be imagined as //"​undecidability level 1"//. Now, we take some problem which is in $math[RE] on level 1, and repeat the same assumption: it is decidable. Again, under this assumption, we find problems in $math[R], $math[RE] and outside the two, which form up //"​undecidability level 2"//. This process can be repeated// ad infi nitum.+//We note that $math[R] and $math[RE] are not the only sets of functions which are used in Computability Theory. It has been shown that there are //"​degrees"//​ of unsolvability,​ of //"​higher level"//​ than $math[R] and $math[RE]. These degrees are intuitively obtained as follows: We assume we live  
 +in a world where $math[f_h] is decidable (recursive). Now, as before, we ask which problems are recursive and which are recursively-enumerable. It turns out that, also in this ideal case, there still exist recursive and recursively-enumerable problems, as well as some which are neither. This could be imagined as //"​undecidability level 1"//. Now, we take some problem which is in $math[RE] on level 1, and repeat the same assumption: it is decidable. Again, under this assumption, we find problems in $math[R], $math[RE] and outside the two, which form up //"​undecidability level 2"//. This process can be repeated// ad infi nitum.
  
 Returning to our simpler classi cation,​ we must observe an interesting feature of recursively-enumerable functions, which is also the reason they are called this way. Returning to our simpler classi cation,​ we must observe an interesting feature of recursively-enumerable functions, which is also the reason they are called this way.
Line 340: Line 341:
 $math[k=0 \mbox{;}] $math[k=0 \mbox{;}]
  
-  * **while** ​$math[\mathbf{while} \mbox{ } \mathit{True} \mbox{ } \mathbf{do}]+$math[\mathbf{while} \mbox{ } \mathit{True} \mbox{ } \mathbf{do}]
  
 $math[\quad \mathbf{for} \mbox{ } 0 \leq i \leq k \mbox{ } \mathbf{do}] $math[\quad \mathbf{for} \mbox{ } 0 \leq i \leq k \mbox{ } \mathbf{do}]
Line 370: Line 371:
 $math[\mathbf{while} \mbox{ } w \notin A_f \mbox{ } \mathbf{do}] $math[\mathbf{while} \mbox{ } w \notin A_f \mbox{ } \mathbf{do}]
  
-$math[\quad ​w=GEN();]+$math[\quad ​v=GEN();]
  
-$math[\quad A_f = A_f \cup \{ \};]+$math[\quad A_f = A_f \cup \{ \};]
  
 $math[\mathbf{end}] $math[\mathbf{end}]
Line 393: Line 394:
 The technique we use to show $math[f_{all} \notin R] is called a //​reduction//​ (from $math[f_h]). It proceeds as follows. We assume $math[f_{all} \in R]. Starting from the $math[TM \mbox{ } M_{all}] which decides $math[f_{all}] we built a $math[TM] which decides $math[f_h]. Thus, if $math[f_{all}] is decidable then $math[f_h] is decidable, which leads to contradiction. The technique we use to show $math[f_{all} \notin R] is called a //​reduction//​ (from $math[f_h]). It proceeds as follows. We assume $math[f_{all} \in R]. Starting from the $math[TM \mbox{ } M_{all}] which decides $math[f_{all}] we built a $math[TM] which decides $math[f_h]. Thus, if $math[f_{all}] is decidable then $math[f_h] is decidable, which leads to contradiction.
  
-First, for each fixed $math[TM \mbox{ } M] and fi xed input $math[w \in \Sigma^*],​ we build the $math[TM \mbox{ } \Pi_{M,​w}(\omega) = ]//"​Replace $math[\omega] by $math[w] and then simulate $math[M(w)]"//​. It is easy to see that $math[(\forall \omega \in \Sigma^* : \Pi_{M,​w}(\omega) \mbox{ halts})] iff $math[M(w)] halts. Now, we build the $math[TM \mbox{ } M_h] which decides $math[f_h]. The input of $math[M_h] is $math[enc(M)\_w]. We construct $math[\Pi_{M,​w}] and run $math[M_{all}(enc(\Pi_{M,​w}))]. By assumption $math[M_{all}] must always halt. If the output is $math[1], then $math[\Pi_{M,​w}(\omega)] halts for all inputs, hence $math[M(w)] halts. We output $math[1]. If the output is $math[0], then $math[\Pi_{M,​w}(\omega)] does not halt for all inputs, hence $math[M(w)] does not halt. We output $math[0].+First, for each fixed $math[TM \mbox{ } M] and fi xed input $math[w \in \Sigma^*],​ we build the $math[TM \mbox{ } \Pi_{M,​w}(\omega) = ]//"​Replace $math[\omega] by $math[w] and then simulate $math[M(w)]"//​. It is easy to see that $math[(\forall \omega \in \Sigma^* : \Pi_{M,​w}(\omega) \mbox{ halts})] iff $math[M(w) 
 +] halts. Now, we build the $math[TM \mbox{ } M_h] which decides $math[f_h]. The input of $math[M_h] is $math[enc(M)\_w]. We construct $math[\Pi_{M,​w}] and run $math[M_{all}(enc(\Pi_{M,​w}))]. By assumption $math[M_{all}] must always halt. If the output is $math[1], then $math[\Pi_{M,​w}(\omega)] halts for all inputs, hence $math[M(w)] halts. We output $math[1]. If the output is $math[0], then $math[\Pi_{M,​w}(\omega)] does not halt for all inputs, hence $math[M(w)] does not halt. We output $math[0].
  
 We have built a reduction from $math[f_{all}] to $math[f_h]: Using the $math[TM] which decides $math[f_{all}] we have constructed a machine which decides $math[f_h]. Since $math[f_h] is not recursive, we obtain a contradiction. We have built a reduction from $math[f_{all}] to $math[f_h]: Using the $math[TM] which decides $math[f_{all}] we have constructed a machine which decides $math[f_h]. Since $math[f_h] is not recursive, we obtain a contradiction.