YES Problem: double(0()) -> 0() double(s(x)) -> s(s(double(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) -(x,0()) -> x -(s(x),s(y)) -> -(x,y) if(0(),y,z) -> y if(s(x),y,z) -> z half(double(x)) -> x Proof: DP Processor: DPs: double#(s(x)) -> double#(x) half#(s(s(x))) -> half#(x) -#(s(x),s(y)) -> -#(x,y) TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) -(x,0()) -> x -(s(x),s(y)) -> -(x,y) if(0(),y,z) -> y if(s(x),y,z) -> z half(double(x)) -> x TDG Processor: DPs: double#(s(x)) -> double#(x) half#(s(s(x))) -> half#(x) -#(s(x),s(y)) -> -#(x,y) TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) -(x,0()) -> x -(s(x),s(y)) -> -(x,y) if(0(),y,z) -> y if(s(x),y,z) -> z half(double(x)) -> x graph: -#(s(x),s(y)) -> -#(x,y) -> -#(s(x),s(y)) -> -#(x,y) half#(s(s(x))) -> half#(x) -> half#(s(s(x))) -> half#(x) double#(s(x)) -> double#(x) -> double#(s(x)) -> double#(x) CDG Processor: DPs: double#(s(x)) -> double#(x) half#(s(s(x))) -> half#(x) -#(s(x),s(y)) -> -#(x,y) TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) -(x,0()) -> x -(s(x),s(y)) -> -(x,y) if(0(),y,z) -> y if(s(x),y,z) -> z half(double(x)) -> x graph: Qed