YES(?,O(n^3)) TRS: { a__f X -> f X, a__f 0() -> cons(0(), f s 0()), a__f s 0() -> a__f a__p s 0(), a__p X -> p X, a__p s 0() -> 0(), mark f X -> a__f mark X, mark cons(X1, X2) -> cons(mark X1, X2), mark 0() -> 0(), mark s X -> s mark X, mark p X -> a__p mark X } DUP: We consider a non-duplicating system. Trs: { a__f X -> f X, a__f 0() -> cons(0(), f s 0()), a__f s 0() -> a__f a__p s 0(), a__p X -> p X, a__p s 0() -> 0(), mark f X -> a__f mark X, mark cons(X1, X2) -> cons(mark X1, X2), mark 0() -> 0(), mark s X -> s mark X, mark p X -> a__p mark X } Matrix Interpretation: Interpretation class: triangular [X2] [1 1 0][X2] [0] [p]([X1]) = [0 1 0][X1] + [1] [X0] [0 0 0][X0] [0] [X2] [1 3 0][X2] [1] [mark]([X1]) = [0 1 0][X1] + [0] [X0] [0 0 1][X0] [0] [X2] [1 1 0][X2] [1] [a__p]([X1]) = [0 1 0][X1] + [1] [X0] [0 0 0][X0] [0] [X2] [1 0 3][X2] [2] [a__f]([X1]) = [0 1 1][X1] + [1] [X0] [0 0 0][X0] [0] [X2] [1 1 0][X2] [0] [s]([X1]) = [0 1 0][X1] + [1] [X0] [0 0 0][X0] [3] [0] [0] = [0] [0] [X5] [X2] [1 0 2][X5] [1 0 1][X2] [0] [cons]([X4], [X1]) = [0 1 1][X4] + [0 0 0][X1] + [1] [X3] [X0] [0 0 0][X3] [0 0 0][X0] [0] [X2] [1 0 0][X2] [0] [f]([X1]) = [0 1 1][X1] + [1] [X0] [0 0 0][X0] [0] Qed