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) init#(F, X{8}) => fsum#(F, 10) (2) init#(F, X{8}) => map#([+](fsum(F, 10)), X{8}) (3) map#(F, cons(H, T)) => map#(F, T) (4) fsum#(F, N) => fsum#(F, N - 1) | N != 0 ***** We apply the Constraint Modification Processor on P1. We replace fsum#(F, N) => fsum#(F, N - 1) | N != 0 by: fsum#(F, N) => fsum#(F, N - 1) | N > 0 fsum#(F, N) => fsum#(F, N - 1) | N < 0 This yields: P2. (1) init#(F, X{8}) => fsum#(F, 10) (2) init#(F, X{8}) => map#([+](fsum(F, 10)), X{8}) (3) map#(F, cons(H, T)) => map#(F, T) (4) fsum#(F, N) => fsum#(F, N - 1) | N > 0 (5) fsum#(F, N) => fsum#(F, N - 1) | N < 0 ***** We apply the Reachability Processor on P2. There is one unreachable dependency pair, which is removed. P3. (1) init#(F, X{8}) => fsum#(F, 10) (2) init#(F, X{8}) => map#([+](fsum(F, 10)), X{8}) (3) map#(F, cons(H, T)) => map#(F, T) (4) fsum#(F, N) => fsum#(F, N - 1) | N > 0 ***** We apply the Graph Processor on P3. Considering the 2 SCCs, this DP problem is split into the following new problems. P4. (1) fsum#(F, N) => fsum#(F, N - 1) | N > 0 P5. (1) map#(F, cons(H, T)) => map#(F, T) ***** We apply the Integer Function Processor on P4. We use the following integer mapping: J(fsum#) = arg_2 We thus have: (1) N > 0 |= N > N - 1 (and N >= 0) All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. ***** We apply the Subterm Criterion Processor on P5. We use the following projection function: nu(map#) = 2 We thus have: (1) cons(H, T) |>| T All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite.