Tôi chưa đọc nó ở bất cứ đâu, nhưng đây là cách tôi tin rằng có thể đã được bắt nguồn:Y
Chúng ta có một hàm đệ quy , có thể là giai thừa hoặc bất cứ thứ gì khác tương tự. Một cách không chính thức, chúng tôi định nghĩa là thuật ngữ giả-lambda trong đó xảy ra theo định nghĩa riêng của nó:fff
f=…f…f…
Đầu tiên, chúng tôi nhận ra rằng cuộc gọi đệ quy có thể được xem là một tham số:
f=(λr.(…r…r…))Mf
Bây giờ chúng ta có thể định nghĩa nếu chúng ta chỉ có cách vượt qua nó như là một đối số cho chính nó. Điều này là không thể, tất nhiên, bởi vì chúng tôi không có trong tay. Những gì chúng ta có trong tay là . Vì chứa mọi thứ chúng ta cần để xác định , nên chúng ta có thể cố gắng chuyển làm đối số thay vì và cố gắng xây dựng lại từ nó sau này bên trong. Nỗ lực đầu tiên của chúng tôi trông như thế này:ffMMfMff
f=(λr.(…r…r…))M(λr.(…r…r…))M
Tuy nhiên, điều này không hoàn toàn chính xác. Trước đây, đã thay thế cho bên . Nhưng bây giờ chúng tôi vượt qua thay thế. Chúng ta phải bằng cách nào đó sửa chữa tất cả những nơi mà chúng tôi sử dụng để họ tái tạo lại từ . Trên thực tế, điều này không khó chút nào: Bây giờ chúng ta biết rằng , ở mọi nơi chúng ta sử dụng chúng ta chỉ cần thay thế nó bằng .frMMrfMf=MMr(rr)
f=(λr.(…(rr)…(rr)…))M′(λr.(…(rr)…(rr)…))M′
Giải pháp này là tốt, nhưng chúng tôi đã phải thay đổi bên trong. Điều này không thuận tiện lắm. Chúng ta có thể làm điều này một cách tao nhã hơn mà không phải sửa đổi bằng cách giới thiệu một khác gửi cho đối số của nó được áp dụng cho chính nó: Bằng cách biểu thị là chúng ta nhận đượcMMλMM′λx.M(xx)
f=(λx.(λr.(…r…r…))M(xx))(λx.(λr.(…r…r…))M(xx))
Theo cách này, khi được thay thế cho , được thay thế cho , theo định nghĩa bằng . Điều này cho chúng ta một định nghĩa không đệ quy của , được biểu thị như một thuật ngữ lambda hợp lệ!MxMMrff
Việc chuyển đổi sang bây giờ dễ dàng. Chúng ta có thể sử dụng một thuật ngữ lambda tùy ý thay vì và thực hiện thủ tục này trên đó. Vì vậy, chúng ta có thể yếu tố ra và xác địnhYMM
Y=λm.(λx.m(xx))(λx.m(xx))
Thật vậy, giảm xuống như chúng ta đã định nghĩa nó.YMf
Lưu ý: Tôi đã dẫn xuất vì nó được định nghĩa trong văn học. Các combinator bạn đã mô tả là một biến thể của cho cuộc gọi-by-giá trị ngôn ngữ, đôi khi còn được gọi là . Xem bài viết Wikipedia này .YYZ