/export/starexec/sandbox/solver/bin/starexec_run_Itrs /export/starexec/sandbox/benchmark/theBenchmark.itrs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES DP problem for innermost termination. P = f#(true, x, y, z) -> f#(x > y + z, x, y, z + 1) f#(true, I0, I1, I2) -> f#(I0 > I1 + I2, I0, I1 + 1, I2) R = f(true, x, y, z) -> f(x > y + z, x, y, z + 1) f(true, I0, I1, I2) -> f(I0 > I1 + I2, I0, I1 + 1, I2) This problem is converted using chaining, where edges between chained DPs are removed. DP problem for innermost termination. P = f#(true, x, y, z) -> f_2#(x, y, z) f#(true, I0, I1, I2) -> f_1#(I0, I1, I2) f_1#(I0, I1, I2) -> f#(I0 > I1 + I2, I0, I1 + 1, I2) f_2#(x, y, z) -> f#(x > y + z, x, y, z + 1) f_2#(x, y, z) -> f_1#(x, y, z + 1) [x > y + z] f_2#(x, y, z) -> f_2#(x, y, z + 1) [x > y + z] f_1#(I0, I1, I2) -> f_1#(I0, I1 + 1, I2) [I0 > I1 + I2] f_1#(I0, I1, I2) -> f_2#(I0, I1 + 1, I2) [I0 > I1 + I2] R = f(true, x, y, z) -> f(x > y + z, x, y, z + 1) f(true, I0, I1, I2) -> f(I0 > I1 + I2, I0, I1 + 1, I2) The dependency graph for this problem is: 0 -> 5, 4, 3 1 -> 7, 6, 2 2 -> 3 -> 4 -> 7, 6, 2 5 -> 5, 3, 4 6 -> 7, 6, 2 7 -> 3, 4, 5 Where: 0) f#(true, x, y, z) -> f_2#(x, y, z) 1) f#(true, I0, I1, I2) -> f_1#(I0, I1, I2) 2) f_1#(I0, I1, I2) -> f#(I0 > I1 + I2, I0, I1 + 1, I2) 3) f_2#(x, y, z) -> f#(x > y + z, x, y, z + 1) 4) f_2#(x, y, z) -> f_1#(x, y, z + 1) [x > y + z] 5) f_2#(x, y, z) -> f_2#(x, y, z + 1) [x > y + z] 6) f_1#(I0, I1, I2) -> f_1#(I0, I1 + 1, I2) [I0 > I1 + I2] 7) f_1#(I0, I1, I2) -> f_2#(I0, I1 + 1, I2) [I0 > I1 + I2] We have the following SCCs. { 4, 5, 6, 7 } DP problem for innermost termination. P = f_2#(x, y, z) -> f_1#(x, y, z + 1) [x > y + z] f_2#(x, y, z) -> f_2#(x, y, z + 1) [x > y + z] f_1#(I0, I1, I2) -> f_1#(I0, I1 + 1, I2) [I0 > I1 + I2] f_1#(I0, I1, I2) -> f_2#(I0, I1 + 1, I2) [I0 > I1 + I2] R = f(true, x, y, z) -> f(x > y + z, x, y, z + 1) f(true, I0, I1, I2) -> f(I0 > I1 + I2, I0, I1 + 1, I2) We use the reverse value criterion with the projection function NU: NU[f_1#(z1,z2,z3)] = z1 + -1 * (z2 + 1 + z3) NU[f_2#(z1,z2,z3)] = z1 + -1 * (z2 + (z3 + 1)) This gives the following inequalities: x > y + z ==> x + -1 * (y + (z + 1)) > x + -1 * (y + 1 + (z + 1)) with x + -1 * (y + (z + 1)) >= 0 x > y + z ==> x + -1 * (y + (z + 1)) > x + -1 * (y + (z + 1 + 1)) with x + -1 * (y + (z + 1)) >= 0 I0 > I1 + I2 ==> I0 + -1 * (I1 + 1 + I2) > I0 + -1 * (I1 + 1 + 1 + I2) with I0 + -1 * (I1 + 1 + I2) >= 0 I0 > I1 + I2 ==> I0 + -1 * (I1 + 1 + I2) > I0 + -1 * (I1 + 1 + (I2 + 1)) with I0 + -1 * (I1 + 1 + I2) >= 0 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed.