Recursively enumerable (computably enumerable) languages closed under permutation?

517 views Asked by At

If L is any language. The language perms(L) is the language of all permutations of words from L.

True or False: If L is recursively enumerable (computably enumerable), then perms(L) is also recursively enumerable.

This was on a previous final along with the question: if L is decidable then so is perms(L), which I found to be true.

I suppose I would say false, but I have no proof to back this claim.

1

There are 1 answers

0
Patrick87 On

Think about what "recursively enumerable" means. It means that you can define a TM that will write each string in the language down. If you give the TM enough time, it will eventually write any given string down.

For any given string in the language, it has a finite number of permutations. A Turing machine could certainly write down all permutations of a string, given the string.

Imagine putting these two Turing machines together: the first to enumerate all strings in your language, and the second one which emits all permutations of each of these strings. The result is an enumeration of all permutations of strings in the first language.

The combination of Turing Machines described above results in a new Turing Machine. We thus have a Turing Machine enumerating all strings in the desired language. By definition, this language is recursively enumerable.