Méta-connaissance: vous voulez trouver un langage non décidable qui a néanmoins une propriété de calcul. Un langage arbitraire non décidable ne vous mènera probablement pas très loin. Mais semi-décidable…
Indice plus fort: qu'est-ce qu'un langage semi-décidable? Cela signifie que nous pouvons énumérer les mots: c'est un ensemble de mots tel qu'il existe un entier n tel queun
u=f(n)
Regardez cette équation un peu, avec la décidabilité et les préfixes à l'esprit.
Intuitivement, supposons que vous ayez quelques et que vous aimeriez tester si c'est dans P r e f ( L ) . Vous ne ferez pas mieux en général que de cocher x a , x b , x a a , etc. où a , b , ⋯ sont les lettres de l'alphabet. Il s'agit d'une fonction récursive partielle qui teste l'appartenance à P r e f ( L ) . Bien sûr, nous savions que P r e f ( L )xPref(L)xaxbxaaa,b,⋯Pref(L)Pref(L)était déjà; ce que nous devons montrer, c'est que parfois il n'y a pas de méthode alternative. Prenons un ensemble qui est re et non récursif, et soit f une énumération de S ( S = f ( x ) ∣ x ∈ N ).S⊂NfSS=f(x)∣x∈N
Supposons que l'alphabet contient trois symboles , 1 et : (si vous n'avez que deux symboles { ℵ , ℶ } , encodez 0 en ℵ ℵ , 1 en ℵ ℶ et : en ℶ ). Si n ∈ N , laissez ˉ n être n écrit en base 2 en utilisant les symboles 0 et 1 sans leader 0 .01:{ℵ,ℶ}0ℵℵ1ℵℶ:ℶn∈Nn¯n010
Soit . Dans un anglais simple, nous prenons les éléments de S et clouons sur leur indice d'énumération. L est clairement décidable (vérifiez qu'il y a un seul :, que les séquences à deux chiffres ne contiennent pas de 0 de tête et que la première séquence de chiffres épelle l'image par f du nombre que la seconde épelle). Pourtant, décider si certains ˉ y est un préfixe de L équivaut à décider si y est dansL={y¯:x¯∣y=f(x)}SL:0fy¯Ly , ce que vous ne pouvez pas faire sans connaître x puisque S n'est pas récursif par hypothèse. Formellement, P r e f ( L ) n'est pas décidable, car P r e f ( L ) ∩ { 0 , 1 } ∗ : = S : n'est pas décidable.SxSPref(L)Pref(L)∩{0,1}∗:=S: