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)))