Làm thế nào để nêu sự đầy đủ của một mã hóa tính toán lambda trong chính nó?


8

MMME

EM=βM.

Có nhiều loại mã hóa như Kleene sử dụng các số tự nhiên và mã hóa hiện đại hiệu quả nhất là cú pháp bậc cao của Mogensen. Một mã hóa có thể (tầm thường) khác là chức năng nhận dạng, sau đó trình thông dịch lại là chức năng nhận dạng.

Có bất kỳ khái niệm hợp lý nào về một "mã hóa đầy đủ" vượt xa các mã hóa tầm thường không?

Câu hỏi này được đưa ra khi xem xét vấn đề tạm dừng áp dụng cho phép tính lambda thay vì máy Turing: Nếu được nêu dưới dạng mã hóa tầm thường thì nó cho rằng vì lý do tầm thường mà chúng ta không thể làm gì với thuật ngữ lambda được trích dẫn.

Đặt khác nhau: Tập hợp các hàm mà chúng ta sẽ mong đợi để có thể tính toán theo các thuật ngữ lambda được trích dẫn là gì?

Tôi có thể liệt kê một vài ví dụ như: đếm độ sâu của thuật ngữ, lấy subterms, cho biết nút gốc của thuật ngữ là lambda hay ứng dụng, ... nhưng tôi sẽ ngần ngại định nghĩa "mã hóa đầy đủ" bằng cách chỉ liệt kê các hàm các loại điều đó đến với tâm trí


1
Chọn một "mã hóa đầy đủ" cụ thể (giả sử, được mã hóa bởi Kleene). Nói rằng một mã hóa là đầy đủ nếu có một -term tham gia một -encoded hạn để mã hóa Kleene. Điều này là một chút ngớ ngẩn, nhưng điều này sẽ làm việc cho mục đích của bạn? ιλιι(M)
cody

1
Tôi nghĩ rằng bạn thực sự đã liệt kê các hoạt động chính: nói loại thuật ngữ (biến, trừu tượng hóa, ứng dụng) và, khi thích hợp, thực hiện các nhiệm vụ con. Điểm nhạy cảm duy nhất là đại diện cho sự ràng buộc của lambdas, nhưng bạn có thể làm điều đó bằng cách sử dụng ký hiệu de Bruijn. Bất kỳ hoạt động hợp lý nào khác (ví dụ, đếm độ sâu) đều xuất phát từ những điều này, bởi vì bạn có thể giải mã hoàn toàn một thuật ngữ. Bạn có đồng ý không
Damiano Mazza

Những gì @DamianoMazza nói. Tôi đã cố gắng giải thích một số điều này trong math.andrej.com/2016/01/04/ Kẻ
Andrej Bauer

@Andrej Bauer Tôi không thể tin rằng bạn cần tất cả những thứ đó. Không giải quyết vấn đề của tôi.
Andrea Asperti

Tất nhiên là không, bit có liên quan chỉ là một đoạn đầu, giải thích những gì cần có để mã hóa cú pháp được chấp nhận.
Andrej Bauer

Câu trả lời:


5

Như những người khác đã chỉ ra, định nghĩa rõ ràng về mã hóa "đầy đủ" là nó có thể chuyển đổi được với bất kỳ tiêu chuẩn nào. Do đó, câu hỏi là để mô tả đặc điểm mã hóa như vậy theo các đặc tính cơ bản hơn.

( Ghi chú lịch sử . Smullyan đã nghiên cứu câu hỏi này trong bối cảnh logic kết hợp. Khi tôi còn là sinh viên, Henk Barendregt đã gợi ý những phỏng đoán của Smullyan với tôi như một vấn đề nghiên cứu - dẫn đến ấn phẩm khoa học đầu tiên của tôi.) Xem

http://drops.dagstuhl.de/opus/volltexte/2011/3249/

Để tóm tắt, đưa ra một bản đồ , chúng tôi xem xét liệu có tồn tại các tổ hợp thỏa mãn các thuộc tính nhất định hay không. Những cái quan trọng nhất là:¯:ΛΛ

  • AM¯N¯=MN¯
  • BM¯=M¯¯
  • PiM0M1¯=Mi¯,i{0,1}
  • ZbM¯={λxy.xMb{I,K,S}λxy.yotherwise
  • ΔM¯N¯={λxy.xMNλxy.yotherwise
  • UM¯=M¯s , trong đó là một số mã hóa tiêu chuẩn¯s
  • U1M¯s=M¯

Thật dễ dàng để thấy rằng bất kỳ mã hóa đầy đủ có các tính chất này. Kết quả chính của bài báo (Hệ quả 14) là, đối với một mã hóa đầy đủ, một trong những điều sau đây:

  • A+Δ ;
  • U1+Δ ;
  • U1+Pi+Zb ;
  • Pi+Zb+ "phạm vi của được chứa trong một tập hợp đệ quy và có một tổ hợp quyết định xem một phần tử đã cho của tập hợp này có nằm trong phạm vi hay không".¯

4

Đây không phải là một câu trả lời. Đó là một câu hỏi chi tiết, có vẻ thú vị đối với tôi và có lẽ đáng được chú ý hơn so với thực tế nhận được.

Trước hết, hãy để tôi nói rằng có một điều kiện quan trọng trong định nghĩa của Barendregt đã bị Brennan bỏ qua, cụ thể là phải ở dạng bình thường , ngay lập tức loại bỏ chức năng nhận dạng dưới dạng mã hóa đầy đủ.M

Bây giờ, câu hỏi có thể được đặt chính xác hơn theo đề xuất của Cody.

Cho hai bảng mã, chúng có phải là đẳng cấu đệ quy không? Nói cách khác, giả sử có hai bảng mã sao cho

𝖤1M1=βMand𝖤2M2=βM
có tồn tại thuật ngữ lambda sao cho mọi thuật ngữFM

E2(FM1)=βM
và ngược lại?

Nếu câu trả lời là không, các yêu cầu trừu tượng "tối thiểu" phải được thêm vào để đảm bảo nó là gì?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.