Versi singkat: Output dari mesin tidak benar atau salah, mereka hanya bertentangan, yang membuktikan bahwa mesin awal yang memutuskan apakah mesin input berhenti pada string yang diberikan atau tidak tidak dapat ada.
Versi panjang : Pertama kita akan membuat sketsa buktinya (atau setidaknya satu versi - ada banyak).
- Asumsikan bahwa kita memiliki Turing Machine yang memutuskan apakah Turing Machine M perhentian pada input xH A L T (⟨M⟩ , X )M.x atau tidak.
- Menggunakan kita membangun sebuah mesin F L I P ( ⟨ M ⟩ , x ) yang menggunakan H A L T untuk memeriksa apakah M perhentian pada x atau tidak, kemudian melakukan sebaliknya, yaitu jika M perhentian pada x , F L I P loop, jika M tidak berhenti di x , F L I PH A L TF L I P (⟨M⟩ , X )HA L TM.xM.xF L I PM.xF L I P berhenti.
- Akhirnya kami membuat TM (Aku berlari keluar dari nama-nama yang baik), yang mengambil deskripsi TM dan berjalan F L I P dengan masukan ( ⟨ M ⟩ , ⟨ M ⟩ ) , keluaran apapun F L I Output P.C(⟨M⟩)FLIP(⟨M⟩,⟨M⟩)FLIP
Penting untuk dicatat bahwa selama penentu ada, masing-masing langkah ini mudah diterapkan; F L I P hanya harus menggunakan H A L T untuk memeriksa apa yang harus dilakukan, dan C hanya menggandakan inputnya untuk diteruskan ke F L I PHALTFLIPHALTCFLIP .
Kontradiksi muncul ketika kita melihat apa yang terjadi ketika kita menjalankan . Entah C berhenti ketika diberikan sendiri sebagai input atau tidak. H A L T akan memutuskan ini:C(⟨C⟩)CHALT
- Jika perhentian masukan ⟨ C ⟩ , H A L T akan mengatakan Y e s , tapi kemudian F L I P akan loop, sehingga C akan lingkaran, bertentangan H A L TC⟨C⟩HALTYesFLIPCHALT .
- Jika loop pada input ⟨ C ⟩ , H A L T akan mengatakan N o , tapi kemudian F L I P akan menghentikan, sehingga C juga akan berhenti, bertentangan H A L T .C⟨C⟩HALTNoFLIPCHALT
Karena setiap langkah dalam konstruksi jelas-jelas terdengar, kita hanya dapat menyimpulkan bahwa tidak dapat eksis; kami telah membangun sebuah kasus di mana tidak peduli apa yang dikatakannya, H A L T tidak mungkin memutuskan apa yang akan dihasilkan, yaitu masalahnya tidak dapat diputuskan. Hanya untuk benar-benar palu pada titik sedikit, H A L T tidak dapat ada - yaitu tidak mungkin ada TM yang memutuskan Masalah Henti - karena setidaknya ada satu kasus kami telah secara eksplisit dibangun di mana tidak ada secara logis jawaban yang mungkin. Ingatlah bahwa seorang penentu tidak diperbolehkan untuk mengeluarkan jawaban yang salah dan harus mengeluarkan sesuatu, tetapi dalam kasus yang kami buat, kedua kemungkinan jawaban itu salah.HALTHALTHALT
Anda sedang mendiskusikan dua arti "kontradiksi" yang berbeda.
Dalam analogi Anda, mesin A dan modifikasi terbalik saling bertentangan hanya dalam arti bahwa output mereka selalu berbeda. (Misalnya, mereka mungkin menerapkan dua fungsi tes pada bilangan bulat, " x ≤ 5?" Dan " x > 5?") Itu tentu saja satu hal "bertentangan" dapat berarti dalam penggunaan sehari-hari, tetapi bukan itu yang dimaksud dengan logika. bukti.
Dalam bukti logis, itu berarti sesuatu yang lebih kuat: sesuatu yang tidak mungkin. Misalnya fungsi yang mengembalikan "true" pada semua input lebih dari 5, dan "false" pada semua input kurang dari 10 - itu bertentangan dengan pengertian yang lebih kuat ini, karena untuk, katakanlah, 7, outputnya harus "benar" dan "salah", tetapi itu tidak sama. Argumen Turing menunjukkan bahwa program penghentian itu bertentangan dalam arti yang lebih kuat: menganggapnya mengarah pada sesuatu yang tidak mungkin, atau sudah diketahui salah.
sumber
sumber