TRS: { half(0()) -> 0(), half(s(0())) -> 0(), half(s(s(x))) -> s(half(x)), inc(0()) -> 0(), inc(s(x)) -> s(inc(x)), zero(0()) -> true(), zero(s(x)) -> false(), p(0()) -> 0(), p(s(x)) -> x, bits(x) -> bitIter(x, 0()), bitIter(x, y) -> if(zero(x), x, inc(y)), if(true(), x, y) -> p(y), if(false(), x, y) -> bitIter(half(x), y)} Fail