Alphabet

0:a
eq:[a × a] ⟶ c
false:c
fork:[b × a × b] ⟶ b
if:[c × c × c] ⟶ c
lt:[a × a] ⟶ c
member:[a × b] ⟶ c
null:b
s:[a] ⟶ a
true:c

Variables

X:a
Y:a
U:a
V:a
W:a
P:a
X1:a
Y1:a
U1:a
V1:b
W1:a
P1:b

Rules

lt(s(X), s(Y))lt(X, Y)
lt(0, s(U))true
lt(V, 0)false
eq(W, W)true
eq(s(P), 0)false
eq(0, s(X1))false
member(Y1, null)false
member(U1, fork(V1, W1, P1))if(lt(U1, W1), member(U1, V1), if(eq(U1, W1), true, member(U1, P1)))