TRS:
 { cond1(true(), x, y, z) -> cond2(gr(y, z), x, y, z),
   cond2(true(), x, y, z) -> cond2(gr(y, z), p(x), p(y), z),
  cond2(false(), x, y, z) -> cond1(and(eq(x, y), gr(x, z)), x, y, z),
               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()}
 Fail