Chúng tôi biết rằng sự bình đẳng beta của các thuật ngữ lambda được gõ đơn giản là có thể quyết định. Cho M, N: →, liệu có thể quyết định được cho tất cả X MX _β NX không?
Chúng tôi biết rằng sự bình đẳng beta của các thuật ngữ lambda được gõ đơn giản là có thể quyết định. Cho M, N: →, liệu có thể quyết định được cho tất cả X MX _β NX không?
Câu trả lời:
Như tôi đã nói trong nhận xét của tôi, câu trả lời nói chung là không.
Điểm quan trọng cần hiểu (tôi nói điều này đối với Viclib, người dường như đang tìm hiểu về những điều này) là việc có một ngôn ngữ lập trình / bộ máy trong đó tất cả các chương trình / tính toán chấm dứt không có nghĩa là có chức năng bình đẳng (nghĩa là hai chương trình / máy tính cùng chức năng) là quyết định. Một ví dụ dễ hiểu: lấy bộ máy Turing có đồng hồ đa thức. Theo định nghĩa, tất cả các máy như vậy chấm dứt trên tất cả các đầu vào. Bây giờ, đưa ra bất kỳ máy Turing nào , có một máy Turing đó, được đưa ra trong đầu vào chuỗi , liệu mô phỏngcác bước tính toán của trên một đầu vào cố định (giả sử chuỗi trống) và chấp nhận nếu kết thúc tối đacác bước, hoặc từ chối khác. Nếu là một máy Turing luôn từ chối ngay lập tức, thì và đều có đồng hồ chính xác, và nếu chúng ta có thể quyết định liệu và tính cùng một hàm không (hoặc trong trường hợp này, sẽ quyết định cùng một ngôn ngữ), chúng ta sẽ có thể quyết định liệu (mà, hãy nhớ, là một máy Turing tùy ý) chấm dứt trên chuỗi trống.
Trong trường hợp gõ -calculus (STLC) đơn giản , một đối số tương tự hoạt động, ngoại trừ việc đo sức mạnh biểu cảm của STLC không tầm thường như trong trường hợp trên. Khi tôi viết bình luận của mình, tôi đã nghĩ đến một vài bài báo của Hillebrand, Kanellakis và Mairson từ đầu những năm 90, cho thấy rằng, bằng cách sử dụng các loại phức tạp hơn các số nguyên Church thông thường, người ta có thể mã hóa trong STLC đủ phức tạp tính toán cho các đối số trên để làm việc. Trên thực tế, tôi thấy rằng các tài liệu cần thiết đã có trong bằng chứng đơn giản hóa của Mairson về định lý của Statman:
Harry G. Mairson, Một bằng chứng đơn giản về một định lý của Statman. Khoa học máy tính lý thuyết, 103 (2): 387-394, 1992. (Có sẵn trực tuyến tại đây ).
Trong bài báo đó, Mairson cho thấy, đưa ra bất kỳ máy Turing , có một kiểu đơn giản và -term mã hóa các chức năng chuyển đổi của . (Đây không phải là một tiên nghiệm rõ ràng, nếu người ta có khả năng biểu cảm cực kỳ kém của STLC trên các số nguyên của Giáo hội. Thật vậy, mã hóa của Mairson không phải là ngay lập tức). Từ đó, không khó để xây dựng một thuật ngữ
(trong đó là phần khởi tạo trên của loại số nguyên Church) sao cho giảm xuống nếu chấm dứt ở hầu hết bước khi đã cung cấp chuỗi trống hoặc giảm xuống nếu không. Như trên, nếu chúng ta có thể quyết định rằng hàm được biểu thị bởi là hàm , chúng ta sẽ quyết định chấm dứt trên chuỗi trống.