Tôi không hiểu tại sao Vấn đề dừng lại thường được sử dụng để loại bỏ khả năng xác định liệu chương trình có dừng lại hay không. Wikipedia [bài báo] [1] giải thích chính xác rằng một cỗ máy xác định có bộ nhớ hữu hạn sẽ tạm dừng hoặc lặp lại trạng thái trước đó. Bạn có thể sử dụng thuật toán phát hiện xem một vòng lặp danh sách được liên kết để thực hiện Hàm dừng với độ phức tạp không gian của O (1).
Dường như với tôi rằng bằng chứng Ngừng vấn đề không gì khác hơn là một "nghịch lý", một mâu thuẫn tự (ít nhất là theo chu kỳ) giống như nghịch lý của Kẻ nói dối. Kết luận duy nhất mà nó đưa ra là Chức năng Dừng dễ bị ảnh hưởng bởi các câu hỏi không đúng.
Vì vậy, ngoại trừ các chương trình nghịch lý, Chức năng dừng là quyết định. Vậy tại sao chúng ta giữ nó như một bằng chứng ngược lại?
4 năm sau : Khi tôi viết bài này, tôi mới xem video này . Một lập trình viên nhận được một số chương trình, phải xác định chương trình nào kết thúc và video tiếp tục giải thích tại sao điều đó là không thể. Tôi đã thất vọng, vì tôi biết rằng đưa ra một số chương trình tùy ý, có khả năng nhân vật chính có thể chứng minh liệu họ có chấm dứt hay không. Khái niệm về tính tổng quát đã bị mất bằng cách nào đó. Đó là sự khác biệt giữa việc nói "một số chương trình không thể được chứng minh là chấm dứt" và "không chương trình nào có thể được chứng minh là chấm dứt". Nhiều thuật toán được chính thức chứng minh để làm như vậy. Thất bại trong việc tạo ra sự khác biệt này, bởi mỗi tài liệu tham khảo tôi tìm thấy trên mạng, là cách tôi đến với tiêu đề cho câu hỏi này. Vì lý do này, tôi thực sự đánh giá cao câu trả lời xác định lại chức năng tạm dừng là ternary thay vì boolean.
P => Q
đúng với mọi Q, nếu chúng tôi biết đó P
là sai (và chúng tôi biết rằng Vấn đề Ngừng không thể giải quyết được). Đức Phanxicô cũng có thể nói "Nếu chúng ta có thể giải quyết vấn đề tạm dừng, chúng ta có thể tự tìm ra cách chữa trị cho cái chết". Đó là cách hàm ý logic được định nghĩa.