Định lý Rice
Phát biểu
Với mọi tính chất ngữ nghĩa không tầm thường của các hàm khả tính bộ phận, tập không quyết định được.
Vì sao đúng?
Định lý duy nhất này ngay lập tức loại trừ thuật toán cho "chương trình này có tính hàm không hay không", "chương trình này có tính toàn phần không", "hai chương trình này có tương đương không", và vô số câu hỏi tự nhiên khác về hành vi chương trình — tất cả cùng một lúc, không cần lập luận đường chéo riêng cho từng câu.
Phác thảo chứng minh
Không mất tổng quát giả sử hàm không xác định khắp nơi (tính bởi chương trình không bao giờ dừng ở đầu vào nào) không có tính chất — nếu không thì lập luận với tính chất bù , tính chất này quyết định được đúng khi quyết định được. Vì không tầm thường, cố định một chương trình mà hàm của nó có tính chất .
Giả sử phản chứng quyết định được bởi thuật toán nào đó (cho một chỉ số chương trình, dừng và báo cáo đúng liệu hàm của chương trình đó có tính chất hay không). Ta quy về bài toán dừng bởi , mâu thuẫn với Định lý 1.
Cho một cặp bất kỳ, xây dựng hiệu quả (bằng thao tác văn bản đơn giản — định lý s-m-n của Kleene) một chương trình mới mà, với đầu vào bất kỳ: trước hết mô phỏng chương trình chạy trên đầu vào ; nếu mô phỏng đó dừng, thì tiếp tục mô phỏng chương trình trên đầu vào và cho ra bất cứ gì nó cho ra.
Xét hai khả năng. Nếu dừng ở : mô phỏng trên kết thúc, nên sau đó hành xử y hệt ở mọi đầu vào, tức — hàm này có tính chất (vì ngữ nghĩa, chỉ phụ thuộc hàm được tính, và có ). Nếu không dừng ở : mô phỏng trên không bao giờ kết thúc, nên không bao giờ tới bước mô phỏng ở bất kỳ đầu vào nào; do đó là hàm không xác định khắp nơi , theo giả định không có tính chất .
Vậy: dừng ở có tính chất trả lời "có". Vì tính được, thuật toán "tính từ , rồi chạy " sẽ quyết định được bài toán dừng — mâu thuẫn Định lý 1. Vậy không tồn tại như thế: không quyết định được.
Chủ đề chứa định lý này
Chứng minh từng bước
Chưa có chứng minh từng bước cho định lý này.
Tài liệu tham khảo
- Wikipedia contributors (2024). Halting problem
- Wikipedia contributors (2024). Rice's theorem
- Wikipedia contributors (2024). Ackermann function