MAYBE MAYBE TRS: { active(dbl(X)) -> dbl(active(X)), active(dbl(0())) -> mark(0()), active(dbl(s(X))) -> mark(s(s(dbl(X)))), active(dbls(X)) -> dbls(active(X)), active(dbls(nil())) -> mark(nil()), active(dbls(cons(X, Y))) -> mark(cons(dbl(X), dbls(Y))), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(0(), cons(X, Y))) -> mark(X), active(sel(s(X), cons(Y, Z))) -> mark(sel(X, Z)), active(indx(X1, X2)) -> indx(active(X1), X2), active(indx(nil(), X)) -> mark(nil()), active(indx(cons(X, Y), Z)) -> mark(cons(sel(X, Z), indx(Y, Z))), active(from(X)) -> mark(cons(X, from(s(X)))), dbl(mark(X)) -> mark(dbl(X)), dbl(ok(X)) -> ok(dbl(X)), s(ok(X)) -> ok(s(X)), dbls(mark(X)) -> mark(dbls(X)), dbls(ok(X)) -> ok(dbls(X)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), indx(mark(X1), X2) -> mark(indx(X1, X2)), indx(ok(X1), ok(X2)) -> ok(indx(X1, X2)), from(ok(X)) -> ok(from(X)), proper(0()) -> ok(0()), proper(dbl(X)) -> dbl(proper(X)), proper(s(X)) -> s(proper(X)), proper(nil()) -> ok(nil()), proper(dbls(X)) -> dbls(proper(X)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(indx(X1, X2)) -> indx(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X)) } DUP: We consider a duplicating system. Trs: { active(dbl(X)) -> dbl(active(X)), active(dbl(0())) -> mark(0()), active(dbl(s(X))) -> mark(s(s(dbl(X)))), active(dbls(X)) -> dbls(active(X)), active(dbls(nil())) -> mark(nil()), active(dbls(cons(X, Y))) -> mark(cons(dbl(X), dbls(Y))), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(0(), cons(X, Y))) -> mark(X), active(sel(s(X), cons(Y, Z))) -> mark(sel(X, Z)), active(indx(X1, X2)) -> indx(active(X1), X2), active(indx(nil(), X)) -> mark(nil()), active(indx(cons(X, Y), Z)) -> mark(cons(sel(X, Z), indx(Y, Z))), active(from(X)) -> mark(cons(X, from(s(X)))), dbl(mark(X)) -> mark(dbl(X)), dbl(ok(X)) -> ok(dbl(X)), s(ok(X)) -> ok(s(X)), dbls(mark(X)) -> mark(dbls(X)), dbls(ok(X)) -> ok(dbls(X)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), indx(mark(X1), X2) -> mark(indx(X1, X2)), indx(ok(X1), ok(X2)) -> ok(indx(X1, X2)), from(ok(X)) -> ok(from(X)), proper(0()) -> ok(0()), proper(dbl(X)) -> dbl(proper(X)), proper(s(X)) -> s(proper(X)), proper(nil()) -> ok(nil()), proper(dbls(X)) -> dbls(proper(X)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(indx(X1, X2)) -> indx(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X)) } Fail