/export/starexec/sandbox/solver/bin/starexec_run_Transition /export/starexec/sandbox/benchmark/theBenchmark.smt2 /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE DP problem for innermost termination. P = init#(x1, x2) -> f1#(rnd1, rnd2) f2#(I0, I1) -> f2#(I0 + 1, I2) [I0 <= 9 /\ 3 <= I0 - 1] f2#(I3, I4) -> f2#(I3 + 1, I5) [I3 <= 9 /\ I3 <= 2] f2#(I6, I7) -> f2#(3, I8) [3 = I6] f1#(I9, I10) -> f2#(I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1] R = init(x1, x2) -> f1(rnd1, rnd2) f2(I0, I1) -> f2(I0 + 1, I2) [I0 <= 9 /\ 3 <= I0 - 1] f2(I3, I4) -> f2(I3 + 1, I5) [I3 <= 9 /\ I3 <= 2] f2(I6, I7) -> f2(3, I8) [3 = I6] f1(I9, I10) -> f2(I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1] The dependency graph for this problem is: 0 -> 4 1 -> 1 2 -> 2, 3 3 -> 3 4 -> 1, 2, 3 Where: 0) init#(x1, x2) -> f1#(rnd1, rnd2) 1) f2#(I0, I1) -> f2#(I0 + 1, I2) [I0 <= 9 /\ 3 <= I0 - 1] 2) f2#(I3, I4) -> f2#(I3 + 1, I5) [I3 <= 9 /\ I3 <= 2] 3) f2#(I6, I7) -> f2#(3, I8) [3 = I6] 4) f1#(I9, I10) -> f2#(I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1] We have the following SCCs. { 2 } { 3 } { 1 } DP problem for innermost termination. P = f2#(I0, I1) -> f2#(I0 + 1, I2) [I0 <= 9 /\ 3 <= I0 - 1] R = init(x1, x2) -> f1(rnd1, rnd2) f2(I0, I1) -> f2(I0 + 1, I2) [I0 <= 9 /\ 3 <= I0 - 1] f2(I3, I4) -> f2(I3 + 1, I5) [I3 <= 9 /\ I3 <= 2] f2(I6, I7) -> f2(3, I8) [3 = I6] f1(I9, I10) -> f2(I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1] We use the reverse value criterion with the projection function NU: NU[f2#(z1,z2)] = 9 + -1 * z1 This gives the following inequalities: I0 <= 9 /\ 3 <= I0 - 1 ==> 9 + -1 * I0 > 9 + -1 * (I0 + 1) with 9 + -1 * I0 >= 0 All dependency pairs are strictly oriented, so the entire dependency pair problem may be removed. DP problem for innermost termination. P = f2#(I6, I7) -> f2#(3, I8) [3 = I6] R = init(x1, x2) -> f1(rnd1, rnd2) f2(I0, I1) -> f2(I0 + 1, I2) [I0 <= 9 /\ 3 <= I0 - 1] f2(I3, I4) -> f2(I3 + 1, I5) [I3 <= 9 /\ I3 <= 2] f2(I6, I7) -> f2(3, I8) [3 = I6] f1(I9, I10) -> f2(I10, I11) [-1 <= I10 - 1 /\ 0 <= I9 - 1]