1

I am currently studying mapping reduction in computational theory and finding it hard to grasp the concept fully.

For reference, consider the following given WHILE-Prog sets:

A = { (p.d) | p doesn't halt on input d } = Complementary HALT set. B = { p | p halts on exactly one input (the input is unknown) }

Is A < B. meaning, is there a mapping reduction from A to B?


Can someone suggest a hint?

knowing that A belongs to coRE did not help much. B doesn't seem to belong to either RE nor coRE.

dkaeae
  • 5,057
  • 1
  • 17
  • 31
Tom.A
  • 113
  • 2

1 Answers1

0

One basic idea is to observe that $B$ looks harder than $A$ since

  • we need to run a given Turing machine on one given input in order to find whether the pair is in $A$ but
  • we may need to run a given Turing machine on infinity many inputs in order to find whether it is in $B$.

That observation should motivate us to find a reduction from $A$ to $B$.


Suppose $(p,d)\in A$. Construct a machine that behaves as the following.

Upon an input string $s$, it checks whether $s$ is $d\sigma$, where $\sigma$ stand for a fixed letter in the alphabet.

  • If yes, it halts.
  • If no, it checks whether $s$ is $d$.
    • If no, it loops forever.
    • If yes, it simulate $p$ on $d$.

It should be routine to verify the construction above is indeed a reduction from $A$ to $B$.

John L.
  • 39,205
  • 4
  • 34
  • 93