The problem {x ∣ Tx(x)=1} is undecidable

  • Context: MHB 
  • Thread starter Thread starter mathmari
  • Start date Start date
Click For Summary
SUMMARY

The problem $\{x \mid T_x(x) = 1\}$ is proven to be undecidable by constructing a computable function that translates instances of the HALT problem to this problem. The function $f$ modifies a Turing machine such that if it halts, it outputs 1. This involves altering the machine's states and implementing a counting mechanism to determine how many steps it takes before halting, allowing the machine to erase its tape and write 1. This construction confirms the undecidability of the problem.

PREREQUISITES
  • Understanding of Turing machines and their encoding
  • Familiarity with the HALT problem and its implications
  • Knowledge of Kleene's T predicate and its arguments
  • Basic concepts of computable functions and reductions
NEXT STEPS
  • Study the concept of mapping reducibility in computational theory
  • Read section 5.3 "Mapping Reducibility" in Michael Sipser's "Introduction to the Theory of Computation"
  • Explore the implications of undecidability in other computational problems
  • Investigate the relationship between Turing machines and computable functions
USEFUL FOR

The discussion is beneficial for computer scientists, mathematicians, and students studying theoretical computer science, particularly those interested in undecidability and Turing machine theory.

mathmari
Gold Member
MHB
Messages
4,984
Reaction score
7
Hey! :o

I want to prove that the problem $\{x\mid T_x(x)=1\}$ is undecidable.

Let $A=\text{HALT}=\{x\in \mathbb{N}_0\mid T_x(x)\downarrow\}$ and $B$ the above problem.

We want to construct a "translation" of $A$ to $B$, i.e., we want to construct a computable function $f$ such that $x\in A\Leftrightarrow f(x)\in B$.

Could you give me some hints how we can find that function? (Wondering)
 
Physics news on Phys.org
mathmari said:
I want to prove that the problem $\{x\mid T_x(x)=1\}$ is undecidable.
Could you remind what $T_x(y)$ is? I know about Kleene's T predicate, but it has three arguments.
 
Evgeny.Makarov said:
Could you remind what $T_x(y)$ is? I know about Kleene's T predicate, but it has three arguments.

$T_x(y)$ is the Turing machine with code $x$ and input $y$.
 
Given a machine, $f$ should change it so that if it halts, it outputs 1.
 
Evgeny.Makarov said:
Given a machine, $f$ should change it so that if it halts, it outputs 1.

But how could we define the function so that it does that? (Wondering)
 
A machine halts when it enters the accepting or rejecting state. Replace those states with ordinary state $q_0$ throughout the program (set of instructions) and add a new block of instructions so that when the machine is in $q_0$, it erases the content of the tape and writes 1 on it.

Now there is a question how to erase the content of the tape. How does the machine know that beyond a certain position all cells contain the blank symbol? The original program $M$ can be modified so that it counts the number of steps it takes. That is, the original program is not simply run as a subroutine, but rather interpreted, and the number of steps is counted. Then the target program (i.e., the output of $f(\lceil M\rceil)$ erases as many cells as the number of steps taken by $M$ and then writes 1. If $M$ does not stop, $f(\lceil M\rceil)$ does not stop either. This all assumes I understood correctly that $T_x(x)=1$ means that the machine with code $x$ and input $x$ outputs 1.

I recommend reading section 5.3 "Mapping Reducibility" in the Sipser's book to see more examples of reductions.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 12 ·
Replies
12
Views
4K
  • · Replies 54 ·
2
Replies
54
Views
6K
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 10 ·
Replies
10
Views
2K