MAYBE MAYBE TRS: { isEmpty(cons(x, xs)) -> false(), isEmpty(nil()) -> true(), isZero(0()) -> true(), isZero(s(x)) -> false(), head(cons(x, xs)) -> x, tail(cons(x, xs)) -> xs, tail(nil()) -> nil(), p(0()) -> 0(), p(s(0())) -> 0(), p(s(s(x))) -> s(p(s(x))), inc(0()) -> s(0()), inc(s(x)) -> s(inc(x)), if(false(), false(), y, xs, ys, x) -> sumList(ys, x), if(false(), true(), y, xs, ys, x) -> sumList(xs, y), if(true(), b, y, xs, ys, x) -> y, sumList(xs, y) -> if( isEmpty(xs), isZero(head(xs)), y, tail(xs), cons(p(head(xs)), tail(xs)), inc(y) ), sum(xs) -> sumList(xs, 0()) } DUP: We consider a duplicating system. Trs: { isEmpty(cons(x, xs)) -> false(), isEmpty(nil()) -> true(), isZero(0()) -> true(), isZero(s(x)) -> false(), head(cons(x, xs)) -> x, tail(cons(x, xs)) -> xs, tail(nil()) -> nil(), p(0()) -> 0(), p(s(0())) -> 0(), p(s(s(x))) -> s(p(s(x))), inc(0()) -> s(0()), inc(s(x)) -> s(inc(x)), if(false(), false(), y, xs, ys, x) -> sumList(ys, x), if(false(), true(), y, xs, ys, x) -> sumList(xs, y), if(true(), b, y, xs, ys, x) -> y, sumList(xs, y) -> if( isEmpty(xs), isZero(head(xs)), y, tail(xs), cons(p(head(xs)), tail(xs)), inc(y) ), sum(xs) -> sumList(xs, 0()) } Fail