We consider termination of the LCTRS with only rule scheme Calc: Signature: cond1 :: Bool -> Int -> Int cond2 :: Bool -> Int -> Int f :: Int -> Int Rules: f(x) -> cond1(x > 1, x) cond1(true, x) -> cond2(x % 2 = 0, x) cond1(false, x) -> x cond2(true, x) -> f(x / 2) cond2(false, x) -> f(3 * x + 1) 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) f#(x) => cond1#(x > 1, x) (2) cond1#(true, x) => cond2#(x % 2 = 0, x) (3) cond2#(true, x) => f#(x / 2) (4) cond2#(false, x) => f#(3 * x + 1) ***** We apply the Theory Arguments Processor on D1 = (P1, R, f, c). We use the following theory arguments function: cond1# : [1, 2] cond2# : [1, 2] f# : [1] Processor output: { D2 = (P2, R, f, c) ; D3 = (P3, R, f, c) }, where: P2. (1) f#(x) => cond1#(x > 1, x) (2) cond1#(true, x) => cond2#(x % 2 = 0, x) { x } (3) cond2#(true, x) => f#(x / 2) { x } (4) cond2#(false, x) => f#(3 * x + 1) { x } P3. (1) cond1#(true, x) => cond2#(x % 2 = 0, x) (2) cond2#(true, x) => f#(x / 2) (3) cond2#(false, x) => f#(3 * x + 1) ***** We apply the Theory Arguments Processor on D2 = (P2, R, f, c). We use the following theory arguments function: cond1# : [1, 2] cond2# : [1, 2] f# : [1] Processor output: { D4 = (P4, R, f, c) ; D5 = (P5, R, f, c) }, where: P4. (1) f#(x) => cond1#(x > 1, x) { x } (2) cond1#(true, x) => cond2#(x % 2 = 0, x) { x } (3) cond2#(true, x) => f#(x / 2) { x } (4) cond2#(false, x) => f#(3 * x + 1) { x } P5. (1) f#(x) => cond1#(x > 1, x) ***** We apply the Graph Processor on D3 = (P3, R, f, c). We compute a graph approximation with the following edges: 1: 2 3 2: 3: As there are no SCCs, this DP problem is removed. Processor output: { }. ***** No progress could be made on DP problem D4 = (P4, R, f, c).