cond1(true, x, y) → cond2(gr(y, 0), x, y)
cond2(true, x, y) → cond2(gr(y, 0), p(x), p(y))
cond2(false, x, y) → cond1(and(eq(x, y), gr(x, 0)), x, y)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false