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