Meta-conhecimento: você deseja encontrar uma linguagem não decidível que, no entanto, possua alguma propriedade computacional. Uma linguagem arbitrária e não decidível provavelmente não o levará muito longe. Mas um semi-decidível…
Dica mais forte: o que é uma linguagem semi-decidível? Significa que podemos enumerar as palavras: é um conjunto de palavras tal forma que exista um número inteiro n tal queun
u=f(n)
Olhe para esta equação um pouco, com a decisão e os prefixos em mente.
Intuitivamente falando, suponha que você tenha e gostaria de testar se está em P r e f ( L ) . Em geral, você não se sairá melhor do que marcar x a , x b , x a a etc. onde a , b , ⋯ são as letras do alfabeto. Esta é uma função recursiva parcial que testa a associação em P r e f ( L ) . Obviamente, sabíamos que P r e f ( L )xPref(L)xaxbxaaa,b,⋯Pref(L)Pref(L)já estava re; o que precisamos mostrar é que, às vezes, não há método alternativo. Vamos pegar um conjunto que é re e não recursivo, e seja f uma enumeração de S ( S = f ( x ) ∣ x ∈ N ).S⊂NfSS=f(x)∣x∈N
Suponha que o alfabeto contenha três símbolos , 1 e : (se você tiver apenas dois símbolos { ℵ , ℶ } , codifique 0 como ℵ ℵ , 1 como ℵ ℶ e : como ℶ ). Se n ∈ N , deixar ˉ n ser n escrita em base de 2, utilizando os símbolos de 0 e 1 , sem que conduz 0 .01:{ℵ,ℶ}0ℵℵ1ℵℶ:ℶn∈Nn¯n010
Vamos . Em inglês simples, pegamos os elementos de S e aderimos ao seu índice de enumeração. L é claramente decidível (verifique se existe um único :, que as seqüências de dois dígitos não contenham 0 inicial e que a sequência do primeiro dígito soletra a imagem por f do número que o segundo soletra). No entanto, decidir se algum ˉ y é um prefixo de L é equivalente a decidir se y está emL={y¯:x¯∣y=f(x)}SL:0fy¯Ly , o que você não pode prescindir de x, pois S não é recursivo por suposição. Formalmente, P r e f ( L ) não é decidível, porque P r e f ( L ) ∩ { 0 , 1 } ∗ : = S : não é decidível.SxSPref(L)Pref(L)∩{0,1}∗:=S: