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) Matrix Interpretation Processor: dim=2 interpretation: [a__from#](x0) = [2 0]x0 + [3], [mark#](x0) = [2 0]x0, [a__2nd#](x0) = [2 2]x0, [2 2] [1] [2nd](x0) = [1 1]x0 + [0], [1 1] [2] [from](x0) = [2 0]x0 + [3], [2 0] [1] [s](x0) = [0 0]x0 + [0], [1 1] [2] [a__from](x0) = [2 0]x0 + [3], [mark](x0) = x0, [2 2] [1] [a__2nd](x0) = [1 1]x0 + [0], [1 0] [1] [cons1](x0, x1) = x0 + [0 0]x1 + [0], [1 1] [0 0] [2] [cons](x0, x1) = [0 0]x0 + [1 0]x1 + [0] orientation: a__2nd#(cons1(X,cons(Y,Z))) = [2 2]X + [2 2]Y + [6] >= [2 0]Y = mark#(Y) a__2nd#(cons(X,X1)) = [2 2]X + [2 0]X1 + [4] >= [2 0]X1 = mark#(X1) a__2nd#(cons(X,X1)) = [2 2]X + [2 0]X1 + [4] >= [2 0]X = mark#(X) a__2nd#(cons(X,X1)) = [2 2]X + [2 0]X1 + [4] >= [2 2]X + [2 0]X1 + [2] = a__2nd#(cons1(mark(X),mark(X1))) a__from#(X) = [2 0]X + [3] >= [2 0]X = mark#(X) mark#(2nd(X)) = [4 4]X + [2] >= [2 0]X = mark#(X) mark#(2nd(X)) = [4 4]X + [2] >= [2 2]X = a__2nd#(mark(X)) mark#(from(X)) = [2 2]X + [4] >= [2 0]X = mark#(X) mark#(from(X)) = [2 2]X + [4] >= [2 0]X + [3] = a__from#(mark(X)) mark#(cons(X1,X2)) = [2 2]X1 + [4] >= [2 0]X1 = mark#(X1) mark#(s(X)) = [4 0]X + [2] >= [2 0]X = mark#(X) mark#(cons1(X1,X2)) = [2 0]X1 + [2 0]X2 + [2] >= [2 0]X2 = mark#(X2) mark#(cons1(X1,X2)) = [2 0]X1 + [2 0]X2 + [2] >= [2 0]X1 = mark#(X1) [2 2] [2 2] [7] a__2nd(cons1(X,cons(Y,Z))) = [1 1]X + [1 1]Y + [3] >= Y = mark(Y) [2 2] [2 0] [5] [2 2] [2 0] [3] a__2nd(cons(X,X1)) = [1 1]X + [1 0]X1 + [2] >= [1 1]X + [1 0]X1 + [1] = a__2nd(cons1(mark(X),mark(X1))) [1 1] [2] [1 1] [2] a__from(X) = [2 0]X + [3] >= [2 0]X + [3] = cons(mark(X),from(s(X))) [2 2] [1] [2 2] [1] mark(2nd(X)) = [1 1]X + [0] >= [1 1]X + [0] = a__2nd(mark(X)) [1 1] [2] [1 1] [2] mark(from(X)) = [2 0]X + [3] >= [2 0]X + [3] = a__from(mark(X)) [1 1] [0 0] [2] [1 1] [0 0] [2] mark(cons(X1,X2)) = [0 0]X1 + [1 0]X2 + [0] >= [0 0]X1 + [1 0]X2 + [0] = cons(mark(X1),X2) [2 0] [1] [2 0] [1] mark(s(X)) = [0 0]X + [0] >= [0 0]X + [0] = s(mark(X)) [1 0] [1] [1 0] [1] mark(cons1(X1,X2)) = X1 + [0 0]X2 + [0] >= X1 + [0 0]X2 + [0] = cons1(mark(X1),mark(X2)) [2 2] [1] [2 2] [1] a__2nd(X) = [1 1]X + [0] >= [1 1]X + [0] = 2nd(X) [1 1] [2] [1 1] [2] a__from(X) = [2 0]X + [3] >= [2 0]X + [3] = from(X) problem: 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) Qed