is a recursively enumerable language over . An algorithm effectively enumerates its words as Define another language over as . Here # is new symbol. Consider the following assertions.
- is recursive implies is recursive
- is recursive implies is recursive
Which of the following statements is true?
View worked solution
Answer: A
To determine the truth value of the assertions, we analyze both directions:
Assertion : is recursive is recursive
To decide if a string :
- Verify if is of the form where . If not, reject.
- Since is recursive, decide if and . If either is not, reject.
- Since both , run the enumerator until both and are printed. This is guaranteed to terminate in finite time.
- If is printed before (i.e., ), accept; otherwise, reject.
Since this procedure always halts and gives the correct answer, is recursive. Thus, is true.
Assertion : is recursive is recursive
If is empty or contains only one string, it is finite and trivially recursive. Otherwise, we can run the enumerator to find the first generated string, say . To decide if any string is in :
- If , accept.
- Otherwise, query the decider of with the string .
- If , then (accept). If , then (reject), because if were in (and ), its index would be , which would force .
Thus, is recursive. So, is true.
Free practice · Your answers on this page are not saved.
