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) eval_1#(x, y, z) => eval_2#(x, y, z) | x > y (2) eval_2#(x, y, z) => eval_1#(x, y + 1, z) | x > z (3) eval_2#(x, y, z) => eval_1#(x, y, z + 1) | x > z (4) eval_2#(x, y, z) => eval_1#(x - 1, y, z) | z >= x ***** We apply the Theory Arguments Processor on P1. We use the following theory arguments function: eval_1# : [1, 2, 3] eval_2# : [1, 2, 3] This yields the following new DP problems: P2. (1) eval_1#(x, y, z) => eval_2#(x, y, z) | x > y (2) eval_2#(x, y, z) => eval_1#(x, y + 1, z) | x > z { x, y, z } (3) eval_2#(x, y, z) => eval_1#(x, y, z + 1) | x > z { x, y, z } (4) eval_2#(x, y, z) => eval_1#(x - 1, y, z) | z >= x { x, y, z } P3. (1) eval_2#(x, y, z) => eval_1#(x, y + 1, z) | x > z (2) eval_2#(x, y, z) => eval_1#(x, y, z + 1) | x > z (3) eval_2#(x, y, z) => eval_1#(x - 1, y, z) | z >= x ***** We apply the Theory Arguments Processor on P2. We use the following theory arguments function: eval_1# : [1, 2, 3] eval_2# : [1, 2, 3] This yields the following new DP problems: P4. (1) eval_1#(x, y, z) => eval_2#(x, y, z) | x > y { x, y, z } (2) eval_2#(x, y, z) => eval_1#(x, y + 1, z) | x > z { x, y, z } (3) eval_2#(x, y, z) => eval_1#(x, y, z + 1) | x > z { x, y, z } (4) eval_2#(x, y, z) => eval_1#(x - 1, y, z) | z >= x { x, y, z } P5. (1) eval_1#(x, y, z) => eval_2#(x, y, z) | x > y ***** We apply the Graph Processor on P3. As there are no SCCs, this DP problem is removed. ***** No progress could be made on DP problem P4.