We consider universal computability of the STRS with no additional rule schemes: Signature: 0 :: a cons :: c -> d -> d f :: a -> a false :: b filter :: (c -> b) -> d -> d filter2 :: b -> (c -> b) -> c -> d -> d g :: a -> a map :: (c -> c) -> d -> d minus :: a -> a -> a nil :: d s :: a -> a true :: b Rules: minus(X, 0) -> X minus(s(Y), s(U)) -> minus(Y, U) f(0) -> s(0) f(s(V)) -> minus(s(V), g(f(V))) g(0) -> 0 g(s(W)) -> minus(s(W), f(g(W))) map(J, nil) -> nil map(F1, cons(Y1, U1)) -> cons(F1(Y1), map(F1, U1)) filter(H1, nil) -> nil filter(I1, cons(P1, X2)) -> filter2(I1(P1), I1, P1, X2) filter2(true, Z2, U2, V2) -> cons(U2, filter(Z2, V2)) filter2(false, I2, P2, X3) -> filter(I2, X3) 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) f#(s(V)) => f#(V) (3) f#(s(V)) => g#(f(V)) (4) f#(s(V)) => minus#(s(V), g(f(V))) (5) g#(s(W)) => g#(W) (6) g#(s(W)) => f#(g(W)) (7) g#(s(W)) => minus#(s(W), f(g(W))) (8) map#(F1, cons(Y1, U1)) => map#(F1, U1) (9) filter#(I1, cons(P1, X2)) => filter2#(I1(P1), I1, P1, X2) (10) filter2#(true, Z2, U2, V2) => filter#(Z2, V2) (11) filter2#(false, I2, P2, X3) => filter#(I2, X3) ***** 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 4 3: 5 6 7 4: 1 5: 5 6 7 6: 2 3 4 7: 1 8: 8 9: 10 11 10: 9 11: 9 There are 4 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) }, where: P2. (1) minus#(s(Y), s(U)) => minus#(Y, U) P3. (1) f#(s(V)) => f#(V) (2) f#(s(V)) => g#(f(V)) (3) g#(s(W)) => g#(W) (4) g#(s(W)) => f#(g(W)) P4. (1) map#(F1, cons(Y1, U1)) => map#(F1, U1) P5. (1) filter#(I1, cons(P1, X2)) => filter2#(I1(P1), I1, P1, X2) (2) filter2#(true, Z2, U2, V2) => filter#(Z2, V2) (3) filter2#(false, I2, P2, X3) => filter#(I2, X3) ***** 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 6 usable rules (out of 12 rules in the input problem). Processor output: { D6 = (P3, R2, i, c) }, where: R2. (1) f(0) -> s(0) (2) f(s(V)) -> minus(s(V), g(f(V))) (3) g(0) -> 0 (4) g(s(W)) -> minus(s(W), f(g(W))) (5) minus(X, 0) -> X (6) minus(s(Y), s(U)) -> minus(Y, U) ***** We apply the Subterm Criterion Processor on D4 = (P4, R UNION R_?, i, c). We use the following projection function: nu(map#) = 2 We thus have: (1) cons(Y1, U1) |>| U1 All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }. ***** We apply the Subterm Criterion Processor on D5 = (P5, R UNION R_?, i, c). We use the following projection function: nu(filter#) = 2 nu(filter2#) = 4 We thus have: (1) cons(P1, X2) |>| X2 (2) V2 |>=| V2 (3) X3 |>=| X3 We may remove the strictly oriented DPs. Processor output: { D7 = (P6, R UNION R_?, i, c) }, where: P6. (1) filter2#(true, Z2, U2, V2) => filter#(Z2, V2) (2) filter2#(false, I2, P2, X3) => filter#(I2, X3) ***** We apply the Reduction Pair [with HORPO] Processor on D6 = (P3, R2, i, c). Constrained HORPO yields: f#(s(V)) (>) f#(V) f#(s(V)) (>=) g#(f(V)) g#(s(W)) (>) g#(W) g#(s(W)) (>=) f#(g(W)) f(0) (>=) s(0) f(s(V)) (>=) minus(s(V), g(f(V))) g(0) (>=) 0 g(s(W)) (>=) minus(s(W), f(g(W))) minus(X, 0) (>=) X minus(s(Y), s(U)) (>=) minus(Y, U) We do this using the following settings: * Disregarded arguments: minus 2 * Precedence and permutation: 0 { } = f { 1 } = g { 1 } = s { 1 } > f# { 1 } = g# { 1 } = minus { } 1 * Well-founded theory orderings: [>]_{Bool} = {(true,false)} [>]_{Int} = {(x,y) | x < 1000 /\ x < y } Processor output: { D8 = (P7, R2, i, c) }, where: P7. (1) f#(s(V)) => g#(f(V)) (2) g#(s(W)) => f#(g(W)) ***** We apply the Graph Processor on D7 = (P6, R UNION R_?, i, c). We compute a graph approximation with the following edges: 1: 2: As there are no SCCs, this DP problem is removed. Processor output: { }. ***** We apply the Reduction Pair [with HORPO] Processor on D8 = (P7, R2, i, c). Constrained HORPO yields: f#(s(V)) (>=) g#(f(V)) g#(s(W)) (>) f#(g(W)) f(0) (>=) s(0) f(s(V)) (>=) minus(s(V), g(f(V))) g(0) (>=) 0 g(s(W)) (>=) minus(s(W), f(g(W))) minus(X, 0) (>=) X minus(s(Y), s(U)) (>=) minus(Y, U) We do this using the following settings: * Disregarded arguments: minus 2 * Precedence and permutation: 0 { } = f { 1 } = s { 1 } > f# { 1 } = g# { 1 } = g { 1 } = minus { } 1 * Well-founded theory orderings: [>]_{Bool} = {(true,false)} [>]_{Int} = {(x,y) | x < 1000 /\ x < y } Processor output: { D9 = (P8, R2, i, c) }, where: P8. (1) f#(s(V)) => g#(f(V)) ***** We apply the Graph Processor on D9 = (P8, R2, i, c). We compute a graph approximation with the following edges: 1: As there are no SCCs, this DP problem is removed. Processor output: { }.