Tak, musi być nieskończony, aby być niezdecydowanym.L
Podsumowując odpowiedzi Raphaela i Sama, powinieneś pomyśleć o „rozstrzygalnej” jako rzeczy, którą program komputerowy może rozwiązać. Wymagany program jest bardzo prosty, wystarczy wypisać „Tak” dla elementów w , lub inaczej powiedzieć „nie”.L
Im bardziej „złożony” jest , tym dłuższy program musisz napisać. Innymi słowy, im dłużej uruchamiasz program, możesz sprawdzić więcej rzeczy ... Jeśli więc ktoś poda język który jest skończony, powiedz , możesz napisać następujący program:L L = { a 1 , a 2 , … , a n }LLL={a1,a2,…,an}
if INPUT = $a_1$ output Yes;
if INPUT = $a_2$ output Yes;
...
if INPUT = $a_n$ output Yes;
output No;
Teraz, jeśli ktoś da ci większy (jeszcze skończony), po prostu napiszesz dłuższy program. Jest to zawsze prawdą, a każdy skończony będzie miał swój własny program. Jedynym „interesującym” przypadkiem jest to, co dzieje się, gdy jest nieskończony - twój program nie może być nieskończony.L LLLL
Kwestia „nierozstrzygalności” jest jeszcze bardziej interesująca: te (nieskończone) , które nie mają programu, który działałby dla nich poprawnie. Wiemy, że takie języki muszą istnieć, ponieważ istnieje znacznie więcej (nieskończonych) języków niż liczba programów o skończonej (ale nieograniczonej) długości.LLL