YES Problem: f(0()) -> cons(0(),n__f(s(0()))) f(s(0())) -> f(p(s(0()))) p(s(0())) -> 0() f(X) -> n__f(X) activate(n__f(X)) -> f(X) activate(X) -> X Proof: DP Processor: DPs: f#(s(0())) -> p#(s(0())) f#(s(0())) -> f#(p(s(0()))) activate#(n__f(X)) -> f#(X) TRS: f(0()) -> cons(0(),n__f(s(0()))) f(s(0())) -> f(p(s(0()))) p(s(0())) -> 0() f(X) -> n__f(X) activate(n__f(X)) -> f(X) activate(X) -> X Usable Rule Processor: DPs: f#(s(0())) -> p#(s(0())) f#(s(0())) -> f#(p(s(0()))) activate#(n__f(X)) -> f#(X) TRS: p(s(0())) -> 0() Arctic Interpretation Processor: dimension: 1 usable rules: p(s(0())) -> 0() interpretation: [activate#](x0) = -6x0 + 1, [p#](x0) = 1x0 + 1, [f#](x0) = 2x0 + 0, [p](x0) = -4x0 + 1, [n__f](x0) = 9x0 + 5, [s](x0) = 2x0 + -16, [0] = 0 orientation: f#(s(0())) = 4 >= 3 = p#(s(0())) f#(s(0())) = 4 >= 3 = f#(p(s(0()))) activate#(n__f(X)) = 3X + 1 >= 2X + 0 = f#(X) p(s(0())) = 1 >= 0 = 0() problem: DPs: TRS: p(s(0())) -> 0() Qed