cons | : | [a × c] ⟶ c |
dropWhile | : | [a → b × c] ⟶ c |
if | : | [b × c × c] ⟶ c |
nil | : | c |
takeWhile | : | [a → b × c] ⟶ c |
true | : | b |
X | : | c |
Y | : | c |
U | : | c |
V | : | c |
I | : | a → b |
J | : | a → b |
X1 | : | a |
Y1 | : | c |
G1 | : | a → b |
H1 | : | a → b |
W1 | : | a |
P1 | : | c |
if(true, X, Y) | ⇒ | X |
if(true, U, V) | ⇒ | V |
takeWhile(I, nil) | ⇒ | nil |
takeWhile(J, cons(X1, Y1)) | ⇒ | if(J · X1, cons(X1, takeWhile(J, Y1)), nil) |
dropWhile(G1, nil) | ⇒ | nil |
dropWhile(H1, cons(W1, P1)) | ⇒ | if(H1 · W1, dropWhile(H1, P1), cons(W1, P1)) |