Use Turing reductions for Q1 and Q2. Use a mapping reduction (aka. many-one reduction) for Q3.
1 (3 points). Given a TM M, one of its state q, and a set S of strings, show that it is undecidable to determine if M visits q for some input in S.
(This is equivalent to determining if a statement in a python script is ever being used for a set of inputs)
2 (3 points). Given a TM M and one of its state q, show that it is undecidable to determine if M visits q for some input string.
(This is equivalent to determining if a statement in a python script can ever be used)
3 (4 points). Given a TM M, show that it is undecidable to determine if M loops on some input string.
(This is equivalent to determining if a python script is free from the infinite-loop bug)