We consider universal computability of the STRS with no additional rule schemes: Signature: append :: list -> list -> list cons :: nat -> list -> list map :: (nat -> nat) -> list -> list mirror :: list -> list nil :: list reverse :: list -> list shuffle :: list -> list Rules: 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)) The system is accessible function passing by a sort ordering that equates all sorts. We start by computing the initial DP problem D1 = (P1, R UNION R_?, f, c), where: 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 D1 = (P1, R UNION R_?, f, c). We compute a graph approximation with the following edges: 1: 1 2: 3: 2 3 4: 4 5 5: 1 6: 6 There are 4 SCCs. Processor output: { D2 = (P2, R UNION R_?, f, c) ; D3 = (P3, R UNION R_?, f, c) ; D4 = (P4, R UNION R_?, f, c) ; D5 = (P5, R UNION R_?, f, c) }, where: 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 D2 = (P2, R UNION R_?, f, c). 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. Processor output: { }. ***** No progress could be made on DP problem D3 = (P3, R UNION R_?, f, c).