Đánh giá tính toán Lambda


8

Tôi biết đây là một câu hỏi đơn giản nhưng ai đó có thể chỉ cho tôi cách giảm xuống λ x . λ y . y .(λy.λx.λy.y)(λx.λy.y)λx.λy.y


Bạn có chắc chắn bạn đã ngoặc chính xác điều này? Bởi vì cách nó được viết, tôi không thấy nó có thể được đơn giản hóa như thế nào. Nếu có (λy.λx.λy.y) (λx.λy.y), nó sẽ giảm xuống λx.λy.y.
sepp2k

Vâng cảm ơn tôi đã cập nhật câu hỏi của tôi. Bạn có thể giải thích làm thế nào bạn có x.λy.y
prerm2686

Câu trả lời:


10

Lý do mà giảm xuống λ x . λ y . y và không đến λ x . λ y . λ x . λ y . yy trong cơ thể của λ y . λ x . λ y .(λy.λx.λy.y)(λx.λy.y)λx.λy.yλx.λy.λx.λy.yy đề cập đến đối số của lambda thứ ba, không phải là đầu tiên.λy.λx.λy.y

Nếu bạn đổi tên các đối số để có tên riêng, sẽ được viết là λ y 1 . λ x . λ y 2 . y 2 . Vì vậy, nếu bạn áp dụng hàm đó cho đối số, điều đó có nghĩa là mọi lần xuất hiện của y 1 trong λ x . λ y 2 . y 2 nên được thay thế bằng đối số. Tuy nhiên y 1λy.λx.λy.yλy1.λx.λy2.y2y1λx.λy2.y2y1hoàn toàn không xuất hiện trong biểu thức đó, vì vậy đối số chỉ đơn giản là bị bỏ qua và kết quả chỉ là .λx.λy2.y2


Oh ok vậy y2 không bị ràng buộc với y1. Cảm ơn rât nhiều.
prerm2686

7
@ prerm2686 Một biến luôn bị ràng buộc bởi bao gồm gần . Subterm λ y . y là hàm nhận dạng, bất kể bạn sử dụng nó ở đâu, ngay cả khi bạn sử dụng nó trong ngữ cảnh cũng sử dụng tên biến y . λλy.yy
Gilles 'SO- ngừng trở nên xấu xa'

Giảm trên wikipedia cho phép điều trị chính thức hơn về chuyển đổi α và giảm. Một tài liệu tham khảo tôi thích là cuốn sách của Chris Hankin
Romuald
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.