YES O(n^3) TRS: { concat(leaf(), y) -> y, concat(cons(u, v), y) -> cons(u, concat(v, y)), less_leaves(x, leaf()) -> false(), less_leaves(leaf(), cons(w, z)) -> true(), less_leaves(cons(u, v), cons(w, z)) -> less_leaves(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)), less_leaves(x, leaf()) -> false(), less_leaves(leaf(), cons(w, z)) -> true(), less_leaves(cons(u, v), cons(w, z)) -> less_leaves(concat(u, v), concat(w, z)) } Matrix Interpretation: Interpretation class: triangular [0] [true] = [0] [0] [X5] [X2] [1 0 1][X5] [1 1 0][X2] [1] [less_leaves]([X4], [X1]) = [0 0 0][X4] + [0 0 0][X1] + [1] [X3] [X0] [0 0 0][X3] [0 0 1][X0] [1] [0] [false] = [0] [0] [X5] [X2] [1 0 1][X5] [1 0 0][X2] [0] [cons]([X4], [X1]) = [0 0 1][X4] + [0 1 0][X1] + [1] [X3] [X0] [0 0 1][X3] [0 0 1][X0] [1] [0] [leaf] = [0] [1] [X5] [X2] [1 0 1][X5] [1 0 0][X2] [0] [concat]([X4], [X1]) = [0 0 1][X4] + [0 1 0][X1] + [1] [X3] [X0] [0 0 1][X3] [0 0 1][X0] [0] Qed