We consider termination of the LCTRS with only rule scheme Calc: Signature: cond :: Bool -> Int -> o -> o cons :: o -> o -> o length :: o -> Int nil :: o nthtail :: Int -> o -> o tail :: o -> o Rules: nthtail(n, l) -> cond(n >= length(l), n, l) | n = n cond(true, n, l) -> l | n = n cond(false, n, l) -> tail(nthtail(n + 1, l)) | n = n tail(nil) -> nil tail(cons(x, l)) -> l length(nil) -> 0 length(cons(x, l)) -> 1 + length(l) 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, i, c), where: P1. (1) nthtail#(n, l) => length#(l) | n = n (2) nthtail#(n, l) => cond#(n >= length(l), n, l) | n = n (3) cond#(false, n, l) => nthtail#(n + 1, l) | n = n (4) cond#(false, n, l) => tail#(nthtail(n + 1, l)) | n = n (5) length#(cons(x, l)) => length#(l) ***** We apply the Graph Processor on D1 = (P1, R, i, c). We compute a graph approximation with the following edges: 1: 5 2: 3: 1 2 4: 5: 5 There is only one SCC, so all DPs not inside the SCC can be removed. Processor output: { D2 = (P2, R, i, c) }, where: P2. (1) length#(cons(x, l)) => length#(l) ***** We apply the Subterm Criterion Processor on D2 = (P2, R, i, c). We use the following projection function: nu(length#) = 1 We thus have: (1) cons(x, l) |>| l All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }.