YES
O(n^2)
TRS:
 {
       rev(a()) -> a(),
       rev(b()) -> b(),
  rev(++(x, y)) -> ++(rev(y), rev(x)),
  rev(++(x, x)) -> rev(x)
 }
 Natural interpretation:
  Strict:
   {
         rev(a()) -> a(),
         rev(b()) -> b(),
    rev(++(x, y)) -> ++(rev(y), rev(x)),
    rev(++(x, x)) -> rev(x)
   }
  Weak:
   {}
  Interpretation class: deltarestricted
  [++](delta, X1, X0) = + 1*X0 + 1*X1 + 1 + 0*X0*delta + 0*X1*delta + 0*delta
  [b](delta) = + 1 + 0*delta
  [rev](delta, X0) = + 1*X0 + 0 + 1*X0*delta + 0*delta
  [a](delta) = + 1 + 0*delta
  ++_tau_1(delta) = delta/(1 + 0 * delta)++_tau_2(delta) = delta/(1 + 0 * delta)
  
  rev_tau_1(delta) = delta/(1 + 1 * delta)
  
  
  Qed