We consider universal computability of the STRS with no additional rule schemes: Signature: app :: list -> list -> list cons :: nat -> list -> list hshuffle :: (nat -> nat) -> list -> list nil :: list reverse :: list -> list Rules: app(nil, X) -> X app(cons(Y, U), V) -> cons(Y, app(U, V)) reverse(nil) -> nil reverse(cons(W, P)) -> app(reverse(P), cons(W, nil)) hshuffle(F1, nil) -> nil hshuffle(Z1, cons(U1, V1)) -> cons(Z1(U1), hshuffle(Z1, reverse(V1))) 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) app#(cons(Y, U), V) => app#(U, V) (2) reverse#(cons(W, P)) => reverse#(P) (3) reverse#(cons(W, P)) => app#(reverse(P), cons(W, nil)) (4) hshuffle#(Z1, cons(U1, V1)) => reverse#(V1) (5) hshuffle#(Z1, cons(U1, V1)) => hshuffle#(Z1, reverse(V1)) ***** 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: 2 3 3: 1 4: 2 3 5: 4 5 There are 3 SCCs. Processor output: { D2 = (P2, R UNION R_?, f, c) ; D3 = (P3, R UNION R_?, f, c) ; D4 = (P4, R UNION R_?, f, c) }, where: P2. (1) app#(cons(Y, U), V) => app#(U, V) P3. (1) reverse#(cons(W, P)) => reverse#(P) P4. (1) hshuffle#(Z1, cons(U1, V1)) => hshuffle#(Z1, reverse(V1)) ***** We apply the Subterm Criterion Processor on D2 = (P2, R UNION R_?, f, c). We use the following projection function: nu(app#) = 1 We thus have: (1) cons(Y, U) |>| U All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }. ***** We apply the Subterm Criterion Processor on D3 = (P3, R UNION R_?, f, c). We use the following projection function: nu(reverse#) = 1 We thus have: (1) cons(W, P) |>| P 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 D4 = (P4, R UNION R_?, f, c).