Załóżmy, że HALTS to TM, która odczytuje dane wejściowe jako parę i x , gdzie M jest kodowaniem TM, a x jest dowolnym wejściem do tej TM.MxMx
Twoje pytanie brzmi, czy to, co by się stało, jeśli założyliśmy zatrzymuje rozwiązało problemu stopu dla wszystkich wejść takie, że x nie jest kodowanie TM, który jest funkcjonalnym odpowiednikiem M .⟨M,x⟩xM
Twierdzę, że oznacza to sprzeczność. Wymyśliłem to na miejscu, dlatego z zadowoleniem przyjmuję wszelką krytykę mojego dowodu. Ideą dowodu jest to, że zamiast przekątnej czegoś na sobie, tworzymy dwie wzajemnie rekurencyjne TM, które zachowują się różnie na niektórych danych wejściowych (a zatem nie są funkcjonalnie równoważne), ale w przeciwnym razie powodują sprzeczności.
Niech i D 2 będą dwiema wzajemnie rekurencyjnymi bazami TM (co oznacza, że możemy symulować, drukować itp., Opis D 2 w programie D 1 i odwrotnie). Zauważ, że możemy tworzyć wzajemnie rekurencyjne bazy TM na podstawie twierdzenia o rekurencji.D1D2D2D1
Zdefiniuj i D 2 w następujący sposób: na wejściu x , jeśli | x | < 10 (10 wybranych dowolnie), następnie D 1 akceptuje i D 2 pętle. (W związku z tym nie są funkcjonalnie równoważne).D1D2x|x|<10D1D2
Biorąc pod uwagę pomocą | x | ≥ 10 , określa D 1 do symulacji zatrzymywane na ⟨ D 2 , x ⟩ i zatrzymania, jeśli D 2 zatrzymanie lub pętli, jeśli D 2 pętli.x|x|≥10D1⟨D2,x⟩D2D2
Biorąc pod uwagę pomocą | x | ≥ 10 , określa D 2 symulować zatrzymywane na ⟨ D 1 , x ⟩ i uchwyt, gdy D 1 zatrzymanie lub wstrzymania, jeśli D 1 pętli.x|x|≥10D2⟨D1,x⟩D1D1
Następnie zauważ, że dla dowolnego z | x | ≥ 10 , D 1 (x) zatrzymuje się lub zapętla. Jeśli D 1 zatrzymuje się na wejściu x, to wiemy, że HALTS ( D 2 , x) ustaliło, że D 2 zatrzymuje się na wejściu x. Jednak zatrzymanie D 2 na wejściu x oznacza, że pętle HALTS ( D 1 , x).x|x|≥10D1D1D2D2D2D1
Jeśli na wejściowych pętlach x , sprzeczność zachodzi podobnie.D1x
Jest to sprzeczność, chyba że jest kodowaniem dla maszyny Turinga funkcjonalnie równoważnym z D 1 lub D 2 , w którym to przypadku HALTS ma niezdefiniowane zachowanie. Jednak x wybrano dowolnie ze wszystkich ciągów o rozmiarze większym niż 10 . Pozostaje więc pokazać, że istnieje maszyna Turinga z kodowaniem o rozmiarze większym niż 10, który zachowuje się inaczej niż D 1 i D 2 . Możemy zbudować taką maszynę w sposób trywialny. CO BYŁO DO OKAZANIA.xD1D2x10D1D2
Myśli?