We consider termination of the LCSTRS with only rule scheme Calc: Signature: myfun :: Int -> Int -> Int readint :: Int rec :: (Int -> Int -> Int) -> Int -> Int -> Int Rules: rec(F, x, y) -> y | x <= 0 /\ y = y rec(F, x, y) -> F(x, rec(F, x - 1, y)) | x > 0 /\ y = y readint -> y | y = y myfun(x, z) -> x + z | x = x /\ z = z 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) rec#(F, x, y) => rec#(F, x - 1, y) | x > 0 /\ y = y ***** We apply the Integer Function Processor on D1 = (P1, R, i, c). We use the following integer mapping: J(rec#) = arg_2 - 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: { }.