TRS:
 {       rev(nil()) -> nil(),
      rev(++(x, y)) -> ++(rev1(x, y), rev2(x, y)),
     rev1(x, nil()) -> x,
  rev1(x, ++(y, z)) -> rev1(y, z),
     rev2(x, nil()) -> nil(),
  rev2(x, ++(y, z)) -> rev(++(x, rev(rev2(y, z))))}
 Fail