YES O(n^2) 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)) } Natural interpretation: Strict: { 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)) } Weak: {} Interpretation class: deltarestricted [true](delta) = + 0 + 0*delta [lessleaves](delta, X1, X0) = + 0*X0 + 0*X1 + 0 + 1*X0*delta + 1*X1*delta + 0*delta [false](delta) = + 0 + 0*delta [cons](delta, X1, X0) = + 1*X0 + 0*X1 + 1 + 0*X0*delta + 2*X1*delta + 0*delta [leaf](delta) = + 0 + 2*delta [concat](delta, X1, X0) = + 1*X0 + 1*X1 + 0 + 0*X0*delta + 1*X1*delta + 0*delta lessleaves_tau_1(delta) = delta/(0 + 1 * delta)lessleaves_tau_2(delta) = delta/(0 + 1 * delta) cons_tau_1(delta) = delta/(0 + 2 * delta)cons_tau_2(delta) = delta/(1 + 0 * delta) concat_tau_1(delta) = delta/(1 + 1 * delta)concat_tau_2(delta) = delta/(1 + 0 * delta) Qed