/export/starexec/sandbox2/solver/bin/starexec_run_Itrs /export/starexec/sandbox2/benchmark/theBenchmark.itrs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES DP problem for innermost termination. P = cond#(true, I0, I1, I2) -> d#(I0, I1 + 1, I1 + 1 + I2) dNat#(true, I3, I4, I5) -> cond#(I3 >= I5, I3, I4 - 1, I5) d#(I6, I7, I8) -> dNat#(I6 >= 0 && I7 >= 1 && I8 >= 0, I6, I7, I8) divNat#(true, I9, I10) -> d#(I9, I10, 0) div#(I11, I12) -> divNat#(I11 >= 0 && I12 >= 1, I11, I12) R = cond(false, x, y, z) -> 0 cond(true, I0, I1, I2) -> 1 + d(I0, I1 + 1, I1 + 1 + I2) dNat(true, I3, I4, I5) -> cond(I3 >= I5, I3, I4 - 1, I5) d(I6, I7, I8) -> dNat(I6 >= 0 && I7 >= 1 && I8 >= 0, I6, I7, I8) divNat(true, I9, I10) -> d(I9, I10, 0) div(I11, I12) -> divNat(I11 >= 0 && I12 >= 1, I11, I12) This problem is converted using chaining, where edges between chained DPs are removed. DP problem for innermost termination. P = cond#(true, I0, I1, I2) -> d#(I0, I1 + 1, I1 + 1 + I2) dNat#(true, I3, I4, I5) -> cond#(I3 >= I5, I3, I4 - 1, I5) d#(I6, I7, I8) -> dNat#(I6 >= 0 && I7 >= 1 && I8 >= 0, I6, I7, I8) divNat#(true, I9, I10) -> d#(I9, I10, 0) div#(I11, I12) -> divNat#(I11 >= 0 && I12 >= 1, I11, I12) div#(I11, I12) -> d#(I11, I12, 0) [I11 >= 0 && I12 >= 1] d#(I6, I7, I8) -> cond#(I6 >= I8, I6, I7 - 1, I8) [I6 >= 0 && I7 >= 1 && I8 >= 0] d#(I6, I7, I8) -> d#(I6, I7 - 1 + 1, I7 - 1 + 1 + I8) [I6 >= 0 && I7 >= 1 && I8 >= 0, I6 >= I8] dNat#(true, I3, I4, I5) -> d#(I3, I4 - 1 + 1, I4 - 1 + 1 + I5) [I3 >= I5] R = cond(false, x, y, z) -> 0 cond(true, I0, I1, I2) -> 1 + d(I0, I1 + 1, I1 + 1 + I2) dNat(true, I3, I4, I5) -> cond(I3 >= I5, I3, I4 - 1, I5) d(I6, I7, I8) -> dNat(I6 >= 0 && I7 >= 1 && I8 >= 0, I6, I7, I8) divNat(true, I9, I10) -> d(I9, I10, 0) div(I11, I12) -> divNat(I11 >= 0 && I12 >= 1, I11, I12) The dependency graph for this problem is: 0 -> 7, 6, 2 1 -> 2 -> 3 -> 7, 6, 2 4 -> 5 -> 7, 6, 2 6 -> 7 -> 7, 2, 6 8 -> 2, 6, 7 Where: 0) cond#(true, I0, I1, I2) -> d#(I0, I1 + 1, I1 + 1 + I2) 1) dNat#(true, I3, I4, I5) -> cond#(I3 >= I5, I3, I4 - 1, I5) 2) d#(I6, I7, I8) -> dNat#(I6 >= 0 && I7 >= 1 && I8 >= 0, I6, I7, I8) 3) divNat#(true, I9, I10) -> d#(I9, I10, 0) 4) div#(I11, I12) -> divNat#(I11 >= 0 && I12 >= 1, I11, I12) 5) div#(I11, I12) -> d#(I11, I12, 0) [I11 >= 0 && I12 >= 1] 6) d#(I6, I7, I8) -> cond#(I6 >= I8, I6, I7 - 1, I8) [I6 >= 0 && I7 >= 1 && I8 >= 0] 7) d#(I6, I7, I8) -> d#(I6, I7 - 1 + 1, I7 - 1 + 1 + I8) [I6 >= 0 && I7 >= 1 && I8 >= 0, I6 >= I8] 8) dNat#(true, I3, I4, I5) -> d#(I3, I4 - 1 + 1, I4 - 1 + 1 + I5) [I3 >= I5] We have the following SCCs. { 7 } DP problem for innermost termination. P = d#(I6, I7, I8) -> d#(I6, I7 - 1 + 1, I7 - 1 + 1 + I8) [I6 >= 0 && I7 >= 1 && I8 >= 0, I6 >= I8] R = cond(false, x, y, z) -> 0 cond(true, I0, I1, I2) -> 1 + d(I0, I1 + 1, I1 + 1 + I2) dNat(true, I3, I4, I5) -> cond(I3 >= I5, I3, I4 - 1, I5) d(I6, I7, I8) -> dNat(I6 >= 0 && I7 >= 1 && I8 >= 0, I6, I7, I8) divNat(true, I9, I10) -> d(I9, I10, 0) div(I11, I12) -> divNat(I11 >= 0 && I12 >= 1, I11, I12) We use the reverse value criterion with the projection function NU: NU[d#(z1,z2,z3)] = z1 + -1 * z3 This gives the following inequalities: I6 >= 0 && I7 >= 1 && I8 >= 0/\I6 >= I8 ==> I6 + -1 * I8 > I6 + -1 * (I7 - 1 + 1 + I8) with I6 + -1 * I8 >= 0 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed.