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