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