We consider termination of the STRS with no additional rule schemes: Signature: c :: a -> a cons :: d -> e -> e f :: a -> a -> a -> a false :: c filter :: (d -> c) -> e -> e filter2 :: c -> (d -> c) -> d -> e -> e g :: b -> b -> b map :: (d -> d) -> e -> e nil :: e s :: a -> a true :: c Rules: f(X, c(X), c(Y)) -> f(Y, Y, f(Y, X, Y)) f(s(U), V, W) -> f(U, s(c(V)), c(W)) f(c(P), P, X1) -> c(X1) g(Y1, U1) -> Y1 g(V1, W1) -> W1 map(J1, nil) -> nil map(F2, cons(Y2, U2)) -> cons(F2(Y2), map(F2, U2)) filter(H2, nil) -> nil filter(I2, cons(P2, X3)) -> filter2(I2(P2), I2, P2, X3) filter2(true, Z3, U3, V3) -> cons(U3, filter(Z3, V3)) filter2(false, I3, P3, X4) -> filter(I3, X4) 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, f, c), where: P1. (1) f#(X, c(X), c(Y)) => f#(Y, X, Y) (2) f#(X, c(X), c(Y)) => f#(Y, Y, f(Y, X, Y)) (3) f#(s(U), V, W) => f#(U, s(c(V)), c(W)) (4) map#(F2, cons(Y2, U2)) => map#(F2, U2) (5) filter#(I2, cons(P2, X3)) => filter2#(I2(P2), I2, P2, X3) (6) filter2#(true, Z3, U3, V3) => filter#(Z3, V3) (7) filter2#(false, I3, P3, X4) => filter#(I3, X4) ***** We apply the Graph Processor on D1 = (P1, R, f, c). We compute a graph approximation with the following edges: 1: 1 2 3 2: 1 2 3 3: 3 4: 4 5: 6 7 6: 5 7: 5 There are 4 SCCs. Processor output: { D2 = (P2, R, f, c) ; D3 = (P3, R, f, c) ; D4 = (P4, R, f, c) ; D5 = (P5, R, f, c) }, where: P2. (1) f#(s(U), V, W) => f#(U, s(c(V)), c(W)) P3. (1) f#(X, c(X), c(Y)) => f#(Y, X, Y) (2) f#(X, c(X), c(Y)) => f#(Y, Y, f(Y, X, Y)) P4. (1) map#(F2, cons(Y2, U2)) => map#(F2, U2) P5. (1) filter#(I2, cons(P2, X3)) => filter2#(I2(P2), I2, P2, X3) (2) filter2#(true, Z3, U3, V3) => filter#(Z3, V3) (3) filter2#(false, I3, P3, X4) => filter#(I3, X4) ***** We apply the Subterm Criterion Processor on D2 = (P2, R, f, c). We use the following projection function: nu(f#) = 1 We thus have: (1) s(U) |>| U 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 D3 = (P3, R, f, c).