YES O(n^4) TRS: { f(s(0())) -> s(s(0())), f(s(0())) -> *(s(s(0())), f(0())), f(0()) -> s(0()), f(+(x, y)) -> *(f(x), f(y)), f(+(x, s(0()))) -> +(s(s(0())), f(x)) } DUP: We consider a non-duplicating system. Trs: { f(s(0())) -> s(s(0())), f(s(0())) -> *(s(s(0())), f(0())), f(0()) -> s(0()), f(+(x, y)) -> *(f(x), f(y)), f(+(x, s(0()))) -> +(s(s(0())), f(x)) } Matrix Interpretation: Interpretation class: triangular [X7] [X3] [1 0 0 0][X7] [1 0 0 0][X3] [0] [X6] [X2] [0 1 1 1][X6] [0 1 0 0][X2] [1] [+]([X5], [X1]) = [0 0 1 0][X5] + [0 0 0 0][X1] + [0] [X4] [X0] [0 0 0 0][X4] [0 0 0 1][X0] [0] [X7] [X3] [1 0 0 0][X7] [1 0 0 0][X3] [0] [X6] [X2] [0 1 0 0][X6] [0 0 0 0][X2] [0] [*]([X5], [X1]) = [0 0 0 0][X5] + [0 0 0 0][X1] + [0] [X4] [X0] [0 0 0 0][X4] [0 0 0 0][X0] [0] [X3] [1 1 0 1][X3] [0] [X2] [0 1 1 1][X2] [1] [f]([X1]) = [0 0 0 0][X1] + [0] [X0] [0 0 0 0][X0] [1] [1] [0] [0] = [0] [1] [X3] [1 0 0 0][X3] [0] [X2] [0 0 0 1][X2] [1] [s]([X1]) = [0 0 0 0][X1] + [0] [X0] [0 0 0 0][X0] [1] Qed