The system is accessible function passing by a sort ordering that equates all sorts. We start by computing the following initial DP problem: P1. (1) f#(s(X)) => f#(X) (2) g#(P, c(X1)) => g#(P, X1) (3) g#(Y1, c(U1)) => f#(Y1) (4) g#(Y1, c(U1)) => g#(s(Y1), U1) (5) g#(Y1, c(U1)) => if#(f(Y1), c(g(s(Y1), U1)), c(U1)) (6) g#(Y1, c(U1)) => g#(Y1, if(f(Y1), c(g(s(Y1), U1)), c(U1))) (7) map#(I1, cons(P1, X2)) => map#(I1, X2) (8) filter#(G2, cons(V2, W2)) => filter2#(G2(V2), G2, V2, W2) (9) filter2#(true, J2, X3, Y3) => filter#(J2, Y3) (10) filter2#(false, G3, V3, W3) => filter#(G3, W3) ***** We apply the Graph Processor on P1. Considering the 4 SCCs, this DP problem is split into the following new problems. P2. (1) f#(s(X)) => f#(X) P3. (1) g#(P, c(X1)) => g#(P, X1) (2) g#(Y1, c(U1)) => g#(s(Y1), U1) (3) g#(Y1, c(U1)) => g#(Y1, if(f(Y1), c(g(s(Y1), U1)), c(U1))) P4. (1) map#(I1, cons(P1, X2)) => map#(I1, X2) P5. (1) filter#(G2, cons(V2, W2)) => filter2#(G2(V2), G2, V2, W2) (2) filter2#(true, J2, X3, Y3) => filter#(J2, Y3) (3) filter2#(false, G3, V3, W3) => filter#(G3, W3) ***** We apply the Subterm Criterion Processor on P2. We use the following projection function: nu(f#) = 1 We thus have: (1) s(X) |>| X All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. ***** No progress could be made on DP problem P3.