MAYBE MAYBE TRS: { half(0()) -> 0(), half(s(0())) -> 0(), half(s(s(x))) -> s(half(x)), le(0(), y) -> true(), le(s(x), 0()) -> false(), le(s(x), s(y)) -> le(x, y), inc(0()) -> s(0()), inc(s(x)) -> s(inc(x)), logIter(x, y) -> if(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), logarithm(x) -> logIter(x, 0()), if(true(), true(), x, y) -> logIter(x, y), if(true(), false(), x, s(y)) -> y, if(false(), b, x, y) -> logZeroError(), f() -> g(), f() -> h() } DUP: We consider a duplicating system. Trs: { half(0()) -> 0(), half(s(0())) -> 0(), half(s(s(x))) -> s(half(x)), le(0(), y) -> true(), le(s(x), 0()) -> false(), le(s(x), s(y)) -> le(x, y), inc(0()) -> s(0()), inc(s(x)) -> s(inc(x)), logIter(x, y) -> if(le(s(0()), x), le(s(s(0())), x), half(x), inc(y)), logarithm(x) -> logIter(x, 0()), if(true(), true(), x, y) -> logIter(x, y), if(true(), false(), x, s(y)) -> y, if(false(), b, x, y) -> logZeroError(), f() -> g(), f() -> h() } Fail