Uma das definições de um conjunto computávelmente enumerável (ce, equivalente a recursivamente enumerável, equivalente a semidecidável) é o seguinte:
é ce sse existe uma língua decidíveis (chamado verificador) r para todos os ,
sse existe uma r .
Portanto, uma maneira de mostrar que um idioma não é ce é mostrar que não existe um verificador decidível para ele. Este método é útil para mostrar que os idiomas não estão na prática?
Respostas:
Na prática, geralmente não provamos apenas que um idioma é re ou não re. Se o idioma for re, queremos saber se é recursivo. Se não for re, queremos saber que tipo de diploma de Turing ele possui, não apenas que o grau de Turing não é re.
Portanto, embora, em princípio, você possa mostrar que um idioma não é re, provando que não há verificador, na prática é mais informativo provar que o idioma não é re, mostrando que ele calcula algo que nenhum reestabelecimento pode calcular; a natureza desse 'algo' normalmente fornece informações úteis sobre o problema que está sendo estudado.
fonte
Para esclarecer a terminologia, uso: decidível = recursivo = computável, semidecidável = recursivamente enumerável = enumerável computacionalmente, co-semidecidável = co-recursivamente enumerável = co-computável enumerável.
Na prática, um método comum para mostrar que um idioma não é semidecidável é mostrar que não é decidível e que é co-semidecidível. Você então usa o fato de que qualquer idioma que seja semidecidível e co-semidecidável também poderá decidir concluir que seu idioma não é semidecidável. (observe que isso só funciona em uma direção: um idioma não pode ser nemidecidável nem co-semidecidável; nesse caso, você precisa de outro método)
Como exemplo: sabemos que decidir se um é ambíguo é indecidível, mas é fácil co-semidecidir: você apenas fornece uma string com duas análises diferentes. Isso implica que não é semidecidável se um é ambíguo.CFG CFG
Outro método é mostrar que o idioma está completo para algum nível superior da hierarquia aritmética .
É claro que é possível provar diretamente que não há verificador, mas isso geralmente é tedioso, pois geralmente repete a prova de que o problema da parada é indecidível. Observe que o argumento acima prova implicitamente que não há verificador, então acho que você poderia dizer que é um método para provar que não há verificador, mas então você pode considerar qualquer prova de não-semidecidibilidade como prova de que existe não mais verfier.
fonte