MAYBE MAYBE TRS: { mark(cons(X1, X2)) -> active(cons(mark(X1), X2)), mark(from(X)) -> active(from(mark(X))), mark(s(X)) -> active(s(mark(X))), mark(head(X)) -> active(head(mark(X))), mark(2nd(X)) -> active(2nd(mark(X))), mark(nil()) -> active(nil()), mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))), mark(0()) -> active(0()), mark(sel(X1, X2)) -> active(sel(mark(X1), mark(X2))), cons(X1, mark(X2)) -> cons(X1, X2), cons(X1, active(X2)) -> cons(X1, X2), cons(mark(X1), X2) -> cons(X1, X2), cons(active(X1), X2) -> cons(X1, X2), from(mark(X)) -> from(X), from(active(X)) -> from(X), s(mark(X)) -> s(X), s(active(X)) -> s(X), active(from(X)) -> mark(cons(X, from(s(X)))), active(head(cons(X, XS))) -> mark(X), active(2nd(cons(X, XS))) -> mark(head(XS)), active(take(s(N), cons(X, XS))) -> mark(cons(X, take(N, XS))), active(take(0(), XS)) -> mark(nil()), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), head(mark(X)) -> head(X), head(active(X)) -> head(X), 2nd(mark(X)) -> 2nd(X), 2nd(active(X)) -> 2nd(X), take(X1, mark(X2)) -> take(X1, X2), take(X1, active(X2)) -> take(X1, X2), take(mark(X1), X2) -> take(X1, X2), take(active(X1), X2) -> take(X1, X2), sel(X1, mark(X2)) -> sel(X1, X2), sel(X1, active(X2)) -> sel(X1, X2), sel(mark(X1), X2) -> sel(X1, X2), sel(active(X1), X2) -> sel(X1, X2) } DUP: We consider a duplicating system. Trs: { mark(cons(X1, X2)) -> active(cons(mark(X1), X2)), mark(from(X)) -> active(from(mark(X))), mark(s(X)) -> active(s(mark(X))), mark(head(X)) -> active(head(mark(X))), mark(2nd(X)) -> active(2nd(mark(X))), mark(nil()) -> active(nil()), mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))), mark(0()) -> active(0()), mark(sel(X1, X2)) -> active(sel(mark(X1), mark(X2))), cons(X1, mark(X2)) -> cons(X1, X2), cons(X1, active(X2)) -> cons(X1, X2), cons(mark(X1), X2) -> cons(X1, X2), cons(active(X1), X2) -> cons(X1, X2), from(mark(X)) -> from(X), from(active(X)) -> from(X), s(mark(X)) -> s(X), s(active(X)) -> s(X), active(from(X)) -> mark(cons(X, from(s(X)))), active(head(cons(X, XS))) -> mark(X), active(2nd(cons(X, XS))) -> mark(head(XS)), active(take(s(N), cons(X, XS))) -> mark(cons(X, take(N, XS))), active(take(0(), XS)) -> mark(nil()), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), head(mark(X)) -> head(X), head(active(X)) -> head(X), 2nd(mark(X)) -> 2nd(X), 2nd(active(X)) -> 2nd(X), take(X1, mark(X2)) -> take(X1, X2), take(X1, active(X2)) -> take(X1, X2), take(mark(X1), X2) -> take(X1, X2), take(active(X1), X2) -> take(X1, X2), sel(X1, mark(X2)) -> sel(X1, X2), sel(X1, active(X2)) -> sel(X1, X2), sel(mark(X1), X2) -> sel(X1, X2), sel(active(X1), X2) -> sel(X1, X2) } Fail