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