2009-06-26 3 views
13

Tôi đang cố gắng hiểu những điều cơ bản về phép tính lambda và số Giáo hội. Tôi đã làm rất nhiều việc đọc và luyện tập, nhưng dường như tôi vẫn gặp khó khăn khi cố gắng xem một số chức năng hoạt động như thế nào.Tính toán lambda và số nhà thờ nhầm lẫn

Ví dụ tôi bị kẹt là như sau. Có lẽ ai đó có thể giải thích nơi tôi đã đi sai.

Giáo Hội chữ số 1 có thể được biểu diễn dưới dạng:

λf. λx. f x 

Chức năng lũy ​​thừa trên chữ số Giáo Hội (m n) có thể được đưa ra như:

λm. λn. n m 

Tất cả tôi muốn làm cho thấy rằng bằng cách áp dụng hàm lũy thừa cho 1 và 1, tôi lấy lại 1, vì 1 = 1. Tôi đang làm điều này, vì vậy tôi hiểu rõ hơn về cách các hàm này hoạt động. Công việc của tôi như sau và tôi gặp khó khăn mỗi lần:

// Exp (1 1) 
(λm. λn. n m) (λf1. λx1. f1 x1) (λf2. λx2. f2 x2) 
// Substitute for m 
(λn. n (λf1. λx1. f1 x1)) (λf2. λx2. f2 x2) 
// Substitute for n 
(λf2. λx2. f2 x2) (λf1. λx1. f1 x1) 
// Substitute for f2 
(λx2. (λf1. λx1. f1 x1) x2) 
// Substitute for f1 
λx2. (λx1. x2 x1) 

Và tôi bị kẹt. Tôi đã mất cả hai số f, chỉ còn lại x và tôi chưa nhận được 1. Tôi làm sai ở đâu?

Trả lời

20

Tôi sẽ làm gì sai?

Hư không! Bạn đã hoàn tất. Hãy nhớ rằng, các tên biến không quan trọng; đó là cấu trúc quan trọng. Tên f hoặc x2 không có ý nghĩa. Nó chỉ quan trọng cách chúng được sử dụng. Chữ số Giáo Hội cho 1 là

λf. λx. f x 

và bạn có

λx2. (λx1. x2 x1) 

Đổi tên x2-fx1-x và thì đấy! Bạn có

λf. (λx. f x) 
= λf. λx. f x 
+0

Cảm ơn rất nhiều. Bạn không có ý tưởng bao nhiêu tờ giấy phế liệu tôi đã điền (và nguyền rủa) cố gắng để làm cho điều này và các vấn đề tương tự 'làm việc' trước khi tôi có cái nhìn sâu sắc của bạn! – nodmonkey