MAYBE MAYBE TRS: { active(eq(X, Y)) -> mark(false()), active(eq(0(), 0())) -> mark(true()), active(eq(s(X), s(Y))) -> mark(eq(X, Y)), active(inf(X)) -> mark(cons(X, inf(s(X)))), active(inf(X)) -> inf(active(X)), active(take(X1, X2)) -> take(X1, active(X2)), active(take(X1, X2)) -> take(active(X1), X2), active(take(0(), X)) -> mark(nil()), active(take(s(X), cons(Y, L))) -> mark(cons(Y, take(X, L))), active(length(X)) -> length(active(X)), active(length(cons(X, L))) -> mark(s(length(L))), active(length(nil())) -> mark(0()), eq(ok(X1), ok(X2)) -> ok(eq(X1, X2)), s(ok(X)) -> ok(s(X)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), inf(mark(X)) -> mark(inf(X)), inf(ok(X)) -> ok(inf(X)), take(X1, mark(X2)) -> mark(take(X1, X2)), take(mark(X1), X2) -> mark(take(X1, X2)), take(ok(X1), ok(X2)) -> ok(take(X1, X2)), length(mark(X)) -> mark(length(X)), length(ok(X)) -> ok(length(X)), proper(true()) -> ok(true()), proper(eq(X1, X2)) -> eq(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(s(X)) -> s(proper(X)), proper(false()) -> ok(false()), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(inf(X)) -> inf(proper(X)), proper(nil()) -> ok(nil()), proper(take(X1, X2)) -> take(proper(X1), proper(X2)), proper(length(X)) -> length(proper(X)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X)) } DUP: We consider a duplicating system. Trs: { active(eq(X, Y)) -> mark(false()), active(eq(0(), 0())) -> mark(true()), active(eq(s(X), s(Y))) -> mark(eq(X, Y)), active(inf(X)) -> mark(cons(X, inf(s(X)))), active(inf(X)) -> inf(active(X)), active(take(X1, X2)) -> take(X1, active(X2)), active(take(X1, X2)) -> take(active(X1), X2), active(take(0(), X)) -> mark(nil()), active(take(s(X), cons(Y, L))) -> mark(cons(Y, take(X, L))), active(length(X)) -> length(active(X)), active(length(cons(X, L))) -> mark(s(length(L))), active(length(nil())) -> mark(0()), eq(ok(X1), ok(X2)) -> ok(eq(X1, X2)), s(ok(X)) -> ok(s(X)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), inf(mark(X)) -> mark(inf(X)), inf(ok(X)) -> ok(inf(X)), take(X1, mark(X2)) -> mark(take(X1, X2)), take(mark(X1), X2) -> mark(take(X1, X2)), take(ok(X1), ok(X2)) -> ok(take(X1, X2)), length(mark(X)) -> mark(length(X)), length(ok(X)) -> ok(length(X)), proper(true()) -> ok(true()), proper(eq(X1, X2)) -> eq(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(s(X)) -> s(proper(X)), proper(false()) -> ok(false()), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(inf(X)) -> inf(proper(X)), proper(nil()) -> ok(nil()), proper(take(X1, X2)) -> take(proper(X1), proper(X2)), proper(length(X)) -> length(proper(X)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X)) } Fail