TRS: { double(0()) -> 0(), double(s(x)) -> s(s(double(x))), +(x, 0()) -> x, +(x, s(y)) -> s(+(x, y)), +(s(x), y) -> s(+(x, y)), double(x) -> +(x, x)} POP*: Precedence: double > +, double > s, + > s empty Normal: pi(+) = [1,2], pi(double) = [1] Safe: pi(s) = [1] Predicative System: { double(0();) -> 0(), double(s(;x);) -> s(;s(;double(x;))), +(x,0();) -> x, +(x,s(;y);) -> s(;+(x,y;)), +(s(;x),y;) -> s(;+(x,y;)), double(x;) -> +(x,x;)} Qed