We consider termination of the STRS with no additional rule schemes: Signature: 0 :: b 1 :: b cons :: e -> f -> f f :: c -> a false :: d filter :: (e -> d) -> f -> f filter2 :: d -> (e -> d) -> e -> f -> f g :: b -> b -> c map :: (e -> e) -> f -> f nil :: f s :: b -> c true :: d Rules: f(s(X)) -> f(g(X, X)) g(0, 1) -> s(0) 0 -> 1 map(Z, nil) -> nil map(G, cons(V, W)) -> cons(G(V), map(G, W)) filter(J, nil) -> nil filter(F1, cons(Y1, U1)) -> filter2(F1(Y1), F1, Y1, U1) filter2(true, H1, W1, P1) -> cons(W1, filter(H1, P1)) filter2(false, F2, Y2, U2) -> filter(F2, U2) 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#(s(X)) => g#(X, X) (2) f#(s(X)) => f#(g(X, X)) (3) g#(0, 1) => 0# (4) map#(G, cons(V, W)) => map#(G, W) (5) filter#(F1, cons(Y1, U1)) => filter2#(F1(Y1), F1, Y1, U1) (6) filter2#(true, H1, W1, P1) => filter#(H1, P1) (7) filter2#(false, F2, Y2, U2) => filter#(F2, U2) ***** We apply the Graph Processor on D1 = (P1, R, f, c). We compute a graph approximation with the following edges: 1: 3 2: 1 2 3: 4: 4 5: 6 7 6: 5 7: 5 There are 3 SCCs. Processor output: { D2 = (P2, R, f, c) ; D3 = (P3, R, f, c) ; D4 = (P4, R, f, c) }, where: P2. (1) f#(s(X)) => f#(g(X, X)) P3. (1) map#(G, cons(V, W)) => map#(G, W) P4. (1) filter#(F1, cons(Y1, U1)) => filter2#(F1(Y1), F1, Y1, U1) (2) filter2#(true, H1, W1, P1) => filter#(H1, P1) (3) filter2#(false, F2, Y2, U2) => filter#(F2, U2) ***** No progress could be made on DP problem D2 = (P2, R, f, c).