TRS:
 { cond1(true(), x, y) -> cond2(gr(x, 0()), x, y),
   cond2(true(), x, y) -> cond1(gr(add(x, y), 0()), p(x), y),
  cond2(false(), x, y) -> cond3(gr(y, 0()), x, y),
   cond3(true(), x, y) -> cond1(gr(add(x, y), 0()), x, p(y)),
  cond3(false(), x, y) -> cond1(gr(add(x, y), 0()), x, y),
            gr(0(), x) -> false(),
         gr(s(x), 0()) -> true(),
        gr(s(x), s(y)) -> gr(x, y),
           add(0(), x) -> x,
          add(s(x), y) -> s(add(x, y)),
                p(0()) -> 0(),
               p(s(x)) -> x}
 Fail