to mock a mockingbirdを読む(16)11章

Problem 10

becard B3は次の条件を満たす

1
B3 xyzw = x(y(zw))

B3をbluebirdか、bluebirdから導出した鳥を用いて表せ

1
2
3
4
B3 xyzw = x(y(zw))
これは
B x y (zw) = D1 B xyzw
よってB3 = D1 B = B(BB)B

Problem 11

dovekie D2は次の条件を満たす

1
D2 xyzwv = x(yz)(wv)

D2をbluebirdを用いて導出せよ

1
2
3
4
D2 xyzwv = x(yz)(wv)
これは
B (x(yz)) w v = B3 B x y z w v
=B(BB)BB=BB(BB)

Problem 12

bald eagle E^は次の条件を満たす

1
E^ x y1 y2 y3 z1 z2 z3 = x(y1 y2 y3)(z1 z2 z3)

bluebirdからbald eagleを導出せよ

1
2
3
4
5
6
E^ x y1 y2 y3 z1 z2 z3 = x(y1 y2 y3)(z1 z2 z3)
これは
E x (y1 y2 y3) z1 z2 z3
= EEx y1 y2 y3 z1 z2 z3
よって
E^ = EE = B(BBB)(B(BBB))

compositor

bluebird Bから導出できる鳥を
前回の記事と合わせて8つ導出した
これらは、compositorと呼ばれる。
コンビネータ論理に関して特に覚えておくべき鳥はbluebird Bとdove Dである。
(復習するとD=BBであった)