MAYBE Problem: gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) plus(0(),y) -> y plus(s(x),y) -> s(plus(x,y)) double(0()) -> 0() double(s(x)) -> s(s(double(x))) average(x,y) -> aver(plus(x,y),0()) aver(sum,z) -> if(gt(sum,double(z)),sum,z) if(true(),sum,z) -> aver(sum,s(z)) if(false(),sum,z) -> z Proof: DP Processor: DPs: gt#(s(x),s(y)) -> gt#(x,y) plus#(s(x),y) -> plus#(x,y) double#(s(x)) -> double#(x) average#(x,y) -> plus#(x,y) average#(x,y) -> aver#(plus(x,y),0()) aver#(sum,z) -> double#(z) aver#(sum,z) -> gt#(sum,double(z)) aver#(sum,z) -> if#(gt(sum,double(z)),sum,z) if#(true(),sum,z) -> aver#(sum,s(z)) TRS: gt(0(),y) -> false() gt(s(x),0()) -> true() gt(s(x),s(y)) -> gt(x,y) plus(0(),y) -> y plus(s(x),y) -> s(plus(x,y)) double(0()) -> 0() double(s(x)) -> s(s(double(x))) average(x,y) -> aver(plus(x,y),0()) aver(sum,z) -> if(gt(sum,double(z)),sum,z) if(true(),sum,z) -> aver(sum,s(z)) if(false(),sum,z) -> z Open