Aby wyjaśnić terminologię, używam jasnego: decidable = recursive = computable, semidecidable = recursively enumerable = computable enumerable, co-semidecidable = co-recursively enumerable = co-computable enumerable.
W praktyce powszechną metodą wykazania, że język nie jest rozstrzygalny, jest wykazanie, że nie można go rozstrzygać i że jest on rozstrzygalny. Następnie korzystasz z faktu, że każdy język, który jest zarówno półdecydowalny, jak i pół-półdecydowalny, również jest rozstrzygalny, aby stwierdzić, że Twój język nie jest półdecydowalny. (zwróć uwagę, że działa to tylko w jednym kierunku: język nie może być ani w połowie, ani w połowie, w którym to przypadku potrzebujesz innej metody)
Jako przykład: wiemy, że decydowanie o tym, czy jest niejednoznaczne, jest nierozstrzygalne, ale łatwo jest współdecydować: po prostu podajesz ciąg, który ma dwie różne analizy. Oznacza to, że nie jest rozstrzygalne, czy C F G jest niejednoznaczny.CFGCFG
Inną metodą jest wykazanie, że język jest kompletny dla pewnego wyższego poziomu hierarchii arytmetycznej .
Oczywiście można bezpośrednio udowodnić, że nie ma weryfikatora, ale jest to często żmudne, ponieważ zwykle powtarza dowód, że problem zatrzymania jest nierozstrzygalny. Zauważ jednak, że powyższy argument zasadniczo niejawnie dowodzi, że nie może istnieć żaden weryfikator, więc sądzę, że możesz powiedzieć, że jest to metoda udowodnienia, że nie ma weryfikatora, ale wtedy możesz rozważyć każdy dowód braku rozstrzygalności jako dowód, że istnieje nie verfier.