Sepengetahuan saya, menghentikan masalah bertanya apakah ada program yang memutuskan apakah suatu program sedang diuji, diberi beberapa data input (tidak peduli program apa itu, atau data input apa yang kami berikan) akan berakhir atau tidak. Jawaban untuk masalah ini adalah 'tidak'. Dengan kata lain, tidak ada program 'tunggal' yang dapat memverifikasinya untuk semua pasangan yang memungkinkan (beberapa algoritma, beberapa data input).
Tapi itu tidak berarti kita tidak bisa memutuskan apakah tertentu Program X akan menghentikan atau tidak.
Saya belum bisa mengomentari jawaban lain, tetapi salah satunya menarik perhatian saya:
Dalam istilah praktis, ini penting karena memungkinkan Anda memberi tahu atasan Anda yang bodoh "apa yang Anda minta secara matematis tidak mungkin".
Mungkin Anda bisa memberi tahu saya apa yang dimaksud orang itu? Dalam skenario saya, atasan saya yang bodoh dapat meminta saya untuk memverifikasi (sebenarnya, membuktikan atau membantah) apakah program saya (itu adalah program tertentu) akan berakhir atau tidak. Dan tentu saja ada pasangan (algoritma, input data) yang dapat dibuktikan untuk mengakhiri (atau tidak pernah mengakhiri).
Pertanyaannya adalah - dapatkah saya membuktikannya untuk setiap pasangan (program, input data) secara terpisah? Bahkan jika jawabannya adalah ya, maka ada masalah - mungkin ada banyak 'data input'. Jadi cukup wajar untuk bertanya - dapatkah saya membuktikan, untuk setiap algoritma, bahwa algoritma ini akan berakhir (atau sebaliknya), tidak peduli input data apa yang saya berikan?