The system is accessible function passing by a sort ordering that equates all sorts. We start by computing the following initial DP problem: P1. (1) minus#(x, y) => minusNat#(y >= 0 /\ x = y + 1, x, y) (2) minusNat#(true, x, y) => round#(y) (3) minusNat#(true, x, y) => minus#(x, round(y)) (4) round#(x) => if#(x % 2 = 0, x, x + 1) ***** We apply the Graph Processor on P1. There is only one SCC, so all DPs not inside the SCC can be removed: P2. (1) minus#(x, y) => minusNat#(y >= 0 /\ x = y + 1, x, y) (2) minusNat#(true, x, y) => minus#(x, round(y)) ***** We apply the Theory Arguments Processor on P2. We use the following theory arguments function: minus# : [] minusNat# : [1, 2, 3] This yields the following new DP problems: P3. (1) minus#(x, y) => minusNat#(y >= 0 /\ x = y + 1, x, y) (2) minusNat#(true, x, y) => minus#(x, round(y)) { x, y } P4. (1) minusNat#(true, x, y) => minus#(x, round(y)) ***** No progress could be made on DP problem P3.