We consider universal computability of the STRS with no additional rule schemes: Signature: compose :: (a -> a) -> (a -> a) -> a -> a cons :: a -> a -> a hd :: a -> a init :: a -> a last :: a -> a nil :: a reverse :: a -> a reverse2 :: a -> a -> a tl :: a -> a Rules: compose(F, Z, U) -> Z(F(U)) reverse(V) -> reverse2(V, nil) reverse2(nil, W) -> W reverse2(cons(X1, Y1), P) -> reverse2(Y1, cons(X1, P)) hd(cons(U1, V1)) -> U1 tl(cons(W1, P1)) -> P1 last -> compose(hd, reverse) init -> compose(reverse, compose(tl, reverse)) 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_?, i, c), where: P1. (1) reverse#(V) => reverse2#(V, nil) (2) reverse2#(cons(X1, Y1), P) => reverse2#(Y1, cons(X1, P)) (3) last#(arg1) => hd#(fresh1) (4) last#(arg1) => reverse#(fresh1) (5) last#(arg1) => compose#(hd, reverse, arg1) (6) init#(arg1) => reverse#(fresh1) (7) init#(arg1) => tl#(fresh1) (8) init#(arg1) => reverse#(fresh1) (9) init#(arg1) => compose#(tl, reverse, fresh1) (10) init#(arg1) => compose#(reverse, compose(tl, reverse), arg1) ***** We apply the Graph Processor on D1 = (P1, R UNION R_?, i, c). We compute a graph approximation with the following edges: 1: 2 2: 2 3: 4: 1 5: 6: 1 7: 8: 1 9: 10: There is only one SCC, so all DPs not inside the SCC can be removed. Processor output: { D2 = (P2, R UNION R_?, i, c) }, where: P2. (1) reverse2#(cons(X1, Y1), P) => reverse2#(Y1, cons(X1, P)) ***** We apply the Subterm Criterion Processor on D2 = (P2, R UNION R_?, i, c). We use the following projection function: nu(reverse2#) = 1 We thus have: (1) cons(X1, Y1) |>| Y1 All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }.