Định lý smn có cùng khái niệm với currying không?


12

Tôi đang nghiên cứu định lý smn và khái niệm này nhắc nhở tôi về cà ri.

Từ bài viết trên wikipedia về định lý smn :

Định lý nói rằng đối với một ngôn ngữ lập trình nhất định và các số nguyên dương m và n, tồn tại một thuật toán cụ thể chấp nhận làm đầu vào mã nguồn của chương trình với các biến tự do m + n, cùng với các giá trị m. Thuật toán này tạo mã nguồn thay thế hiệu quả các giá trị cho m biến miễn phí đầu tiên, để lại các biến còn lại miễn phí.

Từ một bài viết về cà ri :

Theo trực giác, currying nói "nếu bạn sửa một số đối số, bạn sẽ có được một chức năng của các đối số còn lại"

Có vẻ như cùng một ý tưởng với tôi. Lý do duy nhất khiến tôi không chắc chắn là các tài liệu tôi tìm thấy trên smn không đề cập đến cà ri (và ngược lại), vì vậy tôi muốn tham khảo nó để đảm bảo rằng tôi thực sự có được nó.


ϕi(,)g(x)=#λy.ϕi(x,y)gs()ϕi

Vâng, smn đưa ra một tuyên bố hiện sinh trong khi sự tồn tại của một hàm bị cong cung cấp "trình biên dịch". Nhưng ý tưởng là như nhau.
Raphael

Câu trả lời:


15

Vâng, đó là điều tương tự.

λA×BCA(BC)ABABλ

(A,νA)AνA:NAAνA(n)=xnxφφn(k)nk

f:(A,νA)(B,νB)nNf(νA(k))=νB(φn(k))kνAφnfϕnf

λ


PER(A)νA

1
Có, hai loại tương đương nhau, và phiên bản tương đương thứ ba là các bộ khiêm tốn (tra cứu "bộ và bộ lắp ráp khiêm tốn").
Andrej Bauer
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.