Lợi ích của ký hiệu Krivine là gì?


9

Tôi thấy một số người sử dụng ký hiệu của Krivine cho ứng dụng hàm khi trình bày cú pháp cho -calculus. Ví dụ: λ -term λ f . λ x . λ y . f x y (với quy ước thông thường mà ứng dụng hàm liên kết với bên trái, vì vậy nó thực sự có nghĩa là λ f . λ x . λ y . ( ( f x ) y ) ) được viết λ f . λ x . λ yλλλf.λx.λy.f x yλf.λx.λy.((f x) y) (với một quy ước tương tự mà nó thực sự có nghĩa là λ f . λ x . λ y . ( ( f ) x ) y ). Tôi không thấy điểm có một cặp dấu ngoặc khác xung quanh trong cùng f . Tại sao mọi người sử dụng ký hiệu của Krivine thay vì thông thường?λf.λx.λy.(f) x yλf.λx.λy.((f) x) yf

Câu trả lời:


13

Tôi giả sử bạn có nghĩa là ký hiệu của Krivine từ Lambda Tính: Các loại và Mô hình .

Ký hiệu này, được sử dụng như một biểu diễn dữ liệu, làm cho nhiều thuật toán trên thuật ngữ lambda đơn giản hơn để thực hiện và chứng minh chính xác. Đó là, đưa ra một thuật ngữ lambda , bạn muốn xem nó như mộtcái đầu f , cùng với mộtdanh sáchcác đối số [ e 1 , e 2 , gan , e n ] .fe1e2Giáo dụcen f[e1,e2,Giáo dục,en]

Ví dụ: giả sử bạn muốn so sánh hai thuật ngữ với gfe1Giáo dụcen . Trước tiên,việc so sánh các đầu f g thường là tự nhiên nhấtvà thậm chí không nhìn vào các cặp ( e i , t i ) trừ khi việc so sánh đó thành công. (Điều này thường xuất hiện trong việc thực hiện thống nhất bậc cao.)gt1Giáo dụctnfg(eTôi,tTôi)

Xem bài viết của Cervesato và Pfenning Một phép tính cột sống tuyến tính để chính thức hóa ý tưởng này.


0

λ x. λ y. x (x (x y))λx λy (x)(x)(x)y

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.