0 | : | c |
cons | : | [c × b] ⟶ b |
map | : | [c → c × b] ⟶ b |
nil | : | b |
node | : | [a × b] ⟶ c |
plus | : | [c × c] ⟶ c |
s | : | [c] ⟶ c |
size | : | c → c |
sum | : | [b] ⟶ c |
F | : | c → c |
Z | : | c → c |
U | : | c |
V | : | b |
W | : | c |
P | : | b |
X1 | : | a |
Y1 | : | b |
U1 | : | c |
V1 | : | c |
W1 | : | c |
map(F, nil) | ⇒ | nil |
map(Z, cons(U, V)) | ⇒ | cons(Z · U, map(Z, V)) |
sum(cons(W, P)) | ⇒ | plus(W, sum(P)) |
size · node(X1, Y1) | ⇒ | s(sum(map(size, Y1))) |
plus(0, U1) | ⇒ | 0 |
plus(s(V1), W1) | ⇒ | s(plus(V1, W1)) |