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