We consider termination of the STRS with no additional rule schemes: Signature: 0 :: a eq :: a -> a -> c false :: c fork :: b -> a -> b -> b if :: c -> c -> c -> c lt :: a -> a -> c member :: a -> b -> c null :: b s :: a -> a true :: c Rules: lt(s(X), s(Y)) -> lt(X, Y) lt(0, s(U)) -> true lt(V, 0) -> false eq(W, W) -> true eq(s(P), 0) -> false eq(0, s(X1)) -> false member(Y1, null) -> false member(U1, fork(V1, W1, P1)) -> if(lt(U1, W1), member(U1, V1), if(eq(U1, W1), true, member(U1, P1))) 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) lt#(s(X), s(Y)) => lt#(X, Y) (2) member#(U1, fork(V1, W1, P1)) => lt#(U1, W1) (3) member#(U1, fork(V1, W1, P1)) => member#(U1, V1) (4) member#(U1, fork(V1, W1, P1)) => eq#(U1, W1) (5) member#(U1, fork(V1, W1, P1)) => member#(U1, P1) ***** We apply the Graph Processor on D1 = (P1, R, f, c). We compute a graph approximation with the following edges: 1: 1 2: 1 3: 2 3 4 5 4: 5: 2 3 4 5 There are 2 SCCs. Processor output: { D2 = (P2, R, f, c) ; D3 = (P3, R, f, c) }, where: P2. (1) lt#(s(X), s(Y)) => lt#(X, Y) P3. (1) member#(U1, fork(V1, W1, P1)) => member#(U1, V1) (2) member#(U1, fork(V1, W1, P1)) => member#(U1, P1) ***** We apply the Subterm Criterion Processor on D2 = (P2, R, f, c). We use the following projection function: nu(lt#) = 1 We thus have: (1) s(X) |>| X All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }. ***** We apply the Subterm Criterion Processor on D3 = (P3, R, f, c). We use the following projection function: nu(member#) = 2 We thus have: (1) fork(V1, W1, P1) |>| V1 (2) fork(V1, W1, P1) |>| P1 All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }.