YES O(n^5) TRS: { a__f(X) -> f(X), a__f(f(a())) -> c(f(g(f(a())))), mark(c(X)) -> c(X), mark(f(X)) -> a__f(mark(X)), mark(g(X)) -> g(mark(X)), mark(a()) -> a() } DUP: We consider a non-duplicating system. Trs: { a__f(X) -> f(X), a__f(f(a())) -> c(f(g(f(a())))), mark(c(X)) -> c(X), mark(f(X)) -> a__f(mark(X)), mark(g(X)) -> g(mark(X)), mark(a()) -> a() } Matrix Interpretation: Interpretation class: triangular [X4] [1 1 1 0 0][X4] [0] [X3] [0 1 0 0 0][X3] [0] [mark]([X2]) = [0 0 1 0 0][X2] + [0] [X1] [0 0 0 0 0][X1] [0] [X0] [0 0 0 0 0][X0] [0] [X4] [1 0 0 0 0][X4] [1] [X3] [0 1 1 0 0][X3] [1] [a__f]([X2]) = [0 0 0 0 0][X2] + [1] [X1] [0 0 0 1 0][X1] [0] [X0] [0 0 0 0 0][X0] [0] [0] [1] [a] = [0] [0] [0] [X4] [1 0 0 0 0][X4] [0] [X3] [0 1 1 0 0][X3] [0] [g]([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 0 0][X4] [0] [X3] [0 1 1 0 0][X3] [1] [f]([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 0 0][X4] [0] [X3] [0 0 0 0 0][X3] [1] [c]([X2]) = [0 0 0 0 0][X2] + [1] [X1] [0 0 0 0 0][X1] [0] [X0] [0 0 0 0 0][X0] [0] Qed