For , one writes if there is a total computable function such that
for every . This is a computable many-one reduction.
One writes when both and .
Fix an effective coding of machines and write for the computably enumerable language recognized by code . A set of codes is an index set when membership depends only on the recognized language:
It is nontrivial when it is neither empty nor all of .
Let and let be any index for the empty language. The proof of Rice theorem gives
In either case choose a language on the opposite side of the nontrivial property and switch from the empty enumerator to its enumerator if the simulated diagonal computation halts.
The empty language belongs to , so the second case applies:
It does not belong to , so the first case applies:
The set of codes of even length is not an index set because code length is syntactic rather than a property of . By the padding lemma, every computably enumerable language has equivalent machine descriptions of arbitrarily many lengths, in particular descriptions of both parities. Hence equal recognized languages need not give equal membership.
Since the empty language does not lie in
Rice's construction gives . Conversely, is computably enumerable: dovetail the enumerator for until two distinct words appear, then accept. The diagonal halting set is many-one complete for computably enumerable sets, so . Therefore
For , map to a machine that initially enumerates nothing and, if the simulation establishing halts, enumerates every word. Its language is cofinite exactly when .
For , map to a machine that enumerates successively longer finite initial segments of while simulating . If the simulation never halts, every word is eventually enumerated; if it halts, enumeration stops with a finite language and therefore an infinite complement. Thus the constructed language is cofinite exactly when .
The parameter theorem makes both code transformations total and computable.

Articles by others on the same topic (0)

There are currently no matching articles.