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