TRS:
 {         times(x, y) -> sum(generate(x, y)),
        generate(x, y) -> gen(x, y, 0()),
          gen(x, y, z) -> if(ge(z, x), x, y, z),
   if(true(), x, y, z) -> nil(),
  if(false(), x, y, z) -> cons(y, gen(x, y, s(z))),
            sum(nil()) -> 0(),
    sum(cons(0(), xs)) -> sum(xs),
   sum(cons(s(x), xs)) -> s(sum(cons(x, xs))),
            ge(x, 0()) -> true(),
         ge(0(), s(y)) -> false(),
        ge(s(x), s(y)) -> ge(x, y)}
 Fail