We consider universal computability of the STRS with no additional rule schemes: Signature: 0 :: a cons :: c -> d -> d false :: b filter :: (c -> b) -> d -> d filter2 :: b -> (c -> b) -> c -> d -> d log :: a -> a map :: (c -> c) -> d -> d minus :: a -> a -> a nil :: d quot :: a -> a -> a s :: a -> a true :: b Rules: minus(X, 0) -> X minus(s(Y), s(U)) -> minus(Y, U) quot(0, s(V)) -> 0 quot(s(W), s(P)) -> s(quot(minus(W, P), s(P))) log(s(0)) -> 0 log(s(s(X1))) -> s(log(s(quot(X1, s(s(0)))))) map(Z1, nil) -> nil map(G1, cons(V1, W1)) -> cons(G1(V1), map(G1, W1)) filter(J1, nil) -> nil filter(F2, cons(Y2, U2)) -> filter2(F2(Y2), F2, Y2, U2) filter2(true, H2, W2, P2) -> cons(W2, filter(H2, P2)) filter2(false, F3, Y3, U3) -> filter(F3, U3) 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) minus#(s(Y), s(U)) => minus#(Y, U) (2) quot#(s(W), s(P)) => minus#(W, P) (3) quot#(s(W), s(P)) => quot#(minus(W, P), s(P)) (4) log#(s(s(X1))) => quot#(X1, s(s(0))) (5) log#(s(s(X1))) => log#(s(quot(X1, s(s(0))))) (6) map#(G1, cons(V1, W1)) => map#(G1, W1) (7) filter#(F2, cons(Y2, U2)) => filter2#(F2(Y2), F2, Y2, U2) (8) filter2#(true, H2, W2, P2) => filter#(H2, P2) (9) filter2#(false, F3, Y3, U3) => filter#(F3, U3) ***** 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: 1 3: 2 3 4: 2 3 5: 4 5 6: 6 7: 8 9 8: 7 9: 7 There are 5 SCCs. Processor output: { D2 = (P2, R UNION R_?, i, c) ; D3 = (P3, R UNION R_?, i, c) ; D4 = (P4, R UNION R_?, i, c) ; D5 = (P5, R UNION R_?, i, c) ; D6 = (P6, R UNION R_?, i, c) }, where: P2. (1) minus#(s(Y), s(U)) => minus#(Y, U) P3. (1) quot#(s(W), s(P)) => quot#(minus(W, P), s(P)) P4. (1) log#(s(s(X1))) => log#(s(quot(X1, s(s(0))))) P5. (1) map#(G1, cons(V1, W1)) => map#(G1, W1) P6. (1) filter#(F2, cons(Y2, U2)) => filter2#(F2(Y2), F2, Y2, U2) (2) filter2#(true, H2, W2, P2) => filter#(H2, P2) (3) filter2#(false, F3, Y3, U3) => filter#(F3, U3) ***** We apply the Subterm Criterion Processor on D2 = (P2, R UNION R_?, i, c). We use the following projection function: nu(minus#) = 1 We thus have: (1) s(Y) |>| Y All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }. ***** We apply the Usable Rules Processor on D3 = (P3, R UNION R_?, i, c). We obtain 2 usable rules (out of 12 rules in the input problem). Processor output: { D7 = (P3, R2, i, c) }, where: R2. (1) minus(X, 0) -> X (2) minus(s(Y), s(U)) -> minus(Y, U) ***** We apply the Usable Rules Processor on D4 = (P4, R UNION R_?, i, c). We obtain 4 usable rules (out of 12 rules in the input problem). Processor output: { D8 = (P4, R3, i, c) }, where: R3. (1) minus(X, 0) -> X (2) minus(s(Y), s(U)) -> minus(Y, U) (3) quot(0, s(V)) -> 0 (4) quot(s(W), s(P)) -> s(quot(minus(W, P), s(P))) ***** We apply the Subterm Criterion Processor on D5 = (P5, R UNION R_?, i, c). We use the following projection function: nu(map#) = 2 We thus have: (1) cons(V1, W1) |>| W1 All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }. ***** We apply the Subterm Criterion Processor on D6 = (P6, R UNION R_?, i, c). We use the following projection function: nu(filter#) = 2 nu(filter2#) = 4 We thus have: (1) cons(Y2, U2) |>| U2 (2) P2 |>=| P2 (3) U3 |>=| U3 We may remove the strictly oriented DPs. Processor output: { D9 = (P7, R UNION R_?, i, c) }, where: P7. (1) filter2#(true, H2, W2, P2) => filter#(H2, P2) (2) filter2#(false, F3, Y3, U3) => filter#(F3, U3) ***** We apply the Reduction Pair [with HORPO] Processor on D7 = (P3, R2, i, c). Constrained HORPO yields: quot#(s(W), s(P)) (>) quot#(minus(W, P), s(P)) minus(X, 0) (>=) X minus(s(Y), s(U)) (>=) minus(Y, U) We do this using the following settings: * Disregarded arguments: minus 2 quot# 2 * Precedence and permutation: s { 1 } > 0 { } = minus { } 1 = quot# { } 1 * Well-founded theory orderings: [>]_{Bool} = {(true,false)} [>]_{Int} = {(x,y) | x < 1000 /\ x < y } All dependency pairs were removed. Processor output: { }. ***** No progress could be made on DP problem D8 = (P4, R3, i, c).