0 | : | b |
cons | : | [b × a] ⟶ a |
double | : | a → a |
inc | : | a → a |
map | : | [b → b] ⟶ a → a |
nil | : | a |
plus | : | [b] ⟶ b → b |
s | : | [b] ⟶ b |
times | : | [b] ⟶ b → b |
X | : | b |
Y | : | b |
U | : | b |
V | : | b |
W | : | b |
P | : | b |
F1 | : | b → b |
Z1 | : | b → b |
U1 | : | b |
V1 | : | a |
plus(0) · X | ⇒ | X |
plus(s(Y)) · U | ⇒ | s(plus(Y) · U) |
times(0) · V | ⇒ | 0 |
times(s(W)) · P | ⇒ | plus(times(W) · P) · P |
map(F1) · nil | ⇒ | nil |
map(Z1) · cons(U1, V1) | ⇒ | cons(Z1 · U1, map(Z1) · V1) |
inc | ⇒ | map(plus(s(0))) |
double | ⇒ | map(times(s(s(0)))) |