高次のパターンマッチングは、決定できない問題です。手段式所与、というアルゴリズムが存在しないことa => b
、a
およびb
単に型付きラムダ計算上のオープンな用語であるが、置換認めるS
ようにaS => bS
、ここで=>
「同じBnの正規形を有している」を意味します。しかし、人間はその問題を効率的に解決できます。たとえば、次の問題があるとします。
a = (λt . t
(F (λ f x . (f (f (f x)))))
(F (λ f x . (f (f x)))))
b = (λ t . t
(λ f x . (f (f (f (f (f (f x)))))))
(λ f x . (f (f (f (f x))))))
ラムダ計算に関する十分な知識を持つ人間F
は、教会番号の「二重」関数であることに気付くことができます。
F = (λ a b c . (a b (a b c)))
私の質問は、その問題が決定できない場合、人間はどうすれば迅速かつ楽に解決できるでしょうか?