Giả sử rằng bạn muốn tìm một chương trình λ-calculus, T
, thỏa mãn các phương trình sau:Phương pháp hiện đại để giải các phương trình chức năng là gì?
(T (λ f x . x)) = (λ a t . a)
(T (λ f x . (f x))) = (λ a t . (t a))
(T (λ f x . (f (f x)))) = (λ a b t . (t a b))
(T (λ f x . (f (f (f x)))) = (λ a b c t . (t a b c))
Vào trường hợp này, nên tôi đã tìm thấy giải pháp này:
T = (λ t . (t (λ b c d . (b (λ e . (c e d)))) (λ b . b) (λ b . b)))
Có bất kỳ chiến lược nào để giải các phương trình tính toán tự động như vậy? Tình trạng nghệ thuật về chủ đề đó là gì?
Bạn đang sử dụng khái niệm bình đẳng nào ở đây? – dfeuer
[Tính toán bình đẳng] (http://ncatlab.org/nlab/show/equality) *. Vui lòng đọc 'a = b' như' a' beta giảm thành 'b', ở dạng bình thường mạnh. – MaiaVictor
Trong khi tôi tìm thấy câu hỏi của bạn thú vị, tôi không nghĩ rằng điều này là phù hợp cho Stack Overflow. Nếu bạn đang hỏi về các thuật toán bạn nên hỏi trên [computer science.SE]. Vì nó là viết tắt câu hỏi của bạn dường như không về lập trình nhưng về thiết kế thuật toán và nó quá rộng để được trả lời trên SO (một câu trả lời rõ ràng cho câu hỏi của bạn sẽ là một cuốn sách/bộ sách). – Bakuriu