Seja um conjunto não trivial de linguagens recursivamente enumeráveis ( ) e seja L o conjunto de codificações de máquinas de Turing que reconhecem algum idioma em C : L = \ {\ langle M \ rangle \ mid L (M) \ em C \}C
Suponha que ⟨Mloopy⟩∈L
Pelo teorema de Rice, eu sei que L∉R
computability
turing-machines
Numerador
fonte
fonte
Respostas:
Não, isso não é possível. Existe uma versão estendida do teorema de Rice¹ para provar que um conjunto de índices não é recursivamente enumerável.
Em sua notação, as teorema que se uma (não-trivial) contém uma linguagem que tem um super adequada não em , então . A intuição é que nenhum algoritmo pode separar codificações de e ; eles não podem decidir que a máquina codificada não aceita nenhuma palavra de após um período finito de tempo, o que eles precisavam.CC L1L1 L2L2 CC L∉REL∉RE L1L1 L2L2 L2∖L1L2∖L1
Agora você requer mas ; portanto, o teorema se aplica e não é recursivamente enumerável.∅∈C∅∈C C≠2Σ∗C≠2Σ∗ LL
fonte
Para completar a resposta de Rafael, há uma extensão do teorema de Rice que diz o seguinte:
Agora, de volta à pergunta original. Nós agora que de modo . Mas pois essa TM nunca é interrompida. Isto significa que .⟨Mloopy⟩∈L⟨Mloopy⟩∈L L(⟨Mloopy⟩)∈CL(⟨Mloopy⟩)∈C L(⟨Mloopy⟩)=∅L(⟨Mloopy⟩)=∅ ∅∈C∅∈C
Agora vamos ver a primeira condição do teorema acima. QUALQUER linguagem satisfaz . Assim, para satisfazer a condição 1, deve ser que . No entanto, a pergunta afirma que e, portanto, pelo teorema, .LL ∅⊆L∅⊆L C=REC=RE C⊊REC⊊RE L∉REL∉RE
fonte
É possível que euL é um reset. Considere o casoC=REC=RE . EntãoeuL é o conjunto de todos os códigos de todas as máquinas de Turing. Este é um conjunto recursivo, de fato, dependendo dos detalhes da codificação, poderíamos tereu=NL=N . Portanto, é realmente falso queeuL não pode ser recursivo.
Eu suspeito que você formulou mal a pergunta.
fonte