We consider termination of the LCTRS with only rule scheme Calc: Signature: if :: o -> Int -> Int -> o sumto :: Int -> Int -> o wrap :: Int -> o Rules: sumto(x, y) -> wrap(0) | x > y sumto(x, y) -> if(sumto(x + 1, y), x, y) | y >= x if(wrap(z), x, y) -> wrap(x + z) | z = z /\ x = x /\ y = y 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) sumto#(x, y) => sumto#(x + 1, y) | y >= x (2) sumto#(x, y) => if#(sumto(x + 1, y), x, y) | y >= x ***** We apply the Graph Processor on D1 = (P1, R, i, c). We compute a graph approximation with the following edges: 1: 1 2 2: 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) sumto#(x, y) => sumto#(x + 1, y) | y >= x ***** We apply the Integer Function Processor on D2 = (P2, R, i, c). We use the following integer mapping: J(sumto#) = arg_2 - arg_1 We thus have: (1) y >= x |= y - x > y - (x + 1) (and y - x >= 0) All DPs are strictly oriented, and may be removed. Hence, this DP problem is finite. Processor output: { }.