in Theory of Computation edited by
27 votes

Let a decision problem $X$ be defined as follows:

$X$: Given a Turing machine $M$ over $\Sigma$ and any word $w \in \Sigma$, does $M$ loop forever on $w$?

You may assume that the halting problem of Turing machine is undecidable but partially decidable.

  1. Show that $X$ is undecidable
  2. Show that $X$ is not even partially decidable
in Theory of Computation edited by

1 comment

sir halting problem is undecidable but semi deciadable. i.e recursive enumerable. and the given problem is complement of halting problem. and we know recursive enumerable is not closed under complementation. then how can we say that the answer is not even semi decidablde

Subscribe to GO Classes for GATE CSE 2022

2 Answers

38 votes
Best answer
The question asks if $M$ loop forever on $w$. If $M$ loop forever on $w, M$ wouldn't halt on $w$. And if $M$ doesn't halt on $w, M$ should loop forever. So, this problem is exactly same as asking if "$M$ doesn't halt on $w$", which is the complement of halting problem and is not even partially decidable. So, $X$ is not even partially decidable.
edited by


Can you please explain the second part in more detail. What does it actually mean to be partially decidable? Can you just elaborate a little ? thanks !!!

Consider a decision problem. A decision can be either "yes" or "no". So. we can divide the problem cases to 2 parts- one where the answer is "yes", and one where the answer is "no".

Now, if the "yes" instance of the problem is given, suppose we (our TM) can always say "yes", then the problem is partially decidable (its language is recursively enumerable).

If we can also say "no" for all "no" instances of the problem, then the problem is decidable (its language is recursive).

NB: TM for a partially decidable but not decidable problem, will go to an infinite loop for SOME "no" instances. For some "no" instances it may say "no". (Obviously, it won't say "yes" for any no" instance)

thanks !!!
Sir there partially decidable is same as undecidable
No. Some undecidable problems are partially decidable- example halting problem. All decidable problems are also partially decidable. Partially decidable set is a superset of decidable which also includes some undecidable problems- for which we have solution for "yes" instances at least.

Hi @GO Seniors,

X: Given a Turing machine M over Σ and any word w∈Σ, does M loop forever on w?

Here also we have two cases --> 

if $ w\in \sum$ then answer of  $X$ is NO. But

if  $ w\notin \sum$ then we can not say anything. 

then, Why is it not considered in partially decidable class ? 

Here for this problem, we can say 'No' for all the 'No' instances. But can't say 'Yes' for 'yes' instances. Hence undecidable
edited by
Does w loop forever on M??

Ans >Yes or No

When Yes Undecidable.But when No halt so its is partial decidable.

plz any one rectify me what is wrong with this?
@chhotu partially decidable means we can say yes for all yes instances but cannot say no for "no" instance. This problem is complement of "Halting problem of Turing machine" in which we cannot even say "yes" for all yes instances.

Given a Turing machine MM over ΣΣ and any word w∈Σw∈Σ, does MM loop forever on w

If you answer "yes" or "no" for looping question indirectly you are answering looping problem of TM which is undecidable.

Summarizing it: Decidable - we can say yes or no for both instance- recursive

partially decidable - we can say yes only for "yes" instance. REL.

Totally undecidable : cannot say yes for every yes case. Not even REL.


@arjun sir , 3 lectures on decidability and ur explanations for all  decidability questions really helped me in understanding these topic in which i was facing problem from long time thnxx for making these easy ur explanation are really awsm thankyou soo much sir :)
Undecidable means a language can be Recursively-Enumerable or may be not Recursively-Enumerable.
8 votes

Partially decidable is same as semi-decidable language which means that there exists a Turing Machine for such languages(given an input, the machine can accept/reject/loop) but we are not sure whether there is any Total Turing Machine(given an input, the machine can accept or reject but does not loop) or not.

Ref: <2:47 to 4:30>

Here the question is whether M loops on a given string 'w' which is same as saying whether M does not halt on w. As Arjun Sir said, this is just the complement of Halting problem.

Halting problem is an undecidable problem. Given an input x to a machine M, there is no way to decide whether M will halt(accept or reject) or not(loop). The language L={M#x | M halts on x} is R.E but not Recursive.

So complement of Halting problem would be complement of language which is (R.E. but not Recursive) which is Non-R.E.

Why is it so? Ref:  <0:00-7:00>

Non R.E. means unrecognizable meaning there does not exist any Turing machine also for such languages hence they are not even partially decidable.

Related questions