Đặc trưng của thuật ngữ lambda có các loại liên minh


29

Nhiều sách giáo khoa bao gồm các loại giao lộ trong tính toán lambda. Các quy tắc gõ cho giao lộ có thể được định nghĩa như sau (trên đầu trang của phép tính lambda được gõ đơn giản với phân nhóm):

ΓM:T1ΓM:T2ΓM:T1T2(I)ΓM:(I)

Các loại giao lộ có các thuộc tính thú vị đối với chuẩn hóa:

  • Một thuật ngữ lambda có thể được gõ mà không cần sử dụng quy tắc nếu nó đang bình thường hóa mạnh mẽ.I
  • Một thuật ngữ lambda thừa nhận một loại không chứa iff nó có dạng bình thường.

Điều gì sẽ xảy ra nếu thay vì thêm các nút giao thông, chúng ta thêm các công đoàn?

ΓM:T1ΓM:T1T2(I1)ΓM:T2ΓM:T1T2(I2)

Liệu lambda-tính toán với các loại đơn giản, phân nhóm và công đoàn có bất kỳ tính chất tương tự thú vị? Làm thế nào các thuật ngữ có thể đánh máy với liên minh được đặc trưng?


Câu hỏi thú vị. Bạn có thể nói rằng các giao diện từ OOP tương ứng với điều này?
Raphael

Câu trả lời:


11

Trong hệ thống đầu tiên, cái mà bạn gọi là phân nhóm là hai quy tắc sau:

Γ,x:T1M:SΓ,x:T1T2M:S(E1)Γ,x:T2M:SΓ,x:T1T2M:S(E2)

Chúng tương ứng với các quy tắc loại bỏ cho ; nếu không có họ các kết là nhiều hơn hoặc ít vô dụng.

Trong hệ thống thứ hai (với từ nối và , mà chúng tôi cũng có thể thêm một ), trên subtyping quy định là không thích hợp, và tôi nghĩ rằng các quy tắc đi kèm bạn đã có trong tâm trí như sau:

Γ,x:T1M:SΓ,x:T2M:SΓ,x:T1T2M:S(E)Γ,x:M:S(E)

Đối với giá trị của nó, hệ thống này cho phép nhập (sử dụng quy tắc ), không thể gõ chỉ bằng các loại đơn giản, có dạng bình thường, nhưng không được chuẩn hóa mạnh .(λx.I)Ω:AAE


Suy nghĩ ngẫu nhiên: (có lẽ điều này đáng để hỏi về TCS)

Điều này dẫn đến tôi phỏng đoán rằng các thuộc tính liên quan là một cái gì đó như:

  • một thuật ngữ thừa nhận một loại không chứa iff có dạng bình thường cho tất cả có dạng bình thường. ( thất bại cả hai bài kiểm tra, nhưng λ hạn trên vượt qua chúng)MMNNδ
  • một thuật ngữ có thể được gõ mà không cần sử dụng quy tắc iff đang chuẩn hóa mạnh mẽ cho tất cả bình thường hóa mạnh .MEMNN

Bài tập: chứng minh tôi sai.

Ngoài ra nó có vẻ là một trường hợp thoái hóa, có lẽ chúng ta nên xem xét thêm anh chàng này vào hình ảnh. Theo tôi nhớ, nó sẽ cho phép lấy ?A(A)


Điểm hay về các quy tắc phân nhóm, chúng cho thấy các loại kết hợp không gần như tự nhiên như các giao điểm (được nhập trực tiếp vào mũi tên). Về phần thứ hai tôi cần suy nghĩ thêm.
Gilles 'SO- ngừng trở thành ác quỷ'

Tôi nghĩ trả lời bài tập, nếu bạn đang nói về các loại kết hợp. M=(λx.xx)(λy.y)
jmad

Về cuộc gọi / cc: nó cần nhiều hơn chỉ các thuật ngữ lambda (như lambda-mu-terms hoặc một khung công tác khác) nhưng các hệ thống kiểu phức tạp hơn, các hệ thống logic, trong đó các loại kết hợp có thể không liên quan.
jmad

@jmad: Thật vậy, các loại giao lộ là cần thiết để nhập thuật ngữ này :-( Có lẽ việc xem xét các công đoàn và giao lộ với nhau sẽ rất thú vị?
Stéphane Gimenez

Tôi sẽ quan tâm đến một thuật ngữ có thể gõ với các loại kết hợp (rs với các loại giao cắt) nhưng không phải với các loại đơn giản (rs với các loại giao cắt).
jmad

16

Tôi chỉ muốn giải thích tại sao các loại giao lộ rất phù hợp để mô tả các lớp chuẩn hóa (mạnh, đầu hoặc yếu), trong khi các hệ thống loại khác không thể. (chỉ cần gõ hoặc hệ thống F).

Sự khác biệt chính là bạn phải nói: "nếu tôi có thể nhập và thì tôi có thể nhập ". Điều này thường không đúng trong các loại không giao nhau vì một thuật ngữ có thể được nhân đôi:M2M1M2M1

(λx.Mxx)NMNN

và sau đó nhập có nghĩa là bạn có thể nhập cả hai lần xuất hiện của nhưng không phải cùng loại, ví dụ Với các loại giao cắt, bạn có thể chuyển đổi loại này thành: và sau đó bước quan trọng bây giờ thực sự dễ dàng: vì vậy có thể bằng cách gõ với các loại giao cắt.MNNN

M:T1T2T3N:T1N:T2
M:T1T2T1T2T3N:T1T2
(λx.Mxx):T1T2T3N:T1T2
(λx.Mxx)N

Bây giờ về các loại kết hợp: giả sử bạn có thể nhập với một số loại kết hợp, sau đó bạn cũng có thể nhập và sau đó lấy một số loại Nhưng bạn vẫn phải chứng minh rằng với mọi , dường như không thể là là loại kết hợp.(λx.xx)(λy.y)λx.xxS,T1,

x:T1T2Tnxx:S
ix:Tixx:SS

Đây là lý do tại sao tôi không nghĩ rằng có một đặc điểm dễ dàng về bình thường hóa cho các loại kết hợp.

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.