YES O(n^5) TRS: { 0() -> n__0(), f(X) -> n__f(X), f(0()) -> cons(0(), n__f(n__s(n__0()))), f(s(0())) -> f(p(s(0()))), p(s(0())) -> 0(), s(X) -> n__s(X), activate(X) -> X, activate(n__f(X)) -> f(activate(X)), activate(n__s(X)) -> s(activate(X)), activate(n__0()) -> 0() } DUP: We consider a non-duplicating system. Trs: { 0() -> n__0(), f(X) -> n__f(X), f(0()) -> cons(0(), n__f(n__s(n__0()))), f(s(0())) -> f(p(s(0()))), p(s(0())) -> 0(), s(X) -> n__s(X), activate(X) -> X, activate(n__f(X)) -> f(activate(X)), activate(n__s(X)) -> s(activate(X)), activate(n__0()) -> 0() } Matrix Interpretation: Interpretation class: triangular [X4] [1 0 1 1 0][X4] [1] [X3] [0 1 0 0 0][X3] [0] [activate]([X2]) = [0 0 1 0 0][X2] + [0] [X1] [0 0 0 1 0][X1] [0] [X0] [0 0 0 0 1][X0] [0] [X4] [1 0 0 0 0][X4] [1] [X3] [0 0 0 0 0][X3] [0] [s]([X2]) = [0 0 1 0 0][X2] + [1] [X1] [0 0 0 1 0][X1] [1] [X0] [0 0 0 0 0][X0] [0] [X4] [1 0 0 0 0][X4] [0] [X3] [0 0 0 0 0][X3] [0] [p]([X2]) = [0 0 0 0 0][X2] + [1] [X1] [0 0 0 0 0][X1] [0] [X0] [0 0 0 0 0][X0] [0] [X4] [1 0 0 1 0][X4] [1] [X3] [0 0 0 0 0][X3] [0] [f]([X2]) = [0 0 1 1 0][X2] + [1] [X1] [0 0 0 1 0][X1] [1] [X0] [0 0 0 0 0][X0] [0] [0] [0] [n__0] = [1] [0] [0] [X4] [1 0 0 0 0][X4] [0] [X3] [0 0 0 0 0][X3] [0] [n__s]([X2]) = [0 0 1 0 0][X2] + [1] [X1] [0 0 0 1 0][X1] [1] [X0] [0 0 0 0 0][X0] [0] [X4] [1 0 0 0 0][X4] [0] [X3] [0 0 0 0 0][X3] [0] [n__f]([X2]) = [0 0 1 1 0][X2] + [1] [X1] [0 0 0 1 0][X1] [1] [X0] [0 0 0 0 0][X0] [0] [1] [0] [0] = [1] [0] [0] [X9] [X4] [1 0 0 0 0][X9] [1 0 0 0 0][X4] [0] [X8] [X3] [0 0 0 0 0][X8] [0 0 0 0 0][X3] [0] [cons]([X7], [X2]) = [0 0 0 0 0][X7] + [0 0 0 0 0][X2] + [0] [X6] [X1] [0 0 0 0 0][X6] [0 0 0 0 0][X1] [0] [X5] [X0] [0 0 0 0 0][X5] [0 0 0 0 0][X0] [0] Qed