YES Problem: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) Proof: DP Processor: DPs: a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) a__2nd#(cons(X,X1)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) a__from#(X) -> mark#(X) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(from(X)) -> mark#(X) mark#(from(X)) -> a__from#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) TDG Processor: DPs: a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) a__2nd#(cons(X,X1)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) a__from#(X) -> mark#(X) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(from(X)) -> mark#(X) mark#(from(X)) -> a__from#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) graph: a__from#(X) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) a__from#(X) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) a__from#(X) -> mark#(X) -> mark#(s(X)) -> mark#(X) a__from#(X) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) 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#(2nd(X)) -> a__2nd#(mark(X)) a__from#(X) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(2nd(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(2nd(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(2nd(X)) -> mark#(X) -> mark#(from(X)) -> a__from#(mark(X)) mark#(2nd(X)) -> mark#(X) -> mark#(from(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(2nd(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> a__2nd#(mark(X)) -> a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) mark#(2nd(X)) -> a__2nd#(mark(X)) -> a__2nd#(cons(X,X1)) -> mark#(X) mark#(2nd(X)) -> a__2nd#(mark(X)) -> a__2nd#(cons(X,X1)) -> mark#(X1) mark#(2nd(X)) -> a__2nd#(mark(X)) -> a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) mark#(from(X)) -> a__from#(mark(X)) -> a__from#(X) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(from(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(from(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) 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#(2nd(X)) -> a__2nd#(mark(X)) mark#(from(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(s(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(s(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) -> mark#(from(X)) -> a__from#(mark(X)) mark#(s(X)) -> mark#(X) -> mark#(from(X)) -> mark#(X) mark#(s(X)) -> mark#(X) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(s(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> a__from#(mark(X)) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> a__from#(mark(X)) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> a__from#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> mark#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(cons1(X1,X2)) -> mark#(X1) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(cons1(X1,X2)) -> mark#(X2) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(s(X)) -> mark#(X) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(cons(X1,X2)) -> mark#(X1) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(from(X)) -> a__from#(mark(X)) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(from(X)) -> mark#(X) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(2nd(X)) -> a__2nd#(mark(X)) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(2nd(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X2) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(from(X)) -> a__from#(mark(X)) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(from(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(2nd(X)) -> a__2nd#(mark(X)) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(s(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(from(X)) -> a__from#(mark(X)) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(from(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(2nd(X)) -> a__2nd#(mark(X)) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) -> a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) -> a__2nd#(cons(X,X1)) -> mark#(X) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) -> a__2nd#(cons(X,X1)) -> mark#(X1) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) -> a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) EDG Processor: DPs: a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) a__2nd#(cons(X,X1)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) a__from#(X) -> mark#(X) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(from(X)) -> mark#(X) mark#(from(X)) -> a__from#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) graph: a__from#(X) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) a__from#(X) -> mark#(X) -> mark#(2nd(X)) -> a__2nd#(mark(X)) a__from#(X) -> mark#(X) -> mark#(from(X)) -> mark#(X) a__from#(X) -> mark#(X) -> mark#(from(X)) -> a__from#(mark(X)) a__from#(X) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) a__from#(X) -> mark#(X) -> mark#(s(X)) -> mark#(X) a__from#(X) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) a__from#(X) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(2nd(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(2nd(X)) -> mark#(X) -> mark#(from(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(from(X)) -> a__from#(mark(X)) mark#(2nd(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(2nd(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(2nd(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(2nd(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(2nd(X)) -> a__2nd#(mark(X)) -> a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) mark#(2nd(X)) -> a__2nd#(mark(X)) -> a__2nd#(cons(X,X1)) -> mark#(X1) mark#(2nd(X)) -> a__2nd#(mark(X)) -> a__2nd#(cons(X,X1)) -> mark#(X) mark#(2nd(X)) -> a__2nd#(mark(X)) -> a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) mark#(from(X)) -> a__from#(mark(X)) -> a__from#(X) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(from(X)) -> mark#(X) -> mark#(from(X)) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(from(X)) -> a__from#(mark(X)) mark#(from(X)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(from(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(from(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(from(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) mark#(s(X)) -> mark#(X) -> mark#(2nd(X)) -> a__2nd#(mark(X)) 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#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X) mark#(s(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(s(X)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(from(X)) -> a__from#(mark(X)) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X2) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(from(X)) -> a__from#(mark(X)) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(2nd(X)) -> a__2nd#(mark(X)) 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#(cons(X1,X2)) -> mark#(X1) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons(X1,X2)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X1) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(2nd(X)) -> mark#(X) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(2nd(X)) -> a__2nd#(mark(X)) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(from(X)) -> mark#(X) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(from(X)) -> a__from#(mark(X)) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(cons(X1,X2)) -> mark#(X1) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(s(X)) -> mark#(X) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(cons1(X1,X2)) -> mark#(X2) a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) -> mark#(cons1(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(2nd(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(2nd(X)) -> a__2nd#(mark(X)) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(from(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(from(X)) -> a__from#(mark(X)) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(cons(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(s(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X2) a__2nd#(cons(X,X1)) -> mark#(X1) -> mark#(cons1(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(2nd(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(2nd(X)) -> a__2nd#(mark(X)) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(from(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(from(X)) -> a__from#(mark(X)) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(cons(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(s(X)) -> mark#(X) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X2) a__2nd#(cons(X,X1)) -> mark#(X) -> mark#(cons1(X1,X2)) -> mark#(X1) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) -> a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) Arctic Interpretation Processor: dimension: 1 usable rules: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) interpretation: [a__from#](x0) = 5x0 + 0, [mark#](x0) = x0 + 0, [a__2nd#](x0) = x0 + 0, [2nd](x0) = x0 + 0, [from](x0) = 5x0 + 1, [s](x0) = x0, [a__from](x0) = 5x0 + 1, [mark](x0) = x0 + -5, [a__2nd](x0) = x0 + 0, [cons1](x0, x1) = x0 + x1 + 0, [cons](x0, x1) = x0 + x1 + 0 orientation: a__2nd#(cons1(X,cons(Y,Z))) = X + Y + Z + 0 >= Y + 0 = mark#(Y) a__2nd#(cons(X,X1)) = X + X1 + 0 >= X1 + 0 = mark#(X1) a__2nd#(cons(X,X1)) = X + X1 + 0 >= X + 0 = mark#(X) a__2nd#(cons(X,X1)) = X + X1 + 0 >= X + X1 + 0 = a__2nd#(cons1(mark(X),mark(X1))) a__from#(X) = 5X + 0 >= X + 0 = mark#(X) mark#(2nd(X)) = X + 0 >= X + 0 = mark#(X) mark#(2nd(X)) = X + 0 >= X + 0 = a__2nd#(mark(X)) mark#(from(X)) = 5X + 1 >= X + 0 = mark#(X) mark#(from(X)) = 5X + 1 >= 5X + 0 = a__from#(mark(X)) mark#(cons(X1,X2)) = X1 + X2 + 0 >= X1 + 0 = mark#(X1) mark#(s(X)) = X + 0 >= X + 0 = mark#(X) mark#(cons1(X1,X2)) = X1 + X2 + 0 >= X2 + 0 = mark#(X2) mark#(cons1(X1,X2)) = X1 + X2 + 0 >= X1 + 0 = mark#(X1) a__2nd(cons1(X,cons(Y,Z))) = X + Y + Z + 0 >= Y + -5 = mark(Y) a__2nd(cons(X,X1)) = X + X1 + 0 >= X + X1 + 0 = a__2nd(cons1(mark(X),mark(X1))) a__from(X) = 5X + 1 >= 5X + 1 = cons(mark(X),from(s(X))) mark(2nd(X)) = X + 0 >= X + 0 = a__2nd(mark(X)) mark(from(X)) = 5X + 1 >= 5X + 1 = a__from(mark(X)) mark(cons(X1,X2)) = X1 + X2 + 0 >= X1 + X2 + 0 = cons(mark(X1),X2) mark(s(X)) = X + -5 >= X + -5 = s(mark(X)) mark(cons1(X1,X2)) = X1 + X2 + 0 >= X1 + X2 + 0 = cons1(mark(X1),mark(X2)) a__2nd(X) = X + 0 >= X + 0 = 2nd(X) a__from(X) = 5X + 1 >= 5X + 1 = from(X) problem: DPs: a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) a__2nd#(cons(X,X1)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) a__from#(X) -> mark#(X) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(from(X)) -> a__from#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) Restore Modifier: DPs: a__2nd#(cons1(X,cons(Y,Z))) -> mark#(Y) a__2nd#(cons(X,X1)) -> mark#(X1) a__2nd#(cons(X,X1)) -> mark#(X) a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) a__from#(X) -> mark#(X) mark#(2nd(X)) -> mark#(X) mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(from(X)) -> a__from#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) Arctic Interpretation Processor: dimension: 1 usable rules: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) interpretation: [a__from#](x0) = 5x0, [mark#](x0) = 1x0, [a__2nd#](x0) = 4x0, [2nd](x0) = 3x0 + -1, [from](x0) = 6x0 + 0, [s](x0) = x0 + -7, [a__from](x0) = 6x0 + 0, [mark](x0) = x0 + -8, [a__2nd](x0) = 3x0 + -1, [cons1](x0, x1) = x0 + x1 + -8, [cons](x0, x1) = x0 + x1 + -8 orientation: a__2nd#(cons1(X,cons(Y,Z))) = 4X + 4Y + 4Z + -4 >= 1Y = mark#(Y) a__2nd#(cons(X,X1)) = 4X + 4X1 + -4 >= 1X1 = mark#(X1) a__2nd#(cons(X,X1)) = 4X + 4X1 + -4 >= 1X = mark#(X) a__2nd#(cons(X,X1)) = 4X + 4X1 + -4 >= 4X + 4X1 + -4 = a__2nd#(cons1(mark(X),mark(X1))) a__from#(X) = 5X >= 1X = mark#(X) mark#(2nd(X)) = 4X + 0 >= 1X = mark#(X) mark#(2nd(X)) = 4X + 0 >= 4X + -4 = a__2nd#(mark(X)) mark#(from(X)) = 7X + 1 >= 5X + -3 = a__from#(mark(X)) mark#(cons(X1,X2)) = 1X1 + 1X2 + -7 >= 1X1 = mark#(X1) mark#(s(X)) = 1X + -6 >= 1X = mark#(X) mark#(cons1(X1,X2)) = 1X1 + 1X2 + -7 >= 1X2 = mark#(X2) mark#(cons1(X1,X2)) = 1X1 + 1X2 + -7 >= 1X1 = mark#(X1) a__2nd(cons1(X,cons(Y,Z))) = 3X + 3Y + 3Z + -1 >= Y + -8 = mark(Y) a__2nd(cons(X,X1)) = 3X + 3X1 + -1 >= 3X + 3X1 + -1 = a__2nd(cons1(mark(X),mark(X1))) a__from(X) = 6X + 0 >= 6X + 0 = cons(mark(X),from(s(X))) mark(2nd(X)) = 3X + -1 >= 3X + -1 = a__2nd(mark(X)) mark(from(X)) = 6X + 0 >= 6X + 0 = a__from(mark(X)) mark(cons(X1,X2)) = X1 + X2 + -8 >= X1 + X2 + -8 = cons(mark(X1),X2) mark(s(X)) = X + -7 >= X + -7 = s(mark(X)) mark(cons1(X1,X2)) = X1 + X2 + -8 >= X1 + X2 + -8 = cons1(mark(X1),mark(X2)) a__2nd(X) = 3X + -1 >= 3X + -1 = 2nd(X) a__from(X) = 6X + 0 >= 6X + 0 = from(X) problem: DPs: a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) Restore Modifier: DPs: a__2nd#(cons(X,X1)) -> a__2nd#(cons1(mark(X),mark(X1))) mark#(2nd(X)) -> a__2nd#(mark(X)) mark#(cons(X1,X2)) -> mark#(X1) mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons1(X1,X2)) -> mark#(X1) TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) SCC Processor: #sccs: 1 #rules: 4 #arcs: 86/36 DPs: mark#(s(X)) -> mark#(X) mark#(cons1(X1,X2)) -> mark#(X1) mark#(cons1(X1,X2)) -> mark#(X2) mark#(cons(X1,X2)) -> mark#(X1) TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) Size-Change Termination Processor: DPs: TRS: a__2nd(cons1(X,cons(Y,Z))) -> mark(Y) a__2nd(cons(X,X1)) -> a__2nd(cons1(mark(X),mark(X1))) a__from(X) -> cons(mark(X),from(s(X))) mark(2nd(X)) -> a__2nd(mark(X)) mark(from(X)) -> a__from(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(cons1(X1,X2)) -> cons1(mark(X1),mark(X2)) a__2nd(X) -> 2nd(X) a__from(X) -> from(X) The DP: mark#(s(X)) -> mark#(X) has the edges: 0 > 0 The DP: mark#(cons1(X1,X2)) -> mark#(X1) has the edges: 0 > 0 The DP: mark#(cons1(X1,X2)) -> mark#(X2) has the edges: 0 > 0 The DP: mark#(cons(X1,X2)) -> mark#(X1) has the edges: 0 > 0 Qed