MAYBE TRS: { mark(cons(X1, X2)) -> cons(mark(X1), X2), mark(from(X)) -> a__from(mark(X)), mark(s(X)) -> s(mark(X)), mark(0()) -> 0(), mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)), a__from(X) -> cons(mark(X), from(s(X))), a__from(X) -> from(X), a__sel(X1, X2) -> sel(X1, X2), a__sel(s(X), cons(Y, Z)) -> a__sel(mark(X), mark(Z)), a__sel(0(), cons(X, Y)) -> mark(X)} DP: Strict: { mark#(cons(X1, X2)) -> mark#(X1), mark#(from(X)) -> mark#(X), mark#(from(X)) -> a__from#(mark(X)), mark#(s(X)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> mark#(X2), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2)), a__from#(X) -> mark#(X), a__sel#(s(X), cons(Y, Z)) -> mark#(X), a__sel#(s(X), cons(Y, Z)) -> mark#(Z), a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z)), a__sel#(0(), cons(X, Y)) -> mark#(X)} Weak: { mark(cons(X1, X2)) -> cons(mark(X1), X2), mark(from(X)) -> a__from(mark(X)), mark(s(X)) -> s(mark(X)), mark(0()) -> 0(), mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)), a__from(X) -> cons(mark(X), from(s(X))), a__from(X) -> from(X), a__sel(X1, X2) -> sel(X1, X2), a__sel(s(X), cons(Y, Z)) -> a__sel(mark(X), mark(Z)), a__sel(0(), cons(X, Y)) -> mark(X)} EDG: {(mark#(from(X)) -> mark#(X), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2))) (mark#(from(X)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X2)) (mark#(from(X)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X1)) (mark#(from(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(from(X)) -> mark#(X), mark#(from(X)) -> a__from#(mark(X))) (mark#(from(X)) -> mark#(X), mark#(from(X)) -> mark#(X)) (mark#(from(X)) -> mark#(X), mark#(cons(X1, X2)) -> mark#(X1)) (a__from#(X) -> mark#(X), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2))) (a__from#(X) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X2)) (a__from#(X) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X1)) (a__from#(X) -> mark#(X), mark#(s(X)) -> mark#(X)) (a__from#(X) -> mark#(X), mark#(from(X)) -> a__from#(mark(X))) (a__from#(X) -> mark#(X), mark#(from(X)) -> mark#(X)) (a__from#(X) -> mark#(X), mark#(cons(X1, X2)) -> mark#(X1)) (a__sel#(0(), cons(X, Y)) -> mark#(X), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2))) (a__sel#(0(), cons(X, Y)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X2)) (a__sel#(0(), cons(X, Y)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X1)) (a__sel#(0(), cons(X, Y)) -> mark#(X), mark#(s(X)) -> mark#(X)) (a__sel#(0(), cons(X, Y)) -> mark#(X), mark#(from(X)) -> a__from#(mark(X))) (a__sel#(0(), cons(X, Y)) -> mark#(X), mark#(from(X)) -> mark#(X)) (a__sel#(0(), cons(X, Y)) -> mark#(X), mark#(cons(X1, X2)) -> mark#(X1)) (a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z)), a__sel#(0(), cons(X, Y)) -> mark#(X)) (a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z)), a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z))) (a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z)), a__sel#(s(X), cons(Y, Z)) -> mark#(Z)) (a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z)), a__sel#(s(X), cons(Y, Z)) -> mark#(X)) (mark#(sel(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2))) (mark#(sel(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> mark#(X2)) (mark#(sel(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> mark#(X1)) (mark#(sel(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(sel(X1, X2)) -> mark#(X1), mark#(from(X)) -> a__from#(mark(X))) (mark#(sel(X1, X2)) -> mark#(X1), mark#(from(X)) -> mark#(X)) (mark#(sel(X1, X2)) -> mark#(X1), mark#(cons(X1, X2)) -> mark#(X1)) (mark#(from(X)) -> a__from#(mark(X)), a__from#(X) -> mark#(X)) (a__sel#(s(X), cons(Y, Z)) -> mark#(Z), mark#(cons(X1, X2)) -> mark#(X1)) (a__sel#(s(X), cons(Y, Z)) -> mark#(Z), mark#(from(X)) -> mark#(X)) (a__sel#(s(X), cons(Y, Z)) -> mark#(Z), mark#(from(X)) -> a__from#(mark(X))) (a__sel#(s(X), cons(Y, Z)) -> mark#(Z), mark#(s(X)) -> mark#(X)) (a__sel#(s(X), cons(Y, Z)) -> mark#(Z), mark#(sel(X1, X2)) -> mark#(X1)) (a__sel#(s(X), cons(Y, Z)) -> mark#(Z), mark#(sel(X1, X2)) -> mark#(X2)) (a__sel#(s(X), cons(Y, Z)) -> mark#(Z), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2))) (mark#(cons(X1, X2)) -> mark#(X1), mark#(cons(X1, X2)) -> mark#(X1)) (mark#(cons(X1, X2)) -> mark#(X1), mark#(from(X)) -> mark#(X)) (mark#(cons(X1, X2)) -> mark#(X1), mark#(from(X)) -> a__from#(mark(X))) (mark#(cons(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(cons(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> mark#(X1)) (mark#(cons(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> mark#(X2)) (mark#(cons(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2))) (mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2)), a__sel#(s(X), cons(Y, Z)) -> mark#(X)) (mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2)), a__sel#(s(X), cons(Y, Z)) -> mark#(Z)) (mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2)), a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z))) (mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2)), a__sel#(0(), cons(X, Y)) -> mark#(X)) (a__sel#(s(X), cons(Y, Z)) -> mark#(X), mark#(cons(X1, X2)) -> mark#(X1)) (a__sel#(s(X), cons(Y, Z)) -> mark#(X), mark#(from(X)) -> mark#(X)) (a__sel#(s(X), cons(Y, Z)) -> mark#(X), mark#(from(X)) -> a__from#(mark(X))) (a__sel#(s(X), cons(Y, Z)) -> mark#(X), mark#(s(X)) -> mark#(X)) (a__sel#(s(X), cons(Y, Z)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X1)) (a__sel#(s(X), cons(Y, Z)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X2)) (a__sel#(s(X), cons(Y, Z)) -> mark#(X), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2))) (mark#(s(X)) -> mark#(X), mark#(cons(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(from(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(from(X)) -> a__from#(mark(X))) (mark#(s(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X2)) (mark#(s(X)) -> mark#(X), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2))) (mark#(sel(X1, X2)) -> mark#(X2), mark#(cons(X1, X2)) -> mark#(X1)) (mark#(sel(X1, X2)) -> mark#(X2), mark#(from(X)) -> mark#(X)) (mark#(sel(X1, X2)) -> mark#(X2), mark#(from(X)) -> a__from#(mark(X))) (mark#(sel(X1, X2)) -> mark#(X2), mark#(s(X)) -> mark#(X)) (mark#(sel(X1, X2)) -> mark#(X2), mark#(sel(X1, X2)) -> mark#(X1)) (mark#(sel(X1, X2)) -> mark#(X2), mark#(sel(X1, X2)) -> mark#(X2)) (mark#(sel(X1, X2)) -> mark#(X2), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2)))} SCCS: Scc: { mark#(cons(X1, X2)) -> mark#(X1), mark#(from(X)) -> mark#(X), mark#(from(X)) -> a__from#(mark(X)), mark#(s(X)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> mark#(X2), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2)), a__from#(X) -> mark#(X), a__sel#(s(X), cons(Y, Z)) -> mark#(X), a__sel#(s(X), cons(Y, Z)) -> mark#(Z), a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z)), a__sel#(0(), cons(X, Y)) -> mark#(X)} SCC: Strict: { mark#(cons(X1, X2)) -> mark#(X1), mark#(from(X)) -> mark#(X), mark#(from(X)) -> a__from#(mark(X)), mark#(s(X)) -> mark#(X), mark#(sel(X1, X2)) -> mark#(X1), mark#(sel(X1, X2)) -> mark#(X2), mark#(sel(X1, X2)) -> a__sel#(mark(X1), mark(X2)), a__from#(X) -> mark#(X), a__sel#(s(X), cons(Y, Z)) -> mark#(X), a__sel#(s(X), cons(Y, Z)) -> mark#(Z), a__sel#(s(X), cons(Y, Z)) -> a__sel#(mark(X), mark(Z)), a__sel#(0(), cons(X, Y)) -> mark#(X)} Weak: { mark(cons(X1, X2)) -> cons(mark(X1), X2), mark(from(X)) -> a__from(mark(X)), mark(s(X)) -> s(mark(X)), mark(0()) -> 0(), mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)), a__from(X) -> cons(mark(X), from(s(X))), a__from(X) -> from(X), a__sel(X1, X2) -> sel(X1, X2), a__sel(s(X), cons(Y, Z)) -> a__sel(mark(X), mark(Z)), a__sel(0(), cons(X, Y)) -> mark(X)} Fail