The system is accessible function passing by a sort ordering that equates all sorts. We start by computing the following initial DP problem: P1. (1) append#(cons(X, Y), U) => append#(Y, U) (2) shuffle#(cons(X, Y)) => reverse#(Y) (3) shuffle#(cons(X, Y)) => shuffle#(reverse(Y)) (4) mirror#(cons(X, Y)) => mirror#(Y) (5) mirror#(cons(X, Y)) => append#(cons(X, mirror(Y)), cons(X, nil)) (6) map#(H, cons(X, Y)) => map#(H, Y) ***** We apply the Graph Processor on P1. Considering the 4 SCCs, this DP problem is split into the following new problems. P2. (1) append#(cons(X, Y), U) => append#(Y, U) P3. (1) shuffle#(cons(X, Y)) => shuffle#(reverse(Y)) P4. (1) mirror#(cons(X, Y)) => mirror#(Y) P5. (1) map#(H, cons(X, Y)) => map#(H, Y) ***** We apply the Subterm Criterion Processor on P2. We use the following projection function: nu(append#) = 1 We thus have: (1) cons(X, Y) |>| Y All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. ***** We apply the horpo Processor on P3. Constrained HORPO yields: shuffle#(cons(X, Y)) (>) shuffle#(reverse(Y)) append(nil, U) (>=) U append(cons(X, Y), U) (>=) cons(X, append(Y, U)) reverse(nil) (>=) nil shuffle(nil) (>=) nil shuffle(cons(X, Y)) (>=) cons(X, shuffle(reverse(Y))) mirror(nil) (>=) nil mirror(cons(X, Y)) (>=) append(cons(X, mirror(Y)), cons(X, nil)) map(H, nil) (>=) nil map(H, cons(X, Y)) (>=) cons(H(X), map(H, Y)) We do this using the following settings: * Precedence and status (for non-mentioned symbols the precedence is irrelevant and the status is Lex): cons (status: Lex) > reverse = shuffle (status: Lex) > map (status: Lex) > nil (status: Lex) > shuffle# (status: Lex) > mirror (status: Lex) > append (status: Mul_2) * Well-founded theory orderings: [>]_{Bool} = {(true,false)} [>]_{Int} = {(x,y) | x < 1000 /\ x < y } * Filter: cons disregards argument(s) 1 2 map disregards argument(s) 1 reverse disregards argument(s) 1 All dependency pairs were removed. ***** We apply the Subterm Criterion Processor on P4. We use the following projection function: nu(mirror#) = 1 We thus have: (1) cons(X, Y) |>| Y All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. ***** We apply the Subterm Criterion Processor on P5. We use the following projection function: nu(map#) = 2 We thus have: (1) cons(X, Y) |>| Y All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite.