/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 = if#(true, I0, I1) -> pow#(I0, I1 - 1) pow#(I2, I3) -> if#(I3 > 0, I2, I3) R = if(false, x, y) -> 1 if(true, I0, I1) -> I0 * pow(I0, I1 - 1) pow(I2, I3) -> if(I3 > 0, I2, I3) This problem is converted using chaining, where edges between chained DPs are removed. DP problem for innermost termination. P = if#(true, I0, I1) -> pow#(I0, I1 - 1) pow#(I2, I3) -> if#(I3 > 0, I2, I3) pow#(I2, I3) -> pow#(I2, I3 - 1) [I3 > 0] R = if(false, x, y) -> 1 if(true, I0, I1) -> I0 * pow(I0, I1 - 1) pow(I2, I3) -> if(I3 > 0, I2, I3) The dependency graph for this problem is: 0 -> 2, 1 1 -> 2 -> 2, 1 Where: 0) if#(true, I0, I1) -> pow#(I0, I1 - 1) 1) pow#(I2, I3) -> if#(I3 > 0, I2, I3) 2) pow#(I2, I3) -> pow#(I2, I3 - 1) [I3 > 0] We have the following SCCs. { 2 } DP problem for innermost termination. P = pow#(I2, I3) -> pow#(I2, I3 - 1) [I3 > 0] R = if(false, x, y) -> 1 if(true, I0, I1) -> I0 * pow(I0, I1 - 1) pow(I2, I3) -> if(I3 > 0, I2, I3) We use the reverse value criterion with the projection function NU: NU[pow#(z1,z2)] = z2 + -1 * 0 This gives the following inequalities: I3 > 0 ==> I3 + -1 * 0 > I3 - 1 + -1 * 0 with I3 + -1 * 0 >= 0 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed.