MAYBE Problem: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Proof: DP Processor: DPs: active#(from(X)) -> s#(X) active#(from(X)) -> from#(s(X)) active#(from(X)) -> cons#(X,from(s(X))) active#(from(X)) -> mark#(cons(X,from(s(X)))) active#(head(cons(X,XS))) -> mark#(X) active#(2nd(cons(X,XS))) -> head#(XS) active#(2nd(cons(X,XS))) -> mark#(head(XS)) active#(take(0(),XS)) -> mark#(nil()) active#(take(s(N),cons(X,XS))) -> take#(N,XS) active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) active#(sel(0(),cons(X,XS))) -> mark#(X) active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(from(X)) -> mark#(X) mark#(from(X)) -> from#(mark(X)) mark#(from(X)) -> active#(from(mark(X))) mark#(cons(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(s(X)) -> mark#(X) mark#(s(X)) -> s#(mark(X)) mark#(s(X)) -> active#(s(mark(X))) mark#(head(X)) -> mark#(X) mark#(head(X)) -> head#(mark(X)) mark#(head(X)) -> active#(head(mark(X))) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> 2nd#(mark(X)) mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(take(X1,X2)) -> mark#(X2) mark#(take(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(0()) -> active#(0()) mark#(nil()) -> active#(nil()) mark#(sel(X1,X2)) -> mark#(X2) mark#(sel(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) from#(mark(X)) -> from#(X) from#(active(X)) -> from#(X) cons#(mark(X1),X2) -> cons#(X1,X2) cons#(X1,mark(X2)) -> cons#(X1,X2) cons#(active(X1),X2) -> cons#(X1,X2) cons#(X1,active(X2)) -> cons#(X1,X2) s#(mark(X)) -> s#(X) s#(active(X)) -> s#(X) head#(mark(X)) -> head#(X) head#(active(X)) -> head#(X) 2nd#(mark(X)) -> 2nd#(X) 2nd#(active(X)) -> 2nd#(X) take#(mark(X1),X2) -> take#(X1,X2) take#(X1,mark(X2)) -> take#(X1,X2) take#(active(X1),X2) -> take#(X1,X2) take#(X1,active(X2)) -> take#(X1,X2) sel#(mark(X1),X2) -> sel#(X1,X2) sel#(X1,mark(X2)) -> sel#(X1,X2) sel#(active(X1),X2) -> sel#(X1,X2) sel#(X1,active(X2)) -> sel#(X1,X2) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) TDG Processor: DPs: active#(from(X)) -> s#(X) active#(from(X)) -> from#(s(X)) active#(from(X)) -> cons#(X,from(s(X))) active#(from(X)) -> mark#(cons(X,from(s(X)))) active#(head(cons(X,XS))) -> mark#(X) active#(2nd(cons(X,XS))) -> head#(XS) active#(2nd(cons(X,XS))) -> mark#(head(XS)) active#(take(0(),XS)) -> mark#(nil()) active#(take(s(N),cons(X,XS))) -> take#(N,XS) active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) active#(sel(0(),cons(X,XS))) -> mark#(X) active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(from(X)) -> mark#(X) mark#(from(X)) -> from#(mark(X)) mark#(from(X)) -> active#(from(mark(X))) mark#(cons(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(s(X)) -> mark#(X) mark#(s(X)) -> s#(mark(X)) mark#(s(X)) -> active#(s(mark(X))) mark#(head(X)) -> mark#(X) mark#(head(X)) -> head#(mark(X)) mark#(head(X)) -> active#(head(mark(X))) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> 2nd#(mark(X)) mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(take(X1,X2)) -> mark#(X2) mark#(take(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(0()) -> active#(0()) mark#(nil()) -> active#(nil()) mark#(sel(X1,X2)) -> mark#(X2) mark#(sel(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) from#(mark(X)) -> from#(X) from#(active(X)) -> from#(X) cons#(mark(X1),X2) -> cons#(X1,X2) cons#(X1,mark(X2)) -> cons#(X1,X2) cons#(active(X1),X2) -> cons#(X1,X2) cons#(X1,active(X2)) -> cons#(X1,X2) s#(mark(X)) -> s#(X) s#(active(X)) -> s#(X) head#(mark(X)) -> head#(X) head#(active(X)) -> head#(X) 2nd#(mark(X)) -> 2nd#(X) 2nd#(active(X)) -> 2nd#(X) take#(mark(X1),X2) -> take#(X1,X2) take#(X1,mark(X2)) -> take#(X1,X2) take#(active(X1),X2) -> take#(X1,X2) take#(X1,active(X2)) -> take#(X1,X2) sel#(mark(X1),X2) -> sel#(X1,X2) sel#(X1,mark(X2)) -> sel#(X1,X2) sel#(active(X1),X2) -> sel#(X1,X2) sel#(X1,active(X2)) -> sel#(X1,X2) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) graph: 2nd#(mark(X)) -> 2nd#(X) -> 2nd#(active(X)) -> 2nd#(X) 2nd#(mark(X)) -> 2nd#(X) -> 2nd#(mark(X)) -> 2nd#(X) 2nd#(active(X)) -> 2nd#(X) -> 2nd#(active(X)) -> 2nd#(X) 2nd#(active(X)) -> 2nd#(X) -> 2nd#(mark(X)) -> 2nd#(X) sel#(mark(X1),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) sel#(mark(X1),X2) -> sel#(X1,X2) -> sel#(X1,mark(X2)) -> sel#(X1,X2) sel#(mark(X1),X2) -> sel#(X1,X2) -> sel#(mark(X1),X2) -> sel#(X1,X2) sel#(active(X1),X2) -> sel#(X1,X2) -> sel#(X1,active(X2)) -> sel#(X1,X2) sel#(active(X1),X2) -> sel#(X1,X2) -> sel#(active(X1),X2) -> sel#(X1,X2) sel#(active(X1),X2) -> sel#(X1,X2) -> sel#(X1,mark(X2)) -> sel#(X1,X2) sel#(active(X1),X2) -> sel#(X1,X2) -> sel#(mark(X1),X2) -> sel#(X1,X2) sel#(X1,mark(X2)) -> sel#(X1,X2) -> sel#(X1,active(X2)) -> sel#(X1,X2) sel#(X1,mark(X2)) -> sel#(X1,X2) -> sel#(active(X1),X2) -> sel#(X1,X2) sel#(X1,mark(X2)) -> sel#(X1,X2) -> sel#(X1,mark(X2)) -> sel#(X1,X2) sel#(X1,mark(X2)) -> sel#(X1,X2) -> sel#(mark(X1),X2) -> sel#(X1,X2) sel#(X1,active(X2)) -> sel#(X1,X2) -> sel#(X1,active(X2)) -> sel#(X1,X2) sel#(X1,active(X2)) -> sel#(X1,X2) -> sel#(active(X1),X2) -> sel#(X1,X2) sel#(X1,active(X2)) -> sel#(X1,X2) -> sel#(X1,mark(X2)) -> sel#(X1,X2) sel#(X1,active(X2)) -> sel#(X1,X2) -> sel#(mark(X1),X2) -> sel#(X1,X2) take#(mark(X1),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) take#(mark(X1),X2) -> take#(X1,X2) -> take#(X1,mark(X2)) -> take#(X1,X2) take#(mark(X1),X2) -> take#(X1,X2) -> take#(mark(X1),X2) -> take#(X1,X2) take#(active(X1),X2) -> take#(X1,X2) -> take#(X1,active(X2)) -> take#(X1,X2) take#(active(X1),X2) -> take#(X1,X2) -> take#(active(X1),X2) -> take#(X1,X2) take#(active(X1),X2) -> take#(X1,X2) -> take#(X1,mark(X2)) -> take#(X1,X2) take#(active(X1),X2) -> take#(X1,X2) -> take#(mark(X1),X2) -> take#(X1,X2) take#(X1,mark(X2)) -> take#(X1,X2) -> take#(X1,active(X2)) -> take#(X1,X2) take#(X1,mark(X2)) -> take#(X1,X2) -> take#(active(X1),X2) -> take#(X1,X2) take#(X1,mark(X2)) -> take#(X1,X2) -> take#(X1,mark(X2)) -> take#(X1,X2) take#(X1,mark(X2)) -> take#(X1,X2) -> take#(mark(X1),X2) -> take#(X1,X2) take#(X1,active(X2)) -> take#(X1,X2) -> take#(X1,active(X2)) -> take#(X1,X2) take#(X1,active(X2)) -> take#(X1,X2) -> take#(active(X1),X2) -> take#(X1,X2) take#(X1,active(X2)) -> take#(X1,X2) -> take#(X1,mark(X2)) -> take#(X1,X2) take#(X1,active(X2)) -> take#(X1,X2) -> take#(mark(X1),X2) -> take#(X1,X2) head#(mark(X)) -> head#(X) -> head#(active(X)) -> head#(X) head#(mark(X)) -> head#(X) -> head#(mark(X)) -> head#(X) head#(active(X)) -> head#(X) -> head#(active(X)) -> head#(X) head#(active(X)) -> head#(X) -> head#(mark(X)) -> head#(X) mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) -> sel#(X1,active(X2)) -> sel#(X1,X2) mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) -> sel#(active(X1),X2) -> sel#(X1,X2) mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) -> sel#(X1,mark(X2)) -> sel#(X1,X2) mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) -> sel#(mark(X1),X2) -> sel#(X1,X2) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) 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#(nil()) -> active#(nil()) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(0()) -> active#(0()) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(take(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(take(X1,X2)) -> mark#(X2) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> mark#(X) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(head(X)) -> active#(head(mark(X))) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(head(X)) -> head#(mark(X)) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(head(X)) -> mark#(X) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> active#(s(mark(X))) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> s#(mark(X)) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> mark#(X) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> active#(from(mark(X))) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> from#(mark(X)) mark#(sel(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> mark#(X) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> mark#(X2) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(nil()) -> active#(nil()) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(0()) -> active#(0()) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X2) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> active#(head(mark(X))) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> head#(mark(X)) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> mark#(X) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> active#(s(mark(X))) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> s#(mark(X)) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> active#(from(mark(X))) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> from#(mark(X)) mark#(sel(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> mark#(X) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(take(0(),XS)) -> mark#(nil()) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(head(cons(X,XS))) -> mark#(X) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(from(X)) -> from#(s(X)) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) -> active#(from(X)) -> s#(X) mark#(nil()) -> active#(nil()) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(nil()) -> active#(nil()) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(nil()) -> active#(nil()) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(nil()) -> active#(nil()) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(nil()) -> active#(nil()) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(nil()) -> active#(nil()) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(nil()) -> active#(nil()) -> active#(take(0(),XS)) -> mark#(nil()) mark#(nil()) -> active#(nil()) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(nil()) -> active#(nil()) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(nil()) -> active#(nil()) -> active#(head(cons(X,XS))) -> mark#(X) mark#(nil()) -> active#(nil()) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(nil()) -> active#(nil()) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(nil()) -> active#(nil()) -> active#(from(X)) -> from#(s(X)) mark#(nil()) -> active#(nil()) -> active#(from(X)) -> s#(X) mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) -> take#(X1,active(X2)) -> take#(X1,X2) mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) -> take#(active(X1),X2) -> take#(X1,X2) mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) -> take#(X1,mark(X2)) -> take#(X1,X2) mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) -> take#(mark(X1),X2) -> take#(X1,X2) mark#(take(X1,X2)) -> mark#(X2) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(take(X1,X2)) -> mark#(X2) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(take(X1,X2)) -> mark#(X2) -> mark#(sel(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> mark#(X2) -> mark#(sel(X1,X2)) -> mark#(X2) mark#(take(X1,X2)) -> mark#(X2) -> mark#(nil()) -> active#(nil()) mark#(take(X1,X2)) -> mark#(X2) -> mark#(0()) -> active#(0()) mark#(take(X1,X2)) -> mark#(X2) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(take(X1,X2)) -> mark#(X2) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(take(X1,X2)) -> mark#(X2) -> mark#(take(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> mark#(X2) -> mark#(take(X1,X2)) -> mark#(X2) mark#(take(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(take(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(take(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> mark#(X) mark#(take(X1,X2)) -> mark#(X2) -> mark#(head(X)) -> active#(head(mark(X))) mark#(take(X1,X2)) -> mark#(X2) -> mark#(head(X)) -> head#(mark(X)) mark#(take(X1,X2)) -> mark#(X2) -> mark#(head(X)) -> mark#(X) mark#(take(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> active#(s(mark(X))) mark#(take(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> s#(mark(X)) mark#(take(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> mark#(X) mark#(take(X1,X2)) -> mark#(X2) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(take(X1,X2)) -> mark#(X2) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(take(X1,X2)) -> mark#(X2) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> active#(from(mark(X))) mark#(take(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> from#(mark(X)) mark#(take(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> mark#(X) mark#(take(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(take(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(take(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> mark#(X2) mark#(take(X1,X2)) -> mark#(X1) -> mark#(nil()) -> active#(nil()) mark#(take(X1,X2)) -> mark#(X1) -> mark#(0()) -> active#(0()) mark#(take(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(take(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(take(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X2) mark#(take(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(take(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(take(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) mark#(take(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> active#(head(mark(X))) mark#(take(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> head#(mark(X)) mark#(take(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> mark#(X) mark#(take(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> active#(s(mark(X))) mark#(take(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> s#(mark(X)) mark#(take(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) mark#(take(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(take(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(take(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> active#(from(mark(X))) mark#(take(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> from#(mark(X)) mark#(take(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> mark#(X) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(take(0(),XS)) -> mark#(nil()) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(head(cons(X,XS))) -> mark#(X) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(from(X)) -> from#(s(X)) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) -> active#(from(X)) -> s#(X) mark#(0()) -> active#(0()) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(0()) -> active#(0()) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(0()) -> active#(0()) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(0()) -> active#(0()) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(0()) -> active#(0()) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(0()) -> active#(0()) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(0()) -> active#(0()) -> active#(take(0(),XS)) -> mark#(nil()) mark#(0()) -> active#(0()) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(0()) -> active#(0()) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(0()) -> active#(0()) -> active#(head(cons(X,XS))) -> mark#(X) mark#(0()) -> active#(0()) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(0()) -> active#(0()) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(0()) -> active#(0()) -> active#(from(X)) -> from#(s(X)) mark#(0()) -> active#(0()) -> active#(from(X)) -> s#(X) mark#(2nd(X)) -> 2nd#(mark(X)) -> 2nd#(active(X)) -> 2nd#(X) mark#(2nd(X)) -> 2nd#(mark(X)) -> 2nd#(mark(X)) -> 2nd#(X) mark#(2nd(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(2nd(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(2nd(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X1) mark#(2nd(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X2) mark#(2nd(X)) -> mark#(X) -> mark#(nil()) -> active#(nil()) mark#(2nd(X)) -> mark#(X) -> mark#(0()) -> active#(0()) mark#(2nd(X)) -> mark#(X) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(2nd(X)) -> mark#(X) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(2nd(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X1) mark#(2nd(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X2) mark#(2nd(X)) -> mark#(X) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(2nd(X)) -> mark#(X) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(2nd(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(head(X)) -> active#(head(mark(X))) mark#(2nd(X)) -> mark#(X) -> mark#(head(X)) -> head#(mark(X)) mark#(2nd(X)) -> mark#(X) -> mark#(head(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X))) mark#(2nd(X)) -> mark#(X) -> mark#(s(X)) -> s#(mark(X)) mark#(2nd(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(2nd(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(2nd(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(2nd(X)) -> mark#(X) -> mark#(from(X)) -> active#(from(mark(X))) mark#(2nd(X)) -> mark#(X) -> mark#(from(X)) -> from#(mark(X)) mark#(2nd(X)) -> mark#(X) -> mark#(from(X)) -> mark#(X) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(take(0(),XS)) -> mark#(nil()) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(head(cons(X,XS))) -> mark#(X) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(from(X)) -> from#(s(X)) mark#(2nd(X)) -> active#(2nd(mark(X))) -> active#(from(X)) -> s#(X) mark#(head(X)) -> head#(mark(X)) -> head#(active(X)) -> head#(X) mark#(head(X)) -> head#(mark(X)) -> head#(mark(X)) -> head#(X) mark#(head(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(head(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(head(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X1) mark#(head(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X2) mark#(head(X)) -> mark#(X) -> mark#(nil()) -> active#(nil()) mark#(head(X)) -> mark#(X) -> mark#(0()) -> active#(0()) mark#(head(X)) -> mark#(X) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(head(X)) -> mark#(X) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(head(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X1) mark#(head(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X2) mark#(head(X)) -> mark#(X) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(head(X)) -> mark#(X) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(head(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(head(X)) -> mark#(X) -> mark#(head(X)) -> active#(head(mark(X))) mark#(head(X)) -> mark#(X) -> mark#(head(X)) -> head#(mark(X)) mark#(head(X)) -> mark#(X) -> mark#(head(X)) -> mark#(X) mark#(head(X)) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X))) mark#(head(X)) -> mark#(X) -> mark#(s(X)) -> s#(mark(X)) mark#(head(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(head(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(head(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(head(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(head(X)) -> mark#(X) -> mark#(from(X)) -> active#(from(mark(X))) mark#(head(X)) -> mark#(X) -> mark#(from(X)) -> from#(mark(X)) mark#(head(X)) -> mark#(X) -> mark#(from(X)) -> mark#(X) mark#(head(X)) -> active#(head(mark(X))) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(head(X)) -> active#(head(mark(X))) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(head(X)) -> active#(head(mark(X))) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(head(X)) -> active#(head(mark(X))) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(head(X)) -> active#(head(mark(X))) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(head(X)) -> active#(head(mark(X))) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(head(X)) -> active#(head(mark(X))) -> active#(take(0(),XS)) -> mark#(nil()) mark#(head(X)) -> active#(head(mark(X))) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(head(X)) -> active#(head(mark(X))) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(head(X)) -> active#(head(mark(X))) -> active#(head(cons(X,XS))) -> mark#(X) mark#(head(X)) -> active#(head(mark(X))) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(head(X)) -> active#(head(mark(X))) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(head(X)) -> active#(head(mark(X))) -> active#(from(X)) -> from#(s(X)) mark#(head(X)) -> active#(head(mark(X))) -> active#(from(X)) -> s#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) 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#(nil()) -> active#(nil()) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(0()) -> active#(0()) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(take(X1,X2)) -> mark#(X2) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> active#(head(mark(X))) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> head#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(head(X)) -> mark#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> active#(s(mark(X))) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> s#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> active#(from(mark(X))) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> from#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> mark#(X) mark#(cons(X1,X2)) -> cons#(mark(X1),X2) -> cons#(X1,active(X2)) -> cons#(X1,X2) mark#(cons(X1,X2)) -> cons#(mark(X1),X2) -> cons#(active(X1),X2) -> cons#(X1,X2) mark#(cons(X1,X2)) -> cons#(mark(X1),X2) -> cons#(X1,mark(X2)) -> cons#(X1,X2) mark#(cons(X1,X2)) -> cons#(mark(X1),X2) -> cons#(mark(X1),X2) -> cons#(X1,X2) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(take(0(),XS)) -> mark#(nil()) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(head(cons(X,XS))) -> mark#(X) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(from(X)) -> from#(s(X)) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) -> active#(from(X)) -> s#(X) mark#(s(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(s(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) 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#(nil()) -> active#(nil()) mark#(s(X)) -> mark#(X) -> mark#(0()) -> active#(0()) mark#(s(X)) -> mark#(X) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(s(X)) -> mark#(X) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(s(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X2) mark#(s(X)) -> mark#(X) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(s(X)) -> mark#(X) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(s(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(s(X)) -> mark#(X) -> mark#(head(X)) -> active#(head(mark(X))) mark#(s(X)) -> mark#(X) -> mark#(head(X)) -> head#(mark(X)) mark#(s(X)) -> mark#(X) -> mark#(head(X)) -> mark#(X) mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X))) mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> s#(mark(X)) mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(s(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(s(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(s(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) -> mark#(from(X)) -> active#(from(mark(X))) mark#(s(X)) -> mark#(X) -> mark#(from(X)) -> from#(mark(X)) mark#(s(X)) -> mark#(X) -> mark#(from(X)) -> mark#(X) mark#(s(X)) -> s#(mark(X)) -> s#(active(X)) -> s#(X) mark#(s(X)) -> s#(mark(X)) -> s#(mark(X)) -> s#(X) mark#(s(X)) -> active#(s(mark(X))) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(s(X)) -> active#(s(mark(X))) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(s(X)) -> active#(s(mark(X))) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(s(X)) -> active#(s(mark(X))) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(s(X)) -> active#(s(mark(X))) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(s(X)) -> active#(s(mark(X))) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(s(X)) -> active#(s(mark(X))) -> active#(take(0(),XS)) -> mark#(nil()) mark#(s(X)) -> active#(s(mark(X))) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(s(X)) -> active#(s(mark(X))) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(s(X)) -> active#(s(mark(X))) -> active#(head(cons(X,XS))) -> mark#(X) mark#(s(X)) -> active#(s(mark(X))) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(s(X)) -> active#(s(mark(X))) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(s(X)) -> active#(s(mark(X))) -> active#(from(X)) -> from#(s(X)) mark#(s(X)) -> active#(s(mark(X))) -> active#(from(X)) -> s#(X) mark#(from(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) mark#(from(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(from(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X1) mark#(from(X)) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X2) mark#(from(X)) -> mark#(X) -> mark#(nil()) -> active#(nil()) mark#(from(X)) -> mark#(X) -> mark#(0()) -> active#(0()) mark#(from(X)) -> mark#(X) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(from(X)) -> mark#(X) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(from(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X1) mark#(from(X)) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X2) mark#(from(X)) -> mark#(X) -> mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(from(X)) -> mark#(X) -> mark#(2nd(X)) -> 2nd#(mark(X)) mark#(from(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(head(X)) -> active#(head(mark(X))) mark#(from(X)) -> mark#(X) -> mark#(head(X)) -> head#(mark(X)) mark#(from(X)) -> mark#(X) -> mark#(head(X)) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X))) mark#(from(X)) -> mark#(X) -> mark#(s(X)) -> s#(mark(X)) mark#(from(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(from(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(from(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(from(X)) -> mark#(X) -> mark#(from(X)) -> active#(from(mark(X))) mark#(from(X)) -> mark#(X) -> mark#(from(X)) -> from#(mark(X)) mark#(from(X)) -> mark#(X) -> mark#(from(X)) -> mark#(X) mark#(from(X)) -> from#(mark(X)) -> from#(active(X)) -> from#(X) mark#(from(X)) -> from#(mark(X)) -> from#(mark(X)) -> from#(X) mark#(from(X)) -> active#(from(mark(X))) -> active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(from(X)) -> active#(from(mark(X))) -> active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) mark#(from(X)) -> active#(from(mark(X))) -> active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(from(X)) -> active#(from(mark(X))) -> active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(from(X)) -> active#(from(mark(X))) -> active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) mark#(from(X)) -> active#(from(mark(X))) -> active#(take(s(N),cons(X,XS))) -> take#(N,XS) mark#(from(X)) -> active#(from(mark(X))) -> active#(take(0(),XS)) -> mark#(nil()) mark#(from(X)) -> active#(from(mark(X))) -> active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(from(X)) -> active#(from(mark(X))) -> active#(2nd(cons(X,XS))) -> head#(XS) mark#(from(X)) -> active#(from(mark(X))) -> active#(head(cons(X,XS))) -> mark#(X) mark#(from(X)) -> active#(from(mark(X))) -> active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(from(X)) -> active#(from(mark(X))) -> active#(from(X)) -> cons#(X,from(s(X))) mark#(from(X)) -> active#(from(mark(X))) -> active#(from(X)) -> from#(s(X)) mark#(from(X)) -> active#(from(mark(X))) -> active#(from(X)) -> s#(X) cons#(mark(X1),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) cons#(mark(X1),X2) -> cons#(X1,X2) -> cons#(X1,mark(X2)) -> cons#(X1,X2) cons#(mark(X1),X2) -> cons#(X1,X2) -> cons#(mark(X1),X2) -> cons#(X1,X2) cons#(active(X1),X2) -> cons#(X1,X2) -> cons#(X1,active(X2)) -> cons#(X1,X2) cons#(active(X1),X2) -> cons#(X1,X2) -> cons#(active(X1),X2) -> cons#(X1,X2) cons#(active(X1),X2) -> cons#(X1,X2) -> cons#(X1,mark(X2)) -> cons#(X1,X2) cons#(active(X1),X2) -> cons#(X1,X2) -> cons#(mark(X1),X2) -> cons#(X1,X2) cons#(X1,mark(X2)) -> cons#(X1,X2) -> cons#(X1,active(X2)) -> cons#(X1,X2) cons#(X1,mark(X2)) -> cons#(X1,X2) -> cons#(active(X1),X2) -> cons#(X1,X2) cons#(X1,mark(X2)) -> cons#(X1,X2) -> cons#(X1,mark(X2)) -> cons#(X1,X2) cons#(X1,mark(X2)) -> cons#(X1,X2) -> cons#(mark(X1),X2) -> cons#(X1,X2) cons#(X1,active(X2)) -> cons#(X1,X2) -> cons#(X1,active(X2)) -> cons#(X1,X2) cons#(X1,active(X2)) -> cons#(X1,X2) -> cons#(active(X1),X2) -> cons#(X1,X2) cons#(X1,active(X2)) -> cons#(X1,X2) -> cons#(X1,mark(X2)) -> cons#(X1,X2) cons#(X1,active(X2)) -> cons#(X1,X2) -> cons#(mark(X1),X2) -> cons#(X1,X2) from#(mark(X)) -> from#(X) -> from#(active(X)) -> from#(X) from#(mark(X)) -> from#(X) -> from#(mark(X)) -> from#(X) from#(active(X)) -> from#(X) -> from#(active(X)) -> from#(X) from#(active(X)) -> from#(X) -> from#(mark(X)) -> from#(X) s#(mark(X)) -> s#(X) -> s#(active(X)) -> s#(X) s#(mark(X)) -> s#(X) -> s#(mark(X)) -> s#(X) s#(active(X)) -> s#(X) -> s#(active(X)) -> s#(X) s#(active(X)) -> s#(X) -> s#(mark(X)) -> s#(X) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X1) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X2) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(nil()) -> active#(nil()) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(0()) -> active#(0()) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X1) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X2) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(2nd(X)) -> active#(2nd(mark(X))) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(2nd(X)) -> 2nd#(mark(X)) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(head(X)) -> active#(head(mark(X))) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(head(X)) -> head#(mark(X)) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(head(X)) -> mark#(X) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X))) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(s(X)) -> s#(mark(X)) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(s(X)) -> mark#(X) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(from(X)) -> active#(from(mark(X))) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(from(X)) -> from#(mark(X)) active#(sel(0(),cons(X,XS))) -> mark#(X) -> mark#(from(X)) -> mark#(X) active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) -> sel#(X1,active(X2)) -> sel#(X1,X2) active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) -> sel#(active(X1),X2) -> sel#(X1,X2) active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) -> sel#(X1,mark(X2)) -> sel#(X1,X2) active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) -> sel#(mark(X1),X2) -> sel#(X1,X2) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(sel(X1,X2)) -> mark#(X1) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(sel(X1,X2)) -> mark#(X2) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(nil()) -> active#(nil()) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(0()) -> active#(0()) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(take(X1,X2)) -> mark#(X1) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(take(X1,X2)) -> mark#(X2) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(2nd(X)) -> active#(2nd(mark(X))) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(2nd(X)) -> 2nd#(mark(X)) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(2nd(X)) -> mark#(X) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(head(X)) -> active#(head(mark(X))) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(head(X)) -> head#(mark(X)) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(head(X)) -> mark#(X) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(s(X)) -> active#(s(mark(X))) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(s(X)) -> s#(mark(X)) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(s(X)) -> mark#(X) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(cons(X1,X2)) -> mark#(X1) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(from(X)) -> active#(from(mark(X))) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(from(X)) -> from#(mark(X)) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) -> mark#(from(X)) -> mark#(X) active#(take(0(),XS)) -> mark#(nil()) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) active#(take(0(),XS)) -> mark#(nil()) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) active#(take(0(),XS)) -> mark#(nil()) -> mark#(sel(X1,X2)) -> mark#(X1) active#(take(0(),XS)) -> mark#(nil()) -> mark#(sel(X1,X2)) -> mark#(X2) active#(take(0(),XS)) -> mark#(nil()) -> mark#(nil()) -> active#(nil()) active#(take(0(),XS)) -> mark#(nil()) -> mark#(0()) -> active#(0()) active#(take(0(),XS)) -> mark#(nil()) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) active#(take(0(),XS)) -> mark#(nil()) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) active#(take(0(),XS)) -> mark#(nil()) -> mark#(take(X1,X2)) -> mark#(X1) active#(take(0(),XS)) -> mark#(nil()) -> mark#(take(X1,X2)) -> mark#(X2) active#(take(0(),XS)) -> mark#(nil()) -> mark#(2nd(X)) -> active#(2nd(mark(X))) active#(take(0(),XS)) -> mark#(nil()) -> mark#(2nd(X)) -> 2nd#(mark(X)) active#(take(0(),XS)) -> mark#(nil()) -> mark#(2nd(X)) -> mark#(X) active#(take(0(),XS)) -> mark#(nil()) -> mark#(head(X)) -> active#(head(mark(X))) active#(take(0(),XS)) -> mark#(nil()) -> mark#(head(X)) -> head#(mark(X)) active#(take(0(),XS)) -> mark#(nil()) -> mark#(head(X)) -> mark#(X) active#(take(0(),XS)) -> mark#(nil()) -> mark#(s(X)) -> active#(s(mark(X))) active#(take(0(),XS)) -> mark#(nil()) -> mark#(s(X)) -> s#(mark(X)) active#(take(0(),XS)) -> mark#(nil()) -> mark#(s(X)) -> mark#(X) active#(take(0(),XS)) -> mark#(nil()) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) active#(take(0(),XS)) -> mark#(nil()) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) active#(take(0(),XS)) -> mark#(nil()) -> mark#(cons(X1,X2)) -> mark#(X1) active#(take(0(),XS)) -> mark#(nil()) -> mark#(from(X)) -> active#(from(mark(X))) active#(take(0(),XS)) -> mark#(nil()) -> mark#(from(X)) -> from#(mark(X)) active#(take(0(),XS)) -> mark#(nil()) -> mark#(from(X)) -> mark#(X) active#(take(s(N),cons(X,XS))) -> take#(N,XS) -> take#(X1,active(X2)) -> take#(X1,X2) active#(take(s(N),cons(X,XS))) -> take#(N,XS) -> take#(active(X1),X2) -> take#(X1,X2) active#(take(s(N),cons(X,XS))) -> take#(N,XS) -> take#(X1,mark(X2)) -> take#(X1,X2) active#(take(s(N),cons(X,XS))) -> take#(N,XS) -> take#(mark(X1),X2) -> take#(X1,X2) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(sel(X1,X2)) -> mark#(X1) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(sel(X1,X2)) -> mark#(X2) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(nil()) -> active#(nil()) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(0()) -> active#(0()) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(take(X1,X2)) -> mark#(X1) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(take(X1,X2)) -> mark#(X2) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(2nd(X)) -> active#(2nd(mark(X))) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(2nd(X)) -> 2nd#(mark(X)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(2nd(X)) -> mark#(X) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(head(X)) -> active#(head(mark(X))) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(head(X)) -> head#(mark(X)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(head(X)) -> mark#(X) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(s(X)) -> active#(s(mark(X))) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(s(X)) -> s#(mark(X)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(s(X)) -> mark#(X) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(cons(X1,X2)) -> mark#(X1) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(from(X)) -> active#(from(mark(X))) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(from(X)) -> from#(mark(X)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) -> mark#(from(X)) -> mark#(X) active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) -> cons#(X1,active(X2)) -> cons#(X1,X2) active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) -> cons#(active(X1),X2) -> cons#(X1,X2) active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) -> cons#(X1,mark(X2)) -> cons#(X1,X2) active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) -> cons#(mark(X1),X2) -> cons#(X1,X2) active#(2nd(cons(X,XS))) -> head#(XS) -> head#(active(X)) -> head#(X) active#(2nd(cons(X,XS))) -> head#(XS) -> head#(mark(X)) -> head#(X) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(sel(X1,X2)) -> mark#(X1) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(sel(X1,X2)) -> mark#(X2) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(nil()) -> active#(nil()) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(0()) -> active#(0()) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(take(X1,X2)) -> mark#(X1) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(take(X1,X2)) -> mark#(X2) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(2nd(X)) -> active#(2nd(mark(X))) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(2nd(X)) -> 2nd#(mark(X)) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(2nd(X)) -> mark#(X) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(head(X)) -> active#(head(mark(X))) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(head(X)) -> head#(mark(X)) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(head(X)) -> mark#(X) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(s(X)) -> active#(s(mark(X))) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(s(X)) -> s#(mark(X)) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(s(X)) -> mark#(X) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(cons(X1,X2)) -> mark#(X1) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(from(X)) -> active#(from(mark(X))) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(from(X)) -> from#(mark(X)) active#(2nd(cons(X,XS))) -> mark#(head(XS)) -> mark#(from(X)) -> mark#(X) active#(head(cons(X,XS))) -> mark#(X) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) active#(head(cons(X,XS))) -> mark#(X) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) active#(head(cons(X,XS))) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X1) active#(head(cons(X,XS))) -> mark#(X) -> mark#(sel(X1,X2)) -> mark#(X2) active#(head(cons(X,XS))) -> mark#(X) -> mark#(nil()) -> active#(nil()) active#(head(cons(X,XS))) -> mark#(X) -> mark#(0()) -> active#(0()) active#(head(cons(X,XS))) -> mark#(X) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) active#(head(cons(X,XS))) -> mark#(X) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) active#(head(cons(X,XS))) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X1) active#(head(cons(X,XS))) -> mark#(X) -> mark#(take(X1,X2)) -> mark#(X2) active#(head(cons(X,XS))) -> mark#(X) -> mark#(2nd(X)) -> active#(2nd(mark(X))) active#(head(cons(X,XS))) -> mark#(X) -> mark#(2nd(X)) -> 2nd#(mark(X)) active#(head(cons(X,XS))) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) active#(head(cons(X,XS))) -> mark#(X) -> mark#(head(X)) -> active#(head(mark(X))) active#(head(cons(X,XS))) -> mark#(X) -> mark#(head(X)) -> head#(mark(X)) active#(head(cons(X,XS))) -> mark#(X) -> mark#(head(X)) -> mark#(X) active#(head(cons(X,XS))) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X))) active#(head(cons(X,XS))) -> mark#(X) -> mark#(s(X)) -> s#(mark(X)) active#(head(cons(X,XS))) -> mark#(X) -> mark#(s(X)) -> mark#(X) active#(head(cons(X,XS))) -> mark#(X) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) active#(head(cons(X,XS))) -> mark#(X) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) active#(head(cons(X,XS))) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) active#(head(cons(X,XS))) -> mark#(X) -> mark#(from(X)) -> active#(from(mark(X))) active#(head(cons(X,XS))) -> mark#(X) -> mark#(from(X)) -> from#(mark(X)) active#(head(cons(X,XS))) -> mark#(X) -> mark#(from(X)) -> mark#(X) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(sel(X1,X2)) -> mark#(X1) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(sel(X1,X2)) -> mark#(X2) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(nil()) -> active#(nil()) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(0()) -> active#(0()) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(take(X1,X2)) -> mark#(X1) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(take(X1,X2)) -> mark#(X2) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(2nd(X)) -> active#(2nd(mark(X))) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(2nd(X)) -> 2nd#(mark(X)) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(2nd(X)) -> mark#(X) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(head(X)) -> active#(head(mark(X))) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(head(X)) -> head#(mark(X)) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(head(X)) -> mark#(X) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(s(X)) -> active#(s(mark(X))) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(s(X)) -> s#(mark(X)) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(s(X)) -> mark#(X) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(cons(X1,X2)) -> cons#(mark(X1),X2) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(cons(X1,X2)) -> mark#(X1) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(from(X)) -> active#(from(mark(X))) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(from(X)) -> from#(mark(X)) active#(from(X)) -> mark#(cons(X,from(s(X)))) -> mark#(from(X)) -> mark#(X) active#(from(X)) -> cons#(X,from(s(X))) -> cons#(X1,active(X2)) -> cons#(X1,X2) active#(from(X)) -> cons#(X,from(s(X))) -> cons#(active(X1),X2) -> cons#(X1,X2) active#(from(X)) -> cons#(X,from(s(X))) -> cons#(X1,mark(X2)) -> cons#(X1,X2) active#(from(X)) -> cons#(X,from(s(X))) -> cons#(mark(X1),X2) -> cons#(X1,X2) active#(from(X)) -> from#(s(X)) -> from#(active(X)) -> from#(X) active#(from(X)) -> from#(s(X)) -> from#(mark(X)) -> from#(X) active#(from(X)) -> s#(X) -> s#(active(X)) -> s#(X) active#(from(X)) -> s#(X) -> s#(mark(X)) -> s#(X) Restore Modifier: DPs: active#(from(X)) -> s#(X) active#(from(X)) -> from#(s(X)) active#(from(X)) -> cons#(X,from(s(X))) active#(from(X)) -> mark#(cons(X,from(s(X)))) active#(head(cons(X,XS))) -> mark#(X) active#(2nd(cons(X,XS))) -> head#(XS) active#(2nd(cons(X,XS))) -> mark#(head(XS)) active#(take(0(),XS)) -> mark#(nil()) active#(take(s(N),cons(X,XS))) -> take#(N,XS) active#(take(s(N),cons(X,XS))) -> cons#(X,take(N,XS)) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) active#(sel(0(),cons(X,XS))) -> mark#(X) active#(sel(s(N),cons(X,XS))) -> sel#(N,XS) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(from(X)) -> mark#(X) mark#(from(X)) -> from#(mark(X)) mark#(from(X)) -> active#(from(mark(X))) mark#(cons(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> cons#(mark(X1),X2) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) mark#(s(X)) -> mark#(X) mark#(s(X)) -> s#(mark(X)) mark#(s(X)) -> active#(s(mark(X))) mark#(head(X)) -> mark#(X) mark#(head(X)) -> head#(mark(X)) mark#(head(X)) -> active#(head(mark(X))) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> 2nd#(mark(X)) mark#(2nd(X)) -> active#(2nd(mark(X))) mark#(take(X1,X2)) -> mark#(X2) mark#(take(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> take#(mark(X1),mark(X2)) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) mark#(0()) -> active#(0()) mark#(nil()) -> active#(nil()) mark#(sel(X1,X2)) -> mark#(X2) mark#(sel(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> sel#(mark(X1),mark(X2)) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) from#(mark(X)) -> from#(X) from#(active(X)) -> from#(X) cons#(mark(X1),X2) -> cons#(X1,X2) cons#(X1,mark(X2)) -> cons#(X1,X2) cons#(active(X1),X2) -> cons#(X1,X2) cons#(X1,active(X2)) -> cons#(X1,X2) s#(mark(X)) -> s#(X) s#(active(X)) -> s#(X) head#(mark(X)) -> head#(X) head#(active(X)) -> head#(X) 2nd#(mark(X)) -> 2nd#(X) 2nd#(active(X)) -> 2nd#(X) take#(mark(X1),X2) -> take#(X1,X2) take#(X1,mark(X2)) -> take#(X1,X2) take#(active(X1),X2) -> take#(X1,X2) take#(X1,active(X2)) -> take#(X1,X2) sel#(mark(X1),X2) -> sel#(X1,X2) sel#(X1,mark(X2)) -> sel#(X1,X2) sel#(active(X1),X2) -> sel#(X1,X2) sel#(X1,active(X2)) -> sel#(X1,X2) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) SCC Processor: #sccs: 8 #rules: 45 #arcs: 632/3481 DPs: mark#(sel(X1,X2)) -> mark#(X2) mark#(from(X)) -> mark#(X) mark#(from(X)) -> active#(from(mark(X))) active#(from(X)) -> mark#(cons(X,from(s(X)))) mark#(cons(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> active#(cons(mark(X1),X2)) active#(head(cons(X,XS))) -> mark#(X) mark#(s(X)) -> mark#(X) mark#(s(X)) -> active#(s(mark(X))) active#(2nd(cons(X,XS))) -> mark#(head(XS)) mark#(head(X)) -> mark#(X) mark#(head(X)) -> active#(head(mark(X))) active#(take(0(),XS)) -> mark#(nil()) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> active#(2nd(mark(X))) active#(take(s(N),cons(X,XS))) -> mark#(cons(X,take(N,XS))) mark#(take(X1,X2)) -> mark#(X2) mark#(take(X1,X2)) -> mark#(X1) mark#(take(X1,X2)) -> active#(take(mark(X1),mark(X2))) active#(sel(0(),cons(X,XS))) -> mark#(X) mark#(0()) -> active#(0()) active#(sel(s(N),cons(X,XS))) -> mark#(sel(N,XS)) mark#(nil()) -> active#(nil()) mark#(sel(X1,X2)) -> mark#(X1) mark#(sel(X1,X2)) -> active#(sel(mark(X1),mark(X2))) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Open DPs: cons#(mark(X1),X2) -> cons#(X1,X2) cons#(X1,mark(X2)) -> cons#(X1,X2) cons#(active(X1),X2) -> cons#(X1,X2) cons#(X1,active(X2)) -> cons#(X1,X2) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Open DPs: s#(mark(X)) -> s#(X) s#(active(X)) -> s#(X) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Open DPs: from#(mark(X)) -> from#(X) from#(active(X)) -> from#(X) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Open DPs: head#(mark(X)) -> head#(X) head#(active(X)) -> head#(X) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Open DPs: take#(mark(X1),X2) -> take#(X1,X2) take#(X1,mark(X2)) -> take#(X1,X2) take#(active(X1),X2) -> take#(X1,X2) take#(X1,active(X2)) -> take#(X1,X2) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Open DPs: sel#(mark(X1),X2) -> sel#(X1,X2) sel#(X1,mark(X2)) -> sel#(X1,X2) sel#(active(X1),X2) -> sel#(X1,X2) sel#(X1,active(X2)) -> sel#(X1,X2) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Open DPs: 2nd#(mark(X)) -> 2nd#(X) 2nd#(active(X)) -> 2nd#(X) TRS: 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(0(),XS)) -> mark(nil()) active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS))) active(sel(0(),cons(X,XS))) -> mark(X) active(sel(s(N),cons(X,XS))) -> mark(sel(N,XS)) mark(from(X)) -> active(from(mark(X))) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(head(X)) -> active(head(mark(X))) mark(2nd(X)) -> active(2nd(mark(X))) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(0()) -> active(0()) mark(nil()) -> active(nil()) mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) from(mark(X)) -> from(X) from(active(X)) -> from(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) head(mark(X)) -> head(X) head(active(X)) -> head(X) 2nd(mark(X)) -> 2nd(X) 2nd(active(X)) -> 2nd(X) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) sel(mark(X1),X2) -> sel(X1,X2) sel(X1,mark(X2)) -> sel(X1,X2) sel(active(X1),X2) -> sel(X1,X2) sel(X1,active(X2)) -> sel(X1,X2) Open