Предположим, что вы хотите найти программу λ-calculus, T
, которая удовлетворяет следующим уравнениям:
(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))
В этом случае я нашел это решение вручную:
T = (λ t . (t (λ b c d . (b (λ e . (c e d)))) (λ b . b) (λ b . b)))
Существует ли какая-либо стратегия для решения таких уравнений λ-исчисления автоматически? Каково состояние искусства в этом вопросе?