TRS:
 {                 even(0()) -> true(),
                even(s(0())) -> false(),
               even(s(s(x))) -> even(x),
                   half(0()) -> 0(),
               half(s(s(x))) -> s(half(x)),
                plus(0(), y) -> y,
               plus(s(x), y) -> s(plus(x, y)),
               times(0(), y) -> 0(),
              times(s(x), y) -> if_times(even(s(x)), s(x), y),
   if_times(true(), s(x), y) -> plus(times(half(s(x)), y), times(half(s(x)), y)),
  if_times(false(), s(x), y) -> plus(y, times(x, y))}
 Fail