(VAR x y ) (RULES f(tt,x) -> f(eq(x,half(double(x))),s(x)) eq(s(x),s(y)) -> eq(x,y) eq(0,0) -> tt double(s(x)) -> s(s(double(x))) double(0) -> 0 half(s(s(x))) -> s(half(x)) half(0) -> 0 )