We consider universal computability of the STRS with no additional rule schemes: Signature: 0 :: nat bool :: nat -> boolean cons :: nat -> list -> list consif :: boolean -> nat -> list -> list false :: boolean filter :: (nat -> boolean) -> list -> list nil :: list rand :: nat -> nat s :: nat -> nat true :: boolean Rules: rand(X) -> X rand(s(X)) -> rand(X) bool(0) -> false bool(s(0)) -> true filter(F, nil) -> nil filter(F, cons(H, T)) -> consif(F(H), H, filter(F, T)) consif(true, H, T) -> cons(H, T) consif(false, H, T) -> T 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) rand#(s(X)) => rand#(X) (2) filter#(F, cons(H, T)) => filter#(F, T) (3) filter#(F, cons(H, T)) => consif#(F(H), H, filter(F, T)) ***** We apply the Graph Processor on D1 = (P1, R UNION R_?, i, c). We compute a graph approximation with the following edges: 1: 1 2: 2 3 3: There are 2 SCCs. Processor output: { D2 = (P2, R UNION R_?, i, c) ; D3 = (P3, R UNION R_?, i, c) }, where: P2. (1) rand#(s(X)) => rand#(X) P3. (1) filter#(F, cons(H, T)) => filter#(F, T) ***** We apply the Subterm Criterion Processor on D2 = (P2, R UNION R_?, i, c). We use the following projection function: nu(rand#) = 1 We thus have: (1) s(X) |>| X 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_?, i, c). We use the following projection function: nu(filter#) = 2 We thus have: (1) cons(H, T) |>| T All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }.