YES O(n^4) TRS: { concat(leaf(), Y) -> Y, concat(cons(U, V), Y) -> cons(U, concat(V, Y)), lessleaves(X, leaf()) -> false(), lessleaves(leaf(), cons(W, Z)) -> true(), lessleaves(cons(U, V), cons(W, Z)) -> lessleaves(concat(U, V), concat(W, Z)) } DUP: We consider a non-duplicating system. Trs: { concat(leaf(), Y) -> Y, concat(cons(U, V), Y) -> cons(U, concat(V, Y)), lessleaves(X, leaf()) -> false(), lessleaves(leaf(), cons(W, Z)) -> true(), lessleaves(cons(U, V), cons(W, Z)) -> lessleaves(concat(U, V), concat(W, Z)) } Matrix Interpretation: Interpretation class: triangular [0] [0] [true] = [0] [0] [X7] [X3] [1 1 0 0][X7] [1 0 0 1][X3] [0] [X6] [X2] [0 0 0 0][X6] [0 0 0 0][X2] [0] [lessleaves]([X5], [X1]) = [0 0 0 0][X5] + [0 0 0 0][X1] + [1] [X4] [X0] [0 0 0 0][X4] [0 0 0 0][X0] [0] [0] [0] [false] = [0] [0] [X7] [X3] [1 1 0 1][X7] [1 0 0 0][X3] [0] [X6] [X2] [0 0 1 1][X6] [0 1 0 0][X2] [0] [cons]([X5], [X1]) = [0 0 0 0][X5] + [0 0 0 0][X1] + [0] [X4] [X0] [0 0 0 1][X4] [0 0 0 1][X0] [1] [0] [0] [leaf] = [0] [1] [X7] [X3] [1 0 0 1][X7] [1 0 0 0][X3] [0] [X6] [X2] [0 1 0 0][X6] [0 1 0 0][X2] [0] [concat]([X5], [X1]) = [0 0 0 0][X5] + [0 0 1 1][X1] + [0] [X4] [X0] [0 0 0 1][X4] [0 0 0 1][X0] [0] Qed