Tak, twierdzenie Rice'a o realiach obowiązuje w każdej rozsądnej wersji reali obliczalnych.
Najpierw udowodnię pewne twierdzenie i następstwo, a później wyjaśnię, co to ma wspólnego z obliczalnością.
Twierdzenie: załóżmyp:R→{0,1} to mapa i a,b∈R dwie rzeczywistości takie p(a)=0 i p(b)=1. Następnie istnieje sekwencja Cauchy'ego(xi)i takie, że p(limixi)≠p(xj)dla wszystkich .j∈N
Dowód. Konstruujemy sekwencję par liczb rzeczywistych (yi,zi)i w następujący sposób:
(y0,z0)(yi + 1,zi + 1)= ( a , b )= {(yja, (yja+zja) / 2 )( (yja+zja) / 2 ,zja)jeśli p ( (yja+zja) / 2 ) = 1jeśli p ( (yja+zja) / 2 ) = 0
Zauważ, że dla wszystkich
i ∈ N :
- p (yja) = 0 i p (zja) = 1
- |zja-yja| = | b-a | ⋅2)- ja
- |yi + 1-yja| ≤ | b-a | ⋅2)- ja
- |zi + 1-zja| ≤ | b-a | ⋅2)- ja
Zatem sekwencje i są Cauchy i zbiegają się do wspólnego punktu . Jeśli to bierzemy , a jeśli to bierzemy . (yja)ja(zja)jac =limjayja=limjazjap ( c ) = 0(xja)ja= (zja)jap ( c ) = 1(xja)ja= (yja)ja□
W następstwie: Załóżmy, że i dwie rzeczywiste, że i . Następnie każda maszyna Turinga albo działa wiecznie, albo nie działa wiecznie.p : R →{0,1}a , b ∈ Rp ( a ) = 0p ( b ) = 1
Dowód.
Zgodnie z tym twierdzeniem istnieje sekwencja Cauchy'ego taka, że dla wszystkich . Bez straty ogólności możemy założyć, że i .(xja)jap (xjot) ≠ p (limjaxja)j ∈ Bp (xjot) = 1p (limjaxja) = 0
Niech będzie maszyną Turinga. Zdefiniuj sekwencję przez
Sekwencja jest dobrze zdefiniowana, ponieważ możemy symulować do kroków i decydować, czy zatrzymała się w obrębie tak wielu kroków. Następnie zauważ, że jest sekwencją Cauchy'ego, ponieważ jest sekwencją Cauchy'ego (pozostawiamy to jako ćwiczenie). Niech . Albo lub :T.yja
yja= {xjotxjajeśli T halts in step j and j≤iif T does not halt within i steps
Ti(yi)i(xi)iz=limiyip(z)=0p(z)=1
jeśli to działa wiecznie. Rzeczywiście, gdyby zatrzymał się po kroku , mielibyśmy , a więc byłoby sprzeczne z .p(z)=0Tjz=xjp(z)=p(xj)=1p(z)=0
jeśli to nie działa wiecznie. Rzeczywiście, jeśli tak, to mielibyśmy , a więc , co jest sprzeczne z .
p(z)=1Tz=limixip(z)=p(limixi)=0p(z)=0□
Teraz możemy wyjaśnić, dlaczego daje to nam twierdzenie Rice'a o liczbach rzeczywistych. Dowody są konstruktywne, dlatego dają procedury obliczeniowe. Dotyczy to każdego modelu obliczalności i dowolnej struktury obliczeniowej rzeczywistych, które zasługują na miano tzw. W rzeczywistości możesz wrócić i przeczytać dowód jako instrukcje dotyczące budowania programu - wszystkie kroki są obliczalne.
Tak więc, jeżeli miała obliczalną mapę i obliczamy tak, że i , moglibyśmy zastosować procedury obliczeniowe wynikające z konstruktywnych dowodów twierdzenia i następstwa, aby stworzyć wyrocznię Haltinga. Ale wyrocznia Haltinga nie istnieje, dlatego każda mapa obliczalna jest stała.p:R→{0,1}a,b∈Rp(a)=0p(1)=1p:R→{0,1}
Uzupełniające: Pojawiło się również pytanie, czy twierdzenie Rice'a jest powiązane z połączeniem rzeczywistości. Tak, jest to zasadniczo stwierdzenie, że rzeczywiste są połączone.
Zauważmy najpierw, że ciągła mapa (bierzemy dyskretną topologię na ) odpowiada parze rozłącznych zbiorów clopen (zamkniętych i otwartych) w taki sposób, . Rzeczywiście, weź i . Ze względu jest ciągły i i są otwarte, i zostanie otwarty, rozłączne, i oczywiście obejmować wszystkie . I odwrotnie, każda para rozłącznych klopów pokrywających określa mapę ciągłąp:X→{0,1}{0,1}U,V⊆XU∪V=XU=p−1({0})V=p−1({1})p{0}{1}UVX(U,V)Xp:X→{0,1} odwzorowujący elementy na i elementy na .U0V1
Z tego dowiadujemy się, że przestrzeń jest odłączony wtedy i tylko wtedy, gdy istnieje ciągła mapa a takie, że oraz (musimy i tak, że mamy nietrywialne rozkład ). Jest inny sposób, aby powiedzieć to samo: przestrzeń jest połączona, jeśli i tylko wtedy, gdy wszystkie ciągłe mapy są stałe.Xp:X→{0,1}a,b∈Xp(a)=0p(1)=babXXX→{0,1}
W matematyce obliczeniowej mamy podstawowe twierdzenie: każda mapa obliczeniowa jest ciągła . Tak długo, jak długo jesteśmy w sferze obiektów obliczalnych, twierdzenie Rice'a faktycznie stwierdza, że pewna przestrzeń jest połączona. W przypadku klasycznego twierdzenia Rice'a omawiana przestrzeń jest przestrzenią częściowych funkcji obliczeniowych .N→N
Nie. Lub przynajmniej dowód nie jest trywialny, ponieważ możesz wybrać jeden z (ogólnie wielu) możliwych sposobów obliczenia rzeczywistej, i możesz być w stanie wybrać taki ze strukturą, która jest całkowicie wrt do wybranej właściwości, tak aby nie redukujesz testowania właściwości do problemu zatrzymania.
Myślę też, że potrzebuję lepszego zrozumienia tego, co „nietrywialne” oznacza wrt na właściwości liczb. Według twierdzenia Rice'a „nietrywialne” jest w zasadzie nie syntaktyczne i nie jest implikowane przez składnię. Jednak każda obliczalna liczba rzeczywista nie jest pojedynczym programem, ale raczej klasą równoważności pełną programów.
źródło