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