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