# The print problem: How to show it is not decidable?

I wonder the following reduction is correct.

I'm trying to show that the following problem "PRINT_BLANK" is not decidable.

Input: (a coding of) Turing machine M. Question: Does the machine never types "blank" on the stripe when it runs on x?

An attempt for reduction: $AcceptProblem \leq PrintBlank: f(\langle M,x\rangle)= M'.$

Given $M$ and $x$, we'll construct $M'$: For an input $y$ for $M'_x$, $M'_x$ simulates running of M on $w$. if $M$ accepts $w$, $M'_x$ writes "blank" and accepts y, otherwise it writes $x$ itself on the tape and rejects.

Any help?

Thanks!

-
You made a mistake: what happens when M already writes a blank during it's execution? – sxd Aug 6 '12 at 17:41

HINT: to make your reduction work, you should alter $M$ slightly, can you figure out how? If not, let me know.
That does not matter, since you are not running $M$, you are creating an other machine that runs $M$, these two situations are entirely different! Think about it! About my hint: Indeed, that is the only mistake you made! In the transition function of $M$ you have to replace the blank symbol with something different. Apart from that, your reduction is correct. – sxd Aug 11 '12 at 13:37