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:decidability [2019/10/14 22:02]
costin.lupu.almighty
aa:decidability [2019/10/15 06:53] (current)
costin.lupu.almighty
Line 55: Line 55:
 $def[Decision,​ acceptance] $def[Decision,​ acceptance]
 Let $math[M] be a Turing Machine and $math[f \in Hom(\mathbb{N},​ \{0, 1\})]. Let $math[M] be a Turing Machine and $math[f \in Hom(\mathbb{N},​ \{0, 1\})].
-  * $math[M] **decides** $math[f]iff  for all $math[n \in \mathbb{N}]:​ $math[M(w) = 1] whenever $math[f(n^w) = 1] and $math[M(w) = 0] whenever $math[f(n^w) = 0]. +  * $math[M] **decides** $math[f] iff for all $math[n \in \mathbb{N}]:​ $math[M(w) = 1] whenever $math[f(n^w) = 1] and $math[M(w) = 0] whenever $math[f(n^w) = 0]. 
-  * $math[M] **accepts** $math[f] iff  for all $math[n \in \mathbb{N}]:​ $math[M(w) = 1] iff  $math[f(n^w) = 1], and $math[M(w) = \perp] iff $math[f(n)=0].+  * $math[M] **accepts** $math[f] iff for all $math[n \in \mathbb{N}]:​ $math[M(w) = 1] iff $math[f(n^w) = 1], and $math[M(w) = \perp] iff $math[f(n)=0].
 $end $end
  
Line 147: Line 147:
  
 Let $math[M] be a Turing Machine and $math[w \in \Sigma^*] be a word.  Let $math[M] be a Turing Machine and $math[w \in \Sigma^*] be a word. 
-  * We build the Turing Machine $math[\Pi_{M,​w}(\omega) = ]//"​Replace $math[\omega] by $math[w] and then simulate $math[M(w)]"//​. ​+  * We build the Turing Machine $math[\Pi_{M,​w}(\omega) = ]//"​Replace $math[\omega] by $math[w] and then simulate $math[M(w)]"//​. ​
   * The construction of $math[\Pi_{M,​w}] depends on $math[M] and $math[w], as suggested by the indices. ​   * The construction of $math[\Pi_{M,​w}] depends on $math[M] and $math[w], as suggested by the indices. ​
   * Note that building $math[\Pi_{M,​w}] can be easily derived from the Universal Turing Machine.   * Note that building $math[\Pi_{M,​w}] can be easily derived from the Universal Turing Machine.
Line 155: Line 155:
     * run $math[M_{all}] with input $math[enc(\Pi_{M,​w})],​ and return the output.     * run $math[M_{all}] with input $math[enc(\Pi_{M,​w})],​ and return the output.
     * it is easy to see that:     * it is easy to see that:
-      * $math[(\forall \omega \in \Sigma^* : \Pi_{M,​w}(\omega) \mbox{ halts})] iff  $math[M(w)] halts.+      * $math[(\forall \omega \in \Sigma^* : \Pi_{M,​w}(\omega) \mbox{ halts})] iff $math[M(w)] halts.
    
 === Step 2 (contraposition) === === Step 2 (contraposition) ===
Line 162: Line 162:
  
 The relationship between $math[f_{all}] and $math[f_h] is called **Turing-reducibility**,​ and is written: The relationship between $math[f_{all}] and $math[f_h] is called **Turing-reducibility**,​ and is written:
-$math[f_h ​\leq_T f_{all}]+$math[f_h \leq_T f_{all}]
  
 This relation indicates a strong bond between the two problems which can be interpreted as //​$math[f_{all}] is at least as hard as $math[f_{h}]//,​ in the sense that if we can decide $math[f_{all}] using a Turing Machine, then it is trivial to decide $math[f_h]. This relation indicates a strong bond between the two problems which can be interpreted as //​$math[f_{all}] is at least as hard as $math[f_{h}]//,​ in the sense that if we can decide $math[f_{all}] using a Turing Machine, then it is trivial to decide $math[f_h].
Line 169: Line 169:
  
 $def[Turing-reducibility] $def[Turing-reducibility]
-//Let $math[f_A, f_B \in Hom(\mathbb{N},​ \{0, 1\})]. We say $math[f_A] is// Turing-reducible //to $math[f_B], and write $math[f_A ​\leq_T f_B] iff  there exists a// decidable transformation//​ $math[T \in Hom(\mathbb{N},​\mathbb{N})] such that $math[f_A(n) = 1] iff $math[f_B(T(n)) = 1].//+//Let $math[f_A, f_B \in Hom(\mathbb{N},​ \{0, 1\})]. We say $math[f_A] is// Turing-reducible //to $math[f_B], and write $math[f_A \leq_T f_B] iff there exists a// decidable transformation//​ $math[T \in Hom(\mathbb{N},​\mathbb{N})] such that $math[f_A(n) = 1] iff $math[f_B(T(n)) = 1].//
 $end $end