MAYBE Problem: cond1(true(),x,y) -> cond2(gr(x,y),x,y) cond2(true(),x,y) -> cond1(gr(x,0()),y,y) cond2(false(),x,y) -> cond1(gr(x,0()),p(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 Proof: Open